drm/ast: Add VGACR99 register constants
authorThomas Zimmermann <tzimmermann@suse.de>
Wed, 5 Mar 2025 16:30:42 +0000 (17:30 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 12 Mar 2025 07:38:10 +0000 (08:38 +0100)
Add register constants for VGACR99 and use them when detecting the
size of the VGA memory. Aligns the code with the programming manual.
Also replace literal size values with Linux' SZ_ size constants.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250305163207.267650-4-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_mm.c
drivers/gpu/drm/ast/ast_reg.h

index 8d8aac8c0814a14d9a49d68e4433492568117f25..3d03ef556d0ad879660e411551ec38b67cf4847f 100644 (file)
@@ -35,9 +35,8 @@
 
 static u32 ast_get_vram_size(struct ast_device *ast)
 {
-       u8 jreg;
        u32 vram_size;
-       u8 vgacraa;
+       u8 vgacr99, vgacraa;
 
        vgacraa = ast_get_index_reg(ast, AST_IO_VGACRI, 0xaa);
        switch (vgacraa & AST_IO_VGACRAA_VGAMEM_SIZE_MASK) {
@@ -55,16 +54,16 @@ static u32 ast_get_vram_size(struct ast_device *ast)
                break;
        }
 
-       jreg = ast_get_index_reg_mask(ast, AST_IO_VGACRI, 0x99, 0xff);
-       switch (jreg & 0x03) {
+       vgacr99 = ast_get_index_reg(ast, AST_IO_VGACRI, 0x99);
+       switch (vgacr99 & AST_IO_VGACR99_VGAMEM_RSRV_MASK) {
        case 1:
-               vram_size -= 0x100000;
+               vram_size -= SZ_1M;
                break;
        case 2:
-               vram_size -= 0x200000;
+               vram_size -= SZ_2M;
                break;
        case 3:
-               vram_size -= 0x400000;
+               vram_size -= SZ_4M;
                break;
        }
 
index 039b93bed19e597a172afb1907b8858d35d66500..e15adaf3a80e11a9014b56faa6ec6c3320bff835 100644 (file)
@@ -30,6 +30,7 @@
 
 #define AST_IO_VGACRI                  (0x54)
 #define AST_IO_VGACR80_PASSWORD                (0xa8)
+#define AST_IO_VGACR99_VGAMEM_RSRV_MASK        GENMASK(1, 0)
 #define AST_IO_VGACRA1_VGAIO_DISABLED  BIT(1)
 #define AST_IO_VGACRA1_MMIO_ENABLED    BIT(2)
 #define AST_IO_VGACRA3_DVO_ENABLED     BIT(7)