Lines Matching refs:plane

48 				    struct intel_plane *plane)  in intel_plane_state_reset()  argument
52 __drm_atomic_helper_plane_state_reset(&plane_state->uapi, &plane->base); in intel_plane_state_reset()
60 struct intel_plane *plane; in intel_plane_alloc() local
62 plane = kzalloc(sizeof(*plane), GFP_KERNEL); in intel_plane_alloc()
63 if (!plane) in intel_plane_alloc()
68 kfree(plane); in intel_plane_alloc()
72 intel_plane_state_reset(plane_state, plane); in intel_plane_alloc()
74 plane->base.state = &plane_state->uapi; in intel_plane_alloc()
76 return plane; in intel_plane_alloc()
79 void intel_plane_free(struct intel_plane *plane) in intel_plane_free() argument
81 intel_plane_destroy_state(&plane->base, plane->base.state); in intel_plane_free()
82 kfree(plane); in intel_plane_free()
95 intel_plane_duplicate_state(struct drm_plane *plane) in intel_plane_duplicate_state() argument
99 intel_state = to_intel_plane_state(plane->state); in intel_plane_duplicate_state()
105 __drm_atomic_helper_plane_duplicate_state(plane, &intel_state->uapi); in intel_plane_duplicate_state()
127 intel_plane_destroy_state(struct drm_plane *plane, in intel_plane_destroy_state() argument
132 drm_WARN_ON(plane->dev, plane_state->ggtt_vma); in intel_plane_destroy_state()
133 drm_WARN_ON(plane->dev, plane_state->dpt_vma); in intel_plane_destroy_state()
207 struct intel_plane *plane, in intel_plane_calc_min_cdclk() argument
210 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in intel_plane_calc_min_cdclk()
212 intel_atomic_get_new_plane_state(state, plane); in intel_plane_calc_min_cdclk()
218 if (!plane_state->uapi.visible || !plane->min_cdclk) in intel_plane_calc_min_cdclk()
224 new_crtc_state->min_cdclk[plane->id] = in intel_plane_calc_min_cdclk()
225 plane->min_cdclk(new_crtc_state, plane_state); in intel_plane_calc_min_cdclk()
235 if (new_crtc_state->min_cdclk[plane->id] <= in intel_plane_calc_min_cdclk()
236 old_crtc_state->min_cdclk[plane->id]) in intel_plane_calc_min_cdclk()
251 if (new_crtc_state->min_cdclk[plane->id] <= in intel_plane_calc_min_cdclk()
257 plane->base.base.id, plane->base.name, in intel_plane_calc_min_cdclk()
258 new_crtc_state->min_cdclk[plane->id], in intel_plane_calc_min_cdclk()
319 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_plane_set_invisible() local
321 crtc_state->active_planes &= ~BIT(plane->id); in intel_plane_set_invisible()
322 crtc_state->nv12_planes &= ~BIT(plane->id); in intel_plane_set_invisible()
323 crtc_state->c8_planes &= ~BIT(plane->id); in intel_plane_set_invisible()
324 crtc_state->data_rate[plane->id] = 0; in intel_plane_set_invisible()
325 crtc_state->min_cdclk[plane->id] = 0; in intel_plane_set_invisible()
335 struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane); in intel_plane_atomic_check_with_state() local
340 new_crtc_state->enabled_planes &= ~BIT(plane->id); in intel_plane_atomic_check_with_state()
345 ret = plane->check_plane(new_crtc_state, new_plane_state); in intel_plane_atomic_check_with_state()
350 new_crtc_state->enabled_planes |= BIT(plane->id); in intel_plane_atomic_check_with_state()
354 new_crtc_state->active_planes |= BIT(plane->id); in intel_plane_atomic_check_with_state()
358 new_crtc_state->nv12_planes |= BIT(plane->id); in intel_plane_atomic_check_with_state()
362 new_crtc_state->c8_planes |= BIT(plane->id); in intel_plane_atomic_check_with_state()
365 new_crtc_state->update_planes |= BIT(plane->id); in intel_plane_atomic_check_with_state()
367 new_crtc_state->data_rate[plane->id] = in intel_plane_atomic_check_with_state()
378 struct intel_plane *plane; in intel_crtc_get_plane() local
380 for_each_intel_plane_on_crtc(&i915->drm, crtc, plane) { in intel_crtc_get_plane()
381 if (plane->id == plane_id) in intel_crtc_get_plane()
382 return plane; in intel_crtc_get_plane()
389 struct intel_plane *plane) in intel_plane_atomic_check() argument
393 intel_atomic_get_new_plane_state(state, plane); in intel_plane_atomic_check()
395 intel_atomic_get_old_plane_state(state, plane); in intel_plane_atomic_check()
397 struct intel_crtc *crtc = intel_get_crtc_for_pipe(i915, plane->pipe); in intel_plane_atomic_check()
406 plane->id); in intel_plane_atomic_check()
438 struct intel_plane *plane; in skl_next_plane_to_commit() local
444 for_each_new_intel_plane_in_state(state, plane, plane_state, i) { in skl_next_plane_to_commit()
445 enum plane_id plane_id = plane->id; in skl_next_plane_to_commit()
447 if (crtc->pipe != plane->pipe || in skl_next_plane_to_commit()
463 return plane; in skl_next_plane_to_commit()
472 void intel_update_plane(struct intel_plane *plane, in intel_update_plane() argument
478 trace_intel_update_plane(&plane->base, crtc); in intel_update_plane()
480 if (crtc_state->uapi.async_flip && plane->async_flip) in intel_update_plane()
481 plane->async_flip(plane, crtc_state, plane_state, true); in intel_update_plane()
483 plane->update_plane(plane, crtc_state, plane_state); in intel_update_plane()
486 void intel_disable_plane(struct intel_plane *plane, in intel_disable_plane() argument
491 trace_intel_disable_plane(&plane->base, crtc); in intel_disable_plane()
492 plane->disable_plane(plane, crtc_state); in intel_disable_plane()
505 struct intel_plane *plane; in skl_update_planes_on_crtc() local
512 while ((plane = skl_next_plane_to_commit(state, crtc, in skl_update_planes_on_crtc()
516 intel_atomic_get_new_plane_state(state, plane); in skl_update_planes_on_crtc()
520 intel_update_plane(plane, new_crtc_state, new_plane_state); in skl_update_planes_on_crtc()
522 intel_disable_plane(plane, new_crtc_state); in skl_update_planes_on_crtc()
534 struct intel_plane *plane; in i9xx_update_planes_on_crtc() local
537 for_each_new_intel_plane_in_state(state, plane, new_plane_state, i) { in i9xx_update_planes_on_crtc()
538 if (crtc->pipe != plane->pipe || in i9xx_update_planes_on_crtc()
539 !(update_mask & BIT(plane->id))) in i9xx_update_planes_on_crtc()
543 intel_update_plane(plane, new_crtc_state, new_plane_state); in i9xx_update_planes_on_crtc()
545 intel_disable_plane(plane, new_crtc_state); in i9xx_update_planes_on_crtc()
681 struct intel_plane *plane = to_intel_plane(_plane); in intel_prepare_plane_fb() local
686 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in intel_prepare_plane_fb()
688 intel_atomic_get_old_plane_state(state, plane); in intel_prepare_plane_fb()
791 intel_cleanup_plane_fb(struct drm_plane *plane, in intel_cleanup_plane_fb() argument
798 struct drm_i915_private *dev_priv = to_i915(plane->dev); in intel_cleanup_plane_fb()
818 void intel_plane_helper_add(struct intel_plane *plane) in intel_plane_helper_add() argument
820 drm_plane_helper_add(&plane->base, &intel_plane_helper_funcs); in intel_plane_helper_add()