Lines Matching full:vblank

23  *           start of vblank:
26 * generate start of vblank interrupt (gen4+)
29 * | generate frame start interrupt (aka. vblank interrupt) (gmch)
58 * (depending on TRANSCONF settings) after the start of vblank
69 struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[drm_crtc_index(crtc)]; in i915_get_vblank_counter() local
70 const struct drm_display_mode *mode = &vblank->hwmode; in i915_get_vblank_counter()
79 * vblank wait before enabling the TV encoder and so we in i915_get_vblank_counter()
80 * have to enable vblank interrupts while the frame counter in i915_get_vblank_counter()
81 * is still in a working state. However the core vblank code in i915_get_vblank_counter()
86 if (!vblank->max_vblank_count) in i915_get_vblank_counter()
98 /* Start of vblank event occurs at start of hsync */ in i915_get_vblank_counter()
113 * Cook up a vblank counter by also checking the pixel in i915_get_vblank_counter()
114 * counter against vblank start. in i915_get_vblank_counter()
122 struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[drm_crtc_index(crtc)]; in g4x_get_vblank_counter() local
125 if (!vblank->max_vblank_count) in g4x_get_vblank_counter()
134 struct drm_vblank_crtc *vblank = in intel_crtc_scanlines_since_frame_timestamp() local
135 &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)]; in intel_crtc_scanlines_since_frame_timestamp()
136 const struct drm_display_mode *mode = &vblank->hwmode; in intel_crtc_scanlines_since_frame_timestamp()
143 * next vblank just between the PIPE_FRMTMSTMP and TIMESTAMP_CTR in intel_crtc_scanlines_since_frame_timestamp()
180 struct drm_vblank_crtc *vblank = in __intel_get_crtc_scanline_from_timestamp() local
181 &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)]; in __intel_get_crtc_scanline_from_timestamp()
182 const struct drm_display_mode *mode = &vblank->hwmode; in __intel_get_crtc_scanline_from_timestamp()
203 struct drm_vblank_crtc *vblank; in __intel_get_crtc_scanline() local
210 vblank = &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)]; in __intel_get_crtc_scanline()
211 mode = &vblank->hwmode; in __intel_get_crtc_scanline()
224 * read it just before the start of vblank. So try it again in __intel_get_crtc_scanline()
225 * so we don't accidentally end up spanning a vblank frame in __intel_get_crtc_scanline()
229 * bit and return the vblank start value; nor can we use the scanline in __intel_get_crtc_scanline()
309 * Already exiting vblank? If so, shift our position in i915_get_crtc_scanoutpos()
311 * vblank end. This should make the generated timestamp in i915_get_crtc_scanoutpos()
346 * Start of vblank interrupt is triggered at start of hsync, in i915_get_crtc_scanoutpos()
347 * just prior to the first active line of vblank. However we in i915_get_crtc_scanoutpos()
350 * the horizontal active of the first line in vblank, we would in i915_get_crtc_scanoutpos()
366 * While in vblank, position will be negative in i915_get_crtc_scanoutpos()
368 * vblank, position will be positive counting in i915_get_crtc_scanoutpos()
454 * start of vblank, which also occurs at start of hsync (on the in intel_crtc_scanline_offset()
467 * approx. 1/3 of a scanline before start of vblank. Unfortunately in intel_crtc_scanline_offset()
468 * that means we can't tell whether we're in vblank or not while in intel_crtc_scanline_offset()
470 * to 1 so that the vblank timestamps come out correct when we query in intel_crtc_scanline_offset()
471 * the scanline counter from within the vblank interrupt handler. in intel_crtc_scanline_offset()
472 * However if queried just before the start of vblank we'll get an in intel_crtc_scanline_offset()