mirror_ubuntu-kernels/drivers/gpu/drm/i915/gt/uc
Daniele Ceraolo Spurio de2228c041 drm/i915/guc: clear stalled request after a reset
If the GuC CTs are full and we need to stall the request submission
while waiting for space, we save the stalled request and where the stall
occurred; when the CTs have space again we pick up the request submission
from where we left off.

If a full GT reset occurs, the state of all contexts is cleared and all
non-guilty requests are unsubmitted, therefore we need to restart the
stalled request submission from scratch. To make sure that we do so,
clear the saved request after a reset.

Fixes note: the patch that introduced the bug is in 5.15, but no
officially supported platform had GuC submission enabled by default
in that kernel, so the backport to that particular version (and only
that one) can potentially be skipped.

Fixes: 925dc1cf58 ("drm/i915/guc: Implement GuC submission tasklet")
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: John Harrison <john.c.harrison@intel.com>
Cc: <stable@vger.kernel.org> # v5.15+
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220811210812.3239621-1-daniele.ceraolospurio@intel.com
(cherry picked from commit f922fbb0f2)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2022-08-23 21:27:09 -04:00
..
abi drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
guc_capture_fwif.h drm/i915/guc: Pre-allocate output nodes for extraction 2022-03-22 10:33:31 -07:00
intel_guc_ads.c drm/i915/gt: Cleanup interface for MCR operations 2022-06-17 08:05:40 -07:00
intel_guc_ads.h drm/i915/guc: Convert engine record to iosys_map 2022-02-25 15:23:23 -08:00
intel_guc_capture.c drm/i915/gt: Add general DSS steering iterator to intel_gt_mcr 2022-07-08 09:32:57 -07:00
intel_guc_capture.h drm/i915/guc: Print the GuC error capture output register list. 2022-03-22 10:33:31 -07:00
intel_guc_ct.c drm/i915: Use str_enabled_disabled() 2022-03-02 08:48:20 -08:00
intel_guc_ct.h
intel_guc_debugfs.c drm/i915: rename debugfs_gt files 2021-09-18 23:33:19 -07:00
intel_guc_debugfs.h
intel_guc_fw.c Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
intel_guc_fw.h
intel_guc_fwif.h drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
intel_guc_hwconfig.c drm/i915/hwconfig: Future-proof platform checks 2022-05-25 12:38:22 -07:00
intel_guc_log_debugfs.c drm/i915/guc: Speed up GuC log dumps 2021-12-20 15:33:16 -08:00
intel_guc_log_debugfs.h
intel_guc_log.c Driver uAPI changes: 2022-07-22 15:51:31 +10:00
intel_guc_log.h drm/i915/guc: Extract GuC error capture lists on G2H notification. 2022-03-22 10:33:30 -07:00
intel_guc_rc.c drm/i915/guc/rc: Use i915_probe_error instead of drm_error 2022-05-13 15:09:02 -07:00
intel_guc_rc.h
intel_guc_reg.h drm/i915/uc: Fix undefined behavior due to shift overflowing the constant 2022-05-19 12:50:29 +03:00
intel_guc_slpc_types.h drm/i915/gt: Add media freq factor to per-gt sysfs 2022-05-26 09:36:57 +01:00
intel_guc_slpc.c drm/i915/guc/slpc: Use non-blocking H2G for waitboost 2022-06-27 15:08:58 -07:00
intel_guc_slpc.h drm/i915/gt: Add media freq factor to per-gt sysfs 2022-05-26 09:36:57 +01:00
intel_guc_submission.c drm/i915/guc: clear stalled request after a reset 2022-08-23 21:27:09 -04:00
intel_guc_submission.h drm/i915/pmu: Connect engine busyness stats from GuC to pmu 2021-10-28 11:04:43 -07:00
intel_guc.c drm/i915/reset: Add additional steps for Wa_22011802037 for execlist backend 2022-07-25 15:57:54 +01:00
intel_guc.h drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
intel_huc_debugfs.c drm/i915: rename debugfs_gt files 2021-09-18 23:33:19 -07:00
intel_huc_debugfs.h
intel_huc_fw.c drm/i915/huc: Prepare for GSC-loaded HuC 2022-05-05 15:47:51 -07:00
intel_huc_fw.h
intel_huc.c drm/i915/huc: Don't fail the probe if HuC init fails 2022-05-05 15:48:01 -07:00
intel_huc.h drm/i915/huc: Prepare for GSC-loaded HuC 2022-05-05 15:47:51 -07:00
intel_uc_debugfs.c drm/i915: Use str_yes_no() 2022-03-02 08:48:13 -08:00
intel_uc_debugfs.h
intel_uc_fw_abi.h drm/i915/huc: Add fetch support for gsc-loaded HuC binary 2022-05-05 15:47:51 -07:00
intel_uc_fw.c drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
intel_uc_fw.h drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
intel_uc.c drm for 5.19-rc1 2022-05-25 16:18:27 -07:00
intel_uc.h i915/guc/reset: Make __guc_reset_context aware of guilty engines 2022-05-16 10:13:39 +03:00
selftest_guc_multi_lrc.c drm/i915/xehp: Don't support parallel submission on compute / render 2022-03-02 06:52:42 -08:00
selftest_guc.c drm/i915/guc: Better name for context id limit 2022-03-03 15:03:06 -08:00