On Thu, Jan 29, 2015 at 12:15:03PM +0900, Michel Dänzer wrote:
On 29.01.2015 08:09, Laurent Pinchart wrote:
The .enable_vblank() operation is only called when vblank interrupts are disabled, but no similar check exists when disabling vblank interrupts. This leads to .disable_vblank() being called with vblank interrupts already disabled and the device possibly runtime suspended. As the operation is called with a spinlock held drivers can't runtime resume the device there and thus must avoid touching device registers in that case, requiring vblank refcounting.
As the DRM core tracks whether vblank interrupts are enabled just skip the .disable_vblank() call when the interrupts are already disabled.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
Reviewed-by: Michel Dänzer michel.daenzer@amd.com
Yeah makes sense, pulled into my drm misc pile.
Thanks, Daniel