From: Raag Jadav <raag.jadav@intel.com>
To: airlied@gmail.com, simona@ffwll.ch, lucas.demarchi@intel.com,
thomas.hellstrom@linux.intel.com, rodrigo.vivi@intel.com,
jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com,
tursulin@ursulin.net, lina@asahilina.net
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, himal.prasad.ghimiray@intel.com,
francois.dugast@intel.com, aravind.iddamsetty@linux.intel.com,
anshuman.gupta@intel.com, andi.shyti@linux.intel.com,
andriy.shevchenko@linux.intel.com, matthew.d.roper@intel.com,
Raag Jadav <raag.jadav@intel.com>
Subject: [PATCH v5 4/4] drm/i915: Use device wedged event
Date: Tue, 17 Sep 2024 09:32:35 +0530 [thread overview]
Message-ID: <20240917040235.197019-5-raag.jadav@intel.com> (raw)
In-Reply-To: <20240917040235.197019-1-raag.jadav@intel.com>
Now that we have device wedged event supported by DRM core, make use
of it. With this in place, userspace will be notified of wedged device
on gt reset failure.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/gpu/drm/i915/gt/intel_reset.c | 2 ++
drivers/gpu/drm/i915/i915_driver.c | 10 ++++++++++
2 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
index 8f1ea95471ef..02f357d4e4fb 100644
--- a/drivers/gpu/drm/i915/gt/intel_reset.c
+++ b/drivers/gpu/drm/i915/gt/intel_reset.c
@@ -1418,6 +1418,8 @@ static void intel_gt_reset_global(struct intel_gt *gt,
if (!test_bit(I915_WEDGED, >->reset.flags))
kobject_uevent_env(kobj, KOBJ_CHANGE, reset_done_event);
+ else
+ drm_dev_wedged_event(>->i915->drm, DRM_WEDGE_RECOVERY_BUS_RESET);
}
/**
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index fe905d65ddf7..0185fb41eb95 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -711,6 +711,15 @@ static void i915_welcome_messages(struct drm_i915_private *dev_priv)
"DRM_I915_DEBUG_RUNTIME_PM enabled\n");
}
+static void i915_setup_wedge_recovery(struct drm_i915_private *i915)
+{
+ struct drm_device *dev = &i915->drm;
+
+ /* Support both driver rebind and bus reset based recovery. */
+ set_bit(DRM_WEDGE_RECOVERY_REBIND, &dev->wedge_recovery);
+ set_bit(DRM_WEDGE_RECOVERY_BUS_RESET, &dev->wedge_recovery);
+}
+
static struct drm_i915_private *
i915_driver_create(struct pci_dev *pdev, const struct pci_device_id *ent)
{
@@ -812,6 +821,7 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
enable_rpm_wakeref_asserts(&i915->runtime_pm);
+ i915_setup_wedge_recovery(i915);
i915_welcome_messages(i915);
i915->do_release = true;
--
2.34.1
next prev parent reply other threads:[~2024-09-17 4:03 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 4:02 [PATCH v5 0/4] Introduce DRM device wedged event Raag Jadav
2024-09-17 4:02 ` [PATCH v5 1/4] drm: Introduce " Raag Jadav
2024-09-19 7:43 ` Jani Nikula
2024-09-17 4:02 ` [PATCH v5 2/4] drm: Expose wedge recovery methods Raag Jadav
2024-09-17 7:49 ` Jani Nikula
2024-09-19 4:05 ` Raag Jadav
2024-09-19 7:38 ` Jani Nikula
2024-09-19 8:38 ` Raag Jadav
2024-09-19 9:24 ` Jani Nikula
2024-09-19 11:33 ` Raag Jadav
2024-09-19 11:39 ` Jani Nikula
2024-09-19 13:45 ` Andy Shevchenko
2024-09-20 11:18 ` Raag Jadav
2024-09-20 14:27 ` Andy Shevchenko
2024-09-17 4:02 ` [PATCH v5 3/4] drm/xe: Use device wedged event Raag Jadav
2024-09-17 4:41 ` Ghimiray, Himal Prasad
2024-09-17 6:38 ` Raag Jadav
2024-09-17 8:03 ` Ghimiray, Himal Prasad
2024-09-17 8:18 ` Aravind Iddamsetty
2024-09-17 4:02 ` Raag Jadav [this message]
2024-09-17 4:09 ` ✓ CI.Patch_applied: success for Introduce DRM device wedged event (rev3) Patchwork
2024-09-17 4:10 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-17 4:12 ` ✓ CI.KUnit: success " Patchwork
2024-09-17 4:35 ` ✓ CI.Build: " Patchwork
2024-09-17 4:38 ` ✓ CI.Hooks: " Patchwork
2024-09-17 4:39 ` ✗ CI.checksparse: warning " Patchwork
2024-09-17 5:24 ` ✗ CI.BAT: failure " Patchwork
2024-09-17 7:31 ` ✓ CI.FULL: success " 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=20240917040235.197019-5-raag.jadav@intel.com \
--to=raag.jadav@intel.com \
--cc=airlied@gmail.com \
--cc=andi.shyti@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=anshuman.gupta@intel.com \
--cc=aravind.iddamsetty@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=francois.dugast@intel.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=lina@asahilina.net \
--cc=lucas.demarchi@intel.com \
--cc=matthew.d.roper@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=simona@ffwll.ch \
--cc=thomas.hellstrom@linux.intel.com \
--cc=tursulin@ursulin.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox