i915_panic.c 915 B

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