diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index d77cc81900f9..e1fc35a72656 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3493,6 +3493,8 @@ static void valleyview_setup_pctx(struct drm_device *dev)  	u32 pcbr;  	int pctx_size = 24*1024; +	WARN_ON(!mutex_is_locked(&dev->struct_mutex)); +  	pcbr = I915_READ(VLV_PCBR);  	if (pcbr) {  		/* BIOS set it up already, grab the pre-alloc'd space */ @@ -3542,8 +3544,6 @@ static void valleyview_enable_rps(struct drm_device *dev)  		I915_WRITE(GTFIFODBG, gtfifodbg);  	} -	valleyview_setup_pctx(dev); -  	/* If VLV, Forcewake all wells, else re-direct to regular path */  	gen6_gt_force_wake_get(dev_priv, FORCEWAKE_ALL); @@ -4395,6 +4395,8 @@ void intel_enable_gt_powersave(struct drm_device *dev)  		ironlake_enable_rc6(dev);  		intel_init_emon(dev);  	} else if (IS_GEN6(dev) || IS_GEN7(dev)) { +		if (IS_VALLEYVIEW(dev)) +			valleyview_setup_pctx(dev);  		/*  		 * PCU communication is slow and this doesn't need to be  		 * done at any specific time, so do this out of our fast path  | 
