drm_atomic_helper_resume() locking changes in v4.12

Daniel Vetter daniel at ffwll.ch
Mon May 29 19:36:09 UTC 2017


On Mon, May 29, 2017 at 05:29:55PM +0300, Jyri Sarha wrote:
> Hi,
> I have "WARN_ON(!drm_modeset_is_locked(&crtc->mutex))" in tilcdc crtc
> enable and disable callbacks. Now those warnings are firing when
> resuming from suspend and I see that "drm_modeset_lock_all(dev)" has
> been removed from "drm_atomic_helper_resume()".
> 
> I guess I should remove those warnings from tilcdc since no other driver
> has such warnings in place, but it still seems odd to me that the crtc
> enable or disable maybe called without the crtc modeset lock.

Ok, thought about why no one else hit this, and the reason is that
requiring the modeset locks in the commit function (well the hw commit in
commit_tail when using the helpers) is indeed wrong: nonblocking commits
don't hold the locks (it might block the next operation). You can check
for the modeset locks in your ->mode_fixup or ->atomic_check callbacks
though.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list