]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/si.c
drm/amdgpu: update rev id for verde
[linux.git] / drivers / gpu / drm / amd / amdgpu / si.c
index 8e2377b7fcf55d8dbb9ee8ac33832f0395ca6b29..c46b0159007d976406d64557316f45e045d82191 100644 (file)
@@ -145,133 +145,134 @@ static const u32 pitcairn_golden_rlc_registers[] =
 
 static const u32 verde_pg_init[] =
 {
-       0xd4f, 0xffffffff, 0x40000,
-       0xd4e, 0xffffffff, 0x200010ff,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x7007,
-       0xd4e, 0xffffffff, 0x300010ff,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x400000,
-       0xd4e, 0xffffffff, 0x100010ff,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x120200,
-       0xd4e, 0xffffffff, 0x500010ff,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x1e1e16,
-       0xd4e, 0xffffffff, 0x600010ff,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x171f1e,
-       0xd4e, 0xffffffff, 0x700010ff,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4f, 0xffffffff, 0x0,
-       0xd4e, 0xffffffff, 0x9ff,
-       0xd40, 0xffffffff, 0x0,
-       0xd41, 0xffffffff, 0x10000800,
-       0xd41, 0xffffffff, 0xf,
-       0xd41, 0xffffffff, 0xf,
-       0xd40, 0xffffffff, 0x4,
-       0xd41, 0xffffffff, 0x1000051e,
-       0xd41, 0xffffffff, 0xffff,
-       0xd41, 0xffffffff, 0xffff,
-       0xd40, 0xffffffff, 0x8,
-       0xd41, 0xffffffff, 0x80500,
-       0xd40, 0xffffffff, 0x12,
-       0xd41, 0xffffffff, 0x9050c,
-       0xd40, 0xffffffff, 0x1d,
-       0xd41, 0xffffffff, 0xb052c,
-       0xd40, 0xffffffff, 0x2a,
-       0xd41, 0xffffffff, 0x1053e,
-       0xd40, 0xffffffff, 0x2d,
-       0xd41, 0xffffffff, 0x10546,
-       0xd40, 0xffffffff, 0x30,
-       0xd41, 0xffffffff, 0xa054e,
-       0xd40, 0xffffffff, 0x3c,
-       0xd41, 0xffffffff, 0x1055f,
-       0xd40, 0xffffffff, 0x3f,
-       0xd41, 0xffffffff, 0x10567,
-       0xd40, 0xffffffff, 0x42,
-       0xd41, 0xffffffff, 0x1056f,
-       0xd40, 0xffffffff, 0x45,
-       0xd41, 0xffffffff, 0x10572,
-       0xd40, 0xffffffff, 0x48,
-       0xd41, 0xffffffff, 0x20575,
-       0xd40, 0xffffffff, 0x4c,
-       0xd41, 0xffffffff, 0x190801,
-       0xd40, 0xffffffff, 0x67,
-       0xd41, 0xffffffff, 0x1082a,
-       0xd40, 0xffffffff, 0x6a,
-       0xd41, 0xffffffff, 0x1b082d,
-       0xd40, 0xffffffff, 0x87,
-       0xd41, 0xffffffff, 0x310851,
-       0xd40, 0xffffffff, 0xba,
-       0xd41, 0xffffffff, 0x891,
-       0xd40, 0xffffffff, 0xbc,
-       0xd41, 0xffffffff, 0x893,
-       0xd40, 0xffffffff, 0xbe,
-       0xd41, 0xffffffff, 0x20895,
-       0xd40, 0xffffffff, 0xc2,
-       0xd41, 0xffffffff, 0x20899,
-       0xd40, 0xffffffff, 0xc6,
-       0xd41, 0xffffffff, 0x2089d,
-       0xd40, 0xffffffff, 0xca,
-       0xd41, 0xffffffff, 0x8a1,
-       0xd40, 0xffffffff, 0xcc,
-       0xd41, 0xffffffff, 0x8a3,
-       0xd40, 0xffffffff, 0xce,
-       0xd41, 0xffffffff, 0x308a5,
-       0xd40, 0xffffffff, 0xd3,
-       0xd41, 0xffffffff, 0x6d08cd,
-       0xd40, 0xffffffff, 0x142,
-       0xd41, 0xffffffff, 0x2000095a,
-       0xd41, 0xffffffff, 0x1,
-       0xd40, 0xffffffff, 0x144,
-       0xd41, 0xffffffff, 0x301f095b,
-       0xd40, 0xffffffff, 0x165,
-       0xd41, 0xffffffff, 0xc094d,
-       0xd40, 0xffffffff, 0x173,
-       0xd41, 0xffffffff, 0xf096d,
-       0xd40, 0xffffffff, 0x184,
-       0xd41, 0xffffffff, 0x15097f,
-       0xd40, 0xffffffff, 0x19b,
-       0xd41, 0xffffffff, 0xc0998,
-       0xd40, 0xffffffff, 0x1a9,
-       0xd41, 0xffffffff, 0x409a7,
-       0xd40, 0xffffffff, 0x1af,
-       0xd41, 0xffffffff, 0xcdc,
-       0xd40, 0xffffffff, 0x1b1,
-       0xd41, 0xffffffff, 0x800,
-       0xd42, 0xffffffff, 0x6c9b2000,
-       0xd44, 0xfc00, 0x2000,
-       0xd51, 0xffffffff, 0xfc0,
-       0xa35, 0x00000100, 0x100
+       0x0d4f, 0xffffffff, 0x40000,
+       0x0d4e, 0xffffffff, 0x200010ff,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x7007,
+       0x0d4e, 0xffffffff, 0x300010ff,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x400000,
+       0x0d4e, 0xffffffff, 0x100010ff,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x120200,
+       0x0d4e, 0xffffffff, 0x500010ff,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x1e1e16,
+       0x0d4e, 0xffffffff, 0x600010ff,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x171f1e,
+       0x0d4e, 0xffffffff, 0x700010ff,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4f, 0xffffffff, 0x0,
+       0x0d4e, 0xffffffff, 0x9ff,
+       0x0d40, 0xffffffff, 0x0,
+       0x0d41, 0xffffffff, 0x10000800,
+       0x0d41, 0xffffffff, 0xf,
+       0x0d41, 0xffffffff, 0xf,
+       0x0d40, 0xffffffff, 0x4,
+       0x0d41, 0xffffffff, 0x1000051e,
+       0x0d41, 0xffffffff, 0xffff,
+       0x0d41, 0xffffffff, 0xffff,
+       0x0d40, 0xffffffff, 0x8,
+       0x0d41, 0xffffffff, 0x80500,
+       0x0d40, 0xffffffff, 0x12,
+       0x0d41, 0xffffffff, 0x9050c,
+       0x0d40, 0xffffffff, 0x1d,
+       0x0d41, 0xffffffff, 0xb052c,
+       0x0d40, 0xffffffff, 0x2a,
+       0x0d41, 0xffffffff, 0x1053e,
+       0x0d40, 0xffffffff, 0x2d,
+       0x0d41, 0xffffffff, 0x10546,
+       0x0d40, 0xffffffff, 0x30,
+       0x0d41, 0xffffffff, 0xa054e,
+       0x0d40, 0xffffffff, 0x3c,
+       0x0d41, 0xffffffff, 0x1055f,
+       0x0d40, 0xffffffff, 0x3f,
+       0x0d41, 0xffffffff, 0x10567,
+       0x0d40, 0xffffffff, 0x42,
+       0x0d41, 0xffffffff, 0x1056f,
+       0x0d40, 0xffffffff, 0x45,
+       0x0d41, 0xffffffff, 0x10572,
+       0x0d40, 0xffffffff, 0x48,
+       0x0d41, 0xffffffff, 0x20575,
+       0x0d40, 0xffffffff, 0x4c,
+       0x0d41, 0xffffffff, 0x190801,
+       0x0d40, 0xffffffff, 0x67,
+       0x0d41, 0xffffffff, 0x1082a,
+       0x0d40, 0xffffffff, 0x6a,
+       0x0d41, 0xffffffff, 0x1b082d,
+       0x0d40, 0xffffffff, 0x87,
+       0x0d41, 0xffffffff, 0x310851,
+       0x0d40, 0xffffffff, 0xba,
+       0x0d41, 0xffffffff, 0x891,
+       0x0d40, 0xffffffff, 0xbc,
+       0x0d41, 0xffffffff, 0x893,
+       0x0d40, 0xffffffff, 0xbe,
+       0x0d41, 0xffffffff, 0x20895,
+       0x0d40, 0xffffffff, 0xc2,
+       0x0d41, 0xffffffff, 0x20899,
+       0x0d40, 0xffffffff, 0xc6,
+       0x0d41, 0xffffffff, 0x2089d,
+       0x0d40, 0xffffffff, 0xca,
+       0x0d41, 0xffffffff, 0x8a1,
+       0x0d40, 0xffffffff, 0xcc,
+       0x0d41, 0xffffffff, 0x8a3,
+       0x0d40, 0xffffffff, 0xce,
+       0x0d41, 0xffffffff, 0x308a5,
+       0x0d40, 0xffffffff, 0xd3,
+       0x0d41, 0xffffffff, 0x6d08cd,
+       0x0d40, 0xffffffff, 0x142,
+       0x0d41, 0xffffffff, 0x2000095a,
+       0x0d41, 0xffffffff, 0x1,
+       0x0d40, 0xffffffff, 0x144,
+       0x0d41, 0xffffffff, 0x301f095b,
+       0x0d40, 0xffffffff, 0x165,
+       0x0d41, 0xffffffff, 0xc094d,
+       0x0d40, 0xffffffff, 0x173,
+       0x0d41, 0xffffffff, 0xf096d,
+       0x0d40, 0xffffffff, 0x184,
+       0x0d41, 0xffffffff, 0x15097f,
+       0x0d40, 0xffffffff, 0x19b,
+       0x0d41, 0xffffffff, 0xc0998,
+       0x0d40, 0xffffffff, 0x1a9,
+       0x0d41, 0xffffffff, 0x409a7,
+       0x0d40, 0xffffffff, 0x1af,
+       0x0d41, 0xffffffff, 0xcdc,
+       0x0d40, 0xffffffff, 0x1b1,
+       0x0d41, 0xffffffff, 0x800,
+       0x0d42, 0xffffffff, 0x6c9b2000,
+       0x0d44, 0xfc00, 0x2000,
+       0x0d51, 0xffffffff, 0xfc0,
+       0x0a35, 0x00000100, 0x100
 };
 
 static const u32 verde_golden_rlc_registers[] =
 {
+       0x263e, 0xffffffff, 0x02010002,
        0x3109, 0xffffffff, 0x033f1005,
        0x311f, 0xffffffff, 0x10808020,
        0x3122, 0xffffffff, 0x00800008,
@@ -281,61 +282,40 @@ static const u32 verde_golden_rlc_registers[] =
 
 static const u32 verde_golden_registers[] =
 {
+       0x17bc, 0x00000030, 0x00000011,
        0x2684, 0x00010000, 0x00018208,
        0x260c, 0xffffffff, 0x00000000,
        0x260d, 0xf00fffff, 0x00000400,
        0x260e, 0x0002021c, 0x00020200,
        0x031e, 0x00000080, 0x00000000,
        0x340c, 0x000300c0, 0x00800040,
-       0x340c, 0x000300c0, 0x00800040,
-       0x360c, 0x000300c0, 0x00800040,
        0x360c, 0x000300c0, 0x00800040,
        0x16ec, 0x000000f0, 0x00000070,
        0x16f0, 0x00200000, 0x50100000,
-
        0x1c0c, 0x31000311, 0x00000011,
        0x0ab9, 0x00073ffe, 0x000022a2,
-       0x0ab9, 0x00073ffe, 0x000022a2,
-       0x0ab9, 0x00073ffe, 0x000022a2,
-       0x0903, 0x000007ff, 0x00000000,
-       0x0903, 0x000007ff, 0x00000000,
        0x0903, 0x000007ff, 0x00000000,
        0x2285, 0xf000001f, 0x00000007,
-       0x2285, 0xf000001f, 0x00000007,
-       0x2285, 0xf000001f, 0x00000007,
-       0x2285, 0xffffffff, 0x00ffffff,
+       0x22c9, 0xffffffff, 0x00ffffff,
        0x22c4, 0x0000ff0f, 0x00000000,
-
        0xa293, 0x07ffffff, 0x4e000000,
        0xa0d4, 0x3f3f3fff, 0x0000124a,
-       0xa0d4, 0x3f3f3fff, 0x0000124a,
-       0xa0d4, 0x3f3f3fff, 0x0000124a,
-       0x000c, 0x000000ff, 0x0040,
+       0x000c, 0xffffffff, 0x0040,
        0x000d, 0x00000040, 0x00004040,
        0x2440, 0x07ffffff, 0x03000000,
-       0x2440, 0x07ffffff, 0x03000000,
        0x23a2, 0x01ff1f3f, 0x00000000,
-       0x23a3, 0x01ff1f3f, 0x00000000,
-       0x23a2, 0x01ff1f3f, 0x00000000,
-       0x23a1, 0x01ff1f3f, 0x00000000,
-       0x23a1, 0x01ff1f3f, 0x00000000,
-
        0x23a1, 0x01ff1f3f, 0x00000000,
        0x2418, 0x0000007f, 0x00000020,
        0x2542, 0x00010000, 0x00010000,
-       0x2b01, 0x000003ff, 0x00000003,
-       0x2b05, 0x000003ff, 0x00000003,
        0x2b05, 0x000003ff, 0x00000003,
        0x2b04, 0xffffffff, 0x00000000,
-       0x2b04, 0xffffffff, 0x00000000,
-       0x2b04, 0xffffffff, 0x00000000,
-       0x2b03, 0xffffffff, 0x00001032,
        0x2b03, 0xffffffff, 0x00001032,
-       0x2b03, 0xffffffff, 0x00001032,
-       0x2235, 0x0000001f, 0x00000010,
-       0x2235, 0x0000001f, 0x00000010,
        0x2235, 0x0000001f, 0x00000010,
-       0x0570, 0x000c0fc0, 0x000c0400
+       0x0570, 0x000c0fc0, 0x000c0400,
+       0x052c, 0x0fffffff, 0xffffffff,
+       0x052d, 0x0fffffff, 0x0fffffff,
+       0x052e, 0x0fffffff, 0x0fffffff,
+       0x052f, 0x0fffffff, 0x0fffffff
 };
 
 static const u32 oland_golden_registers[] =
@@ -736,18 +716,18 @@ static const u32 verde_mgcg_cgcg_init[] =
        0x21c2, 0xffffffff, 0x00900100,
        0x311e, 0xffffffff, 0x00000080,
        0x3101, 0xffffffff, 0x0020003f,
-       0xc, 0xffffffff, 0x0000001c,
-       0xd, 0x000f0000, 0x000f0000,
-       0x583, 0xffffffff, 0x00000100,
-       0x409, 0xffffffff, 0x00000100,
-       0x40b, 0x00000101, 0x00000000,
-       0x82a, 0xffffffff, 0x00000104,
-       0x993, 0x000c0000, 0x000c0000,
-       0x992, 0x000c0000, 0x000c0000,
+       0x000c, 0xffffffff, 0x0000001c,
+       0x000d, 0x000f0000, 0x000f0000,
+       0x0583, 0xffffffff, 0x00000100,
+       0x0409, 0xffffffff, 0x00000100,
+       0x040b, 0x00000101, 0x00000000,
+       0x082a, 0xffffffff, 0x00000104,
+       0x0993, 0x000c0000, 0x000c0000,
+       0x0992, 0x000c0000, 0x000c0000,
        0x1579, 0xff000fff, 0x00000100,
        0x157a, 0x00000001, 0x00000001,
-       0xbd4, 0x00000001, 0x00000001,
-       0xc33, 0xc0000fff, 0x00000104,
+       0x0bd4, 0x00000001, 0x00000001,
+       0x0c33, 0xc0000fff, 0x00000104,
        0x3079, 0x00000001, 0x00000001,
        0x3430, 0xfffffff0, 0x00000100,
        0x3630, 0xfffffff0, 0x00000100
@@ -1249,7 +1229,7 @@ static int si_common_early_init(void *handle)
                        AMD_CG_SUPPORT_HDP_MGCG;
                adev->pg_flags = 0;
                //???
-               adev->external_rev_id = adev->rev_id + 0x14;
+               adev->external_rev_id = adev->rev_id + 40;
                break;
        case CHIP_OLAND:
                adev->cg_flags =
@@ -1268,6 +1248,7 @@ static int si_common_early_init(void *handle)
                        AMD_CG_SUPPORT_HDP_LS |
                        AMD_CG_SUPPORT_HDP_MGCG;
                adev->pg_flags = 0;
+               adev->external_rev_id = 60;
                break;
        case CHIP_HAINAN:
                adev->cg_flags =