Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915/guc: Fix Gen9 GuC loading workarounds

In commit 4502e9ec820d ("drm/i915/uc: Unify firmware loading") we
stopped converting errors detected during firmware transfer into
-EAGAIN and this indirectly killed our workarounds for Gen9 GuC.
Reactivate those workarounds by looking for actual -ETIMEDOUT error.

Testcase: igt@drv_selftest@live_hangcheck
Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
References: commit 4502e9ec820d ("drm/i915/uc: Unify firmware loading")

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181016085931.23532-1-michal.wajdeczko@intel.com

authored by

Michal Wajdeczko and committed by
Chris Wilson
ad52fcc9 593a21a0

+1 -1
+1 -1
drivers/gpu/drm/i915/intel_uc.c
··· 376 376 377 377 intel_guc_init_params(guc); 378 378 ret = intel_guc_fw_upload(guc); 379 - if (ret == 0 || ret != -EAGAIN) 379 + if (ret == 0 || ret != -ETIMEDOUT) 380 380 break; 381 381 382 382 DRM_DEBUG_DRIVER("GuC fw load failed: %d; will reset and "