drivers/gpu/drm/i915/display/intel_display_irq.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/i915/display/intel_display_irq.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/i915/display/intel_display_irq.h
Extension
.h
Size
3483 bytes
Lines
86
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct intel_display_irq_state {
	u32 master_ctl;
	u32 iir;
	u32 eir;
	u32 hotplug_status;
	u32 dpinvgtt;
	u32 pipe_stats[I915_MAX_PIPES];
};

void intel_display_irq_reset(struct intel_display *display);
void intel_display_irq_postinstall(struct intel_display *display);
void intel_display_irq_ack(struct intel_display *display, struct intel_display_irq_state *state);
bool intel_display_irq_handler(struct intel_display *display, const struct intel_display_irq_state *state);

u32 i9xx_display_irq_enable_mask(struct intel_display *display);

u32 i915_pipestat_enable_mask(struct intel_display *display, enum pipe pipe);
void i915_enable_pipestat(struct intel_display *display, enum pipe pipe, u32 status_mask);
void i915_disable_pipestat(struct intel_display *display, enum pipe pipe, u32 status_mask);

void intel_display_irq_init(struct intel_display *display);

void i915gm_irq_cstate_wa(struct intel_display *display, bool enable);

struct intel_display_irq_snapshot *intel_display_irq_snapshot_capture(struct intel_display *display);
void intel_display_irq_snapshot_print(const struct intel_display_irq_snapshot *snapshot, struct drm_printer *p);

#endif /* __INTEL_DISPLAY_IRQ_H__ */

Annotation

Implementation Notes