Lines Matching full:plane

176  * drm_atomic_set_crtc_for_plane - set CRTC for plane
177 * @plane_state: the plane whose incoming state to update
178 * @crtc: CRTC to use for the plane
180 * Changing the assigned CRTC for a plane requires us to grab the lock and state
193 struct drm_plane *plane = plane_state->plane; in drm_atomic_set_crtc_for_plane() local
204 crtc_state->plane_mask &= ~drm_plane_mask(plane); in drm_atomic_set_crtc_for_plane()
214 crtc_state->plane_mask |= drm_plane_mask(plane); in drm_atomic_set_crtc_for_plane()
218 drm_dbg_atomic(plane->dev, in drm_atomic_set_crtc_for_plane()
219 "Link [PLANE:%d:%s] state %p to [CRTC:%d:%s]\n", in drm_atomic_set_crtc_for_plane()
220 plane->base.id, plane->name, plane_state, in drm_atomic_set_crtc_for_plane()
223 drm_dbg_atomic(plane->dev, in drm_atomic_set_crtc_for_plane()
224 "Link [PLANE:%d:%s] state %p to [NOCRTC]\n", in drm_atomic_set_crtc_for_plane()
225 plane->base.id, plane->name, plane_state); in drm_atomic_set_crtc_for_plane()
232 * drm_atomic_set_fb_for_plane - set framebuffer for plane
233 * @plane_state: atomic state object for the plane
234 * @fb: fb to use for the plane
236 * Changing the assigned framebuffer for a plane requires us to grab a reference
245 struct drm_plane *plane = plane_state->plane; in drm_atomic_set_fb_for_plane() local
248 drm_dbg_atomic(plane->dev, in drm_atomic_set_fb_for_plane()
249 "Set [FB:%d] for [PLANE:%d:%s] state %p\n", in drm_atomic_set_fb_for_plane()
250 fb->base.id, plane->base.id, plane->name, in drm_atomic_set_fb_for_plane()
253 drm_dbg_atomic(plane->dev, in drm_atomic_set_fb_for_plane()
254 "Set [NOFB] for [PLANE:%d:%s] state %p\n", in drm_atomic_set_fb_for_plane()
255 plane->base.id, plane->name, plane_state); in drm_atomic_set_fb_for_plane()
262 * drm_atomic_set_colorop_for_plane - set colorop for plane
263 * @plane_state: atomic state object for the plane
264 * @colorop: colorop to use for the plane
266 * Helper function to select the color pipeline on a plane by setting
273 struct drm_plane *plane = plane_state->plane; in drm_atomic_set_colorop_for_plane() local
276 drm_dbg_atomic(plane->dev, in drm_atomic_set_colorop_for_plane()
277 "Set [COLOROP:%d] for [PLANE:%d:%s] state %p\n", in drm_atomic_set_colorop_for_plane()
278 colorop->base.id, plane->base.id, plane->name, in drm_atomic_set_colorop_for_plane()
281 drm_dbg_atomic(plane->dev, in drm_atomic_set_colorop_for_plane()
282 "Set [NOCOLOROP] for [PLANE:%d:%s] state %p\n", in drm_atomic_set_colorop_for_plane()
283 plane->base.id, plane->name, plane_state); in drm_atomic_set_colorop_for_plane()
505 static int drm_atomic_plane_set_property(struct drm_plane *plane, in drm_atomic_plane_set_property() argument
509 struct drm_device *dev = plane->dev; in drm_atomic_plane_set_property()
558 } else if (property == plane->alpha_property) { in drm_atomic_plane_set_property()
560 } else if (property == plane->blend_mode_property) { in drm_atomic_plane_set_property()
562 } else if (property == plane->rotation_property) { in drm_atomic_plane_set_property()
564 drm_dbg_atomic(plane->dev, in drm_atomic_plane_set_property()
565 "[PLANE:%d:%s] bad rotation bitmask: 0x%llx\n", in drm_atomic_plane_set_property()
566 plane->base.id, plane->name, val); in drm_atomic_plane_set_property()
570 } else if (property == plane->zpos_property) { in drm_atomic_plane_set_property()
572 } else if (property == plane->color_encoding_property) { in drm_atomic_plane_set_property()
574 } else if (property == plane->color_range_property) { in drm_atomic_plane_set_property()
576 } else if (property == plane->color_pipeline_property) { in drm_atomic_plane_set_property()
594 } else if (property == plane->scaling_filter_property) { in drm_atomic_plane_set_property()
596 } else if (plane->funcs->atomic_set_property) { in drm_atomic_plane_set_property()
597 return plane->funcs->atomic_set_property(plane, state, in drm_atomic_plane_set_property()
599 } else if (property == plane->hotspot_x_property) { in drm_atomic_plane_set_property()
600 if (plane->type != DRM_PLANE_TYPE_CURSOR) { in drm_atomic_plane_set_property()
601 drm_dbg_atomic(plane->dev, in drm_atomic_plane_set_property()
602 "[PLANE:%d:%s] is not a cursor plane: 0x%llx\n", in drm_atomic_plane_set_property()
603 plane->base.id, plane->name, val); in drm_atomic_plane_set_property()
607 } else if (property == plane->hotspot_y_property) { in drm_atomic_plane_set_property()
608 if (plane->type != DRM_PLANE_TYPE_CURSOR) { in drm_atomic_plane_set_property()
609 drm_dbg_atomic(plane->dev, in drm_atomic_plane_set_property()
610 "[PLANE:%d:%s] is not a cursor plane: 0x%llx\n", in drm_atomic_plane_set_property()
611 plane->base.id, plane->name, val); in drm_atomic_plane_set_property()
616 drm_dbg_atomic(plane->dev, in drm_atomic_plane_set_property()
617 "[PLANE:%d:%s] unknown property [PROP:%d:%s]\n", in drm_atomic_plane_set_property()
618 plane->base.id, plane->name, in drm_atomic_plane_set_property()
627 drm_atomic_plane_get_property(struct drm_plane *plane, in drm_atomic_plane_get_property() argument
631 struct drm_device *dev = plane->dev; in drm_atomic_plane_get_property()
656 } else if (property == plane->alpha_property) { in drm_atomic_plane_get_property()
658 } else if (property == plane->blend_mode_property) { in drm_atomic_plane_get_property()
660 } else if (property == plane->rotation_property) { in drm_atomic_plane_get_property()
662 } else if (property == plane->zpos_property) { in drm_atomic_plane_get_property()
664 } else if (property == plane->color_encoding_property) { in drm_atomic_plane_get_property()
666 } else if (property == plane->color_range_property) { in drm_atomic_plane_get_property()
668 } else if (property == plane->color_pipeline_property) { in drm_atomic_plane_get_property()
673 } else if (property == plane->scaling_filter_property) { in drm_atomic_plane_get_property()
675 } else if (plane->funcs->atomic_get_property) { in drm_atomic_plane_get_property()
676 return plane->funcs->atomic_get_property(plane, state, property, val); in drm_atomic_plane_get_property()
677 } else if (property == plane->hotspot_x_property) { in drm_atomic_plane_get_property()
679 } else if (property == plane->hotspot_y_property) { in drm_atomic_plane_get_property()
683 "[PLANE:%d:%s] unknown property [PROP:%d:%s]\n", in drm_atomic_plane_get_property()
684 plane->base.id, plane->name, in drm_atomic_plane_get_property()
1041 struct drm_plane *plane = obj_to_plane(obj); in drm_atomic_get_property() local
1043 WARN_ON(!drm_modeset_is_locked(&plane->mutex)); in drm_atomic_get_property()
1044 ret = drm_atomic_plane_get_property(plane, in drm_atomic_get_property()
1045 plane->state, property, val); in drm_atomic_get_property()
1051 if (colorop->plane) in drm_atomic_get_property()
1052 WARN_ON(!drm_modeset_is_locked(&colorop->plane->mutex)); in drm_atomic_get_property()
1213 struct drm_plane *plane = obj_to_plane(obj); in drm_atomic_set_property() local
1215 struct drm_mode_config *config = &plane->dev->mode_config; in drm_atomic_set_property()
1216 const struct drm_plane_helper_funcs *plane_funcs = plane->helper_private; in drm_atomic_set_property()
1218 plane_state = drm_atomic_get_plane_state(state, plane); in drm_atomic_set_property()
1226 ret = drm_atomic_plane_get_property(plane, plane_state, in drm_atomic_set_property()
1237 if (ret && plane->type != DRM_PLANE_TYPE_PRIMARY) { in drm_atomic_set_property()
1238 /* ask the driver if this non-primary plane is supported */ in drm_atomic_set_property()
1240 ret = plane_funcs->atomic_async_check(plane, state, true); in drm_atomic_set_property()
1244 "[PLANE:%d:%s] does not support async flips\n", in drm_atomic_set_property()
1245 obj->id, plane->name); in drm_atomic_set_property()
1251 ret = drm_atomic_plane_set_property(plane, in drm_atomic_set_property()
1287 * IN_FENCE_FD on each DRM Plane to send fences to the kernel and
1300 * the plane on the screen. The fence can be either a normal fence or a