Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/display: Introduce a DRM display-helper module

Replace the DP-helper module with a display-helper module. The
support for DisplayPort becomes an internal option that drivers
have to select. Update all related Kconfig and Makefile rules.

Besides the existing code for DisplayPort, the new module will
contain helpers for other video-output standards, such as HDMI.
Drivers will have to select their required video-output helpers.

Linking all display-related code into a single module avoids the
proliferation of small kernel modules.

The module parameters drm_dp_cec_unregister_delay, dp_aux_i2c_speed_khz,
and dp_aux_i2c_transfer_size are moving from the drm_dp_helper namespace
to drm_display_helper.

v2:
* mention module parameters in commit message (Javier)
* distiguish between display module and DP support in Kconfig
* update Makefile rules for DP helpers
* move Kconfig rules into separate file under display/

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220421073108.19226-4-tzimmermann@suse.de

+90 -59
+7 -32
drivers/gpu/drm/Kconfig
··· 36 36 bool 37 37 depends on DRM 38 38 39 - config DRM_DP_AUX_BUS 40 - tristate 41 - depends on DRM 42 - depends on OF 43 - 44 - config DRM_DP_AUX_CHARDEV 45 - bool "DRM DP AUX Interface" 46 - depends on DRM 47 - help 48 - Choose this option to enable a /dev/drm_dp_auxN node that allows to 49 - read and write values to arbitrary DPCD registers on the DP aux 50 - channel. 51 - 52 39 config DRM_DEBUG_MM 53 40 bool "Insert extra checks and debug info into the DRM range managers" 54 41 default n ··· 55 68 depends on DRM 56 69 depends on DEBUG_KERNEL 57 70 select PRIME_NUMBERS 58 - select DRM_DP_HELPER 71 + select DRM_DISPLAY_DP_HELPER 72 + select DRM_DISPLAY_HELPER 59 73 select DRM_LIB_RANDOM 60 74 select DRM_KMS_HELPER 61 75 select DRM_BUDDY ··· 69 81 developers working on DRM and associated drivers. 70 82 71 83 If in doubt, say "N". 72 - 73 - config DRM_DP_HELPER 74 - tristate 75 - depends on DRM 76 - help 77 - DRM helpers for DisplayPort. 78 84 79 85 config DRM_KMS_HELPER 80 86 tristate ··· 169 187 default case is N. Details and instructions how to build your own 170 188 EDID data are given in Documentation/admin-guide/edid.rst. 171 189 172 - config DRM_DP_CEC 173 - bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support" 174 - depends on DRM 175 - select CEC_CORE 176 - help 177 - Choose this option if you want to enable HDMI CEC support for 178 - DisplayPort/USB-C to HDMI adapters. 179 - 180 - Note: not all adapters support this feature, and even for those 181 - that do support this they often do not hook up the CEC pin. 190 + source "drivers/gpu/drm/display/Kconfig" 182 191 183 192 config DRM_TTM 184 193 tristate ··· 223 250 depends on DRM && PCI && MMU 224 251 depends on AGP || !AGP 225 252 select FW_LOADER 226 - select DRM_DP_HELPER 253 + select DRM_DISPLAY_DP_HELPER 254 + select DRM_DISPLAY_HELPER 227 255 select DRM_KMS_HELPER 228 256 select DRM_TTM 229 257 select DRM_TTM_HELPER ··· 245 271 tristate "AMD GPU" 246 272 depends on DRM && PCI && MMU 247 273 select FW_LOADER 248 - select DRM_DP_HELPER 274 + select DRM_DISPLAY_DP_HELPER 275 + select DRM_DISPLAY_HELPER 249 276 select DRM_KMS_HELPER 250 277 select DRM_SCHED 251 278 select DRM_TTM
+10 -5
drivers/gpu/drm/bridge/Kconfig
··· 78 78 config DRM_ITE_IT6505 79 79 tristate "ITE IT6505 DisplayPort bridge" 80 80 depends on OF 81 + select DRM_DISPLAY_DP_HELPER 82 + select DRM_DISPLAY_HELPER 81 83 select DRM_DP_AUX_BUS 82 - select DRM_DP_HELPER 83 84 select DRM_KMS_HELPER 84 85 select EXTCON 85 86 help ··· 207 206 config DRM_PARADE_PS8640 208 207 tristate "Parade PS8640 MIPI DSI to eDP Converter" 209 208 depends on OF 209 + select DRM_DISPLAY_DP_HELPER 210 + select DRM_DISPLAY_HELPER 210 211 select DRM_DP_AUX_BUS 211 - select DRM_DP_HELPER 212 212 select DRM_KMS_HELPER 213 213 select DRM_MIPI_DSI 214 214 select DRM_PANEL ··· 280 278 config DRM_TOSHIBA_TC358767 281 279 tristate "Toshiba TC358767 eDP bridge" 282 280 depends on OF 283 - select DRM_DP_HELPER 281 + select DRM_DISPLAY_DP_HELPER 282 + select DRM_DISPLAY_HELPER 284 283 select DRM_KMS_HELPER 285 284 select REGMAP_I2C 286 285 select DRM_MIPI_DSI ··· 302 299 config DRM_TOSHIBA_TC358775 303 300 tristate "Toshiba TC358775 DSI/LVDS bridge" 304 301 depends on OF 305 - select DRM_DP_HELPER 302 + select DRM_DISPLAY_DP_HELPER 303 + select DRM_DISPLAY_HELPER 306 304 select DRM_KMS_HELPER 307 305 select REGMAP_I2C 308 306 select DRM_PANEL ··· 331 327 config DRM_TI_SN65DSI86 332 328 tristate "TI SN65DSI86 DSI to eDP bridge" 333 329 depends on OF 334 - select DRM_DP_HELPER 330 + select DRM_DISPLAY_DP_HELPER 331 + select DRM_DISPLAY_HELPER 335 332 select DRM_KMS_HELPER 336 333 select REGMAP_I2C 337 334 select DRM_PANEL
+6 -3
drivers/gpu/drm/bridge/analogix/Kconfig
··· 3 3 tristate "Analogix ANX6345 bridge" 4 4 depends on OF 5 5 select DRM_ANALOGIX_DP 6 - select DRM_DP_HELPER 6 + select DRM_DISPLAY_DP_HELPER 7 + select DRM_DISPLAY_HELPER 7 8 select DRM_KMS_HELPER 8 9 select REGMAP_I2C 9 10 help ··· 16 15 config DRM_ANALOGIX_ANX78XX 17 16 tristate "Analogix ANX78XX bridge" 18 17 select DRM_ANALOGIX_DP 19 - select DRM_DP_HELPER 18 + select DRM_DISPLAY_DP_HELPER 19 + select DRM_DISPLAY_HELPER 20 20 select DRM_KMS_HELPER 21 21 select REGMAP_I2C 22 22 help ··· 34 32 tristate "Analogix Anx7625 MIPI to DP interface support" 35 33 depends on DRM 36 34 depends on OF 35 + select DRM_DISPLAY_DP_HELPER 36 + select DRM_DISPLAY_HELPER 37 37 select DRM_DP_AUX_BUS 38 - select DRM_DP_HELPER 39 38 select DRM_MIPI_DSI 40 39 help 41 40 ANX7625 is an ultra-low power 4K mobile HD transmitter
+2 -1
drivers/gpu/drm/bridge/cadence/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config DRM_CDNS_MHDP8546 3 3 tristate "Cadence DPI/DP bridge" 4 - select DRM_DP_HELPER 4 + select DRM_DISPLAY_DP_HELPER 5 + select DRM_DISPLAY_HELPER 5 6 select DRM_KMS_HELPER 6 7 select DRM_PANEL_BRIDGE 7 8 depends on OF
+37
drivers/gpu/drm/display/Kconfig
··· 1 + # SPDX-License-Identifier: MIT 2 + 3 + config DRM_DP_AUX_BUS 4 + tristate 5 + depends on DRM 6 + depends on OF 7 + 8 + config DRM_DISPLAY_HELPER 9 + tristate 10 + depends on DRM 11 + help 12 + DRM helpers for display adapters. 13 + 14 + config DRM_DISPLAY_DP_HELPER 15 + bool 16 + depends on DRM_DISPLAY_HELPER 17 + help 18 + DRM display helpers for DisplayPort. 19 + 20 + config DRM_DP_AUX_CHARDEV 21 + bool "DRM DP AUX Interface" 22 + depends on DRM 23 + help 24 + Choose this option to enable a /dev/drm_dp_auxN node that allows to 25 + read and write values to arbitrary DPCD registers on the DP aux 26 + channel. 27 + 28 + config DRM_DP_CEC 29 + bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support" 30 + depends on DRM 31 + select CEC_CORE 32 + help 33 + Choose this option if you want to enable HDMI CEC support for 34 + DisplayPort/USB-C to HDMI adapters. 35 + 36 + Note: not all adapters support this feature, and even for those 37 + that do support this they often do not hook up the CEC pin.
+7 -4
drivers/gpu/drm/display/Makefile
··· 2 2 3 3 obj-$(CONFIG_DRM_DP_AUX_BUS) += drm_dp_aux_bus.o 4 4 5 - drm_dp_helper-y := drm_dp.o drm_dp_dual_mode_helper.o drm_dp_helper_mod.o drm_dp_mst_topology.o 6 - drm_dp_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o 7 - drm_dp_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o 5 + drm_display_helper-y := drm_display_helper_mod.o 6 + drm_display_helper-$(CONFIG_DRM_DISPLAY_DP_HELPER) += drm_dp_dual_mode_helper.o \ 7 + drm_dp_helper.o \ 8 + drm_dp_mst_topology.o 9 + drm_display_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o 10 + drm_display_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o 8 11 9 - obj-$(CONFIG_DRM_DP_HELPER) += drm_dp_helper.o 12 + obj-$(CONFIG_DRM_DISPLAY_HELPER) += drm_display_helper.o
drivers/gpu/drm/display/drm_dp.c drivers/gpu/drm/display/drm_dp_helper.c
+5 -5
drivers/gpu/drm/display/drm_dp_helper_mod.c drivers/gpu/drm/display/drm_display_helper_mod.c
··· 4 4 5 5 #include "drm_dp_helper_internal.h" 6 6 7 - MODULE_DESCRIPTION("DRM DisplayPort helper"); 7 + MODULE_DESCRIPTION("DRM display adapter helper"); 8 8 MODULE_LICENSE("GPL and additional rights"); 9 9 10 - static int __init drm_dp_helper_module_init(void) 10 + static int __init drm_display_helper_module_init(void) 11 11 { 12 12 return drm_dp_aux_dev_init(); 13 13 } 14 14 15 - static void __exit drm_dp_helper_module_exit(void) 15 + static void __exit drm_display_helper_module_exit(void) 16 16 { 17 17 /* Call exit functions from specific dp helpers here */ 18 18 drm_dp_aux_dev_exit(); 19 19 } 20 20 21 - module_init(drm_dp_helper_module_init); 22 - module_exit(drm_dp_helper_module_exit); 21 + module_init(drm_display_helper_module_init); 22 + module_exit(drm_display_helper_module_exit);
+2 -1
drivers/gpu/drm/exynos/Kconfig
··· 4 4 depends on OF && DRM && COMMON_CLK 5 5 depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM || COMPILE_TEST 6 6 depends on MMU 7 + select DRM_DISPLAY_HELPER if DRM_EXYNOS_DP 7 8 select DRM_KMS_HELPER 8 9 select VIDEOMODE_HELPERS 9 10 select SND_SOC_HDMI_CODEC if SND_SOC ··· 67 66 bool "Exynos specific extensions for Analogix DP driver" 68 67 depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON 69 68 select DRM_ANALOGIX_DP 70 - select DRM_DP_HELPER 69 + select DRM_DISPLAY_DP_HELPER 71 70 default DRM_EXYNOS 72 71 select DRM_PANEL 73 72 help
+2 -1
drivers/gpu/drm/i915/Kconfig
··· 10 10 # the shmem_readpage() which depends upon tmpfs 11 11 select SHMEM 12 12 select TMPFS 13 - select DRM_DP_HELPER 13 + select DRM_DISPLAY_DP_HELPER 14 + select DRM_DISPLAY_HELPER 14 15 select DRM_KMS_HELPER 15 16 select DRM_PANEL 16 17 select DRM_MIPI_DSI
+2 -1
drivers/gpu/drm/msm/Kconfig
··· 12 12 select IOMMU_IO_PGTABLE 13 13 select QCOM_MDT_LOADER if ARCH_QCOM 14 14 select REGULATOR 15 - select DRM_DP_HELPER 15 + select DRM_DISPLAY_DP_HELPER 16 + select DRM_DISPLAY_HELPER 16 17 select DRM_KMS_HELPER 17 18 select DRM_PANEL 18 19 select DRM_BRIDGE
+2 -1
drivers/gpu/drm/nouveau/Kconfig
··· 4 4 depends on DRM && PCI && MMU 5 5 select IOMMU_API 6 6 select FW_LOADER 7 - select DRM_DP_HELPER 7 + select DRM_DISPLAY_DP_HELPER 8 + select DRM_DISPLAY_HELPER 8 9 select DRM_KMS_HELPER 9 10 select DRM_TTM 10 11 select DRM_TTM_HELPER
+2 -1
drivers/gpu/drm/panel/Kconfig
··· 105 105 depends on BACKLIGHT_CLASS_DEVICE 106 106 depends on PM 107 107 select VIDEOMODE_HELPERS 108 + select DRM_DISPLAY_DP_HELPER 109 + select DRM_DISPLAY_HELPER 108 110 select DRM_DP_AUX_BUS 109 - select DRM_DP_HELPER 110 111 select DRM_KMS_HELPER 111 112 help 112 113 DRM panel driver for dumb eDP panels that need at most a regulator and
+2 -2
drivers/gpu/drm/rockchip/Kconfig
··· 2 2 config DRM_ROCKCHIP 3 3 tristate "DRM Support for Rockchip" 4 4 depends on DRM && ROCKCHIP_IOMMU 5 - select DRM_DP_HELPER 5 + select DRM_DISPLAY_HELPER if ROCKCHIP_ANALOGIX_DP 6 6 select DRM_GEM_CMA_HELPER 7 7 select DRM_KMS_HELPER 8 8 select DRM_PANEL 9 9 select VIDEOMODE_HELPERS 10 10 select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP 11 - select DRM_DP_HELPER if ROCKCHIP_ANALOGIX_DP 12 11 select DRM_DW_HDMI if ROCKCHIP_DW_HDMI 13 12 select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI 14 13 select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI ··· 24 25 25 26 config ROCKCHIP_ANALOGIX_DP 26 27 bool "Rockchip specific extensions for Analogix DP driver" 28 + select DRM_DISPLAY_DP_HELPER 27 29 help 28 30 This selects support for Rockchip SoC specific extensions 29 31 for the Analogix Core DP driver. If you want to enable DP
+2 -1
drivers/gpu/drm/tegra/Kconfig
··· 5 5 depends on COMMON_CLK 6 6 depends on DRM 7 7 depends on OF 8 + select DRM_DISPLAY_DP_HELPER 9 + select DRM_DISPLAY_HELPER 8 10 select DRM_DP_AUX_BUS 9 - select DRM_DP_HELPER 10 11 select DRM_KMS_HELPER 11 12 select DRM_MIPI_DSI 12 13 select DRM_PANEL
+2 -1
drivers/gpu/drm/xlnx/Kconfig
··· 6 6 depends on PHY_XILINX_ZYNQMP 7 7 depends on XILINX_ZYNQMP_DPDMA 8 8 select DMA_ENGINE 9 - select DRM_DP_HELPER 9 + select DRM_DISPLAY_DP_HELPER 10 + select DRM_DISPLAY_HELPER 10 11 select DRM_GEM_CMA_HELPER 11 12 select DRM_KMS_HELPER 12 13 select GENERIC_PHY