Lines Matching refs:plane

45 static int omap_plane_prepare_fb(struct drm_plane *plane,  in omap_plane_prepare_fb()  argument
51 drm_gem_plane_helper_prepare_fb(plane, new_state); in omap_plane_prepare_fb()
56 static void omap_plane_cleanup_fb(struct drm_plane *plane, in omap_plane_cleanup_fb() argument
63 static void omap_plane_atomic_update(struct drm_plane *plane, in omap_plane_atomic_update() argument
66 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_update()
68 plane); in omap_plane_atomic_update()
70 plane); in omap_plane_atomic_update()
90 DBG("[PLANE:%d:%s] no overlay attached", plane->base.id, plane->name); in omap_plane_atomic_update()
95 DBG("%s, crtc=%p fb=%p", plane->name, new_state->crtc, in omap_plane_atomic_update()
144 dev_err(plane->dev->dev, "Failed to setup plane %s\n", in omap_plane_atomic_update()
145 plane->name); in omap_plane_atomic_update()
157 dev_err(plane->dev->dev, "Failed to setup plane right-overlay %s\n", in omap_plane_atomic_update()
158 plane->name); in omap_plane_atomic_update()
168 static void omap_plane_atomic_disable(struct drm_plane *plane, in omap_plane_atomic_disable() argument
171 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_disable()
172 struct omap_plane *omap_plane = to_omap_plane(plane); in omap_plane_atomic_disable()
174 plane); in omap_plane_atomic_disable()
176 plane); in omap_plane_atomic_disable()
187 new_state->zpos = plane->type == DRM_PLANE_TYPE_PRIMARY ? 0 : omap_plane->id; in omap_plane_atomic_disable()
200 static int omap_plane_atomic_check(struct drm_plane *plane, in omap_plane_atomic_check() argument
204 plane); in omap_plane_atomic_check()
206 plane); in omap_plane_atomic_check()
207 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_check()
228 crtc = new_plane_state->crtc ? new_plane_state->crtc : plane->state->crtc; in omap_plane_atomic_check()
249 DBG("%s: visible %d -> %d", plane->name, in omap_plane_atomic_check()
338 ret = omap_overlay_assign(state, plane, caps, fourcc, &new_ovl, in omap_plane_atomic_check()
341 DBG("%s: failed to assign hw_overlay", plane->name); in omap_plane_atomic_check()
354 DBG("plane: %s overlay_id: %d", plane->name, omap_state->overlay->id); in omap_plane_atomic_check()
357 DBG("plane: %s r_overlay_id: %d", plane->name, omap_state->r_overlay->id); in omap_plane_atomic_check()
370 static void omap_plane_destroy(struct drm_plane *plane) in omap_plane_destroy() argument
372 struct omap_plane *omap_plane = to_omap_plane(plane); in omap_plane_destroy()
374 DBG("%s", plane->name); in omap_plane_destroy()
376 drm_plane_cleanup(plane); in omap_plane_destroy()
382 void omap_plane_install_properties(struct drm_plane *plane, in omap_plane_install_properties() argument
385 struct drm_device *dev = plane->dev; in omap_plane_install_properties()
389 if (!plane->rotation_property) in omap_plane_install_properties()
390 drm_plane_create_rotation_property(plane, in omap_plane_install_properties()
397 if (plane->rotation_property && obj != &plane->base) in omap_plane_install_properties()
398 drm_object_attach_property(obj, plane->rotation_property, in omap_plane_install_properties()
405 static void omap_plane_reset(struct drm_plane *plane) in omap_plane_reset() argument
409 if (plane->state) in omap_plane_reset()
410 drm_atomic_helper_plane_destroy_state(plane, plane->state); in omap_plane_reset()
416 __drm_atomic_helper_plane_reset(plane, &omap_state->base); in omap_plane_reset()
420 omap_plane_atomic_duplicate_state(struct drm_plane *plane) in omap_plane_atomic_duplicate_state() argument
424 if (WARN_ON(!plane->state)) in omap_plane_atomic_duplicate_state()
427 current_state = to_omap_plane_state(plane->state); in omap_plane_atomic_duplicate_state()
433 __drm_atomic_helper_plane_duplicate_state(plane, &state->base); in omap_plane_atomic_duplicate_state()
460 static int omap_plane_atomic_set_property(struct drm_plane *plane, in omap_plane_atomic_set_property() argument
465 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_set_property()
475 static int omap_plane_atomic_get_property(struct drm_plane *plane, in omap_plane_atomic_get_property() argument
480 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_get_property()
502 static bool omap_plane_supports_yuv(struct drm_plane *plane) in omap_plane_supports_yuv() argument
504 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_supports_yuv()
505 struct omap_plane *omap_plane = to_omap_plane(plane); in omap_plane_supports_yuv()
525 struct drm_plane *plane; in omap_plane_init() local
548 plane = &omap_plane->base; in omap_plane_init()
550 ret = drm_universal_plane_init(dev, plane, possible_crtcs, in omap_plane_init()
556 drm_plane_helper_add(plane, &omap_plane_helper_funcs); in omap_plane_init()
558 omap_plane_install_properties(plane, &plane->base); in omap_plane_init()
564 if (plane->type == DRM_PLANE_TYPE_PRIMARY) in omap_plane_init()
568 drm_plane_create_zpos_property(plane, zpos, 0, num_planes - 1); in omap_plane_init()
569 drm_plane_create_alpha_property(plane); in omap_plane_init()
570 drm_plane_create_blend_mode_property(plane, BIT(DRM_MODE_BLEND_PREMULTI) | in omap_plane_init()
573 if (omap_plane_supports_yuv(plane)) in omap_plane_init()
574 drm_plane_create_color_properties(plane, in omap_plane_init()
582 return plane; in omap_plane_init()