On 05/08/2015 11:51 AM, Daniel Vetter wrote:
> Like with every other feature that's not enabled by default we break
> runtime pm support way too often by accident because the overall test
> coverage isn't great. And it's been almost 2 years since we enabled
> the power well code by default
> 
> commit bf51d5e2cda5d36d98e4b46ac7fca9461e512c41
> Author: Paulo Zanoni <paulo.r.zan...@intel.com>
> Date:   Wed Jul 3 17:12:13 2013 -0300
> 
>     drm/i915: switch disable_power_well default value to 1
> 
> It's really more than overdue for runtime pm itself to follow!
> 
> Note that in practice this wont do a hole lot yet, since we're still
> gated on snd-hda-intel doing proper runtime pm. But I've discussed
> this with Liam and we agreed that this needs to be done. And the audio
> team is working to hold up their end of this bargain.
> 
> And the justification for updating the autosuspend delay to 100ms:
> Quick measurment shows that we can do a full rpm cycle in about 5ms,
> which means the delay should still be really conservative from a power
> conservation pov. The only workload that would suffer from ping-pong
> is also only gpu/compute with all screens off. 100ms should cover any
> kind of latency with submitting follow-up batches.
> 
> Cc: Takashi Iwai <ti...@suse.de>
> Cc: Liam Girdwood <liam.r.girdw...@intel.com>
> Cc: Yang, Libin <libin.y...@intel.com>
> Cc: Lin, Mengdong <mengdong....@intel.com>
> Cc: Li, Jocelyn <jocelyn...@intel.com>
> Cc: Kaskinen, Tanu <tanu.kaski...@intel.com>
> Cc: Zanoni, Paulo R <paulo.r.zan...@intel.com>
> Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
> b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 317b9b43d1c1..36ecbe275dd9 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -1919,9 +1919,10 @@ void intel_runtime_pm_enable(struct drm_i915_private 
> *dev_priv)
>               return;
>       }
>  
> -     pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> +     pm_runtime_set_autosuspend_delay(device, 100);
>       pm_runtime_mark_last_busy(device);
>       pm_runtime_use_autosuspend(device);
> +     pm_runtime_allow(device);
>  
>       pm_runtime_put_autosuspend(device);
>  }
> 

This also changes the timeout...  it shouldn't break anything, but it
would be good to get some numbers from Eero's team on this.  It might be
better to use a lower or higher number based on a typical desktop
workload by default (though I guess the user or distro can do their own
tuning and override the value too).

Jesse
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to