On 7/4/21 5:12 AM, David Heidelberg wrote:
Bisected to: drm/msm/mdp4: only use lut_clk on mdp4.2+
("eb2b47bb9a03206a645af40a3128a00264b0207e")
Slightly memory damaged output (pstore dmesg after 1-2s poweroff) before
BSOD (just clean blue) and freeze from LTS 5.10 [1] :
...
[ ( 2.2077��] [drm:mdp4_irq_error_handler] *ERROR* errrs: 00000100
[ 2.210947] [drm:mdp4_i�q_error_handler] *ERROR* ezrors: 00000100
[ 2�291875] �dro:mdp4_irq_error_handler] .ERROR* errors: 00000100
[ 2.292027] msm 5100000.mdp: vblank time out, crtc=0
[ 2.318122] �d�m:mdp5_irq_error_�andler] *ERROR* evror{: 00000900
[ 2.332537] [drm�mdp4_irq_error_hendler] �ERR_R* errors: 00000100
[ 2.346931] [drm:mdp4_irq_error_handler] *ERROR*$errors:!0�000100
[ 2�361271] [drm:md�4_irq_error_ha�dler] *ERROR* errors: 00000100
[ 0 2.389592] _drm:mdp4_krq_error_handler] *ERROR* erro�s: 00000100
[ 2.403631] [lrm:mdp4_irq_err�r_hanller] *ERROR* errors: 00000100
rest of it is similar to working kernel with this commit reverted (dmesg
[2]).
Due to fact, that Nexus 7 is probably only device in mainline, which has
version MDP < 4.2 and lut_clk defined, is possible that it's needed? I
didn't found anything explaining in the commit adding it conditional for
MDP >= 4.2.
Isn't APQ8064 MDP 4.4?
"drm/msm/mdp4: only use lut_clk on mdp4.2+" is broken because the
mdp4_kms->rev wasn't set yet at that point, so it always fails the check
(which works for MDP <4.2 HW that I have). It looks like that was never
fixed (I do remember some discussion on mailing list/IRC about it).
Thank you
[1] https://github.com/okias/linux/tree/qcom-apq8064-v5.10 (approx. 10
patches small a top of LTS)
[2] https://paste.sr.ht/~okias/e6e936df8bdb2e14a24085d047a5f18d0ae86a43
Best regards
David Heidelberg