aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-09-02 20:51:54 +0300
committerJani Nikula <jani.nikula@intel.com>2025-09-08 14:23:46 +0300
commit0b470321e931432157820ab417f54ec4deb50ffa (patch)
tree7e455ee9fc5fc14cc72ee04e9b5b28701258cb85 /drivers/gpu/drm/i915/display
parentdrm/{i915,xe}/panic: convert intel_panic_finish() to struct intel_panic (diff)
downloadlinux-0b470321e931432157820ab417f54ec4deb50ffa.tar.gz
linux-0b470321e931432157820ab417f54ec4deb50ffa.zip
drm/{i915,xe}/panic: pass struct intel_panic to intel_panic_setup()
Reduce the struct intel_framebuffer usage within the panic implementation. Cc: Jocelyn Falempe <jfalempe@redhat.com> Cc: Maarten Lankhorst <dev@lankhorst.se> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Link: https://lore.kernel.org/r/2a016167b1f6f0b432aed0a630f9dbcd07fadb7b.1756835342.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display')
-rw-r--r--drivers/gpu/drm/i915/display/intel_panic.c11
-rw-r--r--drivers/gpu/drm/i915/display/intel_panic.h2
-rw-r--r--drivers/gpu/drm/i915/display/intel_plane.c2
3 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
index c8ac8b5a39f3..7311ce4e8b6c 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.c
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -1,7 +1,11 @@
// SPDX-License-Identifier: MIT
/* Copyright © 2025 Intel Corporation */
+#include <drm/drm_panic.h>
+
#include "gem/i915_gem_object.h"
+#include "intel_display_types.h"
+#include "intel_fb.h"
#include "intel_panic.h"
struct intel_panic *intel_panic_alloc(void)
@@ -9,9 +13,12 @@ struct intel_panic *intel_panic_alloc(void)
return i915_gem_object_alloc_panic();
}
-int intel_panic_setup(struct drm_scanout_buffer *sb)
+int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb)
{
- return i915_gem_object_panic_setup(sb);
+ struct intel_framebuffer *fb = sb->private;
+ struct drm_gem_object *obj = intel_fb_bo(&fb->base);
+
+ return i915_gem_object_panic_setup(panic, sb, obj, fb->panic_tiling);
}
void intel_panic_finish(struct intel_panic *panic)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
index cec193e725a4..afb472e924aa 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.h
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -8,7 +8,7 @@ struct drm_scanout_buffer;
struct intel_panic;
struct intel_panic *intel_panic_alloc(void);
-int intel_panic_setup(struct drm_scanout_buffer *sb);
+int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb);
void intel_panic_finish(struct intel_panic *panic);
#endif /* __INTEL_PANIC_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 6a3f4a7b6dfd..2329f09d413d 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -1409,7 +1409,7 @@ static int intel_get_scanout_buffer(struct drm_plane *plane,
return -EOPNOTSUPP;
}
sb->private = intel_fb;
- ret = intel_panic_setup(sb);
+ ret = intel_panic_setup(intel_fb->panic, sb);
if (ret)
return ret;
}