From: Ilia Levi <ilia.levi@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: ilia.levi@intel.com, dliberman@habana.ai,
niranjana.vishwanathapura@intel.com, michal.wajdeczko@intel.com
Subject: [PATCH v4 00/11] Add MSIX functionality to XE
Date: Thu, 25 Jul 2024 13:22:02 +0300 [thread overview]
Message-ID: <20240725102213.2182896-1-ilia.levi@intel.com> (raw)
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
v4:
- Rebase
- Minor fix in msix allocator
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
next reply other threads:[~2024-07-25 10:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 10:22 Ilia Levi [this message]
2024-07-25 10:22 ` [PATCH v4 01/11] drm/xe/irq: refactor irq flows to support also msix Ilia Levi
2024-07-25 10:22 ` [PATCH v4 02/11] drm/xe/irq: add msix allocator Ilia Levi
2024-07-25 10:22 ` [PATCH v4 03/11] drm/xe: add irq offset of engine instance 0 to hw engine properties Ilia Levi
2024-07-25 10:22 ` [PATCH v4 04/11] drm/xe: move memirq out of vf Ilia Levi
2024-07-25 10:22 ` [PATCH v4 05/11] drm/xe: memirq infra changes for msix Ilia Levi
2024-07-25 10:22 ` [PATCH v4 06/11] drm/xe/irq: add hw engine irq handler Ilia Levi
2024-07-25 10:22 ` [PATCH v4 07/11] drm/xe: move the kernel lrc from hwe to execlist port Ilia Levi
2024-07-25 10:22 ` [PATCH v4 08/11] drm/xe: msix support preparations - enable memirq Ilia Levi
2024-07-25 10:22 ` [PATCH v4 09/11] drm/xe/exec: adding msix infra to exec queue Ilia Levi
2024-07-25 10:22 ` [PATCH v4 10/11] drm/xe/irq: add default msix Ilia Levi
2024-07-25 10:22 ` [PATCH v4 11/11] drm/xe: msix support for hw engines Ilia Levi
2024-07-25 10:29 ` ✓ CI.Patch_applied: success for Add MSIX functionality to XE (rev6) Patchwork
2024-07-25 10:29 ` ✓ CI.checkpatch: " Patchwork
2024-07-25 10:30 ` ✓ CI.KUnit: " Patchwork
2024-07-25 10:50 ` ✓ CI.Build: " Patchwork
2024-07-25 10:52 ` ✓ CI.Hooks: " Patchwork
2024-07-25 10:53 ` ✓ CI.checksparse: " Patchwork
2024-07-25 11:39 ` ✗ CI.BAT: failure " Patchwork
2024-07-25 13:35 ` ✗ CI.FULL: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240725102213.2182896-1-ilia.levi@intel.com \
--to=ilia.levi@intel.com \
--cc=dliberman@habana.ai \
--cc=intel-xe@lists.freedesktop.org \
--cc=michal.wajdeczko@intel.com \
--cc=niranjana.vishwanathapura@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox