mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH AUTOSEL 6.6 01/23] drm: allow encoder mode_set even when connectors change for crtc
@ 2025-04-03 19:17 Sasha Levin
  2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 02/23] drm/amd/display: Update Cursor request mode to the beginning prefetch always Sasha Levin
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: Sasha Levin @ 2025-04-03 19:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Abhinav Kumar, Jessica Zhang, Maxime Ripard, Dmitry Baryshkov,
	Sasha Levin, maarten.lankhorst, tzimmermann, airlied, simona,
	dri-devel

From: Abhinav Kumar <quic_abhinavk@quicinc.com>

[ Upstream commit 7e182cb4f5567f53417b762ec0d679f0b6f0039d ]

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@quicinc.com>
Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20241211-abhinavk-modeset-fix-v3-1-0de4bf3e7c32@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 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 554d4468aa7c0..f3681970887cc 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1373,7 +1373,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.39.5


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-04-03 19:19 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-03 19:17 [PATCH AUTOSEL 6.6 01/23] drm: allow encoder mode_set even when connectors change for crtc Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 02/23] drm/amd/display: Update Cursor request mode to the beginning prefetch always Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 03/23] drm/amd/display: add workaround flag to link to force FFE preset Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 04/23] drm: panel-orientation-quirks: Add support for AYANEO 2S Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 05/23] drm: panel-orientation-quirks: Add quirks for AYA NEO Flip DS and KB Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 06/23] drm: panel-orientation-quirks: Add quirk for AYA NEO Slide Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 07/23] drm: panel-orientation-quirks: Add new quirk for GPD Win 2 Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 08/23] drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel) Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 09/23] drm/bridge: panel: forbid initializing a panel with unknown connector type Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 10/23] drivers: base: devres: Allow to release group on device release Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 11/23] drm/amdkfd: clamp queue size to minimum Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 12/23] drm/amdkfd: Fix mode1 reset crash issue Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 13/23] drm/amdkfd: Fix pqm_destroy_queue race with GPU reset Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 14/23] drm/amdkfd: debugfs hang_hws skip GPU with MES Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 15/23] drm/mediatek: mtk_dpi: Move the input_2p_en bit to platform data Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 16/23] drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 17/23] drm/amdgpu: handle amdgpu_cgs_create_device() errors in amd_powerplay_create() Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 18/23] PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 19/23] drm/amdgpu: grab an additional reference on the gang fence v2 Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 20/23] fbdev: omapfb: Add 'plane' value check Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 21/23] tracing: probe-events: Add comments about entry data storing code Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 22/23] ktest: Fix Test Failures Due to Missing LOG_FILE Directories Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 23/23] tpm, tpm_tis: Workaround failed command reception on Infineon devices Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®