Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Future-proof for multi-tile + multi-GT cases
@ 2025-06-17  2:09 Matt Roper
  2025-06-17  2:09 ` [PATCH v2 1/5] drm/xe: Export xe_step_name for kunit tests Matt Roper
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Matt Roper @ 2025-06-17  2:09 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper

Today all of our platforms fall into one of three cases:
 * Single tile platforms with a single (primary) GT
 * Single tile platforms with two GTs (primary + media)
 * Two-tile platforms with a single GT (primary) in each

Our numbering of GTs has been a bit inconsistent between platforms
(e.g., GT1 is the media GT on some platforms, but the second tile's
primary GT on others).  In the future we'll likely have platforms that
are both multi-tile and multi-GT, which will make the situation more
confusing.  We could also wind up with more than just two types of GTs
at some point in the future.

Going forward we should standardize the way we assign uapi GT IDs to
internal GT structures.  Let's declare that for userspace GT ID n,

  GT[n]'s tile             = n / (max gt per tile)
  GT[n]'s slot within tile = n % (max gt per tile)

If we allow 'max gt per tile' to vary by platform, we can support any
possible future tile/GT combinations (even if new types of GTs show up)
without changing any behavior of our existing platforms.

v2:
 - Rebase on top of the latest xe_pci test updates from Michal.  Convert
   the kunit test into a parameterized test that will run against each
   PCI ID supported by the driver.

Matt Roper (5):
  drm/xe: Export xe_step_name for kunit tests
  drm/xe: Track maximum GTs per tile on a per-platform basis
  drm/xe/tests/pci: Ensure all platforms have a valid GT/tile count
  drm/xe: Assign GT IDs properly on multi-tile + multi-GT platforms
  drm/xe: Don't compare GT ID to GT count when determining valid GTs

 drivers/gpu/drm/xe/tests/xe_pci.c      | 31 ++++++++++++
 drivers/gpu/drm/xe/tests/xe_pci_test.c | 12 +++++
 drivers/gpu/drm/xe/tests/xe_pci_test.h |  1 +
 drivers/gpu/drm/xe/xe_device.h         | 47 ++++++++----------
 drivers/gpu/drm/xe/xe_device_types.h   |  2 +
 drivers/gpu/drm/xe/xe_eu_stall.c       |  6 ++-
 drivers/gpu/drm/xe/xe_exec_queue.c     |  2 +-
 drivers/gpu/drm/xe/xe_hw_engine.c      |  3 +-
 drivers/gpu/drm/xe/xe_mmio.c           |  8 ---
 drivers/gpu/drm/xe/xe_pci.c            | 68 ++++++++------------------
 drivers/gpu/drm/xe/xe_pci_types.h      | 40 +++++++++++++++
 drivers/gpu/drm/xe/xe_pmu.c            |  4 +-
 drivers/gpu/drm/xe/xe_query.c          |  2 +-
 drivers/gpu/drm/xe/xe_step.c           |  2 +
 14 files changed, 140 insertions(+), 88 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-06-30 16:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17  2:09 [PATCH v2 0/5] Future-proof for multi-tile + multi-GT cases Matt Roper
2025-06-17  2:09 ` [PATCH v2 1/5] drm/xe: Export xe_step_name for kunit tests Matt Roper
2025-06-17  2:09 ` [PATCH v2 2/5] drm/xe: Track maximum GTs per tile on a per-platform basis Matt Roper
2025-06-17  2:09 ` [PATCH v2 3/5] drm/xe/tests/pci: Ensure all platforms have a valid GT/tile count Matt Roper
2025-06-25 11:31   ` Vodapalli, Ravi Kumar
2025-06-17  2:09 ` [PATCH v2 4/5] drm/xe: Assign GT IDs properly on multi-tile + multi-GT platforms Matt Roper
2025-06-25 11:41   ` Vodapalli, Ravi Kumar
2025-06-30 16:48     ` Matt Roper
2025-06-17  2:09 ` [PATCH v2 5/5] drm/xe: Don't compare GT ID to GT count when determining valid GTs Matt Roper
2025-06-17  2:16 ` ✗ CI.checkpatch: warning for Future-proof for multi-tile + multi-GT cases (rev2) Patchwork
2025-06-17  2:17 ` ✓ CI.KUnit: success " Patchwork
2025-06-17  2:57 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-06-17 12:44 ` ✗ Xe.CI.Full: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox