Lines Matching full:vblank

27  *           start of vblank:
30 * generate start of vblank interrupt (gen4+)
33 * | generate frame start interrupt (aka. vblank interrupt) (gmch)
62 * (depending on TRANSCONF settings) after the start of vblank
73 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in i915_get_vblank_counter() local
74 const struct drm_display_mode *mode = &vblank->hwmode; in i915_get_vblank_counter()
83 * vblank wait before enabling the TV encoder and so we in i915_get_vblank_counter()
84 * have to enable vblank interrupts while the frame counter in i915_get_vblank_counter()
85 * is still in a working state. However the core vblank code in i915_get_vblank_counter()
90 if (!vblank->max_vblank_count) in i915_get_vblank_counter()
100 /* Start of vblank event occurs at start of hsync */ in i915_get_vblank_counter()
116 * Cook up a vblank counter by also checking the pixel in i915_get_vblank_counter()
117 * counter against vblank start. in i915_get_vblank_counter()
125 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in g4x_get_vblank_counter() local
128 if (!vblank->max_vblank_count) in g4x_get_vblank_counter()
137 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base); in intel_crtc_scanlines_since_frame_timestamp() local
138 const struct drm_display_mode *mode = &vblank->hwmode; in intel_crtc_scanlines_since_frame_timestamp()
145 * next vblank just between the PIPE_FRMTMSTMP and TIMESTAMP_CTR in intel_crtc_scanlines_since_frame_timestamp()
182 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base); in __intel_get_crtc_scanline_from_timestamp() local
183 const struct drm_display_mode *mode = &vblank->hwmode; in __intel_get_crtc_scanline_from_timestamp()
205 * start of vblank, which also occurs at start of hsync (on the in intel_crtc_scanline_offset()
217 * approx. 1/3 of a scanline before start of vblank. Unfortunately in intel_crtc_scanline_offset()
218 * that means we can't tell whether we're in vblank or not while in intel_crtc_scanline_offset()
220 * to 1 so that the vblank timestamps come out correct when we query in intel_crtc_scanline_offset()
221 * the scanline counter from within the vblank interrupt handler. in intel_crtc_scanline_offset()
222 * However if queried just before the start of vblank we'll get an in intel_crtc_scanline_offset()
242 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base); in __intel_get_crtc_scanline() local
243 const struct drm_display_mode *mode = &vblank->hwmode; in __intel_get_crtc_scanline()
259 * read it just before the start of vblank. So try it again in __intel_get_crtc_scanline()
260 * so we don't accidentally end up spanning a vblank frame in __intel_get_crtc_scanline()
264 * bit and return the vblank start value; nor can we use the scanline in __intel_get_crtc_scanline()
354 * Enter vblank critical section, as we will do multiple in i915_get_crtc_scanoutpos()
373 * Already exiting vblank? If so, shift our position in i915_get_crtc_scanoutpos()
375 * vblank end. This should make the generated timestamp in i915_get_crtc_scanoutpos()
410 * Start of vblank interrupt is triggered at start of hsync, in i915_get_crtc_scanoutpos()
411 * just prior to the first active line of vblank. However we in i915_get_crtc_scanoutpos()
414 * the horizontal active of the first line in vblank, we would in i915_get_crtc_scanoutpos()
431 * While in vblank, position will be negative in i915_get_crtc_scanoutpos()
433 * vblank, position will be positive counting in i915_get_crtc_scanoutpos()
650 * undelayed vblank, so with seamless M/N and LRR we must evade in intel_vblank_evade_init()
653 * DSB execution waits for the transcoder's undelayed vblank, in intel_vblank_evade_init()
662 /* must be called with vblank interrupt already enabled! */
705 * increment approx. 1/3 of a scanline before start of vblank. in intel_vblank_evade()
706 * The registers still get latched at start of vblank however. in intel_vblank_evade()
708 * line of vblank (since not the whole line is actually in in intel_vblank_evade()
709 * vblank). And unfortunately we can't use the interrupt to in intel_vblank_evade()