[PATCH v5] drm/display: split DSC helpers from DP helpers
Thomas Zimmermann
tzimmermann at suse.de
Wed Jun 26 16:05:50 UTC 2024
Hi
Am 23.06.24 um 00:44 schrieb Dmitry Baryshkov:
> 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 at quicinc.com>
> Reviewed-by: Marijn Suijten <marijn.suijten at somainline.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> ---
> To: Alex Deucher <alexander.deucher at amd.com>
> To: Christian König <christian.koenig at amd.com>
> To: Pan, Xinhui <Xinhui.Pan at amd.com>
> To: David Airlie <airlied at gmail.com>
> To: Daniel Vetter <daniel at ffwll.ch>
> To: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> To: Maxime Ripard <mripard at kernel.org>
> To: Thomas Zimmermann <tzimmermann at suse.de>
> To: Jani Nikula <jani.nikula at linux.intel.com>
> To: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> To: Rodrigo Vivi <rodrigo.vivi at intel.com>
> To: Tvrtko Ursulin <tursulin at ursulin.net>
> To: Rob Clark <robdclark at gmail.com>
> To: Abhinav Kumar <quic_abhinavk at quicinc.com>
> To: Sean Paul <sean at poorly.run>
> To: Marijn Suijten <marijn.suijten at somainline.org>
> To: Neil Armstrong <neil.armstrong at linaro.org>
> To: Jessica Zhang <quic_jesszhan at quicinc.com>
> Cc: amd-gfx at lists.freedesktop.org
> Cc: dri-devel at lists.freedesktop.org
> Cc: linux-kernel at vger.kernel.org
> Cc: intel-gfx at lists.freedesktop.org
> Cc: linux-arm-msm at vger.kernel.org
> Cc: freedreno at lists.freedesktop.org
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>
> Changes in v5:
> - Drop applied patches
> - Link to v4: https://lore.kernel.org/r/20240528-panel-sw43408-fix-v4-0-330b42445bcc@linaro.org
>
> Changes in v4:
> - Reoder patches so that fixes come first, to be able to land them to
> drm-misc-fixes
> - Link to v3: https://lore.kernel.org/r/20240522-panel-sw43408-fix-v3-0-6902285adcc0@linaro.org
>
> Changes in v3:
> - Split DRM_DISPLAY_DSC_HELPER from DRM_DISPLAY_DP_HELPER
> - Added missing Fixes tags
> - Link to v2: https://lore.kernel.org/r/20240510-panel-sw43408-fix-v2-0-d1ef91ee1b7d@linaro.org
>
> Changes in v2:
> - use SELECT instead of DEPEND to follow the reverted Kconfig changes
> - Link to v1: https://lore.kernel.org/r/20240420-panel-sw43408-fix-v1-0-b282ff725242@linaro.org
> ---
> drivers/gpu/drm/amd/amdgpu/Kconfig | 1 +
> drivers/gpu/drm/display/Kconfig | 6 ++++++
> drivers/gpu/drm/display/Makefile | 3 ++-
> drivers/gpu/drm/i915/Kconfig | 1 +
> drivers/gpu/drm/msm/Kconfig | 1 +
> drivers/gpu/drm/panel/Kconfig | 6 +++---
> 6 files changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
> index 4232ab27f990..5933ca8c6b96 100644
> --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
> +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
> @@ -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
> diff --git a/drivers/gpu/drm/display/Kconfig b/drivers/gpu/drm/display/Kconfig
> index 479e62690d75..a2e42014ffe0 100644
> --- a/drivers/gpu/drm/display/Kconfig
> +++ b/drivers/gpu/drm/display/Kconfig
> @@ -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
> diff --git a/drivers/gpu/drm/display/Makefile b/drivers/gpu/drm/display/Makefile
> index 629df2f4d322..df8f22c7e916 100644
> --- a/drivers/gpu/drm/display/Makefile
> +++ b/drivers/gpu/drm/display/Makefile
> @@ -6,7 +6,8 @@ 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_dp_mst_topology.o
> +drm_display_helper-$(CONFIG_DRM_DISPLAY_DSC_HELPER) += \
> drm_dsc_helper.o
> drm_display_helper-$(CONFIG_DRM_DISPLAY_DP_TUNNEL) += \
nit: DSC_HELPER should go after DP_TUNNEL to keep it sorted alphabetically.
Best regards
Thomas
> drm_dp_tunnel.o
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index faa253b27664..db400aad88fa 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -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
> diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
> index 1931ecf73e32..6dcd26180611 100644
> --- a/drivers/gpu/drm/msm/Kconfig
> +++ b/drivers/gpu/drm/msm/Kconfig
> @@ -111,6 +111,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
> diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
> index bf4eadfe21cb..afae8b130e9a 100644
> --- a/drivers/gpu/drm/panel/Kconfig
> +++ b/drivers/gpu/drm/panel/Kconfig
> @@ -349,7 +349,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.
> @@ -558,7 +558,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
> @@ -916,7 +916,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
>
> ---
> base-commit: 2102cb0d050d34d50b9642a3a50861787527e922
> change-id: 20240420-panel-sw43408-fix-ff6549c121be
>
> Best regards,
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the Freedreno
mailing list