linux/drivers/gpu/drm/i915/gt/uc
Daniele Ceraolo Spurio 3acffa8cba drm/i915/uc: Abort early on uc_init failure
Now that we can differentiate wants vs uses GuC/HuC, intel_uc_init is
restricted to running only if we have successfully fetched the required
blob(s) and are committed to using the microcontroller(s).
The only remaining thing that can go wrong in uc_init is the allocation
of GuC/HuC related objects; if we get such a failure better to bail out
immediately instead of wedging later, like we do for e.g.
intel_engines_init, since without objects we can't use the HW, including
not being able to attempt the firmware load.

While at it, remove the unneeded fw_cleanup call (this is handled
outside of gt_init) and add a probe failure injection point for testing.
Also, update the logs for <g/h>uc_init failures to probe_failure() since
they will cause the driver load to fail.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Fernando Pacheco <fernando.pacheco@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20200218223327.11058-8-daniele.ceraolospurio@intel.com
2020-02-20 17:48:07 +00:00
..
intel_guc_ads.c drm/i915/guc: add a helper to allocate and map guc vma 2019-12-09 13:54:33 -08:00
intel_guc_ads.h drm/i915/uc: Update copyright and license 2019-08-12 13:01:34 +01:00
intel_guc_ct.c drm/i915/guc: Introduce guc_is_ready 2020-01-31 23:42:59 +00:00
intel_guc_ct.h drm/i915/guc: Make sure to sanitize CT status 2020-02-07 17:12:17 +00:00
intel_guc_fw.c drm/i915/uc: Drop explicit gt param in some uc_fw functions 2019-12-11 21:34:31 +00:00
intel_guc_fw.h drm/i915/uc: Update copyright and license 2019-08-12 13:01:34 +01:00
intel_guc_fwif.h drm/i915/guc: kill the GuC client 2019-12-09 13:55:50 -08:00
intel_guc_log.c drm/i915/guc: Enable guc logging on guc log relay write 2019-10-23 15:05:00 -07:00
intel_guc_log.h drm/i915/guc: Enable guc logging on guc log relay write 2019-10-23 15:05:00 -07:00
intel_guc_reg.h drm/i915/tgl: Move GTCR register to cope with GAM MMIO address remap 2019-08-23 10:07:35 -07:00
intel_guc_submission.c drm/i915/guc: Apply new uC status tracking to GuC submission as well 2020-02-20 17:48:06 +00:00
intel_guc_submission.h drm/i915/guc: Apply new uC status tracking to GuC submission as well 2020-02-20 17:48:06 +00:00
intel_guc.c drm/i915/uc: Abort early on uc_init failure 2020-02-20 17:48:07 +00:00
intel_guc.h drm/i915/guc: Apply new uC status tracking to GuC submission as well 2020-02-20 17:48:06 +00:00
intel_huc_fw.c drm/i915/uc: Improve tracking of uC init status 2020-02-20 17:48:05 +00:00
intel_huc_fw.h drm/i915/uc: Update copyright and license 2019-08-12 13:01:34 +01:00
intel_huc.c drm/i915/uc: Abort early on uc_init failure 2020-02-20 17:48:07 +00:00
intel_huc.h drm/i915/uc: Improve tracking of uC init status 2020-02-20 17:48:05 +00:00
intel_uc_fw_abi.h drm/i915/guc: improve documentation 2019-10-17 09:30:32 -07:00
intel_uc_fw.c drm/i915/uc: Update the FW status on injected fetch error 2020-02-20 17:48:04 +00:00
intel_uc_fw.h drm/i915/uc: Drop explicit gt param in some uc_fw functions 2019-12-11 21:34:31 +00:00
intel_uc.c drm/i915/uc: Abort early on uc_init failure 2020-02-20 17:48:07 +00:00
intel_uc.h drm/i915/uc: Abort early on uc_init failure 2020-02-20 17:48:07 +00:00