[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <98a49d10-72ef-4dcc-a836-d7b5d21a6ca3@intel.com>
Date: Wed, 21 Jan 2026 11:53:45 +0530
From: "Nautiyal, Ankit K" <ankit.k.nautiyal@...el.com>
To: TrainedPro <hassaananwar12345@...il.com>, Maarten Lankhorst
<maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>
CC: David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>,
<dri-devel@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drm/display: Bump LSPCON mode switch timeout to 1000ms
On 1/11/2026 11:33 PM, TrainedPro wrote:
> The Parade PS175 LSPCON chip often requires up to 800ms to settle after a mode change, particularly during resume.
>
> Although the Intel driver (intel_lspcon.c) is aware of this 800ms requirement, it calls the shared helper `drm_lspcon_set_mode()`, which currently hardcodes a 200ms timeout. This specific implementation forces a 200ms limit, effectively overriding the driver's knowledge and causing the mode change to time out prematurely, which results in a black screen (never waking up).
>
> This patch increases the hardcoded timeout in the helper from 200ms to 1000ms. Since the function polls for the status bit, this change does not penalize faster chips but ensures correct operation for slower ones like the PS175.
>
> Signed-off-by: TrainedPro <hassaananwar12345@...il.com>
> ---
> drivers/gpu/drm/display/drm_dp_dual_mode_helper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c b/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
> index 719da3610310f..fda3cb4966adf 100644
> --- a/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
> @@ -495,7 +495,7 @@ int drm_lspcon_set_mode(const struct drm_device *dev, struct i2c_adapter *adapte
> {
> u8 data = 0;
> int ret;
> - int time_out = 200;
> + int time_out = 1000;
The change to increase the timeout was already made more than a year ago
[1].
Could you please try with the latest drm-tip and see if the issue still
persists?
[1]
https://gitlab.freedesktop.org/drm/tip/-/commit/2e0727c347467775a2dfa7d850a3a029f3212e58
Regards,
Ankit
> enum drm_lspcon_mode current_mode;
>
> if (mode == DRM_LSPCON_MODE_PCON)
Powered by blists - more mailing lists