On Thu, Jan 30, 2014 at 12:11:30PM -0500, Ilia Mirkin wrote:
On Thu, Jan 30, 2014 at 3:33 AM, Daniel Vetter daniel@ffwll.ch wrote:
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
Right. And what I'm unclear on is how does bailing out on vblank wait cause the originally reported issue -- sluggishness. That seems to imply that one is waiting too long rather than not waiting enough.
Hm, that's indeed fairly strange. No idea how this can come about tbh. -Daniel