From 5947ebff98121374dd01eba49cb26a6e1d2482c4 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Fri, 8 May 2015 20:33:25 +0200 Subject: drm/i915: Enable runtime pm 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 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 Cc: Liam Girdwood Cc: Yang, Libin Cc: Lin, Mengdong Cc: Li, Jocelyn Cc: Kaskinen, Tanu Cc: Zanoni, Paulo R Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_runtime_pm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c index 2c2151f1c47e..21c1dfcb39e7 100644 --- a/drivers/gpu/drm/i915/intel_runtime_pm.c +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -2309,9 +2309,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); } -- cgit v1.2.3