drm/i915/guc: Simplify GuC doorbell logic
authorMichał Winiarski <michal.winiarski@intel.com>
Thu, 14 Sep 2017 10:51:23 +0000 (12:51 +0200)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Sep 2017 10:18:26 +0000 (11:18 +0100)
commit59db36cf4d67b74f5b8cb001493847464240d136
treee4fa3a103ec5a103fd160edae33e458446a9ddb7
parent85e2fe679e053326191f92b923f22a834f82cb53
drm/i915/guc: Simplify GuC doorbell logic

All we're really doing is incrementing a simple counter in a
doorbell_info struct. We can do without extra variables and a separate
counter kept in guc_client. Since it's gone, we're also removing its
debugfs.
The only functional change here, is that we're no longer treating 0 as a
special value. GuC doesn't seem to care, why should we?

v2: Restore desc->tail update.
v3: Drop the retry loop, assert that doorbell cookie doesn't change
behind our back.
v4: WARN rather than BUG, use xchg. (Chris)

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Oscar Mateo <oscar.mateo@intel.com>
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170914105125.3031-1-michal.winiarski@intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_guc_submission.c
drivers/gpu/drm/i915/intel_uc.h