Currently intel_psr_fast_set_force is forcing fastset only for eDP connectors. Panel Replay is supported on DP as well and writing i915_edp_psr_debug is setting debug parameters for each DP transcoder (struct intel_dp:psr:debug). Force fastset for each connector supporting PSR or Panel Replay. While modifying the code also switch to for_each_intel_connector_iter.
v2: - use for_each_intel_connector_iter - update and improve commit message Signed-off-by: Jouni Högander <[email protected]> --- drivers/gpu/drm/i915/display/intel_psr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 911afb9cb24e3..622edfb6a7fb2 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -3375,7 +3375,7 @@ static int intel_psr_fastset_force(struct intel_display *display) struct drm_connector_list_iter conn_iter; struct drm_modeset_acquire_ctx ctx; struct drm_atomic_commit *state; - struct drm_connector *conn; + struct intel_connector *connector; int err = 0; state = drm_atomic_commit_alloc(display->drm); @@ -3389,14 +3389,15 @@ static int intel_psr_fastset_force(struct intel_display *display) retry: drm_connector_list_iter_begin(display->drm, &conn_iter); - drm_for_each_connector_iter(conn, &conn_iter) { + for_each_intel_connector_iter(connector, &conn_iter) { struct drm_connector_state *conn_state; struct drm_crtc_state *crtc_state; - if (conn->connector_type != DRM_MODE_CONNECTOR_eDP) + if (!connector->dp.psr_caps.support && + !connector->dp.panel_replay_caps.support) continue; - conn_state = drm_atomic_get_connector_state(state, conn); + conn_state = drm_atomic_get_connector_state(state, &connector->base); if (IS_ERR(conn_state)) { err = PTR_ERR(conn_state); break; -- 2.43.0
