drm/display: split DSC helpers from DP helpers
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 4 Jul 2024 19:17:08 +0000 (22:17 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 2 Sep 2024 21:13:44 +0000 (00:13 +0300)
Currently the DRM DSC functions are selected by the
DRM_DISPLAY_DP_HELPER Kconfig symbol. This is not optimal, since the DSI
code (both panel and host drivers) end up selecting the seemingly
irrelevant DP helpers. Split the DSC code to be guarded by the separate
DRM_DISPLAY_DSC_HELPER Kconfig symbol.

Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> #i915
Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240704-panel-sw43408-fix-v6-1-3ea1c94bbb9b@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/amd/amdgpu/Kconfig
drivers/gpu/drm/display/Kconfig
drivers/gpu/drm/display/Makefile
drivers/gpu/drm/i915/Kconfig
drivers/gpu/drm/msm/Kconfig
drivers/gpu/drm/panel/Kconfig

index 0051fb1..fc3237d 100644 (file)
@@ -6,6 +6,7 @@ config DRM_AMDGPU
        depends on !UML
        select FW_LOADER
        select DRM_DISPLAY_DP_HELPER
+       select DRM_DISPLAY_DSC_HELPER
        select DRM_DISPLAY_HDMI_HELPER
        select DRM_DISPLAY_HDCP_HELPER
        select DRM_DISPLAY_HELPER
index 479e626..a2e4201 100644 (file)
@@ -59,6 +59,12 @@ config DRM_DISPLAY_DP_TUNNEL_STATE_DEBUG
 
          If in doubt, say "N".
 
+config DRM_DISPLAY_DSC_HELPER
+       bool
+       depends on DRM_DISPLAY_HELPER
+       help
+         DRM display helpers for VESA DSC (used by DSI and DisplayPort).
+
 config DRM_DISPLAY_HDCP_HELPER
        bool
        depends on DRM_DISPLAY_HELPER
index 629df2f..a023f72 100644 (file)
@@ -6,10 +6,11 @@ drm_display_helper-y := drm_display_helper_mod.o
 drm_display_helper-$(CONFIG_DRM_DISPLAY_DP_HELPER) += \
        drm_dp_dual_mode_helper.o \
        drm_dp_helper.o \
-       drm_dp_mst_topology.o \
-       drm_dsc_helper.o
+       drm_dp_mst_topology.o
 drm_display_helper-$(CONFIG_DRM_DISPLAY_DP_TUNNEL) += \
        drm_dp_tunnel.o
+drm_display_helper-$(CONFIG_DRM_DISPLAY_DSC_HELPER) += \
+       drm_dsc_helper.o
 drm_display_helper-$(CONFIG_DRM_DISPLAY_HDCP_HELPER) += drm_hdcp_helper.o
 drm_display_helper-$(CONFIG_DRM_DISPLAY_HDMI_HELPER) += \
        drm_hdmi_helper.o \
index faa253b..db400aa 100644 (file)
@@ -11,6 +11,7 @@ config DRM_I915
        select SHMEM
        select TMPFS
        select DRM_DISPLAY_DP_HELPER
+       select DRM_DISPLAY_DSC_HELPER
        select DRM_DISPLAY_HDCP_HELPER
        select DRM_DISPLAY_HDMI_HELPER
        select DRM_DISPLAY_HELPER
index 26a4c71..420385c 100644 (file)
@@ -112,6 +112,7 @@ config DRM_MSM_DSI
        depends on DRM_MSM
        select DRM_PANEL
        select DRM_MIPI_DSI
+       select DRM_DISPLAY_DSC_HELPER
        default y
        help
          Choose this option if you have a need for MIPI DSI connector
index d3a9a9f..1077fd2 100644 (file)
@@ -378,7 +378,7 @@ config DRM_PANEL_LG_SW43408
        depends on OF
        depends on DRM_MIPI_DSI
        depends on BACKLIGHT_CLASS_DEVICE
-       select DRM_DISPLAY_DP_HELPER
+       select DRM_DISPLAY_DSC_HELPER
        select DRM_DISPLAY_HELPER
        help
          Say Y here if you want to enable support for LG sw43408 panel.
@@ -587,7 +587,7 @@ config DRM_PANEL_RAYDIUM_RM692E5
        depends on OF
        depends on DRM_MIPI_DSI
        depends on BACKLIGHT_CLASS_DEVICE
-       select DRM_DISPLAY_DP_HELPER
+       select DRM_DISPLAY_DSC_HELPER
        select DRM_DISPLAY_HELPER
        help
          Say Y here if you want to enable support for Raydium RM692E5-based
@@ -946,7 +946,7 @@ config DRM_PANEL_VISIONOX_R66451
        depends on OF
        depends on DRM_MIPI_DSI
        depends on BACKLIGHT_CLASS_DEVICE
-       select DRM_DISPLAY_DP_HELPER
+       select DRM_DISPLAY_DSC_HELPER
        select DRM_DISPLAY_HELPER
        help
          Say Y here if you want to enable support for Visionox