* [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
@ 2026-03-17 15:30 Dmitry Baryshkov
2026-03-17 15:55 ` Luca Weiss
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2026-03-17 15:30 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Luca Weiss
Current topology code will try using 2 LMs with just one DSC, which
breaks cases like SC7280 / Fairphone5. Forbid using 2 LMs split in such
a case.
Fixes: 1ce69c265a53 ("drm/msm/dpu: move resource allocation to CRTC")
Reported-by: Luca Weiss <luca.weiss@fairphone.com>
Closes: https://lore.kernel.org/r/DH1IKLU0YZYU.2SW4WYO7H3H4R@fairphone.com/
Tested-by: Luca Weiss <luca.weiss@fairphone.com> # qcm6490-fairphone-fp5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
index 6bf7c46379ae..96b67ea3fb4c 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
@@ -1410,7 +1410,8 @@ static struct msm_display_topology dpu_crtc_get_topology(
topology.num_lm = 2;
else if (topology.num_dsc == 2)
topology.num_lm = 2;
- else if (dpu_kms->catalog->caps->has_3d_merge)
+ else if (dpu_kms->catalog->caps->has_3d_merge &&
+ topology.num_dsc == 0)
topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
else
topology.num_lm = 1;
---
base-commit: 50c4a49f7292b33b454ea1a16c4f77d6965405dc
change-id: 20260317-fix-3d-dsc-4b073977ea19
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
2026-03-17 15:30 [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available Dmitry Baryshkov
@ 2026-03-17 15:55 ` Luca Weiss
2026-03-17 16:48 ` Konrad Dybcio
2026-03-27 19:47 ` Dmitry Baryshkov
2 siblings, 0 replies; 6+ messages in thread
From: Luca Weiss @ 2026-03-17 15:55 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie,
Simona Vetter
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Luca Weiss
On Tue Mar 17, 2026 at 4:30 PM CET, Dmitry Baryshkov wrote:
> Current topology code will try using 2 LMs with just one DSC, which
> breaks cases like SC7280 / Fairphone5. Forbid using 2 LMs split in such
> a case.
>
> Fixes: 1ce69c265a53 ("drm/msm/dpu: move resource allocation to CRTC")
> Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> Closes: https://lore.kernel.org/r/DH1IKLU0YZYU.2SW4WYO7H3H4R@fairphone.com/
> Tested-by: Luca Weiss <luca.weiss@fairphone.com> # qcm6490-fairphone-fp5
Thanks for fixing, Dmitry!
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> index 6bf7c46379ae..96b67ea3fb4c 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> @@ -1410,7 +1410,8 @@ static struct msm_display_topology dpu_crtc_get_topology(
> topology.num_lm = 2;
> else if (topology.num_dsc == 2)
> topology.num_lm = 2;
> - else if (dpu_kms->catalog->caps->has_3d_merge)
> + else if (dpu_kms->catalog->caps->has_3d_merge &&
> + topology.num_dsc == 0)
> topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
> else
> topology.num_lm = 1;
>
> ---
> base-commit: 50c4a49f7292b33b454ea1a16c4f77d6965405dc
> change-id: 20260317-fix-3d-dsc-4b073977ea19
>
> Best regards,
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
2026-03-17 15:30 [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available Dmitry Baryshkov
2026-03-17 15:55 ` Luca Weiss
@ 2026-03-17 16:48 ` Konrad Dybcio
2026-03-17 17:34 ` Dmitry Baryshkov
2026-03-27 19:47 ` Dmitry Baryshkov
2 siblings, 1 reply; 6+ messages in thread
From: Konrad Dybcio @ 2026-03-17 16:48 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie,
Simona Vetter
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Luca Weiss
On 3/17/26 4:30 PM, Dmitry Baryshkov wrote:
> Current topology code will try using 2 LMs with just one DSC, which
> breaks cases like SC7280 / Fairphone5.
(why/how?)
Konrad
> Forbid using 2 LMs split in such
> a case.
>
> Fixes: 1ce69c265a53 ("drm/msm/dpu: move resource allocation to CRTC")
> Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> Closes: https://lore.kernel.org/r/DH1IKLU0YZYU.2SW4WYO7H3H4R@fairphone.com/
> Tested-by: Luca Weiss <luca.weiss@fairphone.com> # qcm6490-fairphone-fp5
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> index 6bf7c46379ae..96b67ea3fb4c 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> @@ -1410,7 +1410,8 @@ static struct msm_display_topology dpu_crtc_get_topology(
> topology.num_lm = 2;
> else if (topology.num_dsc == 2)
> topology.num_lm = 2;
> - else if (dpu_kms->catalog->caps->has_3d_merge)
> + else if (dpu_kms->catalog->caps->has_3d_merge &&
> + topology.num_dsc == 0)
> topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
> else
> topology.num_lm = 1;
>
> ---
> base-commit: 50c4a49f7292b33b454ea1a16c4f77d6965405dc
> change-id: 20260317-fix-3d-dsc-4b073977ea19
>
> Best regards,
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
2026-03-17 16:48 ` Konrad Dybcio
@ 2026-03-17 17:34 ` Dmitry Baryshkov
0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2026-03-17 17:34 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
linux-arm-msm, dri-devel, freedreno, linux-kernel, Luca Weiss
On Tue, Mar 17, 2026 at 05:48:59PM +0100, Konrad Dybcio wrote:
> On 3/17/26 4:30 PM, Dmitry Baryshkov wrote:
> > Current topology code will try using 2 LMs with just one DSC, which
> > breaks cases like SC7280 / Fairphone5.
>
> (why/how?)
See https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/41
Using 2 LM/2PP + 3D + 1DSC is a separate topology. I'm checking what
would be required to fix it. For now this is the easiest fix to forbid
using it (it wasn't supported beforehand anyway and got enabled by the
encoder / CRTC refactoring).
>
> Konrad
>
> > Forbid using 2 LMs split in such
> > a case.
> >
> > Fixes: 1ce69c265a53 ("drm/msm/dpu: move resource allocation to CRTC")
> > Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> > Closes: https://lore.kernel.org/r/DH1IKLU0YZYU.2SW4WYO7H3H4R@fairphone.com/
> > Tested-by: Luca Weiss <luca.weiss@fairphone.com> # qcm6490-fairphone-fp5
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > ---
> > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> > index 6bf7c46379ae..96b67ea3fb4c 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> > @@ -1410,7 +1410,8 @@ static struct msm_display_topology dpu_crtc_get_topology(
> > topology.num_lm = 2;
> > else if (topology.num_dsc == 2)
> > topology.num_lm = 2;
> > - else if (dpu_kms->catalog->caps->has_3d_merge)
> > + else if (dpu_kms->catalog->caps->has_3d_merge &&
> > + topology.num_dsc == 0)
> > topology.num_lm = (mode->hdisplay > MAX_HDISPLAY_SPLIT) ? 2 : 1;
> > else
> > topology.num_lm = 1;
> >
> > ---
> > base-commit: 50c4a49f7292b33b454ea1a16c4f77d6965405dc
> > change-id: 20260317-fix-3d-dsc-4b073977ea19
> >
> > Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
2026-03-17 15:30 [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available Dmitry Baryshkov
2026-03-17 15:55 ` Luca Weiss
2026-03-17 16:48 ` Konrad Dybcio
@ 2026-03-27 19:47 ` Dmitry Baryshkov
2026-03-30 7:03 ` Luca Weiss
2 siblings, 1 reply; 6+ messages in thread
From: Dmitry Baryshkov @ 2026-03-27 19:47 UTC (permalink / raw)
To: Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Sean Paul, Marijn Suijten, David Airlie, Simona Vetter,
Dmitry Baryshkov
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Luca Weiss
On Tue, 17 Mar 2026 17:30:05 +0200, Dmitry Baryshkov wrote:
> Current topology code will try using 2 LMs with just one DSC, which
> breaks cases like SC7280 / Fairphone5. Forbid using 2 LMs split in such
> a case.
Applied to msm-next, thanks!
[1/1] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
https://gitlab.freedesktop.org/lumag/msm/-/commit/b9699dd86276
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
2026-03-27 19:47 ` Dmitry Baryshkov
@ 2026-03-30 7:03 ` Luca Weiss
0 siblings, 0 replies; 6+ messages in thread
From: Luca Weiss @ 2026-03-30 7:03 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Sean Paul, Marijn Suijten, David Airlie,
Simona Vetter
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Luca Weiss
On Fri Mar 27, 2026 at 8:47 PM CET, Dmitry Baryshkov wrote:
> On Tue, 17 Mar 2026 17:30:05 +0200, Dmitry Baryshkov wrote:
>> Current topology code will try using 2 LMs with just one DSC, which
>> breaks cases like SC7280 / Fairphone5. Forbid using 2 LMs split in such
>> a case.
>
> Applied to msm-next, thanks!
>
> [1/1] drm/msm/dpu: don't try using 2 LMs if only one DSC is available
> https://gitlab.freedesktop.org/lumag/msm/-/commit/b9699dd86276
Hi Dmitry,
I don't see this in -rc6 unfortunately. Will this still be sent for
inclusion in v7.0?
Regards
Luca
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-03-30 7:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17 15:30 [PATCH] drm/msm/dpu: don't try using 2 LMs if only one DSC is available Dmitry Baryshkov
2026-03-17 15:55 ` Luca Weiss
2026-03-17 16:48 ` Konrad Dybcio
2026-03-17 17:34 ` Dmitry Baryshkov
2026-03-27 19:47 ` Dmitry Baryshkov
2026-03-30 7:03 ` Luca Weiss
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox