All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH v2 0/8] Meteorlake interrupt & TLB handling updates
@ 2023-04-12 22:52 Matt Roper
  2023-04-12 22:52 ` [Intel-xe] [PATCH v2 1/8] drm/xe/irq: Cleanup media GT interrupt flow Matt Roper
                   ` (13 more replies)
  0 siblings, 14 replies; 29+ messages in thread
From: Matt Roper @ 2023-04-12 22:52 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.d.roper

Although Meteor Lake has multiple GTs, we need to be careful not to use
multi-tile flows when processing interrupts.  The platform as a whole
only has a single copy of the SGunit interrupt registers, and interrupts
relating to the media GT are delivered as part of the primary GT's IRQ
reporting flow.  Only when an engine (or GuC) interrupt is raised do we
need to determine which GT it relates to for further processing.

The whole multi-GT vs multi-tile situation is made more confusing by the
Xe driver's misuse of 'gt' as the target of all register operations.
That's probably something we should refactor in the future so that
xe_mmio_*() will take something more appropriate than an xe_gt
parameter.

With the fixes in this series, interrupts are now properly flowing on
both the primary and media GT for MTL.  We're still seeing some TLB
invalidation timeouts, but those no longer seem to be caused by problems
with interrupt handling.


Matt Roper (8):
  drm/xe/irq: Cleanup media GT interrupt flow
  drm/xe/irq: Improve warnings and assertions for GT handling
  drm/xe/irq: Process Gunit interrupts in relation to the device
  drm/xe: Fix xe_mmio_rmw32 operation
  drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt
    mask
  drm/xe: Include GT ID in error message if TLB invalidation times out
  drm/xe: Invalidate TLB on all affected GTs during GGTT updates
  drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations

 drivers/gpu/drm/xe/xe_ggtt.c                |  24 +++-
 drivers/gpu/drm/xe/xe_ggtt_types.h          |   2 +-
 drivers/gpu/drm/xe/xe_gt.c                  |   4 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c |   4 +-
 drivers/gpu/drm/xe/xe_gt_types.h            |   2 +
 drivers/gpu/drm/xe/xe_guc.c                 |  11 +-
 drivers/gpu/drm/xe/xe_irq.c                 | 115 +++++++++++++++-----
 drivers/gpu/drm/xe/xe_mmio.h                |   2 +-
 8 files changed, 125 insertions(+), 39 deletions(-)

-- 
2.39.2


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

end of thread, other threads:[~2023-05-09 11:37 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-12 22:52 [Intel-xe] [PATCH v2 0/8] Meteorlake interrupt & TLB handling updates Matt Roper
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 1/8] drm/xe/irq: Cleanup media GT interrupt flow Matt Roper
2023-04-14 19:04   ` Lucas De Marchi
2023-04-17 17:33     ` Matt Roper
2023-04-17 21:41   ` Andi Shyti
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 2/8] drm/xe/irq: Improve warnings and assertions for GT handling Matt Roper
2023-04-14 19:52   ` Lucas De Marchi
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 3/8] drm/xe/irq: Process Gunit interrupts in relation to the device Matt Roper
2023-04-14 19:59   ` Lucas De Marchi
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 4/8] drm/xe: Fix xe_mmio_rmw32 operation Matt Roper
2023-04-13 10:49   ` Maarten Lankhorst
2023-04-13 12:38     ` Jani Nikula
2023-04-14  1:01     ` Lucas De Marchi
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 5/8] drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask Matt Roper
2023-04-14 20:50   ` Lucas De Marchi
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 6/8] drm/xe: Include GT ID in error message if TLB invalidation times out Matt Roper
2023-04-14 20:50   ` Lucas De Marchi
2023-05-09 11:37   ` Das, Nirmoy
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 7/8] drm/xe: Invalidate TLB on all affected GTs during GGTT updates Matt Roper
2023-04-14 21:09   ` Lucas De Marchi
2023-04-14 21:22     ` Lucas De Marchi
2023-04-12 22:52 ` [Intel-xe] [PATCH v2 8/8] drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations Matt Roper
2023-04-14 21:33   ` Lucas De Marchi
2023-04-12 22:59 ` [Intel-xe] [PATCH v2 0/8] Meteorlake interrupt & TLB handling updates Matt Roper
2023-04-12 23:01 ` Lucas De Marchi
2023-04-13  9:47 ` [Intel-xe] ✓ CI.Patch_applied: success for " Patchwork
2023-04-13  9:48 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
2023-04-13  9:52 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-04-13 10:12 ` [Intel-xe] ○ CI.BAT: info " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.