linux_dsm_epyc7002/Documentation/gpu/kms-properties.csv
Marek Szyprowski 44d1240d00 drm: add generic zpos property
version 8:
- move drm_blend.o from drm-y to drm_kms_helper-y to avoid
  EXPORT_SYMBOL(drm_atomic_helper_normalize_zpos)
- remove dead function declarations in drm_crtc.h

version 7:
- remove useless EXPORT_SYMBOL()
- better z-order wording in Documentation

version 6:
- add zpos in gpu documentation file
- merge Ville patch about zpos initial value and API improvement.
  I have split Ville patch between zpos core and drivers

version 5:
- remove zpos range check and comeback to 0 to N-1
  normalization algorithm

version 4:
- make sure that normalized zpos value is stay
  in the defined property range and warn user if not

This patch adds support for generic plane's zpos property property with
well-defined semantics:
- added zpos properties to plane and plane state structures
- added helpers for normalizing zpos properties of given set of planes
- well defined semantics: planes are sorted by zpos values and then plane
  id value if zpos equals

Normalized zpos values are calculated automatically when generic
muttable zpos property has been initialized. Drivers can simply use
plane_state->normalized_zpos in their atomic_check and/or plane_update
callbacks without any additional calls to DRM core.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

Compare to Marek's original patch zpos property is now specific to each
plane and no more to the core.
Normalize function take care of the range of per plane defined range
before set normalized_zpos.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Cc: Inki Dae <inki.dae@samsung.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Joonyoung Shim <jy0922.shim@samsung.com>
Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: vincent.abriou@st.com
Cc: fabien.dessenne@st.com
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2016-07-29 09:59:30 +02:00

11 KiB

1Owner Module/DriversGroupProperty NameTypeProperty ValuesObject attachedDescription/Restrictions
2DRMGeneric“rotation”BITMASK{ 0, "rotate-0" }, { 1, "rotate-90" }, { 2, "rotate-180" }, { 3, "rotate-270" }, { 4, "reflect-x" }, { 5, "reflect-y" }CRTC, Planerotate-(degrees) rotates the image by the specified amount in degrees in counter clockwise direction. reflect-x and reflect-y reflects the image along the specified axis prior to rotation
3“scaling mode”ENUM{ "None", "Full", "Center", "Full aspect" }ConnectorSupported by: amdgpu, gma500, i915, nouveau and radeon.
4Connector“EDID”BLOB | IMMUTABLE0ConnectorContains id of edid blob ptr object.
5“DPMS”ENUM{ “On”, “Standby”, “Suspend”, “Off” }ConnectorContains DPMS operation mode value.
6“PATH”BLOB | IMMUTABLE0ConnectorContains topology path to a connector.
7“TILE”BLOB | IMMUTABLE0ConnectorContains tiling information for a connector.
8“CRTC_ID”OBJECTDRM_MODE_OBJECT_CRTCConnectorCRTC that connector is attached to (atomic)
9Plane“type”ENUM | IMMUTABLE{ "Overlay", "Primary", "Cursor" }PlanePlane type
10“SRC_X”RANGEMin=0, Max=UINT_MAXPlaneScanout source x coordinate in 16.16 fixed point (atomic)
11“SRC_Y”RANGEMin=0, Max=UINT_MAXPlaneScanout source y coordinate in 16.16 fixed point (atomic)
12“SRC_W”RANGEMin=0, Max=UINT_MAXPlaneScanout source width in 16.16 fixed point (atomic)
13“SRC_H”RANGEMin=0, Max=UINT_MAXPlaneScanout source height in 16.16 fixed point (atomic)
14“CRTC_X”SIGNED_RANGEMin=INT_MIN, Max=INT_MAXPlaneScanout CRTC (destination) x coordinate (atomic)
15“CRTC_Y”SIGNED_RANGEMin=INT_MIN, Max=INT_MAXPlaneScanout CRTC (destination) y coordinate (atomic)
16“CRTC_W”RANGEMin=0, Max=UINT_MAXPlaneScanout CRTC (destination) width (atomic)
17“CRTC_H”RANGEMin=0, Max=UINT_MAXPlaneScanout CRTC (destination) height (atomic)
18“FB_ID”OBJECTDRM_MODE_OBJECT_FBPlaneScanout framebuffer (atomic)
19“CRTC_ID”OBJECTDRM_MODE_OBJECT_CRTCPlaneCRTC that plane is attached to (atomic)
20DVI-I“subconnector”ENUM{ “Unknown”, “DVI-D”, “DVI-A” }ConnectorTBD
21“select subconnector”ENUM{ “Automatic”, “DVI-D”, “DVI-A” }ConnectorTBD
22TV“subconnector”ENUM{ "Unknown", "Composite", "SVIDEO", "Component", "SCART" }ConnectorTBD
23“select subconnector”ENUM{ "Automatic", "Composite", "SVIDEO", "Component", "SCART" }ConnectorTBD
24“mode”ENUM{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.ConnectorTBD
25“left margin”RANGEMin=0, Max=100ConnectorTBD
26“right margin”RANGEMin=0, Max=100ConnectorTBD
27“top margin”RANGEMin=0, Max=100ConnectorTBD
28“bottom margin”RANGEMin=0, Max=100ConnectorTBD
29“brightness”RANGEMin=0, Max=100ConnectorTBD
30“contrast”RANGEMin=0, Max=100ConnectorTBD
31“flicker reduction”RANGEMin=0, Max=100ConnectorTBD
32“overscan”RANGEMin=0, Max=100ConnectorTBD
33“saturation”RANGEMin=0, Max=100ConnectorTBD
34“hue”RANGEMin=0, Max=100ConnectorTBD
35Virtual GPU“suggested X”RANGEMin=0, Max=0xffffffffConnectorproperty to suggest an X offset for a connector
36“suggested Y”RANGEMin=0, Max=0xffffffffConnectorproperty to suggest an Y offset for a connector
37Optional"aspect ratio"ENUM{ "None", "4:3", "16:9" }ConnectorTDB
38“dirty”ENUM | IMMUTABLE{ "Off", "On", "Annotate" }ConnectorTBD
39“DEGAMMA_LUT”BLOB0CRTCDRM property to set the degamma lookup table (LUT) mapping pixel data from the framebuffer before it is given to the transformation matrix. The data is an interpreted as an array of struct drm_color_lut elements. Hardware might choose not to use the full precision of the LUT elements nor use all the elements of the LUT (for example the hardware might choose to interpolate between LUT[0] and LUT[4]).
40“DEGAMMA_LUT_SIZE”RANGE | IMMUTABLEMin=0, Max=UINT_MAXCRTCDRM property to gives the size of the lookup table to be set on the DEGAMMA_LUT property (the size depends on the underlying hardware).
41“CTM”BLOB0CRTCDRM property to set the current transformation matrix (CTM) apply to pixel data after the lookup through the degamma LUT and before the lookup through the gamma LUT. The data is an interpreted as a struct drm_color_ctm.
42“GAMMA_LUT”BLOB0CRTCDRM property to set the gamma lookup table (LUT) mapping pixel data after to the transformation matrix to data sent to the connector. The data is an interpreted as an array of struct drm_color_lut elements. Hardware might choose not to use the full precision of the LUT elements nor use all the elements of the LUT (for example the hardware might choose to interpolate between LUT[0] and LUT[4]).
43“GAMMA_LUT_SIZE”RANGE | IMMUTABLEMin=0, Max=UINT_MAXCRTCDRM property to gives the size of the lookup table to be set on the GAMMA_LUT property (the size depends on the underlying hardware).
44i915Generic"Broadcast RGB"ENUM{ "Automatic", "Full", "Limited 16:235" }ConnectorWhen this property is set to Limited 16:235 and CTM is set, the hardware will be programmed with the result of the multiplication of CTM by the limited range matrix to ensure the pixels normaly in the range 0..1.0 are remapped to the range 16/255..235/255.
45“audio”ENUM{ "force-dvi", "off", "auto", "on" }ConnectorTBD
46SDVO-TV“mode”ENUM{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.ConnectorTBD
47"left_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
48"right_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
49"top_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
50"bottom_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
51“hpos”RANGEMin=0, Max= SDVO dependentConnectorTBD
52“vpos”RANGEMin=0, Max= SDVO dependentConnectorTBD
53“contrast”RANGEMin=0, Max= SDVO dependentConnectorTBD
54“saturation”RANGEMin=0, Max= SDVO dependentConnectorTBD
55“hue”RANGEMin=0, Max= SDVO dependentConnectorTBD
56“sharpness”RANGEMin=0, Max= SDVO dependentConnectorTBD
57“flicker_filter”RANGEMin=0, Max= SDVO dependentConnectorTBD
58“flicker_filter_adaptive”RANGEMin=0, Max= SDVO dependentConnectorTBD
59“flicker_filter_2d”RANGEMin=0, Max= SDVO dependentConnectorTBD
60“tv_chroma_filter”RANGEMin=0, Max= SDVO dependentConnectorTBD
61“tv_luma_filter”RANGEMin=0, Max= SDVO dependentConnectorTBD
62“dot_crawl”RANGEMin=0, Max=1ConnectorTBD
63SDVO-TV/LVDS“brightness”RANGEMin=0, Max= SDVO dependentConnectorTBD
64CDV gma-500Generic"Broadcast RGB"ENUM{ “Full”, “Limited 16:235” }ConnectorTBD
65"Broadcast RGB"ENUM{ “off”, “auto”, “on” }ConnectorTBD
66PoulsboGeneric“backlight”RANGEMin=0, Max=100ConnectorTBD
67SDVO-TV“mode”ENUM{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.ConnectorTBD
68"left_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
69"right_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
70"top_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
71"bottom_margin"RANGEMin=0, Max= SDVO dependentConnectorTBD
72“hpos”RANGEMin=0, Max= SDVO dependentConnectorTBD
73“vpos”RANGEMin=0, Max= SDVO dependentConnectorTBD
74“contrast”RANGEMin=0, Max= SDVO dependentConnectorTBD
75“saturation”RANGEMin=0, Max= SDVO dependentConnectorTBD
76“hue”RANGEMin=0, Max= SDVO dependentConnectorTBD
77“sharpness”RANGEMin=0, Max= SDVO dependentConnectorTBD
78“flicker_filter”RANGEMin=0, Max= SDVO dependentConnectorTBD
79“flicker_filter_adaptive”RANGEMin=0, Max= SDVO dependentConnectorTBD
80“flicker_filter_2d”RANGEMin=0, Max= SDVO dependentConnectorTBD
81“tv_chroma_filter”RANGEMin=0, Max= SDVO dependentConnectorTBD
82“tv_luma_filter”RANGEMin=0, Max= SDVO dependentConnectorTBD
83“dot_crawl”RANGEMin=0, Max=1ConnectorTBD
84SDVO-TV/LVDS“brightness”RANGEMin=0, Max= SDVO dependentConnectorTBD
85armadaCRTC"CSC_YUV"ENUM{ "Auto" , "CCIR601", "CCIR709" }CRTCTBD
86"CSC_RGB"ENUM{ "Auto", "Computer system", "Studio" }CRTCTBD
87Overlay"colorkey"RANGEMin=0, Max=0xffffffPlaneTBD
88"colorkey_min"RANGEMin=0, Max=0xffffffPlaneTBD
89"colorkey_max"RANGEMin=0, Max=0xffffffPlaneTBD
90"colorkey_val"RANGEMin=0, Max=0xffffffPlaneTBD
91"colorkey_alpha"RANGEMin=0, Max=0xffffffPlaneTBD
92"colorkey_mode"ENUM{ "disabled", "Y component", "U component" , "V component", "RGB", “R component", "G component", "B component" }PlaneTBD
93"brightness"RANGEMin=0, Max=256 + 255PlaneTBD
94"contrast"RANGEMin=0, Max=0x7fffPlaneTBD
95"saturation"RANGEMin=0, Max=0x7fffPlaneTBD
96exynosCRTC“mode”ENUM{ "normal", "blank" }CRTCTBD
97Overlay“zpos”RANGEMin=0, Max=MAX_PLANE-1PlaneTBD
98i2c/ch7006_drvGeneric“scale”RANGEMin=0, Max=2ConnectorTBD
99TV“mode”ENUM{ "PAL", "PAL-M","PAL-N"}, ”PAL-Nc" , "PAL-60", "NTSC-M", "NTSC-J" }ConnectorTBD
100nouveauNV10 Overlay"colorkey"RANGEMin=0, Max=0x01ffffffPlaneTBD
101“contrast”RANGEMin=0, Max=8192-1PlaneTBD
102“brightness”RANGEMin=0, Max=1024PlaneTBD
103“hue”RANGEMin=0, Max=359PlaneTBD
104“saturation”RANGEMin=0, Max=8192-1PlaneTBD
105“iturbt_709”RANGEMin=0, Max=1PlaneTBD
106Nv04 Overlay“colorkey”RANGEMin=0, Max=0x01ffffffPlaneTBD
107“brightness”RANGEMin=0, Max=1024PlaneTBD
108Display“dithering mode”ENUM{ "auto", "off", "on" }ConnectorTBD
109“dithering depth”ENUM{ "auto", "off", "on", "static 2x2", "dynamic 2x2", "temporal" }ConnectorTBD
110“underscan”ENUM{ "auto", "6 bpc", "8 bpc" }ConnectorTBD
111“underscan hborder”RANGEMin=0, Max=128ConnectorTBD
112“underscan vborder”RANGEMin=0, Max=128ConnectorTBD
113“vibrant hue”RANGEMin=0, Max=180ConnectorTBD
114“color vibrance”RANGEMin=0, Max=200ConnectorTBD
115omapGeneric“zorder”RANGEMin=0, Max=3CRTC, PlaneTBD
116qxlGeneric“hotplug_mode_update"RANGEMin=0, Max=1ConnectorTBD
117radeonDVI-I“coherent”RANGEMin=0, Max=1ConnectorTBD
118DAC enable load detect“load detection”RANGEMin=0, Max=1ConnectorTBD
119TV Standard"tv standard"ENUM{ "ntsc", "pal", "pal-m", "pal-60", "ntsc-j" , "scart-pal", "pal-cn", "secam" }ConnectorTBD
120legacy TMDS PLL detect"tmds_pll"ENUM{ "driver", "bios" }-TBD
121Underscan"underscan"ENUM{ "off", "on", "auto" }ConnectorTBD
122"underscan hborder"RANGEMin=0, Max=128ConnectorTBD
123"underscan vborder"RANGEMin=0, Max=128ConnectorTBD
124Audio“audio”ENUM{ "off", "on", "auto" }ConnectorTBD
125FMT Dithering“dither”ENUM{ "off", "on" }ConnectorTBD
126rcar-duGeneric"alpha"RANGEMin=0, Max=255PlaneTBD
127"colorkey"RANGEMin=0, Max=0x01ffffffPlaneTBD
128"zpos"RANGEMin=1, Max=7PlaneTBD