From: Raag Jadav <raag.jadav@intel.com>
To: Riana Tauro <riana.tauro@intel.com>
Cc: intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
anshuman.gupta@intel.com, rodrigo.vivi@intel.com,
lucas.demarchi@intel.com, aravind.iddamsetty@linux.intel.com,
umesh.nerlige.ramappa@intel.com, frank.scarbrough@intel.com,
sk.anirban@intel.com, simona.vetter@ffwll.ch, airlied@gmail.com
Subject: Re: [PATCH v5 6/9] drm/xe/doc: Document device wedged and runtime survivability
Date: Wed, 23 Jul 2025 16:34:29 +0300 [thread overview]
Message-ID: <aIDk5XBEolQVTVHU@black.fi.intel.com> (raw)
In-Reply-To: <20250715104730.2109506-7-riana.tauro@intel.com>
On Tue, Jul 15, 2025 at 04:17:26PM +0530, Riana Tauro wrote:
> Add documentation for vendor specific device wedged recovery method
> and runtime survivability.
...
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index bd81ebd370cb..d28c92f8b80c 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -1133,6 +1133,28 @@ static void xe_device_wedged_fini(struct drm_device *drm, void *arg)
> }
>
> /**
> + * DOC: Device Wedging
Xe Device Wedging?
> + * Xe driver uses device wedged uevent as documented in Documentation/gpu/drm-uapi.rst.
> + *
> + * When device is in wedged state, every IOCTL will be blocked and GT cannot be
> + * used. Certain critical errors like gt reset failure, firmware failures can cause
> + * the device to be wedged. The default recovery mechanism for a wedged state
method
> + * is re-probe (unbind + bind)
Let's use uapi naming for consistency.
> + * Another recovery method is ``WEDGED=vendor-specific`. Below are the usecases
If we mean method, it's just ``vendor-specific`` with correct quoting.
> + * that trigger vendor-specific drm wedged uevent and actions to be performed
> + * to recover the device.
> + *
> + * Case 1: CSC firmware errors require a firmware flash to restore normal device
> + * operation. Since firmware flash is a vendor-specific action
> + * `WEDGED=vendor-specific`` recovery method along with
> + * :ref:`runtime survivability mode <xe-survivability-mode>` is used to
> + * notify userspace. User can then initiate a firmware flash using userspace tools
> + * like fwupd to restore device to normal situation.
> + */
> +
> +/*
> * xe_device_set_wedged_method - Set wedged recovery method
> * @xe: xe device instance
> * @method: recovery method to set
> diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c
> index 267d0e3fd85a..9f770db116f4 100644
> --- a/drivers/gpu/drm/xe/xe_survivability_mode.c
> +++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
> @@ -22,15 +22,18 @@
> #define MAX_SCRATCH_MMIO 8
>
> /**
> - * DOC: Xe Boot Survivability
> + * DOC: Survivability Mode
> *
> - * Boot Survivability is a software based workflow for recovering a system in a failed boot state
> + * Survivability Mode is a software based workflow for recovering a system in a failed boot state
> * Here system recoverability is concerned with recovering the firmware responsible for boot.
> *
> - * This is implemented by loading the driver with bare minimum (no drm card) to allow the firmware
> - * to be flashed through mei and collect telemetry. The driver's probe flow is modified
> - * such that it enters survivability mode when pcode initialization is incomplete and boot status
> - * denotes a failure.
> + * Boot Survivability
> + * ===================
> + *
> + * Boot Survivability is implemented by loading the driver with bare minimum (no drm card) to allow
> + * the firmware to be flashed through mei and collect telemetry. The driver's probe flow is
'mei driver' or it gives the impression of a tool. Also, what telemetry?
> + * modified such that it enters survivability mode when pcode initialization is incomplete and boot
> + * status denotes a failure.
> *
> * Survivability mode can also be entered manually using the survivability mode attribute available
> * through configfs which is beneficial in several usecases. It can be used to address scenarios
> @@ -46,7 +49,7 @@
> * Survivability mode is indicated by the below admin-only readable sysfs which provides additional
If it's sensitive, does it make sense to also log it?
> * debug information::
> *
> - * /sys/bus/pci/devices/<device>/surivability_mode
> + * /sys/bus/pci/devices/<device>/survivability_mode
> *
> * Capability Information:
> * Provides boot status
> @@ -56,6 +59,22 @@
> * Provides history of previous failures
> * Auxiliary Information
> * Certain failures may have information in addition to postcode information
> + *
> + * Runtime Survivability
> + * =====================
> + *
> + * Certain runtime firmware errors can cause the device to enter a wedged state
> + * (:ref:`xe-device-wedging`) requiring a firmware flash to restore normal operation.
> + * Runtime Survivability Mode indicates that a firmware flash is necessary to recover the device and
> + * is indicated by the presence of survivability mode sysfs::
> + *
> + * /sys/bus/pci/devices/<device>/survivability_mode
> + *
> + * Survivability mode sysfs provides information about the type of survivability mode.
> + *
> + * When such errors occur, userspace is notified with the drm device wedged uevent and runtime
> + * survivability mode. User can then initiate a firmware update using userspace tools like fwupd
> + * to restore device to normal operation.
> */
Overall looks good and gets the point across, but I think consistent
termiologies would make it more easy to follow and understand.
method/mechanism/actions
wedged uevent/drm wedged uevent/drm device wedged uevent
firmware flash/firmware update
operation/situation
... and so on.
Raag
next prev parent reply other threads:[~2025-07-23 13:34 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-15 10:47 [PATCH v5 0/9] Handle Firmware reported Hardware Errors Riana Tauro
2025-07-15 10:47 ` [PATCH v5 1/9] drm: Add a vendor-specific recovery method to device wedged uevent Riana Tauro
2025-07-20 11:47 ` Raag Jadav
2025-07-15 10:47 ` [PATCH v5 2/9] drm/xe: Set GT as wedged before sending " Riana Tauro
2025-07-15 10:47 ` [PATCH v5 3/9] drm/xe: Add a helper function to set recovery method Riana Tauro
2025-07-20 12:04 ` Raag Jadav
2025-07-15 10:47 ` [PATCH v5 4/9] drm/xe/xe_survivability: Refactor survivability mode Riana Tauro
2025-07-23 14:00 ` Raag Jadav
2025-07-23 14:52 ` Riana Tauro
2025-07-15 10:47 ` [PATCH v5 5/9] drm/xe/xe_survivability: Add support for Runtime " Riana Tauro
2025-07-23 14:08 ` Raag Jadav
2025-07-23 14:41 ` Riana Tauro
2025-07-15 10:47 ` [PATCH v5 6/9] drm/xe/doc: Document device wedged and runtime survivability Riana Tauro
2025-07-23 13:34 ` Raag Jadav [this message]
2025-07-24 5:25 ` Riana Tauro
2025-07-15 10:47 ` [PATCH v5 7/9] drm/xe: Add support to handle hardware errors Riana Tauro
2025-07-15 14:08 ` Summers, Stuart
2025-07-15 16:48 ` Riana Tauro
2025-07-15 16:53 ` Summers, Stuart
2025-07-15 10:47 ` [PATCH v5 8/9] drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors Riana Tauro
2025-07-15 10:47 ` [PATCH v5 9/9] drm/xe/xe_hw_error: Add fault injection to trigger csc error handler Riana Tauro
2025-07-15 14:10 ` Summers, Stuart
2025-07-15 16:39 ` Riana Tauro
2025-07-15 16:58 ` Summers, Stuart
2025-07-16 4:21 ` Riana Tauro
2025-07-15 12:28 ` ✗ CI.checkpatch: warning for Handle Firmware reported Hardware Errors (rev5) Patchwork
2025-07-15 12:30 ` ✓ CI.KUnit: success " Patchwork
2025-07-15 12:45 ` ✗ CI.checksparse: warning " Patchwork
2025-07-15 13:33 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-07-15 17:13 ` ✗ Xe.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=aIDk5XBEolQVTVHU@black.fi.intel.com \
--to=raag.jadav@intel.com \
--cc=airlied@gmail.com \
--cc=anshuman.gupta@intel.com \
--cc=aravind.iddamsetty@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=frank.scarbrough@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=riana.tauro@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=simona.vetter@ffwll.ch \
--cc=sk.anirban@intel.com \
--cc=umesh.nerlige.ramappa@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.