]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/psr: Use hw.crtc instead of uapi.crtc
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 19 Nov 2025 18:16:02 +0000 (20:16 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 27 Nov 2025 22:03:53 +0000 (00:03 +0200)
uapi.crtc is not set for joiner secondary pipes, so generally
should not be used anywhere after the initial state copy. Switch
to hw.crtc which actually indicates that the plane is enabled.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251119181606.17129-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_psr.c

index 08bca45739749e6377d4b13398e49a68b47b4cea..8324faf73d006b9e1b288588d41d5106386d5e63 100644 (file)
@@ -2701,7 +2701,7 @@ intel_psr2_sel_fetch_et_alignment(struct intel_atomic_state *state,
        for_each_new_intel_plane_in_state(state, plane, new_plane_state, i) {
                struct drm_rect inter;
 
-               if (new_plane_state->uapi.crtc != crtc_state->uapi.crtc)
+               if (new_plane_state->hw.crtc != crtc_state->uapi.crtc)
                        continue;
 
                if (plane->id != PLANE_CURSOR)
@@ -2838,7 +2838,7 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
                struct drm_rect src, damaged_area = { .x1 = 0, .y1 = -1,
                                                      .x2 = INT_MAX };
 
-               if (new_plane_state->uapi.crtc != crtc_state->uapi.crtc)
+               if (new_plane_state->hw.crtc != crtc_state->uapi.crtc)
                        continue;
 
                if (!new_plane_state->uapi.visible &&
@@ -2937,7 +2937,7 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
                struct drm_rect *sel_fetch_area, inter;
                struct intel_plane *linked = new_plane_state->planar_linked_plane;
 
-               if (new_plane_state->uapi.crtc != crtc_state->uapi.crtc ||
+               if (new_plane_state->hw.crtc != crtc_state->uapi.crtc ||
                    !new_plane_state->uapi.visible)
                        continue;