Lines Matching refs:plane

19 static void tegra_plane_destroy(struct drm_plane *plane)  in tegra_plane_destroy()  argument
21 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_destroy()
23 drm_plane_cleanup(plane); in tegra_plane_destroy()
27 static void tegra_plane_reset(struct drm_plane *plane) in tegra_plane_reset() argument
29 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_reset()
33 if (plane->state) in tegra_plane_reset()
34 __drm_atomic_helper_plane_destroy_state(plane->state); in tegra_plane_reset()
36 kfree(plane->state); in tegra_plane_reset()
37 plane->state = NULL; in tegra_plane_reset()
41 plane->state = &state->base; in tegra_plane_reset()
42 plane->state->plane = plane; in tegra_plane_reset()
43 plane->state->zpos = p->index; in tegra_plane_reset()
44 plane->state->normalized_zpos = p->index; in tegra_plane_reset()
52 tegra_plane_atomic_duplicate_state(struct drm_plane *plane) in tegra_plane_atomic_duplicate_state() argument
54 struct tegra_plane_state *state = to_tegra_plane_state(plane->state); in tegra_plane_atomic_duplicate_state()
62 __drm_atomic_helper_plane_duplicate_state(plane, &copy->base); in tegra_plane_atomic_duplicate_state()
84 static void tegra_plane_atomic_destroy_state(struct drm_plane *plane, in tegra_plane_atomic_destroy_state() argument
91 static bool tegra_plane_supports_sector_layout(struct drm_plane *plane) in tegra_plane_supports_sector_layout() argument
95 drm_for_each_crtc(crtc, plane->dev) { in tegra_plane_supports_sector_layout()
96 if (plane->possible_crtcs & drm_crtc_mask(crtc)) { in tegra_plane_supports_sector_layout()
107 static bool tegra_plane_format_mod_supported(struct drm_plane *plane, in tegra_plane_format_mod_supported() argument
119 if (!tegra_plane_supports_sector_layout(plane)) in tegra_plane_format_mod_supported()
200 int tegra_plane_prepare_fb(struct drm_plane *plane, in tegra_plane_prepare_fb() argument
209 err = drm_gem_plane_helper_prepare_fb(plane, state); in tegra_plane_prepare_fb()
216 void tegra_plane_cleanup_fb(struct drm_plane *plane, in tegra_plane_cleanup_fb() argument
297 int tegra_plane_state_add(struct tegra_plane *plane, in tegra_plane_state_add() argument
321 tegra->planes |= WIN_A_ACT_REQ << plane->index; in tegra_plane_state_add()
621 struct drm_plane *plane; in tegra_plane_check_transparency() local
631 drm_for_each_plane(plane, tegra->base.dev) { in tegra_plane_check_transparency()
632 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_check_transparency()
639 plane); in tegra_plane_check_transparency()
647 static unsigned int tegra_plane_get_overlap_index(struct tegra_plane *plane, in tegra_plane_get_overlap_index() argument
652 WARN_ON(plane == other); in tegra_plane_get_overlap_index()
655 if (i == plane->index) in tegra_plane_get_overlap_index()
671 struct drm_plane *plane; in tegra_plane_update_transparency() local
674 for_each_new_plane_in_state(state->base.state, plane, new, i) { in tegra_plane_update_transparency()
675 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_update_transparency()
710 struct drm_plane *plane; in tegra_plane_setup_transparency() local
726 drm_for_each_plane(plane, tegra->base.dev) { in tegra_plane_setup_transparency()
727 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_setup_transparency()
733 new = drm_atomic_get_new_plane_state(state->base.state, plane); in tegra_plane_setup_transparency()
767 int tegra_plane_interconnect_init(struct tegra_plane *plane) in tegra_plane_interconnect_init() argument
769 const char *icc_name = tegra_plane_icc_names[plane->index]; in tegra_plane_interconnect_init()
770 struct device *dev = plane->dc->dev; in tegra_plane_interconnect_init()
771 struct tegra_dc *dc = plane->dc; in tegra_plane_interconnect_init()
774 if (WARN_ON(plane->index >= TEGRA_DC_LEGACY_PLANES_NUM) || in tegra_plane_interconnect_init()
775 WARN_ON(!tegra_plane_icc_names[plane->index])) in tegra_plane_interconnect_init()
778 plane->icc_mem = devm_of_icc_get(dev, icc_name); in tegra_plane_interconnect_init()
779 err = PTR_ERR_OR_ZERO(plane->icc_mem); in tegra_plane_interconnect_init()
787 if (plane->index == 1 && dc->soc->has_win_b_vfilter_mem_client) { in tegra_plane_interconnect_init()
788 plane->icc_mem_vfilter = devm_of_icc_get(dev, "winb-vfilter"); in tegra_plane_interconnect_init()
789 err = PTR_ERR_OR_ZERO(plane->icc_mem_vfilter); in tegra_plane_interconnect_init()