[PATCH v3 00/11] Add MSIX functionality to XE
Ilia Levi
ilia.levi at intel.com
Wed Jul 17 07:32:12 UTC 2024
This patch set enables MSIX workflow. The main changes are:
1. The code supports both msi and msix, some refactoring had
to be done.
2. Since multiple interrupts are now available there is no need for
interrupt aggregation in HW, hence there are new interrupt
handlers.
3. MSIX interrupts are system resources so an interrupt allocator was
implemented.
4. Adding MSIX infra to exec queues.
5. MSIX in GT also uses memirq, some refactoring had to be done to
enable it.
v2:
- Rebase
- Fix build and checkpatch errors
- Fix commit messages
v3:
- Rebase
- Code review comments (Niranjana)
- Proper memirq usage to distinguish interrupt source and status
- Default MSI-X vector when unique MSI-X is not required
Dani Liberman (4):
drm/xe/irq: refactor irq flows to support also msix
drm/xe/irq: add msix allocator
drm/xe/exec: adding msix infra to exec queue
drm/xe/irq: add default msix
Ilia Levi (7):
drm/xe: add irq offset of engine instance 0 to hw engine properties
drm/xe: move memirq out of vf
drm/xe: memirq infra changes for msix
drm/xe/irq: add hw engine irq handler
drm/xe: move the kernel lrc from hwe to execlist port
drm/xe: msix support preparations - enable memirq
drm/xe: msix support for hw engines
drivers/gpu/drm/xe/regs/xe_engine_regs.h | 3 +
drivers/gpu/drm/xe/regs/xe_lrc_layout.h | 3 +
drivers/gpu/drm/xe/xe_device.c | 8 +-
drivers/gpu/drm/xe/xe_device.h | 12 +
drivers/gpu/drm/xe/xe_device_types.h | 22 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 46 +++-
drivers/gpu/drm/xe/xe_exec_queue_types.h | 2 +
drivers/gpu/drm/xe/xe_execlist.c | 18 +-
drivers/gpu/drm/xe/xe_execlist_types.h | 2 +
drivers/gpu/drm/xe/xe_guc.c | 2 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 50 ++--
drivers/gpu/drm/xe/xe_hw_engine_types.h | 4 +-
drivers/gpu/drm/xe/xe_irq.c | 324 ++++++++++++++++++++---
drivers/gpu/drm/xe/xe_irq.h | 7 +
drivers/gpu/drm/xe/xe_lrc.c | 32 ++-
drivers/gpu/drm/xe/xe_lrc.h | 2 +-
drivers/gpu/drm/xe/xe_memirq.c | 123 +++++----
drivers/gpu/drm/xe/xe_memirq.h | 8 +-
drivers/gpu/drm/xe/xe_memirq_types.h | 6 +-
19 files changed, 541 insertions(+), 133 deletions(-)
--
2.43.2
More information about the Intel-xe
mailing list