From: Raag Jadav <raag.jadav@intel.com>
To: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: intel-xe@lists.freedesktop.org, matthew.brost@intel.com,
rodrigo.vivi@intel.com, thomas.hellstrom@linux.intel.com,
riana.tauro@intel.com, michal.wajdeczko@intel.com,
matthew.d.roper@intel.com, michal.winiarski@intel.com,
matthew.auld@intel.com, maarten@lankhorst.se,
jani.nikula@intel.com, lukasz.laguna@intel.com,
zhanjun.dong@intel.com, lukas@wunner.de
Subject: Re: [PATCH v5 0/9] Introduce Xe PCIe FLR
Date: Thu, 16 Apr 2026 08:19:47 +0200 [thread overview]
Message-ID: <aeB_g9mtwo6Y9sR5@black.igk.intel.com> (raw)
In-Reply-To: <adcfe2bd-56af-4368-96ce-32fb9a5c6642@intel.com>
On Wed, Apr 15, 2026 at 08:47:50AM -0700, Daniele Ceraolo Spurio wrote:
> On 4/6/2026 7:07 AM, Raag Jadav wrote:
> > Here's my humble attempt at introducing PCIe Function Level Reset (FLR)
> > support in xe driver. This is ofcourse a half baked implementation and
> > only limited to re-initializing GT. This needs to be extended for a lot
> > of different components which I've skipped here for my lack of competence,
> > so feel free to join in and support them.
>
> I'm jumping in to review a bit late, sorry for that.
Thank you.
> I think we need a comment (both here and in code) to detail exactly what we
> expect to happen around the FLR (or let me know if it's already somewhere
> because I couldn't spot it). Which objects are expected to survive, which
> ones do we need to recover or discard (and why)?
> I'll sprinkle a few question in the relevant patches.
Yeah, there's not much of internal documentation from software POV either.
I'm just making this up as I go along.
Raag
> > PS: All xe_exec_basic tests and clpeak run smoothly after FLR. Give it
> > a spin and let me know if any regressions.
> >
> > Trigger it with:
> >
> > $ echo 1 > /sys/bus/pci/devices/<BDF>/reset
> >
> > v2: Re-initialize migrate context (Matthew Brost)
> > Add kernel doc (Matthew Brost)
> > Spell out Function Level Reset (Jani)
> >
> > v3: Cancel in-flight jobs before FLR
> >
> > v4: Teardown exec queues instead of mangling scheduler pending list (Matthew Brost)
> >
> > v5: Re-initialize kernel queues through submission backend (Matthew Brost)
> > Prevent PM ref leak for wedged device (Matthew Brost)
> >
> > Raag Jadav (9):
> > drm/xe/uc_fw: Allow re-initializing firmware
> > drm/xe/guc_submit: Introduce guc_exec_queue_reinit()
> > drm/xe/gt: Introduce FLR helpers
> > drm/xe/irq: Introduce xe_irq_disable()
> > drm/xe: Introduce xe_device_assert_lmem_ready()
> > drm/xe/bo_evict: Introduce xe_bo_restore_map()
> > drm/xe/exec_queue: Introduce xe_exec_queue_reinit()
> > drm/xe/migrate: Introduce xe_migrate_reinit()
> > drm/xe/pci: Introduce PCIe FLR
> >
> > drivers/gpu/drm/xe/Makefile | 1 +
> > drivers/gpu/drm/xe/xe_bo_evict.c | 51 ++++++--
> > drivers/gpu/drm/xe/xe_bo_evict.h | 2 +
> > drivers/gpu/drm/xe/xe_device.c | 10 +-
> > drivers/gpu/drm/xe/xe_device.h | 1 +
> > drivers/gpu/drm/xe/xe_device_types.h | 3 +
> > drivers/gpu/drm/xe/xe_exec_queue.c | 37 +++++-
> > drivers/gpu/drm/xe/xe_exec_queue.h | 1 +
> > drivers/gpu/drm/xe/xe_exec_queue_types.h | 2 +
> > drivers/gpu/drm/xe/xe_gpu_scheduler.h | 5 +
> > drivers/gpu/drm/xe/xe_gsc.c | 14 ++
> > drivers/gpu/drm/xe/xe_gsc.h | 1 +
> > drivers/gpu/drm/xe/xe_gt.c | 47 +++++++
> > drivers/gpu/drm/xe/xe_gt.h | 2 +
> > drivers/gpu/drm/xe/xe_gt_types.h | 9 ++
> > drivers/gpu/drm/xe/xe_guc.c | 29 ++++
> > drivers/gpu/drm/xe/xe_guc.h | 2 +
> > drivers/gpu/drm/xe/xe_guc_submit.c | 11 ++
> > drivers/gpu/drm/xe/xe_huc.c | 14 ++
> > drivers/gpu/drm/xe/xe_huc.h | 1 +
> > drivers/gpu/drm/xe/xe_irq.c | 13 +-
> > drivers/gpu/drm/xe/xe_irq.h | 1 +
> > drivers/gpu/drm/xe/xe_lrc.c | 17 +++
> > drivers/gpu/drm/xe/xe_lrc.h | 2 +
> > drivers/gpu/drm/xe/xe_migrate.c | 12 ++
> > drivers/gpu/drm/xe/xe_migrate.h | 1 +
> > drivers/gpu/drm/xe/xe_pci.c | 1 +
> > drivers/gpu/drm/xe/xe_pci.h | 2 +
> > drivers/gpu/drm/xe/xe_pci_err.c | 160 +++++++++++++++++++++++
> > drivers/gpu/drm/xe/xe_uc.c | 37 ++++++
> > drivers/gpu/drm/xe/xe_uc.h | 2 +
> > drivers/gpu/drm/xe/xe_uc_fw.c | 39 +++++-
> > drivers/gpu/drm/xe/xe_uc_fw.h | 1 +
> > 33 files changed, 510 insertions(+), 21 deletions(-)
> > create mode 100644 drivers/gpu/drm/xe/xe_pci_err.c
> >
>
next prev parent reply other threads:[~2026-04-16 6:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-06 14:07 [PATCH v5 0/9] Introduce Xe PCIe FLR Raag Jadav
2026-04-06 14:07 ` [PATCH v5 1/9] drm/xe/uc_fw: Allow re-initializing firmware Raag Jadav
2026-04-15 16:06 ` Daniele Ceraolo Spurio
2026-04-20 11:20 ` Raag Jadav
2026-04-06 14:07 ` [PATCH v5 2/9] drm/xe/guc_submit: Introduce guc_exec_queue_reinit() Raag Jadav
2026-04-06 14:07 ` [PATCH v5 3/9] drm/xe/gt: Introduce FLR helpers Raag Jadav
2026-04-15 16:25 ` Daniele Ceraolo Spurio
2026-04-06 14:07 ` [PATCH v5 4/9] drm/xe/irq: Introduce xe_irq_disable() Raag Jadav
2026-04-06 14:07 ` [PATCH v5 5/9] drm/xe: Introduce xe_device_assert_lmem_ready() Raag Jadav
2026-04-06 14:07 ` [PATCH v5 6/9] drm/xe/bo_evict: Introduce xe_bo_restore_map() Raag Jadav
2026-04-06 14:07 ` [PATCH v5 7/9] drm/xe/exec_queue: Introduce xe_exec_queue_reinit() Raag Jadav
2026-04-15 16:10 ` Daniele Ceraolo Spurio
2026-04-15 16:48 ` Daniele Ceraolo Spurio
2026-04-15 17:02 ` Daniele Ceraolo Spurio
2026-04-06 14:07 ` [PATCH v5 8/9] drm/xe/migrate: Introduce xe_migrate_reinit() Raag Jadav
2026-04-06 14:07 ` [PATCH v5 9/9] drm/xe/pci: Introduce PCIe FLR Raag Jadav
2026-04-15 8:43 ` Laguna, Lukasz
2026-04-15 9:46 ` Raag Jadav
2026-04-15 10:33 ` Laguna, Lukasz
2026-04-15 10:54 ` Raag Jadav
2026-04-16 6:40 ` Raag Jadav
2026-04-17 7:10 ` Laguna, Lukasz
2026-04-15 16:45 ` Daniele Ceraolo Spurio
2026-04-06 14:18 ` ✗ CI.checkpatch: warning for Introduce Xe PCIe FLR (rev5) Patchwork
2026-04-06 14:19 ` ✓ CI.KUnit: success " Patchwork
2026-04-06 14:54 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-06 18:08 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-04-10 14:22 ` [PATCH v5 0/9] Introduce Xe PCIe FLR Raag Jadav
2026-04-10 18:22 ` Maarten Lankhorst
2026-04-11 8:11 ` Raag Jadav
2026-04-15 15:47 ` Daniele Ceraolo Spurio
2026-04-16 6:19 ` Raag Jadav [this message]
2026-04-16 6:35 ` Matthew Brost
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=aeB_g9mtwo6Y9sR5@black.igk.intel.com \
--to=raag.jadav@intel.com \
--cc=daniele.ceraolospurio@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=lukas@wunner.de \
--cc=lukasz.laguna@intel.com \
--cc=maarten@lankhorst.se \
--cc=matthew.auld@intel.com \
--cc=matthew.brost@intel.com \
--cc=matthew.d.roper@intel.com \
--cc=michal.wajdeczko@intel.com \
--cc=michal.winiarski@intel.com \
--cc=riana.tauro@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=thomas.hellstrom@linux.intel.com \
--cc=zhanjun.dong@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 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.