Commit 96a49f39 authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/ast: Don't call ast_show_cursor() from ast_cursor_move()

Separating the cursor's move() function from the show() function in
preparation of further rework of the cursor update code.

'Showing' the cursor from within the move() function is required to
update the cursor position.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Acked-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190927090309.10254-2-tzimmermann@suse.de
parent 4092de1b
...@@ -1236,6 +1236,7 @@ static int ast_cursor_move(struct drm_crtc *crtc, ...@@ -1236,6 +1236,7 @@ static int ast_cursor_move(struct drm_crtc *crtc,
struct ast_private *ast = crtc->dev->dev_private; struct ast_private *ast = crtc->dev->dev_private;
int x_offset, y_offset; int x_offset, y_offset;
u8 *sig; u8 *sig;
u8 jreg;
sig = drm_gem_vram_kmap(drm_gem_vram_of_gem(ast->cursor_cache), sig = drm_gem_vram_kmap(drm_gem_vram_of_gem(ast->cursor_cache),
false, NULL); false, NULL);
...@@ -1262,7 +1263,9 @@ static int ast_cursor_move(struct drm_crtc *crtc, ...@@ -1262,7 +1263,9 @@ static int ast_cursor_move(struct drm_crtc *crtc,
ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc7, ((y >> 8) & 0x07)); ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0xc7, ((y >> 8) & 0x07));
/* dummy write to fire HWC */ /* dummy write to fire HWC */
ast_show_cursor(crtc); jreg = 0x02 |
0x01; /* enable ARGB4444 cursor */
ast_set_index_reg_mask(ast, AST_IO_CRTC_PORT, 0xcb, 0xfc, jreg);
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment