Lines Matching refs:ast
54 long ast_cursor_vram_offset(struct ast_device *ast) in ast_cursor_vram_offset() argument
58 if (size > ast->vram_size) in ast_cursor_vram_offset()
61 return ALIGN_DOWN(ast->vram_size - size, SZ_8); in ast_cursor_vram_offset()
91 static void ast_set_cursor_image(struct ast_device *ast, const u8 *src, in ast_set_cursor_image() argument
94 u8 __iomem *dst = ast_plane_vaddr(&ast->cursor_plane.base); in ast_set_cursor_image()
111 static void ast_set_cursor_base(struct ast_device *ast, u64 address) in ast_set_cursor_base() argument
117 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc8, addr0); in ast_set_cursor_base()
118 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc9, addr1); in ast_set_cursor_base()
119 ast_set_index_reg(ast, AST_IO_VGACRI, 0xca, addr2); in ast_set_cursor_base()
122 static void ast_set_cursor_location(struct ast_device *ast, u16 x, u16 y, in ast_set_cursor_location() argument
130 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc2, x_offset); in ast_set_cursor_location()
131 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc3, y_offset); in ast_set_cursor_location()
132 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc4, x0); in ast_set_cursor_location()
133 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc5, x1); in ast_set_cursor_location()
134 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc6, y0); in ast_set_cursor_location()
135 ast_set_index_reg(ast, AST_IO_VGACRI, 0xc7, y1); in ast_set_cursor_location()
138 static void ast_set_cursor_enabled(struct ast_device *ast, bool enabled) in ast_set_cursor_enabled() argument
148 ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0xcb, mask, vgacrcb); in ast_set_cursor_enabled()
193 struct ast_device *ast = to_ast_device(plane->dev); in ast_cursor_plane_helper_atomic_update() local
230 ast_set_cursor_image(ast, argb4444, fb->width, fb->height); in ast_cursor_plane_helper_atomic_update()
231 ast_set_cursor_base(ast, dst_off); in ast_cursor_plane_helper_atomic_update()
259 ast_set_cursor_location(ast, x, y, x_offset, y_offset); in ast_cursor_plane_helper_atomic_update()
262 ast_set_cursor_enabled(ast, true); in ast_cursor_plane_helper_atomic_update()
268 struct ast_device *ast = to_ast_device(plane->dev); in ast_cursor_plane_helper_atomic_disable() local
270 ast_set_cursor_enabled(ast, false); in ast_cursor_plane_helper_atomic_disable()
287 int ast_cursor_plane_init(struct ast_device *ast) in ast_cursor_plane_init() argument
289 struct drm_device *dev = &ast->base; in ast_cursor_plane_init()
290 struct ast_cursor_plane *ast_cursor_plane = &ast->cursor_plane; in ast_cursor_plane_init()
298 offset = ast_cursor_vram_offset(ast); in ast_cursor_plane_init()