From a7e427ff20418bbbac367ce78a3e786360988432 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jouni=20H=C3=B6gander?= Date: Thu, 4 Dec 2025 12:47:30 +0200 Subject: [PATCH] drm/i915/psr: Clear pr_dpcd as well on disconnect MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Currently we are leaving pr_dpcd containing Panel Replay capability DPCD registers as it is on disconnect. Clear it as well on disconnect. v2: add FIXME Signed-off-by: Jouni Högander Reviewed-by: Imre Deak Link: https://patch.msgid.link/20251204104733.1106145-6-jouni.hogander@intel.com --- drivers/gpu/drm/i915/display/intel_dp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index dcceb0ae2a56..3838835e7e7e 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -6048,7 +6048,15 @@ intel_dp_detect(struct drm_connector *_connector, if (status == connector_status_disconnected) { intel_dp_test_reset(intel_dp); + /* + * FIXME: Resetting these caps here cause + * state computation fail if the connector need to be + * modeset after sink disconnect. Move resetting them + * to where new sink is connected. + */ memset(connector->dp.dsc_dpcd, 0, sizeof(connector->dp.dsc_dpcd)); + memset(connector->dp.panel_replay_caps.dpcd, 0, + sizeof(connector->dp.panel_replay_caps.dpcd)); intel_dp->psr.sink_panel_replay_support = false; intel_dp->psr.sink_panel_replay_su_support = false; intel_dp->psr.sink_panel_replay_dsc_support = -- 2.47.3