[Intel-gfx] [PATCH] drm/i915: Grab RPM wakeref around enabling vblank interrupts

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Oct 7 18:44:53 UTC 2016


On Fri, Oct 07, 2016 at 07:33:00PM +0100, Chris Wilson wrote:
> On Fri, Oct 07, 2016 at 09:06:07PM +0300, Ville Syrjälä wrote:
> > On Fri, Oct 07, 2016 at 02:50:32PM +0100, Chris Wilson wrote:
> > > Whilst the vblank is configured to send an interrupt everytime, we need
> > > to keep the device awake to process those interrupts.
> > 
> > If we can enable vblanks the pipe will be active, and thus we can't
> > runtime suspend anyway. Also might_sleep() would be a problem.
> 
> Where is the pipe made active? Is it just having any mode is sufficient
> to disable rpm? Will that always be the case?

Active pipe holds a power domain reference, which implies an rpm
reference as well.

> 
> Just tracing from the drm_wait_vblank ioctl to the mmio access it didn't
> occur to me that there was a crtc wakeref.
> 
> Choice is either using something like intel_runtime_pm_get_noresume() or
> /* CRTC must be kept alive whilst we enable vblanks */
> assert_rpm...()
> 
> And possibly even using the seq check.
> -Chris
> 
> -- 
> Chris Wilson, Intel Open Source Technology Centre

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list