diff options
author | Zhanjun Dong <zhanjun.dong@intel.com> | 2023-11-13 14:49:53 -0800 |
---|---|---|
committer | John Harrison <John.C.Harrison@Intel.com> | 2023-11-29 16:06:34 -0800 |
commit | 698e19da2914a0021a088b2b5d101d1854862315 (patch) | |
tree | 30d15f4b7be9a7a77951aa6e936ab18b3b09187b /drivers/gpu/drm/i915 | |
parent | 0eec708ec3c2cb4076cd239605eb6d51e7c23e77 (diff) | |
download | linux-stable-698e19da2914a0021a088b2b5d101d1854862315.tar.gz linux-stable-698e19da2914a0021a088b2b5d101d1854862315.tar.bz2 linux-stable-698e19da2914a0021a088b2b5d101d1854862315.zip |
drm/i915: Skip pxp init if gt is wedged
The gt wedged could be triggered by missing guc firmware file, HW not
working, etc. Once triggered, it means all gt usage is dead, therefore we
can't enable pxp under this fatal error condition.
v2: Updated commit message.
v3: Updated return code check.
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231113224953.378534-1-zhanjun.dong@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/i915_driver.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/pxp/intel_pxp.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index db6f7c30adde..8a17eb7f9321 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -804,7 +804,9 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (ret) goto out_cleanup_modeset2; - intel_pxp_init(i915); + ret = intel_pxp_init(i915); + if (ret != -ENODEV) + drm_dbg(&i915->drm, "pxp init failed with %d\n", ret); ret = intel_display_driver_probe(i915); if (ret) diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp.c b/drivers/gpu/drm/i915/pxp/intel_pxp.c index e11f562b1876..75278e78ca90 100644 --- a/drivers/gpu/drm/i915/pxp/intel_pxp.c +++ b/drivers/gpu/drm/i915/pxp/intel_pxp.c @@ -199,6 +199,9 @@ int intel_pxp_init(struct drm_i915_private *i915) struct intel_gt *gt; bool is_full_feature = false; + if (intel_gt_is_wedged(to_gt(i915))) + return -ENOTCONN; + /* * NOTE: Get the ctrl_gt before checking intel_pxp_is_supported since * we still need it if PXP's backend tee transport is needed. |