1 // SPDX-License-Identifier: MIT 2 /* Copyright © 2025 Intel Corporation */ 3 4 #include <drm/drm_panic.h> 5 #include <drm/intel/display_parent_interface.h> 6 7 #include "display/intel_display_types.h" 8 #include "display/intel_fb.h" 9 #include "gem/i915_gem_object.h" 10 11 #include "i915_panic.h" 12 13 static struct intel_panic *intel_panic_alloc(void) 14 { 15 return i915_gem_object_alloc_panic(); 16 } 17 18 static int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb) 19 { 20 struct intel_framebuffer *fb = sb->private; 21 struct drm_gem_object *obj = intel_fb_bo(&fb->base); 22 23 return i915_gem_object_panic_setup(panic, sb, obj, fb->panic_tiling); 24 } 25 26 static void intel_panic_finish(struct intel_panic *panic) 27 { 28 return i915_gem_object_panic_finish(panic); 29 } 30 31 const struct intel_display_panic_interface i915_display_panic_interface = { 32 .alloc = intel_panic_alloc, 33 .setup = intel_panic_setup, 34 .finish = intel_panic_finish, 35 }; 36