Lines Matching full:cursor
187 drm_dbg(plane->dev, "unsupported cursor size: %ux%u\n", in lsdc_cursor_plane_atomic_async_check()
193 drm_dbg(plane->dev, "unsupported cursor size: %ux%u\n", in lsdc_cursor_plane_atomic_async_check()
222 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in lsdc_cursor_plane_atomic_async_update() local
223 const struct lsdc_cursor_plane_ops *ops = cursor->ops; in lsdc_cursor_plane_atomic_async_update()
257 ops->update_position(cursor, new_state->crtc_x, new_state->crtc_y); in lsdc_cursor_plane_atomic_async_update()
259 ops->update_cfg(cursor, cursor_size, CURSOR_FORMAT_ARGB8888); in lsdc_cursor_plane_atomic_async_update()
262 ops->update_bo_addr(cursor, lsdc_fb_base_addr(new_fb)); in lsdc_cursor_plane_atomic_async_update()
266 /* ls7a1000 cursor plane helpers */
284 drm_dbg(plane->dev, "unsupported cursor size: %ux%u\n", in ls7a1000_cursor_plane_atomic_check()
301 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in ls7a1000_cursor_plane_atomic_update() local
306 const struct lsdc_cursor_plane_ops *ops = cursor->ops; in ls7a1000_cursor_plane_atomic_update()
312 ops->update_position(cursor, new_plane_state->crtc_x, new_plane_state->crtc_y); in ls7a1000_cursor_plane_atomic_update()
315 ops->update_bo_addr(cursor, addr); in ls7a1000_cursor_plane_atomic_update()
317 ops->update_cfg(cursor, CURSOR_SIZE_32X32, CURSOR_FORMAT_ARGB8888); in ls7a1000_cursor_plane_atomic_update()
323 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in ls7a1000_cursor_plane_atomic_disable() local
324 const struct lsdc_cursor_plane_ops *ops = cursor->ops; in ls7a1000_cursor_plane_atomic_disable()
326 ops->update_cfg(cursor, CURSOR_SIZE_32X32, CURSOR_FORMAT_DISABLE); in ls7a1000_cursor_plane_atomic_disable()
339 /* ls7a2000 cursor plane helpers */
357 drm_dbg(plane->dev, "unsupported cursor size: %ux%u\n", in ls7a2000_cursor_plane_atomic_check()
363 drm_dbg(plane->dev, "unsupported cursor size: %ux%u\n", in ls7a2000_cursor_plane_atomic_check()
377 /* Update the format, size and location of the cursor */
382 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in ls7a2000_cursor_plane_atomic_update() local
387 const struct lsdc_cursor_plane_ops *ops = cursor->ops; in ls7a2000_cursor_plane_atomic_update()
393 ops->update_position(cursor, new_plane_state->crtc_x, new_plane_state->crtc_y); in ls7a2000_cursor_plane_atomic_update()
398 ops->update_bo_addr(cursor, addr); in ls7a2000_cursor_plane_atomic_update()
413 ops->update_cfg(cursor, cursor_size, CURSOR_FORMAT_ARGB8888); in ls7a2000_cursor_plane_atomic_update()
419 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in ls7a2000_cursor_plane_atomic_disable() local
420 const struct lsdc_cursor_plane_ops *hw_ops = cursor->ops; in ls7a2000_cursor_plane_atomic_disable()
422 hw_ops->update_cfg(cursor, CURSOR_SIZE_64X64, CURSOR_FORMAT_DISABLE); in ls7a2000_cursor_plane_atomic_disable()
565 * Update location, format, enable and disable state of the cursor,
566 * For those who have two hardware cursor, let cursor 0 is attach to CRTC-0,
567 * cursor 1 is attach to CRTC-1. Compositing the primary plane and cursor
568 * plane is automatically done by hardware, the cursor is alway on the top of
570 * be changed. For those old DC who has only one hardware cursor, we made it
574 /* cursor plane 0 (for pipe 0) related hardware ops */
576 static void lsdc_cursor0_update_bo_addr(struct lsdc_cursor *cursor, u64 addr) in lsdc_cursor0_update_bo_addr() argument
578 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor0_update_bo_addr()
585 static void lsdc_cursor0_update_position(struct lsdc_cursor *cursor, int x, int y) in lsdc_cursor0_update_position() argument
587 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor0_update_position()
598 static void lsdc_cursor0_update_cfg(struct lsdc_cursor *cursor, in lsdc_cursor0_update_cfg() argument
602 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor0_update_cfg()
612 /* cursor plane 1 (for pipe 1) related hardware ops */
614 static void lsdc_cursor1_update_bo_addr(struct lsdc_cursor *cursor, u64 addr) in lsdc_cursor1_update_bo_addr() argument
616 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor1_update_bo_addr()
623 static void lsdc_cursor1_update_position(struct lsdc_cursor *cursor, int x, int y) in lsdc_cursor1_update_position() argument
625 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor1_update_position()
636 static void lsdc_cursor1_update_cfg(struct lsdc_cursor *cursor, in lsdc_cursor1_update_cfg() argument
640 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor1_update_cfg()
665 /* Quirks for cursor 1, only for old loongson display controller */
667 static void lsdc_cursor1_update_bo_addr_quirk(struct lsdc_cursor *cursor, u64 addr) in lsdc_cursor1_update_bo_addr_quirk() argument
669 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor1_update_bo_addr_quirk()
676 static void lsdc_cursor1_update_position_quirk(struct lsdc_cursor *cursor, int x, int y) in lsdc_cursor1_update_position_quirk() argument
678 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor1_update_position_quirk()
689 static void lsdc_cursor1_update_cfg_quirk(struct lsdc_cursor *cursor, in lsdc_cursor1_update_cfg_quirk() argument
693 struct lsdc_device *ldev = cursor->ldev; in lsdc_cursor1_update_cfg_quirk()
748 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in ls7a1000_cursor_plane_init() local
757 "ls-cursor-plane-%u", index); in ls7a1000_cursor_plane_init()
761 cursor->ldev = to_lsdc(ddev); in ls7a1000_cursor_plane_init()
762 cursor->ops = &ls7a1000_cursor_hw_ops[index]; in ls7a1000_cursor_plane_init()
773 struct lsdc_cursor *cursor = to_lsdc_cursor(plane); in ls7a2000_cursor_plane_init() local
782 "ls-cursor-plane-%u", index); in ls7a2000_cursor_plane_init()
786 cursor->ldev = to_lsdc(ddev); in ls7a2000_cursor_plane_init()
787 cursor->ops = &ls7a2000_cursor_hw_ops[index]; in ls7a2000_cursor_plane_init()