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 <[email protected]> > > Closes: https://lore.kernel.org/r/[email protected]/ > > Tested-by: Luca Weiss <[email protected]> # qcm6490-fairphone-fp5 > > Signed-off-by: Dmitry Baryshkov <[email protected]> > > --- > > 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
