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 4a872cdf57e8181f0f1103824dfa5d3ceb117aa9..e01622757b84e8747c3152e0582262b18c1326d7 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;