Lines Matching full:plane

67 static unsigned int check_pixel_format(struct drm_plane *plane, u32 format)  in check_pixel_format()  argument
70 struct kmb_plane *kmb_plane = to_kmb_plane(plane); in check_pixel_format()
75 kmb = to_kmb(plane->dev); in check_pixel_format()
78 * plane configuration is not supported. in check_pixel_format()
81 drm_dbg(&kmb->drm, "Cannot change format after initial plane configuration"); in check_pixel_format()
84 for (i = 0; i < plane->format_count; i++) { in check_pixel_format()
85 if (plane->format_types[i] == format) in check_pixel_format()
91 static int kmb_plane_atomic_check(struct drm_plane *plane, in kmb_plane_atomic_check() argument
95 plane); in kmb_plane_atomic_check()
97 struct kmb_plane *kmb_plane = to_kmb_plane(plane); in kmb_plane_atomic_check()
105 kmb = to_kmb(plane->dev); in kmb_plane_atomic_check()
111 ret = check_pixel_format(plane, fb->format->format); in kmb_plane_atomic_check()
121 /* Due to HW limitations, changing plane height or width after in kmb_plane_atomic_check()
122 * initial plane configuration is not supported. in kmb_plane_atomic_check()
127 drm_dbg(&kmb->drm, "Cannot change plane height or width after initial configuration"); in kmb_plane_atomic_check()
130 can_position = (plane->type == DRM_PLANE_TYPE_OVERLAY); in kmb_plane_atomic_check()
141 static void kmb_plane_atomic_disable(struct drm_plane *plane, in kmb_plane_atomic_disable() argument
144 struct kmb_plane *kmb_plane = to_kmb_plane(plane); in kmb_plane_atomic_disable()
148 kmb = to_kmb(plane->dev); in kmb_plane_atomic_disable()
341 static void kmb_plane_atomic_update(struct drm_plane *plane, in kmb_plane_atomic_update() argument
345 plane); in kmb_plane_atomic_update()
347 plane); in kmb_plane_atomic_update()
362 if (!plane || !new_plane_state || !old_plane_state) in kmb_plane_atomic_update()
370 kmb_plane = to_kmb_plane(plane); in kmb_plane_atomic_update()
372 kmb = to_kmb(plane->dev); in kmb_plane_atomic_update()
467 kmb_plane_set_alpha(kmb, plane->state, plane_id, &val); in kmb_plane_atomic_update()
552 void kmb_plane_destroy(struct drm_plane *plane) in kmb_plane_destroy() argument
554 struct kmb_plane *kmb_plane = to_kmb_plane(plane); in kmb_plane_destroy()
556 drm_plane_cleanup(plane); in kmb_plane_destroy()
572 struct kmb_plane *plane = NULL; in kmb_plane_init() local
584 plane = drmm_kzalloc(drm, sizeof(*plane), GFP_KERNEL); in kmb_plane_init()
586 if (!plane) { in kmb_plane_init()
587 drm_err(drm, "Failed to allocate plane\n"); in kmb_plane_init()
601 ret = drm_universal_plane_init(drm, &plane->base_plane, in kmb_plane_init()
604 NULL, plane_type, "plane %d", i); in kmb_plane_init()
613 drm_plane_create_alpha_property(&plane->base_plane); in kmb_plane_init()
615 drm_plane_create_blend_mode_property(&plane->base_plane, in kmb_plane_init()
618 drm_plane_create_zpos_immutable_property(&plane->base_plane, i); in kmb_plane_init()
620 drm_plane_helper_add(&plane->base_plane, in kmb_plane_init()
624 primary = plane; in kmb_plane_init()
625 kmb->plane = plane; in kmb_plane_init()
629 plane->id = i; in kmb_plane_init()
639 drmm_kfree(drm, plane); in kmb_plane_init()