OSDN Git Service

drm/i915/guc: Don't clear the cookie on doorbell destroy
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 2 Oct 2018 21:54:29 +0000 (14:54 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 Oct 2018 06:29:48 +0000 (07:29 +0100)
If the HW has not processed the db invalidation request yet, clearing
the cookie can generate a db ring. We clear the cookie when we
(re-)allocate the doorbell so no need to do it on destroy as well as no
one is going to look at it while the doorbell is inactive

v2: fix typo in patch title (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-2-daniele.ceraolospurio@intel.com
drivers/gpu/drm/i915/intel_guc_submission.c

index aa4d6bb..eae6684 100644 (file)
@@ -209,7 +209,6 @@ static void __destroy_doorbell(struct intel_guc_client *client)
 
        doorbell = __get_doorbell(client);
        doorbell->db_status = GUC_DOORBELL_DISABLED;
-       doorbell->cookie = 0;
 
        /* Doorbell release flow requires that we wait for GEN8_DRB_VALID bit
         * to go to zero after updating db_status before we call the GuC to