Lines Matching full:cursor
31 /* Cursor formats */
60 * MAX(-1 * <Cursor vertical size from CUR_CTL base on cursor mode in intel_cursor_position()
118 "Arbitrary cursor panning not supported\n"); in intel_cursor_check_surface()
155 drm_dbg_kms(&i915->drm, "cursor cannot be tiled\n"); in intel_check_cursor()
244 /* if we want to turn off the cursor ignore width and height */ in i845_check_cursor()
248 /* Check for which cursor types we support */ in i845_check_cursor()
251 "Cursor dimension %dx%d not supported\n", in i845_check_cursor()
267 drm_dbg_kms(&i915->drm, "Invalid cursor stride (%u)\n", in i845_check_cursor()
299 * whilst the cursor is disabled. in i845_cursor_update_arm()
301 if (plane->cursor.base != base || in i845_cursor_update_arm()
302 plane->cursor.size != size || in i845_cursor_update_arm()
303 plane->cursor.cntl != cntl) { in i845_cursor_update_arm()
310 plane->cursor.base = base; in i845_cursor_update_arm()
311 plane->cursor.size = size; in i845_cursor_update_arm()
312 plane->cursor.cntl = cntl; in i845_cursor_update_arm()
358 /* "AlmadorM Errata – Requires 32-bpp cursor data to be 16KB aligned." */ in i830_cursor_min_alignment()
442 /* Cursor width is limited to a few power-of-two sizes */ in i9xx_cursor_size_ok()
453 * IVB+ have CUR_FBC_CTL which allows an arbitrary cursor in i9xx_cursor_size_ok()
454 * height from 8 lines up to the cursor width, when the in i9xx_cursor_size_ok()
455 * cursor is not rotated. Everything else requires square in i9xx_cursor_size_ok()
483 /* if we want to turn off the cursor ignore width and height */ in i9xx_check_cursor()
487 /* Check for which cursor types we support */ in i9xx_check_cursor()
490 "Cursor dimension %dx%d not supported\n", in i9xx_check_cursor()
502 "Invalid cursor stride (%u) (cursor width %d)\n", in i9xx_check_cursor()
509 * There's something wrong with the cursor on CHV pipe C. in i9xx_check_cursor()
516 * Refuse the put the cursor into that compromised position. in i9xx_check_cursor()
521 "CHV cursor C not allowed to straddle the left screen edge\n"); in i9xx_check_cursor()
676 * a write to any of the cursor register will cancel in i9xx_cursor_update_arm()
677 * an already armed cursor update. Thus leaving out in i9xx_cursor_update_arm()
679 * cursor that doesn't appear to move, or even change in i9xx_cursor_update_arm()
696 if (plane->cursor.base != base || in i9xx_cursor_update_arm()
697 plane->cursor.size != fbc_ctl || in i9xx_cursor_update_arm()
698 plane->cursor.cntl != cntl) { in i9xx_cursor_update_arm()
707 plane->cursor.base = base; in i9xx_cursor_update_arm()
708 plane->cursor.size = fbc_ctl; in i9xx_cursor_update_arm()
709 plane->cursor.cntl = cntl; in i9xx_cursor_update_arm()
882 * planes atomically. If the cursor was part of the atomic update then in intel_legacy_cursor_update()
981 struct intel_plane *cursor; in intel_cursor_plane_create() local
985 cursor = intel_plane_alloc(); in intel_cursor_plane_create()
986 if (IS_ERR(cursor)) in intel_cursor_plane_create()
987 return cursor; in intel_cursor_plane_create()
989 cursor->pipe = pipe; in intel_cursor_plane_create()
990 cursor->i9xx_plane = (enum i9xx_plane_id) pipe; in intel_cursor_plane_create()
991 cursor->id = PLANE_CURSOR; in intel_cursor_plane_create()
992 cursor->frontbuffer_bit = INTEL_FRONTBUFFER(pipe, cursor->id); in intel_cursor_plane_create()
995 cursor->max_stride = i845_cursor_max_stride; in intel_cursor_plane_create()
996 cursor->min_alignment = i845_cursor_min_alignment; in intel_cursor_plane_create()
997 cursor->update_arm = i845_cursor_update_arm; in intel_cursor_plane_create()
998 cursor->disable_arm = i845_cursor_disable_arm; in intel_cursor_plane_create()
999 cursor->get_hw_state = i845_cursor_get_hw_state; in intel_cursor_plane_create()
1000 cursor->check_plane = i845_check_cursor; in intel_cursor_plane_create()
1002 cursor->max_stride = i9xx_cursor_max_stride; in intel_cursor_plane_create()
1005 cursor->min_alignment = i830_cursor_min_alignment; in intel_cursor_plane_create()
1007 cursor->min_alignment = i85x_cursor_min_alignment; in intel_cursor_plane_create()
1009 cursor->min_alignment = i9xx_cursor_min_alignment; in intel_cursor_plane_create()
1011 cursor->update_arm = i9xx_cursor_update_arm; in intel_cursor_plane_create()
1012 cursor->disable_arm = i9xx_cursor_disable_arm; in intel_cursor_plane_create()
1013 cursor->get_hw_state = i9xx_cursor_get_hw_state; in intel_cursor_plane_create()
1014 cursor->check_plane = i9xx_check_cursor; in intel_cursor_plane_create()
1017 cursor->cursor.base = ~0; in intel_cursor_plane_create()
1018 cursor->cursor.cntl = ~0; in intel_cursor_plane_create()
1021 cursor->cursor.size = ~0; in intel_cursor_plane_create()
1025 ret = drm_universal_plane_init(&dev_priv->drm, &cursor->base, in intel_cursor_plane_create()
1031 "cursor %c", pipe_name(pipe)); in intel_cursor_plane_create()
1039 drm_plane_create_rotation_property(&cursor->base, in intel_cursor_plane_create()
1044 intel_cursor_add_size_hints_property(cursor); in intel_cursor_plane_create()
1047 drm_plane_create_zpos_immutable_property(&cursor->base, zpos); in intel_cursor_plane_create()
1050 drm_plane_enable_fb_damage_clips(&cursor->base); in intel_cursor_plane_create()
1052 intel_plane_helper_add(cursor); in intel_cursor_plane_create()
1054 return cursor; in intel_cursor_plane_create()
1057 intel_plane_free(cursor); in intel_cursor_plane_create()