Lines Matching full:plane
77 &plane_state->uapi.plane->dev->mode_config;
88 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
110 "[PLANE:%d:%s] arbitrary cursor panning not supported\n",
111 plane->base.base.id, plane->base.name);
142 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
149 drm_dbg_kms(display->drm, "[PLANE:%d:%s] cursor cannot be tiled\n",
150 plane->base.base.id, plane->base.name);
165 /* final plane coordinates will be relative to the plane's pipe */
185 i845_cursor_max_stride(struct intel_plane *plane,
192 static unsigned int i845_cursor_min_alignment(struct intel_plane *plane,
231 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
246 "[PLANE:%d:%s] cursor dimension %dx%d not supported\n",
247 plane->base.base.id, plane->base.name,
263 drm_dbg_kms(display->drm, "[PLANE:%d:%s] invalid cursor stride (%u)\n",
264 plane->base.base.id, plane->base.name,
276 struct intel_plane *plane,
280 struct intel_display *display = to_intel_display(plane);
299 if (plane->cursor.base != base ||
300 plane->cursor.size != size ||
301 plane->cursor.cntl != cntl) {
308 plane->cursor.base = base;
309 plane->cursor.size = size;
310 plane->cursor.cntl = cntl;
317 struct intel_plane *plane,
320 i845_cursor_update_arm(dsb, plane, crtc_state, NULL);
323 static bool i845_cursor_get_hw_state(struct intel_plane *plane,
326 struct intel_display *display = to_intel_display(plane);
346 i9xx_cursor_max_stride(struct intel_plane *plane,
350 return plane->base.dev->mode_config.cursor_width * 4;
353 static unsigned int i830_cursor_min_alignment(struct intel_plane *plane,
361 static unsigned int i85x_cursor_min_alignment(struct intel_plane *plane,
368 static unsigned int i9xx_cursor_min_alignment(struct intel_plane *plane,
372 struct intel_display *display = to_intel_display(plane);
475 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
477 enum pipe pipe = plane->pipe;
491 "[PLANE:%d:%s] cursor dimension %dx%d not supported\n",
492 plane->base.base.id, plane->base.name,
504 "[PLANE:%d:%s] invalid cursor stride (%u) (cursor width %d)\n",
505 plane->base.base.id, plane->base.name,
523 "[PLANE:%d:%s] cursor not allowed to straddle the left screen edge\n",
524 plane->base.base.id, plane->base.name);
534 struct intel_plane *plane,
537 struct intel_display *display = to_intel_display(plane);
538 enum pipe pipe = plane->pipe;
548 struct intel_plane *plane,
552 struct intel_display *display = to_intel_display(plane);
555 enum pipe pipe = plane->pipe;
567 struct intel_plane *plane,
571 struct intel_display *display = to_intel_display(plane);
572 enum pipe pipe = plane->pipe;
575 i9xx_cursor_disable_sel_fetch_arm(dsb, plane, crtc_state);
591 wa_16021440873(dsb, plane, crtc_state, plane_state);
593 i9xx_cursor_disable_sel_fetch_arm(dsb, plane, crtc_state);
621 struct intel_plane *plane,
624 struct intel_display *display = to_intel_display(plane->base.dev);
625 enum plane_id plane_id = plane->id;
626 enum pipe pipe = plane->pipe;
654 struct intel_plane *plane,
658 struct intel_display *display = to_intel_display(plane);
659 enum pipe pipe = plane->pipe;
692 * except when the plane is getting enabled at which time
697 skl_write_cursor_wm(dsb, plane, crtc_state);
700 i9xx_cursor_update_sel_fetch_arm(dsb, plane, crtc_state, plane_state);
702 i9xx_cursor_disable_sel_fetch_arm(dsb, plane, crtc_state);
704 if (plane->cursor.base != base ||
705 plane->cursor.size != fbc_ctl ||
706 plane->cursor.cntl != cntl) {
713 plane->cursor.base = base;
714 plane->cursor.size = fbc_ctl;
715 plane->cursor.cntl = cntl;
723 struct intel_plane *plane,
726 i9xx_cursor_update_arm(dsb, plane, crtc_state, NULL);
729 static bool i9xx_cursor_get_hw_state(struct intel_plane *plane,
732 struct intel_display *display = to_intel_display(plane);
743 power_domain = POWER_DOMAIN_PIPE(plane->pipe);
748 val = intel_de_read(display, CURCNTR(display, plane->pipe));
753 *pipe = plane->pipe;
763 struct intel_plane *plane,
766 struct intel_display *display = to_intel_display(plane);
774 struct intel_plane *plane,
777 struct intel_display *display = to_intel_display(plane);
797 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
800 intel_plane_destroy_state(&plane->base, &plane_state->uapi);
878 struct intel_plane *plane;
895 struct intel_plane *plane = to_intel_plane(_plane);
897 struct intel_display *display = to_intel_display(plane);
899 to_intel_plane_state(plane->base.state);
913 * PSR2 plane and transcoder registers can only be updated during
958 j->plane = intel_crtc_get_plane(pipe_crtc, PLANE_CURSOR);
961 j->old_plane_state = to_intel_plane_state(j->plane->base.state);
963 to_intel_plane_state(intel_plane_duplicate_state(&j->plane->base));
978 ret = j->plane->check_plane(j->crtc_state, j->new_plane_state);
980 intel_plane_destroy_state(&j->plane->base,
987 intel_plane_destroy_state(&j->plane->base,
1005 joined_pipe_state[i].plane->frontbuffer_bit);
1009 joined_pipe_state[i].plane->base.state =
1058 intel_plane_update_noarm(NULL, joined_pipe_state[i].plane,
1061 intel_plane_update_arm(NULL, joined_pipe_state[i].plane,
1065 intel_plane_disable_arm(NULL, joined_pipe_state[i].plane,
1105 intel_plane_destroy_state(&joined_pipe_state[i].plane->base,
1113 intel_plane_destroy_state(&joined_pipe_state[i].plane->base,
1120 return drm_atomic_helper_update_plane(&plane->base, &crtc->base, fb,
1135 static void intel_cursor_add_size_hints_property(struct intel_plane *plane)
1137 struct intel_display *display = to_intel_display(plane);
1154 drm_plane_add_size_hints_property(&plane->base, hints, num_hints);