drm/i915/guc: init GuC descriptors after GuC load
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 2 Oct 2018 21:54:28 +0000 (14:54 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 Oct 2018 06:29:47 +0000 (07:29 +0100)
commit48b426a9b9ab93481a2c5b913c2c6add5fb1001a
tree4829895947918e64e6998ff613a393c1049dc081
parentbc2477f7d3f3083d344b327e358e43093054023c
drm/i915/guc: init GuC descriptors after GuC load

GuC stores some data in there, which might be stale after a reset.
We already reset the WQ head and tail, but more things are being moved
to the descriptor with the interface updates. Instead of trying to track
them one by one, always memset and init the descriptors from scratch
after GuC is loaded.
The code is also reorganized so that the above operations and the
doorbell creation are grouped as "client enabling"

v2: add proc_desc_fini for symmetry (Daniele), remove unneeded var init,
add guc_is_alive() (Michal)

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20181002215430.15049-1-daniele.ceraolospurio@intel.com
drivers/gpu/drm/i915/intel_guc.h
drivers/gpu/drm/i915/intel_guc_submission.c
drivers/gpu/drm/i915/intel_uc_fw.h
drivers/gpu/drm/i915/selftests/intel_guc.c