Message ID | 20240623-panel-sw43408-fix-v5-1-5401ab61e738@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v5] drm/display: split DSC helpers from DP helpers | expand |
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@quicinc.com> > Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > To: Alex Deucher <alexander.deucher@amd.com> > To: Christian König <christian.koenig@amd.com> > To: Pan, Xinhui <Xinhui.Pan@amd.com> > To: David Airlie <airlied@gmail.com> > To: Daniel Vetter <daniel@ffwll.ch> > To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > To: Maxime Ripard <mripard@kernel.org> > To: Thomas Zimmermann <tzimmermann@suse.de> > To: Jani Nikula <jani.nikula@linux.intel.com> > To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > To: Rodrigo Vivi <rodrigo.vivi@intel.com> > To: Tvrtko Ursulin <tursulin@ursulin.net> > To: Rob Clark <robdclark@gmail.com> > To: Abhinav Kumar <quic_abhinavk@quicinc.com> > To: Sean Paul <sean@poorly.run> > To: Marijn Suijten <marijn.suijten@somainline.org> > To: Neil Armstrong <neil.armstrong@linaro.org> > To: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: amd-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org > Cc: linux-kernel@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: linux-arm-msm@vger.kernel.org > Cc: freedreno@lists.freedesktop.org > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@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) += \ > 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@intel.com> #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@linaro.org> >
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@quicinc.com> > Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > To: Alex Deucher <alexander.deucher@amd.com> > To: Christian König <christian.koenig@amd.com> > To: Pan, Xinhui <Xinhui.Pan@amd.com> > To: David Airlie <airlied@gmail.com> > To: Daniel Vetter <daniel@ffwll.ch> > To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > To: Maxime Ripard <mripard@kernel.org> > To: Thomas Zimmermann <tzimmermann@suse.de> > To: Jani Nikula <jani.nikula@linux.intel.com> > To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > To: Rodrigo Vivi <rodrigo.vivi@intel.com> > To: Tvrtko Ursulin <tursulin@ursulin.net> > To: Rob Clark <robdclark@gmail.com> > To: Abhinav Kumar <quic_abhinavk@quicinc.com> > To: Sean Paul <sean@poorly.run> > To: Marijn Suijten <marijn.suijten@somainline.org> > To: Neil Armstrong <neil.armstrong@linaro.org> > To: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: amd-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org > Cc: linux-kernel@vger.kernel.org > Cc: intel-gfx@lists.freedesktop.org > Cc: linux-arm-msm@vger.kernel.org > Cc: freedreno@lists.freedesktop.org > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@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,
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 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