On Thu, Dec 18, 2025 at 02:54:15PM +0100, Konrad Dybcio wrote:
> On 12/18/25 2:49 PM, Dmitry Baryshkov wrote:
> > On Thu, Dec 18, 2025 at 12:23:49PM +0100, Konrad Dybcio wrote:
> >> On 12/17/25 5:34 PM, Dmitry Baryshkov wrote:
> >>> On Wed, Dec 17, 2025 at 06:05:31PM +0300, Alexey Minnekhanov wrote:
> >>>> On 11.12.2025 04:25, Dmitry Baryshkov wrote:
> >>>>> Currently MDP5 3.x (MSM8998, SDM630 and SDM660) platforms are support
> >>>>> by both DPU and MDP5 drivers. Support for them in the DPU driver is
> >>>>> mature enough, so it's no longer sensible to keep them enabled in the
> >>>>> MDP5 driver. Not to mention that MSM8998 never used an MDP5 compatible
> >>>>> string. Drop support for the MDP5 3.x genration inside the MDP5
> >>>>> driver and migrate those to the DPU driver only.
> >>>>>
> >>>>> Note: this will break if one uses the DT generated before v6.3 as they
> >>>>> had only the generic, "qcom,mdp5" compatible string for SDM630 and
> >>>>> SDM660. However granted that we had two LTS releases inbetween I don't
> >>>>> think it is an issue.
> >>>>>
> >>>>
> >>>> I've retested DPU driver on our downstream release based on 6.18 (by
> >>>> using msm.prefer_mdp5=false kernel cmdline parameter) on all devices
> >>>> at my disposal, and I can confirm DPU driver working fine an all SDM660,
> >>>> SDM636 ones, but not on SDM630. Some logs from sdm630-sony-nile-pioneer
> >>>> (Sony Xperia XA2):
> >>>
> >>> Unfortunately I only have SDM660 and video DSI usecase here. BTW: is
> >>> your SDM636 / SDM660 using CMD or video panel?
> >>>
> >>>>
> >>>> [    2.356546] msm_dpu c901000.display-controller: bound c994000.dsi (ops
> >>>> dsi_ops [msm])
> >>>> [    2.357328] adreno 5000000.gpu: GPU speedbin fuse 146 (0x92), mapped 
> >>>> to
> >>>> opp-supp-hw 0x4
> >>>> [    2.364802] msm_dpu c901000.display-controller: bound 5000000.gpu (ops
> >>>> a3xx_ops [msm])
> >>>> [    2.444649] [drm:dpu_kms_hw_init:1173] dpu hardware 
> >>>> revision:0x30030000
> >>>> [    2.449793] [drm] Initialized msm 1.13.0 for 
> >>>> c901000.display-controller
> >>>> on minor 1
> >>>> ...
> >>>> [    2.911900] [drm:_dpu_encoder_phys_cmd_wait_for_ctl_start:654] [dpu
> >>>> error]enc33 intf1 ctl start interrupt wait failed
> >>>> [    2.911916] [drm:dpu_kms_wait_for_commit_done:525] [dpu error]wait for
> >>>> commit done returned -22
> >>>> ...
> >>>> [    3.176171] [drm:_dpu_encoder_phys_cmd_wait_for_ctl_start:654] [dpu
> >>>> error]enc33 intf1 ctl start interrupt wait failed
> >>>> [    3.176367] [drm:dpu_kms_wait_for_commit_done:525] [dpu error]wait for
> >>>> commit done returned -22
> >>>>
> >>>> Which results in horrendous ~3-5 fps in shell.
> >>>>
> >>>> The block "enc33 intf1 ctl start interrupt wait failed" + "wait for
> >>>> commit done returned -22" is repeated few times per second whenever
> >>>> the display is turned on, and stops when it's turned off.
> >>>>
> >>>> Meanwhile it is working fine using MDP5 driver (msm.prefer_mdp5=true).
> >>>
> >>> It's interesting. Would you please capture the devcoredump for the
> >>> platform? There will be a lot of blocks, I'm interested in INTF_1, CTL
> >>> and top_0.
> >>>
> >>> Also, as a debugging check, would you mind patching
> >>> dpu_encoder_phys_cmd_wait_for_commit_done() so that it always calls
> >>> dpu_encoder_phys_cmd_wait_for_tx_complete()? I will check if there are
> >>> any differences for CTL_START and similar registers, but it will take
> >>> some time.
> >>>
> >>>> Well, as fine as possible considering [1], using several FD_MESA_DEBUG
> >>>> tricks to work around GPU issues.
> >>>>
> >>>> P.S. I have not yet tested MSM8998, but I can try if required
> >>>
> >>> As far as I remember, MDP5 on MSM8998 has never been wired (as in never
> >>> committed to the DTSI). Angelo has enabled and Freebox people have
> >>> tested DPU on MSM8998, but I think it was limited to video / HDMI
> >>> usecases.
> >>
> >> I think we poked at both, back in the day (tm) and DPU worked on msm8998-
> >> sony-maple (sharp,ls055d1sx04 cmd mode panel) with the funny CMD mode hack
> >> (due to a register field not existing on <845?)
> >>
> >> https://github.com/SoMainline/linux/commit/14e0517e2fd5eee116a32db624b09856c60fa022
> > 
> > Ok, so my guess was correct and CTL_START is not present there. Checking
> > the regmaps, there is no intr_start too. Let me cook the patchset.
> 
> FWIW it's not something I came up with.. But I can't fully recall the
> original finder. Maybe it was one of the MSM8996/MSM8998/SDM845-mainline
> contributors? It was difficult to find, so I'd like to credit the author
> but I'm afraid I can't find it..

For now I credited Alexey for his email earlier in this thread.

-- 
With best wishes
Dmitry

Reply via email to