drivers/gpu/drm/xe/xe_pm.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/xe/xe_pm.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/xe/xe_pm.h
Extension
.h
Size
2144 bytes
Lines
59
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: exported/initcall integration point
Status
integration 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

static inline void __xe_pm_runtime_noop(struct xe_device *xe) {}

DEFINE_GUARD(xe_pm_runtime, struct xe_device *,
	     xe_pm_runtime_get(_T), xe_pm_runtime_put(_T))
DEFINE_GUARD(xe_pm_runtime_noresume, struct xe_device *,
	     xe_pm_runtime_get_noresume(_T), xe_pm_runtime_put(_T))
DEFINE_GUARD_COND(xe_pm_runtime, _ioctl, xe_pm_runtime_get_ioctl(_T), _RET >= 0)

/*
 * Used when a function needs to release runtime PM in all possible cases
 * and error paths, but the wakeref was already acquired by a different
 * function (i.e., get() has already happened so only a put() is needed).
 */
DEFINE_GUARD(xe_pm_runtime_release_only, struct xe_device *,
	     __xe_pm_runtime_noop(_T), xe_pm_runtime_put(_T));

#endif

Annotation

Implementation Notes