From: Linus Walleij <linus.walleij@linaro.org>
To: Aradhya Bhatia <a-bhatia1@ti.com>,
Stefan Hansson <newbyte@postmarketos.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Jessica Zhang <jessica.zhang@oss.qualcomm.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Simona Vetter <simona@ffwll.ch>,
Dmitry Baryshkov <lumag@kernel.org>,
Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
dri-devel@lists.freedesktop.org
Cc: Linus Walleij <linus.walleij@linaro.org>
Subject: [PATCH v2 0/4] drm: panel: Fix atomic helper-induced regressions
Date: Sun, 26 Oct 2025 18:39:59 +0100 [thread overview]
Message-ID: <20251026-fix-mcde-drm-regression-v2-0-8d799e488cf9@linaro.org> (raw)
commit c9b1150a68d9362a0827609fc0dc1664c0d8bfe1
"drm/atomic-helper: Re-order bridge chain pre-enable and post-disable"
caused a series of regressions in all panels that send
DSI commands in their .prepare() and .unprepare()
callbacks.
As the CRTC is no longer online at bridge_pre_enable()
and gone at brige_post_disable() which maps to the panel
bridge .prepare()/.unprepare() callbacks, any CRTC that
enable/disable the DSI transmitter in it's enable/disable
callbacks will be unable to send any DSI commands in the
.prepare() and .unprepare() callbacks.
This is also evident from device trees with the DSI
inside the CRTC such as this:
mcde@a0350000 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dsi_default_mode>;
dsi@a0351000 {
panel {
compatible = "hydis,hva40wv1", "novatek,nt35510";
reg = <0>;
vdd-supply = <&ab8500_ldo_aux4_reg>;
vddi-supply = <&ab8500_ldo_aux6_reg>;
};
};
};
The panel is inside the DSI which is inside the CRTC
(MCDE).
This is in a way natural, so let's just fix it in all
affected panel drivers that I know of and can test.
Mostly Ux500 phones, and only those with the display
directly on DSI (not e.g. using DPI and SPI).
Other panel drivers may be affected.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Changes in v2:
- Fix half-baked NT35510 patch that was still sending init commands
in the prepare() callback.
- Link to v1: https://lore.kernel.org/r/20251023-fix-mcde-drm-regression-v1-0-ed9a925db8c7@linaro.org
---
Linus Walleij (4):
drm: panel: nt355510: Move DSI commands to enable/disable
drm: panel: s6d16d0: Move DSI commands to enable/disable
drm: panel: nt35560: Move DSI commands to enable/disable
drm: panel: s6e63m0: Move DSI commands to enable/disable
drivers/gpu/drm/panel/panel-novatek-nt35510.c | 31 +++++++++++++++++++-----
drivers/gpu/drm/panel/panel-novatek-nt35560.c | 24 ++++++++++++------
drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 35 ++++++++++++---------------
drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 31 +++++++++---------------
4 files changed, 70 insertions(+), 51 deletions(-)
---
base-commit: 6548d364a3e850326831799d7e3ea2d7bb97ba08
change-id: 20251022-fix-mcde-drm-regression-c9ac0cc20bae
Best regards,
--
Linus Walleij <linus.walleij@linaro.org>
next reply other threads:[~2025-10-26 17:40 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-26 17:39 Linus Walleij [this message]
2025-10-26 17:40 ` [PATCH v2 1/4] drm: panel: nt355510: Move DSI commands to enable/disable Linus Walleij
2025-10-26 17:40 ` [PATCH v2 2/4] drm: panel: s6d16d0: " Linus Walleij
2025-10-26 17:40 ` [PATCH v2 3/4] drm: panel: nt35560: " Linus Walleij
2025-10-26 17:40 ` [PATCH v2 4/4] drm: panel: s6e63m0: " Linus Walleij
2025-10-28 10:32 ` [PATCH v2 0/4] drm: panel: Fix atomic helper-induced regressions Tomi Valkeinen
2025-10-28 14:27 ` Linus Walleij
2025-10-28 15:13 ` Tomi Valkeinen
2025-11-04 14:36 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251026-fix-mcde-drm-regression-v2-0-8d799e488cf9@linaro.org \
--to=linus.walleij@linaro.org \
--cc=a-bhatia1@ti.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jessica.zhang@oss.qualcomm.com \
--cc=lumag@kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=newbyte@postmarketos.org \
--cc=simona@ffwll.ch \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).