summaryrefslogtreecommitdiff
path: root/include/drm
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-12-11 19:37:12 +0200
committerJani Nikula <jani.nikula@intel.com>2025-12-12 15:17:58 +0200
commit63c7f93b6033800e9bc4eca02949dc9d12553138 (patch)
treec2d987244f0075ffb4cd610f30fb26c7c559aa19 /include/drm
parentd6b80e904bb00a188d9a59be6bf7e19b89e3954f (diff)
drm/{i915, xe}/panic: move panic handling to parent interface
Move the panic handling to the display parent interface, making display more independent of i915 and xe driver implementations. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/e27eca5424479e8936b786018d0af19a34f839f6.1765474612.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/intel/display_parent_interface.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 9733c508ad4c..477ee9e735f9 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -8,7 +8,9 @@
struct dma_fence;
struct drm_device;
+struct drm_scanout_buffer;
struct intel_hdcp_gsc_context;
+struct intel_panic;
struct intel_stolen_node;
struct ref_tracker;
@@ -42,6 +44,12 @@ struct intel_display_irq_interface {
void (*synchronize)(struct drm_device *drm);
};
+struct intel_display_panic_interface {
+ struct intel_panic *(*alloc)(void);
+ int (*setup)(struct intel_panic *panic, struct drm_scanout_buffer *sb);
+ void (*finish)(struct intel_panic *panic);
+};
+
struct intel_display_rps_interface {
void (*boost_if_not_started)(struct dma_fence *fence);
void (*mark_interactive)(struct drm_device *drm, bool interactive);
@@ -86,6 +94,9 @@ struct intel_display_parent_interface {
/** @irq: IRQ interface */
const struct intel_display_irq_interface *irq;
+ /** @panic: Panic interface */
+ const struct intel_display_panic_interface *panic;
+
/** @rpm: RPS interface. Optional. */
const struct intel_display_rps_interface *rps;