[Nouveau] [PATCH] drm/nouveau: set irq_enabled manually

Ilia Mirkin imirkin at alum.mit.edu
Thu Jan 30 09:11:30 PST 2014


On Thu, Jan 30, 2014 at 3:33 AM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Thu, Jan 30, 2014 at 1:53 AM, Ilia Mirkin <imirkin at 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 at gmail.com>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> Cc: stable at 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.

> 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 at ffwll.ch>
>
> if you will.
>
> Cheers, Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the Nouveau mailing list