[PATCH v2 0/8] Add MSIX functionality to XE
Dani Liberman
dliberman at habana.ai
Thu Jun 27 12:40:35 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
Dani Liberman (3):
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
Ilia Levi (5):
drm/xe/irq: add hw engine irq handler
drm/xe: move the kernel lrc from hwe to execlist port
drm/xe: move memirq out of vf
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 | 12 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 41 +++-
drivers/gpu/drm/xe/xe_exec_queue_types.h | 2 +
drivers/gpu/drm/xe/xe_execlist.c | 20 +-
drivers/gpu/drm/xe/xe_execlist_types.h | 3 +
drivers/gpu/drm/xe/xe_guc.c | 2 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 22 +-
drivers/gpu/drm/xe/xe_hw_engine_types.h | 2 -
drivers/gpu/drm/xe/xe_irq.c | 288 +++++++++++++++++++----
drivers/gpu/drm/xe/xe_irq.h | 7 +
drivers/gpu/drm/xe/xe_lrc.c | 24 +-
drivers/gpu/drm/xe/xe_lrc.h | 2 +-
drivers/gpu/drm/xe/xe_memirq.c | 46 ++--
17 files changed, 389 insertions(+), 108 deletions(-)
--
2.34.1
More information about the Intel-xe
mailing list