[added Dmitry to Cc, since he suggested doing this in [1]] On Tue, Jun 13, 2023 at 12:36:52AM +0100, Caleb Connolly wrote: > The commit 007ac0262b0d ("drm/msm/dsi: switch to DRM_PANEL_BRIDGE") > breaks panels which send DSI commands in their .unprepare callbacks. > Migrate to using .disable for that for some SDM845 panels. > > Co-developed-by: Joel Selvaraj <joelselvaraj.oss@xxxxxxxxx> > Signed-off-by: Joel Selvaraj <joelselvaraj.oss@xxxxxxxxx> > Signed-off-by: Caleb Connolly <caleb.connolly@xxxxxxxxxx> > --- > drivers/gpu/drm/panel/panel-ebbg-ft8719.c | 18 +++++++----------- > drivers/gpu/drm/panel/panel-novatek-nt36672a.c | 11 ++++++++++- > drivers/gpu/drm/panel/panel-visionox-rm69299.c | 11 ++++++++++- > 3 files changed, 27 insertions(+), 13 deletions(-) After Dmitry's description in [1] it's still not quite clear to me if the MSM DSI driver behaves wrong here (perhaps just "differently"?) or if most of the panel drivers have this set up wrong. This patch suggests that panel drivers shouldn't send any DSI commands in .unprepare(). If this is really the case I think this change should be applied to all panel drivers, not just the ones that happen to be used with SDM845 devices. There are several others that also send DSI commands in .unprepare(). I'm still quite confused about what exactly is supposed to be in (un)prepare and what in enable/disable. I've seen some related discussion every now and then but it's still quite inconsistent across different panel drivers... Can someone clarify this? Thanks! Stephan [1]: https://lore.kernel.org/linux-arm-msm/CAA8EJpq_9iC1rkiZVom28Kv_B3QLd4pBgFObxBfSpJ+Xh=Mp1g@xxxxxxxxxxxxxx/