Lines Matching defs:iter
259 * @iter: The iterator to initialize.
276 drm_atomic_helper_damage_iter_init(struct drm_atomic_helper_damage_iter *iter,
280 memset(iter, 0, sizeof(*iter));
285 iter->clips = drm_helper_get_plane_damage_clips(state);
286 iter->num_clips = drm_plane_get_damage_clips_count(state);
289 iter->plane_src.x1 = state->src.x1 >> 16;
290 iter->plane_src.y1 = state->src.y1 >> 16;
291 iter->plane_src.x2 = (state->src.x2 >> 16) + !!(state->src.x2 & 0xFFFF);
292 iter->plane_src.y2 = (state->src.y2 >> 16) + !!(state->src.y2 & 0xFFFF);
294 if (!iter->clips || !drm_rect_equals(&state->src, &old_state->src)) {
295 iter->clips = NULL;
296 iter->num_clips = 0;
297 iter->full_update = true;
304 * @iter: The iterator to advance.
319 drm_atomic_helper_damage_iter_next(struct drm_atomic_helper_damage_iter *iter,
324 if (iter->full_update) {
325 *rect = iter->plane_src;
326 iter->full_update = false;
330 while (iter->curr_clip < iter->num_clips) {
331 *rect = iter->clips[iter->curr_clip];
332 iter->curr_clip++;
334 if (drm_rect_intersect(rect, &iter->plane_src)) {
363 struct drm_atomic_helper_damage_iter iter;
372 drm_atomic_helper_damage_iter_init(&iter, old_state, state);
373 drm_atomic_for_each_plane_damage(&iter, &clip) {