[Intel-xe] [PATCH v2 0/8] Meteorlake interrupt & TLB handling updates
Lucas De Marchi
lucas.demarchi at intel.com
Wed Apr 12 23:01:10 UTC 2023
On Wed, Apr 12, 2023 at 03:52:40PM -0700, Matt Roper wrote:
>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.
it would be good to type in a kernel-doc somewhere the proper
distinction of gt and tile and describe the status quo: from xe
perspective everything is a "gt" and this is also exposed to userspace
in e.g. the debugfs structure. Because it *is* very confusing, and it's
not only on the xe driver; in the spec as well. One week I know, the
other I forgot already.
Lucas De Marchi
>
>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
>
More information about the Intel-xe
mailing list