Commit ae7c1e4b authored by Harry Wentland's avatar Harry Wentland Committed by Simon Ser
Browse files

Documentation/gpu: document drm_colorop

parent 179ab8e7
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -413,6 +413,21 @@ Plane Panic Functions Reference
.. kernel-doc:: drivers/gpu/drm/drm_panic.c
   :export:

Colorop Abstraction
===================

.. kernel-doc:: drivers/gpu/drm/drm_colorop.c
   :doc: overview

Colorop Functions Reference
---------------------------

.. kernel-doc:: include/drm/drm_colorop.h
   :internal:

.. kernel-doc:: drivers/gpu/drm/drm_colorop.c
   :export:

Display Modes Function Reference
================================

+31 −0
Original line number Diff line number Diff line
@@ -31,6 +31,37 @@

#include "drm_crtc_internal.h"

/**
 * DOC: overview
 *
 * When userspace signals the &DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE it
 * should use the COLOR_PIPELINE plane property and associated colorops
 * for any color operation on the &drm_plane. Setting of all old color
 * properties, such as COLOR_ENCODING and COLOR_RANGE, will be rejected
 * and the values of the properties will be ignored.
 *
 * Colorops are only advertised and valid for atomic drivers and atomic
 * userspace that signals the &DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
 * client cap.
 *
 * A colorop represents a single color operation. Colorops are chained
 * via the NEXT property and make up color pipelines. Color pipelines
 * are advertised and selected via the COLOR_PIPELINE &drm_plane
 * property.
 *
 * A colorop will be of a certain type, advertised by the read-only TYPE
 * property. Each type of colorop will advertise a different set of
 * properties and is programmed in a different manner. Types can be
 * enumerated 1D curves, 1D LUTs, 3D LUTs, matrices, etc. See the
 * &drm_colorop_type documentation for information on each type.
 *
 * If a colorop advertises the BYPASS property it can be bypassed.
 *
 * Information about colorop and color pipeline design decisions can be
 * found at rfc/color_pipeline.rst, but note that this document will
 * grow stale over time.
 */

static const struct drm_prop_enum_list drm_colorop_type_enum_list[] = {
	{ DRM_COLOROP_1D_CURVE, "1D Curve" },
};