[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240905221124.2587271-1-quic_abhinavk@quicinc.com>
Date: Thu, 5 Sep 2024 15:11:24 -0700
From: Abhinav Kumar <quic_abhinavk@...cinc.com>
To: <dri-devel@...ts.freedesktop.org>,
Maarten Lankhorst
<maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>
CC: Abhinav Kumar <quic_abhinavk@...cinc.com>, <linux-arm-msm@...r.kernel.org>,
<freedreno@...ts.freedesktop.org>, <robdclark@...il.com>,
<dmitry.baryshkov@...aro.org>, <quic_jesszhan@...cinc.com>,
<linux-kernel@...r.kernel.org>
Subject: [RFC PATCH] drm: allow encoder mode_set even when connectors change for crtc
In certain use-cases, a CRTC could switch between two encoders
and because the mode being programmed on the CRTC remains
the same during this switch, the CRTC's mode_changed remains false.
In such cases, the encoder's mode_set also gets skipped.
Skipping mode_set on the encoder for such cases could cause an issue
because even though the same CRTC mode was being used, the encoder
type could have changed like the CRTC could have switched from a
real time encoder to a writeback encoder OR vice-versa.
Allow encoder's mode_set to happen even when connectors changed on a
CRTC and not just when the mode changed.
Signed-off-by: Abhinav Kumar <quic_abhinavk@...cinc.com>
---
drivers/gpu/drm/drm_atomic_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index fb97b51b38f1..8dc50dd2481d 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1376,7 +1376,7 @@ crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
mode = &new_crtc_state->mode;
adjusted_mode = &new_crtc_state->adjusted_mode;
- if (!new_crtc_state->mode_changed)
+ if (!new_crtc_state->mode_changed && !new_crtc_state->connectors_changed)
continue;
drm_dbg_atomic(dev, "modeset on [ENCODER:%d:%s]\n",
--
2.44.0
Powered by blists - more mailing lists