drm/i915/guc: limit forcewake to blitter domain in guc_send
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Fri, 24 Mar 2017 14:48:39 +0000 (07:48 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 24 Mar 2017 15:57:09 +0000 (15:57 +0000)
The forcewake_get call in the guc_send_mmio function was added to
avoid getting and releasing forcewake on each register access.
While this makes sense, all GuC registers are in the blitter range
so no need to wake all the wells.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1490366919-34715-1-git-send-email-daniele.ceraolospurio@intel.com
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_uc.c

index 4a872cd..e016227 100644 (file)
@@ -245,7 +245,7 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len)
                return -EINVAL;
 
        mutex_lock(&guc->send_mutex);
-       intel_uncore_forcewake_get(dev_priv, FORCEWAKE_ALL);
+       intel_uncore_forcewake_get(dev_priv, FORCEWAKE_BLITTER);
 
        dev_priv->guc.action_count += 1;
        dev_priv->guc.action_cmd = action[0];
@@ -283,7 +283,7 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len)
        }
        dev_priv->guc.action_status = status;
 
-       intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL);
+       intel_uncore_forcewake_put(dev_priv, FORCEWAKE_BLITTER);
        mutex_unlock(&guc->send_mutex);
 
        return ret;