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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2014-01-30, Ilia Mirkin <imirkin@xxxxxxxxxxxx>:
> On Thu, Jan 30, 2014 at 3:33 AM, Daniel Vetter <daniel@xxxxxxxx> wrote:
>> On Thu, Jan 30, 2014 at 1:53 AM, Ilia Mirkin <imirkin@xxxxxxxxxxxx>
>> 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@xxxxxxxxx>
>>> Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx>
>>> Cc: stable@xxxxxxxxxxxxxxx # 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@xxxxxxxx>
>>
>> if you will.
>>
>> Cheers, Daniel
>> --
>> Daniel Vetter
>> Software Engineer, Intel Corporation
>> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>

Now I have noticed one more thing:

If you disable GLXVblank globally in xorg.conf in the non-fixed
version, the compton is not able to vsync at all. If you enable it
globally, compton probably still can't use DRM_IOCTL_WAIT_VBLANK
properly, but is forced to vsync using some other method (i guess?)
resulting in "slugishness".
With the fixed version the compton achieves vsync with great
responsiveness using DRM_IOCTL_WAIT_VBLANK, regardless of the
GLXVblank setting in xorg.conf.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux