lkml.org 
[lkml]   [2017]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/3] drm: Widen vblank count to 64 bits. Change vblank time precision to ns
From
Date
On 07/07/17 12:04 AM, Keith Packard wrote:
> Michel Dänzer <michel@daenzer.net> writes:
>
>>> @@ -317,6 +317,9 @@ int via_driver_irq_postinstall(struct drm_device *dev)
>>> if (!dev_priv)
>>> return -EINVAL;
>>>
>>> + if (dev->driver->get_vblank_counter)
>>> + dev->max_vblank_count = 0xffffffff;
>>
>> What's the purpose of this? All drivers providing get_vblank_counter
>> should already initialize max_vblank_count correctly.
>
> Yeah, I couldn't prove that this driver did that,

Which driver?

> and as Daniel says, we haven't ever audited the drivers to make sure
> they do.

I don't think that's what he meant, rather that with the change above,
all drivers have to be audited to make sure the added assignment doesn't
clobber an earlier assignment by the driver.


> We have a check to see that they don't set max_vblank_count if they
> don't provide a get function, but I can't find the matching check for
> drivers that do provide a function and aren't setting max_vblank_count.

I don't think that's necessary, see drm_update_vblank_count:

if (dev->max_vblank_count != 0) {
/* trust the hw counter when it's around */
diff = (cur_vblank - vblank->last) & dev->max_vblank_count;
} else [...]

The hardware vblank counter is only used for updating the DRM vblank
counter if dev->max_vblank_count != 0.


--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2017-07-07 03:34    [W:0.195 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site