[Intel-gfx] [PATCH 04/11] drm/i915: get runtime PM at intel_set_mode
Imre Deak
imre.deak at intel.com
Mon Feb 24 12:23:40 CET 2014
On Fri, 2014-02-21 at 13:52 -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
>
> Otherwise, when we run intel_modeset_check_state we may already be
> runtime suspended, and our state checking code will read registers
> while the device is suspended. This can only happen if your
> autosuspend_delay_ms is low (not the default 10s).
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 10ec401..c64fb7f 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -9746,13 +9746,18 @@ static int intel_set_mode(struct drm_crtc *crtc,
> struct drm_display_mode *mode,
> int x, int y, struct drm_framebuffer *fb)
> {
> + struct drm_device *dev = crtc->dev;
> + struct drm_i915_private *dev_priv = dev->dev_private;
> int ret;
>
> + intel_runtime_pm_get(dev_priv);
> +
> ret = __intel_set_mode(crtc, mode, x, y, fb);
>
> if (ret == 0)
> intel_modeset_check_state(crtc->dev);
>
> + intel_runtime_pm_put(dev_priv);
> return ret;
> }
Ideally these should be done as part of a power domain get/put as some
platforms will need to turn on some power wells too and on that path we
do anyway a runtime PM get/put.
In the latest VLV power domain support patchset [1] I added the power
domain get/put and state check to places I thought necessary. I haven't
tested it on HSW but afaics the ones added for the HW state readout code
would solve the issue you describe here.
--Imre
[1] http://www.spinics.net/lists/intel-gfx/msg40344.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20140224/f23da480/attachment.sig>
More information about the Intel-gfx
mailing list