drm/i915/guc: Extract doorbell creation from client allocation
authorMichał Winiarski <michal.winiarski@intel.com>
Wed, 13 Dec 2017 22:13:50 +0000 (23:13 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 14 Dec 2017 08:06:59 +0000 (08:06 +0000)
commit9192d4fb811e1e7d07c8fa1a576d2935826daa91
treefa31a643597921183006a820dea3da4686506f9c
parentaeb950bd97e1f66a109430e05a3066e547bce916
drm/i915/guc: Extract doorbell creation from client allocation

Full GPU reset causes GuC to be reset. This means that every time we're
doing a reset, we need to talk to GuC and tell it about doorbells.
Let's separate the communication part (create_doorbell) from our
internal bookkeeping (reserve_doorbell) so that we can cleanly separate
the initialization done at module load from reinitialization done at
reset in the following patch.
While I'm here, let's also add a proper (although slightly asymetric)
cleanup that doesn't try to communicate with GuC after it's already
gone, getting rid of "expected" warnings caused by GuC action failures
on module unload.

Note that I've also removed one of the tests (bitmap out of sync), since
it doesn't make much sense anymore - bitmaps are now not expected to
change during the lifetime of a client.

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20171213221352.7173-5-michal.winiarski@intel.com
drivers/gpu/drm/i915/intel_guc_submission.c
drivers/gpu/drm/i915/selftests/intel_guc.c