]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/ast: Don't call ast_show_cursor() from ast_cursor_move()
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 27 Sep 2019 09:03:05 +0000 (11:03 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 4 Oct 2019 07:59:50 +0000 (09:59 +0200)
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: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190927090309.10254-2-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_mode.c

index 6caa6ebfeaa8d96c6f3947c2de406065c9f247ca..a4cbf2d5ee0a74a6fb51d28af795220ba2f22642 100644 (file)
@@ -1236,6 +1236,7 @@ static int ast_cursor_move(struct drm_crtc *crtc,
        struct ast_private *ast = crtc->dev->dev_private;
        int x_offset, y_offset;
        u8 *sig;
+       u8 jreg;
 
        sig = drm_gem_vram_kmap(drm_gem_vram_of_gem(ast->cursor_cache),
                                false, NULL);
@@ -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));
 
        /* 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;
 }