<dec f='src/src/sys/external/bsd/drm2/dist/include/drm/drmP.h' l='1021' type='int (*)(struct drm_device *, int, int *, struct timeval *, unsigned int)'/>
<offset>1088</offset>
<doc f='src/src/sys/external/bsd/drm2/dist/include/drm/drmP.h' l='991'>/**
	 * Called by \c drm_get_last_vbltimestamp. Should return a precise
	 * timestamp when the most recent VBLANK interval ended or will end.
	 *
	 * Specifically, the timestamp in @vblank_time should correspond as
	 * closely as possible to the time when the first video scanline of
	 * the video frame after the end of VBLANK will start scanning out,
	 * the time immediately after end of the VBLANK interval. If the
	 * @crtc is currently inside VBLANK, this will be a time in the future.
	 * If the @crtc is currently scanning out a frame, this will be the
	 * past start time of the current scanout. This is meant to adhere
	 * to the OpenML OML_sync_control extension specification.
	 *
	 * \param dev dev DRM device handle.
	 * \param crtc crtc for which timestamp should be returned.
	 * \param *max_error Maximum allowable timestamp error in nanoseconds.
	 *                   Implementation should strive to provide timestamp
	 *                   with an error of at most *max_error nanoseconds.
	 *                   Returns true upper bound on error for timestamp.
	 * \param *vblank_time Target location for returned vblank timestamp.
	 * \param flags 0 = Defaults, no special treatment needed.
	 * \param       DRM_CALLED_FROM_VBLIRQ = Function is called from vblank
	 *	        irq handler. Some drivers need to apply some workarounds
	 *              for gpu-specific vblank irq quirks if flag is set.
	 *
	 * \returns
	 * Zero if timestamping isn&apos;t supported in current display mode or a
	 * negative number on failure. A positive status code on success,
	 * which describes how the vblank_time timestamp was computed.
	 */</doc>
<use f='src/src/sys/external/bsd/drm2/dist/drm/drm_irq.c' l='259' u='r' c='drm_vblank_init'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/drm_irq.c' l='753' u='r' c='drm_get_last_vbltimestamp'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/drm_irq.c' l='754' u='r' c='drm_get_last_vbltimestamp'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/i915/i915_irq.c' l='4159' u='w' c='intel_irq_init'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c' l='896' u='w'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/radeon/radeon_drv.c' l='552' u='w'/>
