]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/panic: Get the crtc from the correct place
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 19 Nov 2025 18:16:05 +0000 (20:16 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 27 Nov 2025 22:04:23 +0000 (00:04 +0200)
Use hw.crtc as opposed to uapi.crtc in the panic code. I suspect
this stuff doesn't handle joiner correctly in other ways either
but can't be bothered to dig deeper.

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

index 870e6b896be6a0c4a539436cb7525f5c30329323..6a3d4ddc52a193b0f9f9e9b4a1c16b11f6fc497e 100644 (file)
@@ -1277,7 +1277,8 @@ static unsigned int intel_4tile_get_offset(unsigned int width, unsigned int x, u
 static void intel_panic_flush(struct drm_plane *plane)
 {
        struct intel_plane_state *plane_state = to_intel_plane_state(plane->state);
-       struct intel_crtc_state *crtc_state = to_intel_crtc_state(plane->state->crtc->state);
+       struct intel_crtc *crtc = to_intel_crtc(plane_state->hw.crtc);
+       struct intel_crtc_state *crtc_state = to_intel_crtc_state(crtc->base.state);
        struct intel_plane *iplane = to_intel_plane(plane);
        struct intel_display *display = to_intel_display(iplane);
        struct drm_framebuffer *fb = plane_state->hw.fb;