On 07/07/17 12:04 AM, Keith Packard wrote: > Michel Dänzer <michel@xxxxxxxxxxx> 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
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel