Lines Matching refs:i915
82 static void frontbuffer_flush(struct drm_i915_private *i915, in frontbuffer_flush() argument
86 struct intel_display *display = &i915->display; in frontbuffer_flush()
89 spin_lock(&i915->display.fb_tracking.lock); in frontbuffer_flush()
90 frontbuffer_bits &= ~i915->display.fb_tracking.busy_bits; in frontbuffer_flush()
91 spin_unlock(&i915->display.fb_tracking.lock); in frontbuffer_flush()
96 trace_intel_frontbuffer_flush(i915, frontbuffer_bits, origin); in frontbuffer_flush()
99 intel_td_flush(i915); in frontbuffer_flush()
100 intel_drrs_flush(i915, frontbuffer_bits); in frontbuffer_flush()
102 intel_fbc_flush(i915, frontbuffer_bits, origin); in frontbuffer_flush()
117 void intel_frontbuffer_flip_prepare(struct drm_i915_private *i915, in intel_frontbuffer_flip_prepare() argument
120 spin_lock(&i915->display.fb_tracking.lock); in intel_frontbuffer_flip_prepare()
121 i915->display.fb_tracking.flip_bits |= frontbuffer_bits; in intel_frontbuffer_flip_prepare()
123 i915->display.fb_tracking.busy_bits &= ~frontbuffer_bits; in intel_frontbuffer_flip_prepare()
124 spin_unlock(&i915->display.fb_tracking.lock); in intel_frontbuffer_flip_prepare()
137 void intel_frontbuffer_flip_complete(struct drm_i915_private *i915, in intel_frontbuffer_flip_complete() argument
140 spin_lock(&i915->display.fb_tracking.lock); in intel_frontbuffer_flip_complete()
142 frontbuffer_bits &= i915->display.fb_tracking.flip_bits; in intel_frontbuffer_flip_complete()
143 i915->display.fb_tracking.flip_bits &= ~frontbuffer_bits; in intel_frontbuffer_flip_complete()
144 spin_unlock(&i915->display.fb_tracking.lock); in intel_frontbuffer_flip_complete()
147 frontbuffer_flush(i915, frontbuffer_bits, ORIGIN_FLIP); in intel_frontbuffer_flip_complete()
161 void intel_frontbuffer_flip(struct drm_i915_private *i915, in intel_frontbuffer_flip() argument
164 spin_lock(&i915->display.fb_tracking.lock); in intel_frontbuffer_flip()
166 i915->display.fb_tracking.busy_bits &= ~frontbuffer_bits; in intel_frontbuffer_flip()
167 spin_unlock(&i915->display.fb_tracking.lock); in intel_frontbuffer_flip()
169 frontbuffer_flush(i915, frontbuffer_bits, ORIGIN_FLIP); in intel_frontbuffer_flip()
176 struct drm_i915_private *i915 = intel_bo_to_i915(front->obj); in __intel_fb_invalidate() local
177 struct intel_display *display = &i915->display; in __intel_fb_invalidate()
180 spin_lock(&i915->display.fb_tracking.lock); in __intel_fb_invalidate()
181 i915->display.fb_tracking.busy_bits |= frontbuffer_bits; in __intel_fb_invalidate()
182 i915->display.fb_tracking.flip_bits &= ~frontbuffer_bits; in __intel_fb_invalidate()
183 spin_unlock(&i915->display.fb_tracking.lock); in __intel_fb_invalidate()
186 trace_intel_frontbuffer_invalidate(i915, frontbuffer_bits, origin); in __intel_fb_invalidate()
190 intel_drrs_invalidate(i915, frontbuffer_bits); in __intel_fb_invalidate()
191 intel_fbc_invalidate(i915, frontbuffer_bits, origin); in __intel_fb_invalidate()
198 struct drm_i915_private *i915 = intel_bo_to_i915(front->obj); in __intel_fb_flush() local
201 spin_lock(&i915->display.fb_tracking.lock); in __intel_fb_flush()
203 frontbuffer_bits &= i915->display.fb_tracking.busy_bits; in __intel_fb_flush()
204 i915->display.fb_tracking.busy_bits &= ~frontbuffer_bits; in __intel_fb_flush()
205 spin_unlock(&i915->display.fb_tracking.lock); in __intel_fb_flush()
209 frontbuffer_flush(i915, frontbuffer_bits, origin); in __intel_fb_flush()
279 struct drm_i915_private *i915 = intel_bo_to_i915(obj); in intel_frontbuffer_get() local
299 spin_lock(&i915->display.fb_tracking.lock); in intel_frontbuffer_get()
301 spin_unlock(&i915->display.fb_tracking.lock); in intel_frontbuffer_get()