Lines Matching refs:iter
222 drm_atomic_helper_damage_iter_init(struct drm_atomic_helper_damage_iter *iter, in drm_atomic_helper_damage_iter_init() argument
226 memset(iter, 0, sizeof(*iter)); in drm_atomic_helper_damage_iter_init()
231 iter->clips = (struct drm_rect *)drm_plane_get_damage_clips(state); in drm_atomic_helper_damage_iter_init()
232 iter->num_clips = drm_plane_get_damage_clips_count(state); in drm_atomic_helper_damage_iter_init()
235 iter->plane_src.x1 = state->src.x1 >> 16; in drm_atomic_helper_damage_iter_init()
236 iter->plane_src.y1 = state->src.y1 >> 16; in drm_atomic_helper_damage_iter_init()
237 iter->plane_src.x2 = (state->src.x2 >> 16) + !!(state->src.x2 & 0xFFFF); in drm_atomic_helper_damage_iter_init()
238 iter->plane_src.y2 = (state->src.y2 >> 16) + !!(state->src.y2 & 0xFFFF); in drm_atomic_helper_damage_iter_init()
240 if (!iter->clips || !drm_rect_equals(&state->src, &old_state->src)) { in drm_atomic_helper_damage_iter_init()
241 iter->clips = NULL; in drm_atomic_helper_damage_iter_init()
242 iter->num_clips = 0; in drm_atomic_helper_damage_iter_init()
243 iter->full_update = true; in drm_atomic_helper_damage_iter_init()
265 drm_atomic_helper_damage_iter_next(struct drm_atomic_helper_damage_iter *iter, in drm_atomic_helper_damage_iter_next() argument
270 if (iter->full_update) { in drm_atomic_helper_damage_iter_next()
271 *rect = iter->plane_src; in drm_atomic_helper_damage_iter_next()
272 iter->full_update = false; in drm_atomic_helper_damage_iter_next()
276 while (iter->curr_clip < iter->num_clips) { in drm_atomic_helper_damage_iter_next()
277 *rect = iter->clips[iter->curr_clip]; in drm_atomic_helper_damage_iter_next()
278 iter->curr_clip++; in drm_atomic_helper_damage_iter_next()
280 if (drm_rect_intersect(rect, &iter->plane_src)) { in drm_atomic_helper_damage_iter_next()
309 struct drm_atomic_helper_damage_iter iter; in drm_atomic_helper_damage_merged() local
318 drm_atomic_helper_damage_iter_init(&iter, old_state, state); in drm_atomic_helper_damage_merged()
319 drm_atomic_for_each_plane_damage(&iter, &clip) { in drm_atomic_helper_damage_merged()