[PATCH v3 1/1] drm/i915: Sanitize PMINTRMSK and enable powersave post GuC load on reset

Kamble, Sagar A sagar.a.kamble at intel.com
Wed Sep 28 10:50:26 UTC 2016



On 9/28/2016 1:41 PM, Chris Wilson wrote:
> On Wed, Sep 28, 2016 at 11:30:37AM +0530, Sagar Arun Kamble wrote:
>> v3: Sanitizing PMINTRMSK in reset_rps_interrupts. (Chris)
>>      Moving enable_gt_powersave past gem_init_hw in reset path for GuC
>>      load to complete. Commit message updated.
>> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
>> index 9c15432..96e31c9 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.c
>> +++ b/drivers/gpu/drm/i915/i915_drv.c
>> @@ -1793,6 +1793,12 @@ void i915_reset(struct drm_i915_private *dev_priv)
>>   		goto error;
>>   	}
>>   
>> +	if (dev_priv->gt.awake) {
>> +		intel_enable_gt_powersave(dev_priv);
>> +		if (INTEL_GEN(dev_priv) >= 6)
>> +			gen6_rps_busy(dev_priv);
>> +	}
>> +
>>   wakeup:
>>   	wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS);
>>   	return;
>> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
>> index 1418c1c..42b7634 100644
>> --- a/drivers/gpu/drm/i915/i915_gem.c
>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>> @@ -2629,12 +2629,7 @@ void i915_gem_reset(struct drm_i915_private *dev_priv)
>>   
>>   	i915_gem_restore_fences(&dev_priv->drm);
>>   
>> -	if (dev_priv->gt.awake) {
>> -		intel_sanitize_gt_powersave(dev_priv);
>> -		intel_enable_gt_powersave(dev_priv);
>> -		if (INTEL_GEN(dev_priv) >= 6)
>> -			gen6_rps_busy(dev_priv);
>> -	}
> Hmm, don't like plonking this into the driver level as this is all about
> redoing the operations that were performed at the GEM level.
>
> i915_gem_init_hw() with a comment would be a working compromise.
previously flow was: gem_reset (sanitize and enable gt powersave), 
gem_init_hw (init rings,guc setup)
I changed now it to: gem_reset (sanitize gt powersave), gem_init_hw, 
enable gt powersave
Taking enable to gem_init_hw will break the driver load path as 
init_gt_powersave is done post gem_init_hw.
Will it be OK for enable gt powersave to start post gem_init_hw as 
requests that were in flight would get submitted as part of 
gem_init_hw(elsp_submit_ports).
Or should we not handle reset case w.r.t pm_intr_keep sanitize in guc 
load path?
> -Chris
>



More information about the Intel-gfx-trybot mailing list