On Sun, Jun 23, 2024 at 01:44:19AM +0300, Dmitry Baryshkov wrote: > 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@xxxxxxxxxxx> > Reviewed-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > --- > To: Alex Deucher <alexander.deucher@xxxxxxx> > To: Christian König <christian.koenig@xxxxxxx> > To: Pan, Xinhui <Xinhui.Pan@xxxxxxx> > To: David Airlie <airlied@xxxxxxxxx> > To: Daniel Vetter <daniel@xxxxxxxx> > To: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > To: Maxime Ripard <mripard@xxxxxxxxxx> > To: Thomas Zimmermann <tzimmermann@xxxxxxx> > To: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > To: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > To: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > To: Tvrtko Ursulin <tursulin@xxxxxxxxxxx> > To: Rob Clark <robdclark@xxxxxxxxx> > To: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> > To: Sean Paul <sean@xxxxxxxxxx> > To: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> > To: Neil Armstrong <neil.armstrong@xxxxxxxxxx> > To: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx> > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > Cc: freedreno@xxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > Changes in v5: > - Drop applied patches > - Link to v4: https://lore.kernel.org/r/20240528-panel-sw43408-fix-v4-0-330b42445bcc@xxxxxxxxxx > > 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@xxxxxxxxxx > > 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@xxxxxxxxxx > > 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@xxxxxxxxxx > --- > 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) += \ > 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 Acked-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> #i915 > 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, > -- > Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> >