Commit 3a745dfc authored by Jouni Högander's avatar Jouni Högander
Browse files

drm/i915/psr: Detect panel replay selective update support



Add new boolean to store panel replay selective update support of sink into
intel_psr struct.  Detect panel replay selective update support and store
it into this new boolean.

v3: Clear sink_panel_replay_su_support in intel_dp_detect
v2: Merge adding new boolean into this patch

Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Reviewed-by: default avatarAnimesh Manna <animesh.manna@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240510093823.3146455-7-jouni.hogander@intel.com
parent 4b526132
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1724,6 +1724,7 @@ struct intel_psr {
	u16 su_y_granularity;
	bool source_panel_replay_support;
	bool sink_panel_replay_support;
	bool sink_panel_replay_su_support;
	bool panel_replay_enabled;
	u32 dc3co_exitline;
	u32 dc3co_exit_delay;
+1 −0
Original line number Diff line number Diff line
@@ -5861,6 +5861,7 @@ intel_dp_detect(struct drm_connector *connector,
		memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
		memset(intel_connector->dp.dsc_dpcd, 0, sizeof(intel_connector->dp.dsc_dpcd));
		intel_dp->psr.sink_panel_replay_support = false;
		intel_dp->psr.sink_panel_replay_su_support = false;

		intel_dp_mst_disconnect(intel_dp);

+8 −2
Original line number Diff line number Diff line
@@ -522,9 +522,15 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)
		return;
	}

	drm_dbg_kms(&i915->drm,
		    "Panel replay is supported by panel\n");
	intel_dp->psr.sink_panel_replay_support = true;

	if (pr_dpcd & DP_PANEL_REPLAY_SU_SUPPORT)
		intel_dp->psr.sink_panel_replay_su_support = true;

	drm_dbg_kms(&i915->drm,
		    "Panel replay %sis supported by panel\n",
		    intel_dp->psr.sink_panel_replay_su_support ?
		    "selective_update " : "");
}

static void _psr_init_dpcd(struct intel_dp *intel_dp)