summaryrefslogtreecommitdiff
path: root/include/drm/intel
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-11-17 11:16:10 +0200
committerJani Nikula <jani.nikula@intel.com>2025-11-19 19:33:43 +0200
commit3815e8f2ffe44396d10b100fbd38f511dfefbbc7 (patch)
tree410dec536aee440a63941786197ac225f4da9fc6 /include/drm/intel
parenta651be53c42ae1cd44d51a7e7913edbbee976c99 (diff)
drm/{i915,xe}/display: move irq calls to parent interface
Add an irq parent driver interface for the .enabled and .synchronize calls. This lets us drop the dependency on i915_drv.h and i915_irq.h in multiple places, and subsequently remove the compat i915_irq.h and i915_irq.c files along with the display/ext directory from xe altogether. Introduce new intel_parent.[ch] as the wrapper layer to chase the function pointers and convert between generic and more specific display types. v2: Keep static wrappers in intel_display_irq.c (Ville) v3: Full blown wrappers in intel_parent.[ch] (Ville) Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/dd62dd52ef10d9ecf77da3bdf6a70f71193d141c.1763370931.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'include/drm/intel')
-rw-r--r--include/drm/intel/display_parent_interface.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 26bedc360044..3a008a18eb65 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -25,6 +25,11 @@ struct intel_display_rpm_interface {
void (*assert_unblock)(const struct drm_device *drm);
};
+struct intel_display_irq_interface {
+ bool (*enabled)(struct drm_device *drm);
+ void (*synchronize)(struct drm_device *drm);
+};
+
/**
* struct intel_display_parent_interface - services parent driver provides to display
*
@@ -40,6 +45,9 @@ struct intel_display_rpm_interface {
struct intel_display_parent_interface {
/** @rpm: Runtime PM functions */
const struct intel_display_rpm_interface *rpm;
+
+ /** @irq: IRQ interface */
+ const struct intel_display_irq_interface *irq;
};
#endif