On Thu, Jan 30, 2014 at 1:53 AM, Ilia Mirkin imirkin@alum.mit.edu wrote:
Since commit 0fa9061ae8c ("drm/nouveau/mc: handle irq-related setup ourselves"), drm_device->irq_enabled remained unset. This is needed in order to properly wait for a vblank event in the generic drm code.
See https://bugs.freedesktop.org/show_bug.cgi?id=74195
Reported-by: Jan Janecek janjanjanx@gmail.com Signed-off-by: Ilia Mirkin imirkin@alum.mit.edu Cc: stable@vger.kernel.org # 3.10+
TBH, not sure why this fixes things, as irq_enabled == false should have caused the vblank wait to not wait, since the condition would be immediately true.
Jan, mind double-checking that this version of the patch fixes things for you? Not 100% sure where you stuck the irq_enabled=true line when you tried it out.
The core drm vblank code bails out if dev->irq_enabled isn't set. So if you opt to not use the drm irq helpers and instead roll your own you still need to set this to allow vblank wait ioctls and related stuff. It's even documented in the drm DocBook ;-) So
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
if you will.
Cheers, Daniel