Lines Matching full:plane
84 &plane_state->uapi.plane->dev->mode_config; in intel_cursor_size_ok()
95 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_cursor_check_surface() local
117 "[PLANE:%d:%s] arbitrary cursor panning not supported\n", in intel_cursor_check_surface()
118 plane->base.base.id, plane->base.name); in intel_cursor_check_surface()
149 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_check_cursor() local
156 drm_dbg_kms(display->drm, "[PLANE:%d:%s] cursor cannot be tiled\n", in intel_check_cursor()
157 plane->base.base.id, plane->base.name); in intel_check_cursor()
172 /* final plane coordinates will be relative to the plane's pipe */ in intel_check_cursor()
192 i845_cursor_max_stride(struct intel_plane *plane, in i845_cursor_max_stride() argument
199 static unsigned int i845_cursor_min_alignment(struct intel_plane *plane, in i845_cursor_min_alignment() argument
239 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in i845_check_cursor() local
254 "[PLANE:%d:%s] cursor dimension %dx%d not supported\n", in i845_check_cursor()
255 plane->base.base.id, plane->base.name, in i845_check_cursor()
271 drm_dbg_kms(display->drm, "[PLANE:%d:%s] invalid cursor stride (%u)\n", in i845_check_cursor()
272 plane->base.base.id, plane->base.name, in i845_check_cursor()
284 struct intel_plane *plane, in i845_cursor_update_arm() argument
288 struct intel_display *display = to_intel_display(plane); in i845_cursor_update_arm()
307 if (plane->cursor.base != base || in i845_cursor_update_arm()
308 plane->cursor.size != size || in i845_cursor_update_arm()
309 plane->cursor.cntl != cntl) { in i845_cursor_update_arm()
316 plane->cursor.base = base; in i845_cursor_update_arm()
317 plane->cursor.size = size; in i845_cursor_update_arm()
318 plane->cursor.cntl = cntl; in i845_cursor_update_arm()
325 struct intel_plane *plane, in i845_cursor_disable_arm() argument
328 i845_cursor_update_arm(dsb, plane, crtc_state, NULL); in i845_cursor_disable_arm()
331 static bool i845_cursor_get_hw_state(struct intel_plane *plane, in i845_cursor_get_hw_state() argument
334 struct intel_display *display = to_intel_display(plane); in i845_cursor_get_hw_state()
354 i9xx_cursor_max_stride(struct intel_plane *plane, in i9xx_cursor_max_stride() argument
358 return plane->base.dev->mode_config.cursor_width * 4; in i9xx_cursor_max_stride()
361 static unsigned int i830_cursor_min_alignment(struct intel_plane *plane, in i830_cursor_min_alignment() argument
369 static unsigned int i85x_cursor_min_alignment(struct intel_plane *plane, in i85x_cursor_min_alignment() argument
376 static unsigned int i9xx_cursor_min_alignment(struct intel_plane *plane, in i9xx_cursor_min_alignment() argument
380 struct intel_display *display = to_intel_display(plane); in i9xx_cursor_min_alignment()
484 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in i9xx_check_cursor() local
486 enum pipe pipe = plane->pipe; in i9xx_check_cursor()
500 "[PLANE:%d:%s] cursor dimension %dx%d not supported\n", in i9xx_check_cursor()
501 plane->base.base.id, plane->base.name, in i9xx_check_cursor()
513 "[PLANE:%d:%s] invalid cursor stride (%u) (cursor width %d)\n", in i9xx_check_cursor()
514 plane->base.base.id, plane->base.name, in i9xx_check_cursor()
532 "[PLANE:%d:%s] cursor not allowed to straddle the left screen edge\n", in i9xx_check_cursor()
533 plane->base.base.id, plane->base.name); in i9xx_check_cursor()
543 struct intel_plane *plane, in i9xx_cursor_disable_sel_fetch_arm() argument
546 struct intel_display *display = to_intel_display(plane); in i9xx_cursor_disable_sel_fetch_arm()
547 enum pipe pipe = plane->pipe; in i9xx_cursor_disable_sel_fetch_arm()
556 struct intel_plane *plane, in wa_16021440873() argument
560 struct intel_display *display = to_intel_display(plane); in wa_16021440873()
563 enum pipe pipe = plane->pipe; in wa_16021440873()
575 struct intel_plane *plane, in i9xx_cursor_update_sel_fetch_arm() argument
579 struct intel_display *display = to_intel_display(plane); in i9xx_cursor_update_sel_fetch_arm()
580 enum pipe pipe = plane->pipe; in i9xx_cursor_update_sel_fetch_arm()
597 wa_16021440873(dsb, plane, crtc_state, plane_state); in i9xx_cursor_update_sel_fetch_arm()
599 i9xx_cursor_disable_sel_fetch_arm(dsb, plane, crtc_state); in i9xx_cursor_update_sel_fetch_arm()
627 struct intel_plane *plane, in skl_write_cursor_wm() argument
630 struct intel_display *display = to_intel_display(plane->base.dev); in skl_write_cursor_wm()
631 enum plane_id plane_id = plane->id; in skl_write_cursor_wm()
632 enum pipe pipe = plane->pipe; in skl_write_cursor_wm()
660 struct intel_plane *plane, in i9xx_cursor_update_arm() argument
664 struct intel_display *display = to_intel_display(plane); in i9xx_cursor_update_arm()
665 enum pipe pipe = plane->pipe; in i9xx_cursor_update_arm()
698 * except when the plane is getting enabled at which time in i9xx_cursor_update_arm()
703 skl_write_cursor_wm(dsb, plane, crtc_state); in i9xx_cursor_update_arm()
706 i9xx_cursor_update_sel_fetch_arm(dsb, plane, crtc_state, plane_state); in i9xx_cursor_update_arm()
708 i9xx_cursor_disable_sel_fetch_arm(dsb, plane, crtc_state); in i9xx_cursor_update_arm()
710 if (plane->cursor.base != base || in i9xx_cursor_update_arm()
711 plane->cursor.size != fbc_ctl || in i9xx_cursor_update_arm()
712 plane->cursor.cntl != cntl) { in i9xx_cursor_update_arm()
719 plane->cursor.base = base; in i9xx_cursor_update_arm()
720 plane->cursor.size = fbc_ctl; in i9xx_cursor_update_arm()
721 plane->cursor.cntl = cntl; in i9xx_cursor_update_arm()
729 struct intel_plane *plane, in i9xx_cursor_disable_arm() argument
732 i9xx_cursor_update_arm(dsb, plane, crtc_state, NULL); in i9xx_cursor_disable_arm()
735 static bool i9xx_cursor_get_hw_state(struct intel_plane *plane, in i9xx_cursor_get_hw_state() argument
738 struct intel_display *display = to_intel_display(plane); in i9xx_cursor_get_hw_state()
749 power_domain = POWER_DOMAIN_PIPE(plane->pipe); in i9xx_cursor_get_hw_state()
754 val = intel_de_read(display, CURCNTR(display, plane->pipe)); in i9xx_cursor_get_hw_state()
759 *pipe = plane->pipe; in i9xx_cursor_get_hw_state()
769 struct intel_plane *plane, in g4x_cursor_capture_error() argument
772 struct intel_display *display = to_intel_display(plane); in g4x_cursor_capture_error()
780 struct intel_plane *plane, in i9xx_cursor_capture_error() argument
783 struct intel_display *display = to_intel_display(plane); in i9xx_cursor_capture_error()
803 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_cursor_unpin_work() local
806 intel_plane_destroy_state(&plane->base, &plane_state->uapi); in intel_cursor_unpin_work()
819 struct intel_plane *plane = to_intel_plane(_plane); in intel_legacy_cursor_update() local
821 struct intel_display *display = to_intel_display(plane); in intel_legacy_cursor_update()
823 to_intel_plane_state(plane->base.state); in intel_legacy_cursor_update()
835 * PSR2 plane and transcoder registers can only be updated during in intel_legacy_cursor_update()
848 * the plane. This prevents our async update's changes from getting in intel_legacy_cursor_update()
868 new_plane_state = to_intel_plane_state(intel_plane_duplicate_state(&plane->base)); in intel_legacy_cursor_update()
904 plane->frontbuffer_bit); in intel_legacy_cursor_update()
906 /* Swap plane state */ in intel_legacy_cursor_update()
907 plane->base.state = &new_plane_state->uapi; in intel_legacy_cursor_update()
942 intel_plane_update_noarm(NULL, plane, crtc_state, new_plane_state); in intel_legacy_cursor_update()
943 intel_plane_update_arm(NULL, plane, crtc_state, new_plane_state); in intel_legacy_cursor_update()
945 intel_plane_disable_arm(NULL, plane, crtc_state); in intel_legacy_cursor_update()
969 intel_plane_destroy_state(&plane->base, &new_plane_state->uapi); in intel_legacy_cursor_update()
971 intel_plane_destroy_state(&plane->base, &old_plane_state->uapi); in intel_legacy_cursor_update()
975 return drm_atomic_helper_update_plane(&plane->base, &crtc->base, fb, in intel_legacy_cursor_update()
989 static void intel_cursor_add_size_hints_property(struct intel_plane *plane) in intel_cursor_add_size_hints_property() argument
991 struct intel_display *display = to_intel_display(plane); in intel_cursor_add_size_hints_property()
1008 drm_plane_add_size_hints_property(&plane->base, hints, num_hints); in intel_cursor_add_size_hints_property()