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.. Konrad
