mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
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>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user