msm8916-mainline / linux-mdss-dsi-panel-driver-generator

Generate Linux DRM panel kernel driver based on QCOM MDSS DSI device tree
GNU General Public License v2.0
53 stars 33 forks source link

driver: use disable for off dsi commands #45

Closed barni2000 closed 1 month ago

barni2000 commented 2 months ago

Use .disable instead .unprepare for send off dsi commands because in unprepare DSI host is off it fixes error messages comes from .unprepare.

The idea was come from https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpu/drm/panel/panel-novatek-nt36523.c?h=next-20240426#n1063

FP4 panel also does similar things https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpu/drm/panel/panel-himax-hx83112a.c?h=next-20240503#n202

Some generated example: https://github.com/barni2000/linux/commit/6ceed68102f66c71fa769e8eec22763533898b15

It fixes #44

barni2000 commented 1 month ago

It seems .unprepare will be fixed in 6.10 i only have issues with video mode panels

[   61.669321] msm_dsi 1a94000.dsi: [drm:dsi_cmds2buf_tx [msm]] *ERROR* wait for video done timed out
[   61.877437] dsi_cmds2buf_tx: cmd dma tx failed, type=0x15, data0=0x28, len=4, ret=-110
[   61.878386] panel-td4310plus-e7-g55 1a94000.dsi.0: sending command 0x28 failed: -110
[   61.878410] panel-td4310plus-e7-g55 1a94000.dsi.0: Failed to un-initialize panel: -110