ab52af4ba7
The i915 driver has a property to force the RGB range of an HDMI output. The vc4 driver then implemented the same property with the same semantics. KWin has support for it, and a PR for mutter is also there to support it. Both drivers implementing the same property with the same semantics, plus the userspace having support for it, is proof enough that it's pretty much a de-facto standard now and we can provide helpers for it. Let's plumb it into the newly created HDMI connector. Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com> Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240527-kms-hdmi-connector-state-v15-18-c5af16c3aae2@kernel.org Signed-off-by: Maxime Ripard <mripard@kernel.org>
7.0 KiB
7.0 KiB
1 | Owner Module/Drivers | Group | Property Name | Type | Property Values | Object attached | Description/Restrictions |
---|---|---|---|---|---|---|---|
2 | DVI-I | “subconnector” | ENUM | { “Unknown”, “DVI-D”, “DVI-A” } | Connector | TBD | |
3 | “select subconnector” | ENUM | { “Automatic”, “DVI-D”, “DVI-A” } | Connector | TBD | ||
4 | TV | “subconnector” | ENUM | { "Unknown", "Composite", "SVIDEO", "Component", "SCART" } | Connector | TBD | |
5 | “select subconnector” | ENUM | { "Automatic", "Composite", "SVIDEO", "Component", "SCART" } | Connector | TBD | ||
6 | “mode” | ENUM | { "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc. | Connector | TBD | ||
7 | “left margin” | RANGE | Min=0, Max=100 | Connector | TBD | ||
8 | “right margin” | RANGE | Min=0, Max=100 | Connector | TBD | ||
9 | “top margin” | RANGE | Min=0, Max=100 | Connector | TBD | ||
10 | “bottom margin” | RANGE | Min=0, Max=100 | Connector | TBD | ||
11 | “brightness” | RANGE | Min=0, Max=100 | Connector | TBD | ||
12 | “contrast” | RANGE | Min=0, Max=100 | Connector | TBD | ||
13 | “flicker reduction” | RANGE | Min=0, Max=100 | Connector | TBD | ||
14 | “overscan” | RANGE | Min=0, Max=100 | Connector | TBD | ||
15 | “saturation” | RANGE | Min=0, Max=100 | Connector | TBD | ||
16 | “hue” | RANGE | Min=0, Max=100 | Connector | TBD | ||
17 | Virtual GPU | “suggested X” | RANGE | Min=0, Max=0xffffffff | Connector | property to suggest an X offset for a connector | |
18 | “suggested Y” | RANGE | Min=0, Max=0xffffffff | Connector | property to suggest an Y offset for a connector | ||
19 | Optional | "aspect ratio" | ENUM | { "None", "4:3", "16:9" } | Connector | TDB | |
20 | “audio” | ENUM | { "force-dvi", "off", "auto", "on" } | Connector | TBD | ||
21 | SDVO-TV | “mode” | ENUM | { "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc. | Connector | TBD | |
22 | "left_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
23 | "right_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
24 | "top_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
25 | "bottom_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
26 | “hpos” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
27 | “vpos” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
28 | “contrast” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
29 | “saturation” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
30 | “hue” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
31 | “sharpness” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
32 | “flicker_filter” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
33 | “flicker_filter_adaptive” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
34 | “flicker_filter_2d” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
35 | “tv_chroma_filter” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
36 | “tv_luma_filter” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
37 | “dot_crawl” | RANGE | Min=0, Max=1 | Connector | TBD | ||
38 | SDVO-TV/LVDS | “brightness” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | |
39 | CDV gma-500 | Generic | "Broadcast RGB" | ENUM | { “Full”, “Limited 16:235” } | Connector | TBD |
40 | Poulsbo | Generic | “backlight” | RANGE | Min=0, Max=100 | Connector | TBD |
41 | SDVO-TV | “mode” | ENUM | { "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc. | Connector | TBD | |
42 | "left_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
43 | "right_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
44 | "top_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
45 | "bottom_margin" | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
46 | “hpos” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
47 | “vpos” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
48 | “contrast” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
49 | “saturation” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
50 | “hue” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
51 | “sharpness” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
52 | “flicker_filter” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
53 | “flicker_filter_adaptive” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
54 | “flicker_filter_2d” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
55 | “tv_chroma_filter” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
56 | “tv_luma_filter” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | ||
57 | “dot_crawl” | RANGE | Min=0, Max=1 | Connector | TBD | ||
58 | SDVO-TV/LVDS | “brightness” | RANGE | Min=0, Max= SDVO dependent | Connector | TBD | |
59 | armada | CRTC | "CSC_YUV" | ENUM | { "Auto" , "CCIR601", "CCIR709" } | CRTC | TBD |
60 | "CSC_RGB" | ENUM | { "Auto", "Computer system", "Studio" } | CRTC | TBD | ||
61 | Overlay | "colorkey" | RANGE | Min=0, Max=0xffffff | Plane | TBD | |
62 | "colorkey_min" | RANGE | Min=0, Max=0xffffff | Plane | TBD | ||
63 | "colorkey_max" | RANGE | Min=0, Max=0xffffff | Plane | TBD | ||
64 | "colorkey_val" | RANGE | Min=0, Max=0xffffff | Plane | TBD | ||
65 | "colorkey_alpha" | RANGE | Min=0, Max=0xffffff | Plane | TBD | ||
66 | "colorkey_mode" | ENUM | { "disabled", "Y component", "U component" , "V component", "RGB", “R component", "G component", "B component" } | Plane | TBD | ||
67 | "brightness" | RANGE | Min=0, Max=256 + 255 | Plane | TBD | ||
68 | "contrast" | RANGE | Min=0, Max=0x7fff | Plane | TBD | ||
69 | "saturation" | RANGE | Min=0, Max=0x7fff | Plane | TBD | ||
70 | exynos | CRTC | “mode” | ENUM | { "normal", "blank" } | CRTC | TBD |
71 | i2c/ch7006_drv | Generic | “scale” | RANGE | Min=0, Max=2 | Connector | TBD |
72 | TV | “mode” | ENUM | { "PAL", "PAL-M","PAL-N"}, ”PAL-Nc" , "PAL-60", "NTSC-M", "NTSC-J" } | Connector | TBD | |
73 | nouveau | NV10 Overlay | "colorkey" | RANGE | Min=0, Max=0x01ffffff | Plane | TBD |
74 | “contrast” | RANGE | Min=0, Max=8192-1 | Plane | TBD | ||
75 | “brightness” | RANGE | Min=0, Max=1024 | Plane | TBD | ||
76 | “hue” | RANGE | Min=0, Max=359 | Plane | TBD | ||
77 | “saturation” | RANGE | Min=0, Max=8192-1 | Plane | TBD | ||
78 | “iturbt_709” | RANGE | Min=0, Max=1 | Plane | TBD | ||
79 | Nv04 Overlay | “colorkey” | RANGE | Min=0, Max=0x01ffffff | Plane | TBD | |
80 | “brightness” | RANGE | Min=0, Max=1024 | Plane | TBD | ||
81 | Display | “dithering mode” | ENUM | { "auto", "off", "on" } | Connector | TBD | |
82 | “dithering depth” | ENUM | { "auto", "off", "on", "static 2x2", "dynamic 2x2", "temporal" } | Connector | TBD | ||
83 | “underscan” | ENUM | { "auto", "6 bpc", "8 bpc" } | Connector | TBD | ||
84 | “underscan hborder” | RANGE | Min=0, Max=128 | Connector | TBD | ||
85 | “underscan vborder” | RANGE | Min=0, Max=128 | Connector | TBD | ||
86 | “vibrant hue” | RANGE | Min=0, Max=180 | Connector | TBD | ||
87 | “color vibrance” | RANGE | Min=0, Max=200 | Connector | TBD | ||
88 | omap | Generic | “zorder” | RANGE | Min=0, Max=3 | CRTC, Plane | TBD |
89 | qxl | Generic | “hotplug_mode_update" | RANGE | Min=0, Max=1 | Connector | TBD |
90 | radeon | DVI-I | “coherent” | RANGE | Min=0, Max=1 | Connector | TBD |
91 | DAC enable load detect | “load detection” | RANGE | Min=0, Max=1 | Connector | TBD | |
92 | TV Standard | "tv standard" | ENUM | { "ntsc", "pal", "pal-m", "pal-60", "ntsc-j" , "scart-pal", "pal-cn", "secam" } | Connector | TBD | |
93 | legacy TMDS PLL detect | "tmds_pll" | ENUM | { "driver", "bios" } | - | TBD | |
94 | Underscan | "underscan" | ENUM | { "off", "on", "auto" } | Connector | TBD | |
95 | "underscan hborder" | RANGE | Min=0, Max=128 | Connector | TBD | ||
96 | "underscan vborder" | RANGE | Min=0, Max=128 | Connector | TBD | ||
97 | Audio | “audio” | ENUM | { "off", "on", "auto" } | Connector | TBD | |
98 | FMT Dithering | “dither” | ENUM | { "off", "on" } | Connector | TBD | |
99 | "colorkey" | RANGE | Min=0, Max=0x01ffffff | Plane | TBD |