freedreno: add Adreno 640 ID
authorJonathan Marek <jonathan@marek.ca>
Thu, 7 Nov 2019 12:28:37 +0000 (07:28 -0500)
committerJonathan Marek <jonathan@marek.ca>
Tue, 12 Nov 2019 01:46:01 +0000 (20:46 -0500)
A640 seems to work without any other changes (glmark and vkcube).

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
src/freedreno/vulkan/tu_device.c
src/gallium/drivers/freedreno/a6xx/fd6_context.c
src/gallium/drivers/freedreno/freedreno_screen.c

index bdd34b5fa9fe9e8da0486b0711992bac0d16c903..edf38b0a402cf6ac78681bd14ebed44bcfdbb45a 100644 (file)
@@ -257,6 +257,7 @@ tu_physical_device_init(struct tu_physical_device *device,
 
    switch (device->gpu_id) {
    case 630:
+   case 640:
       device->tile_align_w = 32;
       device->tile_align_h = 32;
       break;
index d613e4c5e2b4caf715be5b9293e2750083e5b05e..9bd3e348d8aec1f165a47ca6b27e67b870905ab5 100644 (file)
@@ -124,6 +124,15 @@ PC_UNKNOWN_9805:
                fd6_ctx->magic.PC_UNKNOWN_9805 = 0x1;
                fd6_ctx->magic.SP_UNKNOWN_A0F8 = 0x1;
                break;
+       case 640:
+               fd6_ctx->magic.RB_UNKNOWN_8E04_blit = 0x00100000;
+               fd6_ctx->magic.RB_CCU_CNTL_gmem     = 0x7c400000;
+               fd6_ctx->magic.RB_CCU_CNTL_bypass   = 0x10000000;
+               fd6_ctx->magic.PC_UNKNOWN_9805 = 0x1;
+               fd6_ctx->magic.SP_UNKNOWN_A0F8 = 0x1;
+               break;
+       default:
+               unreachable("missing magic config");
        }
 
        pctx = &fd6_ctx->base.base;
index 6f75f6ed22bdaac3d3575fddb05e2e2f694544b3..fb84bb9b6c5cc12964e3b0334bee9be45efbac5b 100644 (file)
@@ -919,6 +919,7 @@ fd_screen_create(struct fd_device *dev, struct renderonly *ro)
                break;
        case 618:
        case 630:
+       case 640:
                fd6_screen_init(pscreen);
                break;
        default: