|
@@ -32,7 +32,7 @@
|
|
|
#include "amdgpu_vce.h"
|
|
|
#include "atom.h"
|
|
|
#include "amdgpu_powerplay.h"
|
|
|
-#include "si/sid.h"
|
|
|
+#include "sid.h"
|
|
|
#include "si_ih.h"
|
|
|
#include "gfx_v6_0.h"
|
|
|
#include "gmc_v6_0.h"
|
|
@@ -40,337 +40,343 @@
|
|
|
#include "dce_v6_0.h"
|
|
|
#include "si.h"
|
|
|
#include "dce_virtual.h"
|
|
|
+#include "gca/gfx_6_0_d.h"
|
|
|
+#include "oss/oss_1_0_d.h"
|
|
|
+#include "gmc/gmc_6_0_d.h"
|
|
|
+#include "dce/dce_6_0_d.h"
|
|
|
+#include "uvd/uvd_4_0_d.h"
|
|
|
|
|
|
static const u32 tahiti_golden_registers[] =
|
|
|
{
|
|
|
- 0x17bc, 0x00000030, 0x00000011,
|
|
|
- 0x2684, 0x00010000, 0x00018208,
|
|
|
- 0x260c, 0xffffffff, 0x00000000,
|
|
|
- 0x260d, 0xf00fffff, 0x00000400,
|
|
|
- 0x260e, 0x0002021c, 0x00020200,
|
|
|
- 0x031e, 0x00000080, 0x00000000,
|
|
|
+ mmAZALIA_SCLK_CONTROL, 0x00000030, 0x00000011,
|
|
|
+ mmCB_HW_CONTROL, 0x00010000, 0x00018208,
|
|
|
+ mmDB_DEBUG, 0xffffffff, 0x00000000,
|
|
|
+ mmDB_DEBUG2, 0xf00fffff, 0x00000400,
|
|
|
+ mmDB_DEBUG3, 0x0002021c, 0x00020200,
|
|
|
+ mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
|
|
|
0x340c, 0x000000c0, 0x00800040,
|
|
|
0x360c, 0x000000c0, 0x00800040,
|
|
|
- 0x16ec, 0x000000f0, 0x00000070,
|
|
|
- 0x16f0, 0x00200000, 0x50100000,
|
|
|
- 0x1c0c, 0x31000311, 0x00000011,
|
|
|
- 0x09df, 0x00000003, 0x000007ff,
|
|
|
- 0x0903, 0x000007ff, 0x00000000,
|
|
|
- 0x2285, 0xf000001f, 0x00000007,
|
|
|
- 0x22c9, 0xffffffff, 0x00ffffff,
|
|
|
- 0x22c4, 0x0000ff0f, 0x00000000,
|
|
|
- 0xa293, 0x07ffffff, 0x4e000000,
|
|
|
- 0xa0d4, 0x3f3f3fff, 0x2a00126a,
|
|
|
+ mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
|
|
|
+ mmFBC_MISC, 0x00200000, 0x50100000,
|
|
|
+ mmDIG0_HDMI_CONTROL, 0x31000311, 0x00000011,
|
|
|
+ mmMC_ARB_WTM_CNTL_RD, 0x00000003, 0x000007ff,
|
|
|
+ mmMC_XPB_P2P_BAR_CFG, 0x000007ff, 0x00000000,
|
|
|
+ mmPA_CL_ENHANCE, 0xf000001f, 0x00000007,
|
|
|
+ mmPA_SC_FORCE_EOV_MAX_CNTS, 0xffffffff, 0x00ffffff,
|
|
|
+ mmPA_SC_LINE_STIPPLE_STATE, 0x0000ff0f, 0x00000000,
|
|
|
+ mmPA_SC_MODE_CNTL_1, 0x07ffffff, 0x4e000000,
|
|
|
+ mmPA_SC_RASTER_CONFIG, 0x3f3f3fff, 0x2a00126a,
|
|
|
0x000c, 0xffffffff, 0x0040,
|
|
|
0x000d, 0x00000040, 0x00004040,
|
|
|
- 0x2440, 0x07ffffff, 0x03000000,
|
|
|
- 0x23a2, 0x01ff1f3f, 0x00000000,
|
|
|
- 0x23a1, 0x01ff1f3f, 0x00000000,
|
|
|
- 0x2418, 0x0000007f, 0x00000020,
|
|
|
- 0x2542, 0x00010000, 0x00010000,
|
|
|
- 0x2b05, 0x00000200, 0x000002fb,
|
|
|
- 0x2b04, 0xffffffff, 0x0000543b,
|
|
|
- 0x2b03, 0xffffffff, 0xa9210876,
|
|
|
- 0x2234, 0xffffffff, 0x000fff40,
|
|
|
- 0x2235, 0x0000001f, 0x00000010,
|
|
|
- 0x0504, 0x20000000, 0x20fffed8,
|
|
|
- 0x0570, 0x000c0fc0, 0x000c0400,
|
|
|
- 0x052c, 0x0fffffff, 0xffffffff,
|
|
|
- 0x052d, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052e, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052f, 0x0fffffff, 0x0fffffff
|
|
|
+ mmSPI_CONFIG_CNTL, 0x07ffffff, 0x03000000,
|
|
|
+ mmSQ_DED_CNT, 0x01ff1f3f, 0x00000000,
|
|
|
+ mmSQ_SEC_CNT, 0x01ff1f3f, 0x00000000,
|
|
|
+ mmSX_DEBUG_1, 0x0000007f, 0x00000020,
|
|
|
+ mmTA_CNTL_AUX, 0x00010000, 0x00010000,
|
|
|
+ mmTCP_ADDR_CONFIG, 0x00000200, 0x000002fb,
|
|
|
+ mmTCP_CHAN_STEER_HI, 0xffffffff, 0x0000543b,
|
|
|
+ mmTCP_CHAN_STEER_LO, 0xffffffff, 0xa9210876,
|
|
|
+ mmVGT_FIFO_DEPTHS, 0xffffffff, 0x000fff40,
|
|
|
+ mmVGT_GS_VERTEX_REUSE, 0x0000001f, 0x00000010,
|
|
|
+ mmVM_CONTEXT0_CNTL, 0x20000000, 0x20fffed8,
|
|
|
+ mmVM_L2_CG, 0x000c0fc0, 0x000c0400,
|
|
|
+ mmVM_PRT_APERTURE0_LOW_ADDR, 0x0fffffff, 0xffffffff,
|
|
|
+ mmVM_PRT_APERTURE1_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE2_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE3_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
};
|
|
|
|
|
|
static const u32 tahiti_golden_registers2[] =
|
|
|
{
|
|
|
- 0x0319, 0x00000001, 0x00000001
|
|
|
+ mmMCIF_MEM_CONTROL, 0x00000001, 0x00000001,
|
|
|
};
|
|
|
|
|
|
static const u32 tahiti_golden_rlc_registers[] =
|
|
|
{
|
|
|
- 0x263e, 0xffffffff, 0x12011003,
|
|
|
- 0x3109, 0xffffffff, 0x00601005,
|
|
|
+ mmGB_ADDR_CONFIG, 0xffffffff, 0x12011003,
|
|
|
+ mmRLC_LB_PARAMS, 0xffffffff, 0x00601005,
|
|
|
0x311f, 0xffffffff, 0x10104040,
|
|
|
0x3122, 0xffffffff, 0x0100000a,
|
|
|
- 0x30c5, 0xffffffff, 0x00000800,
|
|
|
- 0x30c3, 0xffffffff, 0x800000f4,
|
|
|
- 0x3d2a, 0x00000008, 0x00000000
|
|
|
+ mmRLC_LB_CNTR_MAX, 0xffffffff, 0x00000800,
|
|
|
+ mmRLC_LB_CNTL, 0xffffffff, 0x800000f4,
|
|
|
+ mmUVD_CGC_GATE, 0x00000008, 0x00000000,
|
|
|
};
|
|
|
|
|
|
static const u32 pitcairn_golden_registers[] =
|
|
|
{
|
|
|
- 0x17bc, 0x00000030, 0x00000011,
|
|
|
- 0x2684, 0x00010000, 0x00018208,
|
|
|
- 0x260c, 0xffffffff, 0x00000000,
|
|
|
- 0x260d, 0xf00fffff, 0x00000400,
|
|
|
- 0x260e, 0x0002021c, 0x00020200,
|
|
|
- 0x031e, 0x00000080, 0x00000000,
|
|
|
+ mmAZALIA_SCLK_CONTROL, 0x00000030, 0x00000011,
|
|
|
+ mmCB_HW_CONTROL, 0x00010000, 0x00018208,
|
|
|
+ mmDB_DEBUG, 0xffffffff, 0x00000000,
|
|
|
+ mmDB_DEBUG2, 0xf00fffff, 0x00000400,
|
|
|
+ mmDB_DEBUG3, 0x0002021c, 0x00020200,
|
|
|
+ mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
|
|
|
0x340c, 0x000300c0, 0x00800040,
|
|
|
0x360c, 0x000300c0, 0x00800040,
|
|
|
- 0x16ec, 0x000000f0, 0x00000070,
|
|
|
- 0x16f0, 0x00200000, 0x50100000,
|
|
|
- 0x1c0c, 0x31000311, 0x00000011,
|
|
|
- 0x0ab9, 0x00073ffe, 0x000022a2,
|
|
|
- 0x0903, 0x000007ff, 0x00000000,
|
|
|
- 0x2285, 0xf000001f, 0x00000007,
|
|
|
- 0x22c9, 0xffffffff, 0x00ffffff,
|
|
|
- 0x22c4, 0x0000ff0f, 0x00000000,
|
|
|
- 0xa293, 0x07ffffff, 0x4e000000,
|
|
|
- 0xa0d4, 0x3f3f3fff, 0x2a00126a,
|
|
|
+ mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
|
|
|
+ mmFBC_MISC, 0x00200000, 0x50100000,
|
|
|
+ mmDIG0_HDMI_CONTROL, 0x31000311, 0x00000011,
|
|
|
+ mmMC_SEQ_PMG_PG_HWCNTL, 0x00073ffe, 0x000022a2,
|
|
|
+ mmMC_XPB_P2P_BAR_CFG, 0x000007ff, 0x00000000,
|
|
|
+ mmPA_CL_ENHANCE, 0xf000001f, 0x00000007,
|
|
|
+ mmPA_SC_FORCE_EOV_MAX_CNTS, 0xffffffff, 0x00ffffff,
|
|
|
+ mmPA_SC_LINE_STIPPLE_STATE, 0x0000ff0f, 0x00000000,
|
|
|
+ mmPA_SC_MODE_CNTL_1, 0x07ffffff, 0x4e000000,
|
|
|
+ mmPA_SC_RASTER_CONFIG, 0x3f3f3fff, 0x2a00126a,
|
|
|
0x000c, 0xffffffff, 0x0040,
|
|
|
0x000d, 0x00000040, 0x00004040,
|
|
|
- 0x2440, 0x07ffffff, 0x03000000,
|
|
|
- 0x2418, 0x0000007f, 0x00000020,
|
|
|
- 0x2542, 0x00010000, 0x00010000,
|
|
|
- 0x2b05, 0x000003ff, 0x000000f7,
|
|
|
- 0x2b04, 0xffffffff, 0x00000000,
|
|
|
- 0x2b03, 0xffffffff, 0x32761054,
|
|
|
- 0x2235, 0x0000001f, 0x00000010,
|
|
|
- 0x0570, 0x000c0fc0, 0x000c0400,
|
|
|
- 0x052c, 0x0fffffff, 0xffffffff,
|
|
|
- 0x052d, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052e, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052f, 0x0fffffff, 0x0fffffff
|
|
|
+ mmSPI_CONFIG_CNTL, 0x07ffffff, 0x03000000,
|
|
|
+ mmSX_DEBUG_1, 0x0000007f, 0x00000020,
|
|
|
+ mmTA_CNTL_AUX, 0x00010000, 0x00010000,
|
|
|
+ mmTCP_ADDR_CONFIG, 0x000003ff, 0x000000f7,
|
|
|
+ mmTCP_CHAN_STEER_HI, 0xffffffff, 0x00000000,
|
|
|
+ mmTCP_CHAN_STEER_LO, 0xffffffff, 0x32761054,
|
|
|
+ mmVGT_GS_VERTEX_REUSE, 0x0000001f, 0x00000010,
|
|
|
+ mmVM_L2_CG, 0x000c0fc0, 0x000c0400,
|
|
|
+ mmVM_PRT_APERTURE0_LOW_ADDR, 0x0fffffff, 0xffffffff,
|
|
|
+ mmVM_PRT_APERTURE1_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE2_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE3_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
};
|
|
|
|
|
|
static const u32 pitcairn_golden_rlc_registers[] =
|
|
|
{
|
|
|
- 0x263e, 0xffffffff, 0x12011003,
|
|
|
- 0x3109, 0xffffffff, 0x00601004,
|
|
|
+ mmGB_ADDR_CONFIG, 0xffffffff, 0x12011003,
|
|
|
+ mmRLC_LB_PARAMS, 0xffffffff, 0x00601004,
|
|
|
0x311f, 0xffffffff, 0x10102020,
|
|
|
0x3122, 0xffffffff, 0x01000020,
|
|
|
- 0x30c5, 0xffffffff, 0x00000800,
|
|
|
- 0x30c3, 0xffffffff, 0x800000a4
|
|
|
+ mmRLC_LB_CNTR_MAX, 0xffffffff, 0x00000800,
|
|
|
+ mmRLC_LB_CNTL, 0xffffffff, 0x800000a4,
|
|
|
};
|
|
|
|
|
|
static const u32 verde_pg_init[] =
|
|
|
{
|
|
|
- 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
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x40000,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x200010ff,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x7007,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x300010ff,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x400000,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x100010ff,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x120200,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x500010ff,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x1e1e16,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x600010ff,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x171f1e,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x700010ff,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_WRITE, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_PGFSM_CONFIG, 0xffffffff, 0x9ff,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x0,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x10000800,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xf,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xf,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x4,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1000051e,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xffff,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xffff,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x8,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x80500,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x12,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x9050c,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x1d,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xb052c,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x2a,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1053e,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x2d,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x10546,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x30,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xa054e,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x3c,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1055f,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x3f,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x10567,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x42,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1056f,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x45,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x10572,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x48,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x20575,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x4c,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x190801,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x67,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1082a,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x6a,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1b082d,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x87,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x310851,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xba,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x891,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xbc,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x893,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xbe,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x20895,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xc2,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x20899,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xc6,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x2089d,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xca,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x8a1,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xcc,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x8a3,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xce,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x308a5,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0xd3,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x6d08cd,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x142,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x2000095a,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x1,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x144,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x301f095b,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x165,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xc094d,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x173,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xf096d,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x184,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x15097f,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x19b,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xc0998,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x1a9,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x409a7,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x1af,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0xcdc,
|
|
|
+ mmGMCON_RENG_RAM_INDEX, 0xffffffff, 0x1b1,
|
|
|
+ mmGMCON_RENG_RAM_DATA, 0xffffffff, 0x800,
|
|
|
+ mmGMCON_RENG_EXECUTE, 0xffffffff, 0x6c9b2000,
|
|
|
+ mmGMCON_MISC2, 0xfc00, 0x2000,
|
|
|
+ mmGMCON_MISC3, 0xffffffff, 0xfc0,
|
|
|
+ mmMC_PMG_AUTO_CFG, 0x00000100, 0x100,
|
|
|
};
|
|
|
|
|
|
static const u32 verde_golden_rlc_registers[] =
|
|
|
{
|
|
|
- 0x263e, 0xffffffff, 0x02010002,
|
|
|
- 0x3109, 0xffffffff, 0x033f1005,
|
|
|
+ mmGB_ADDR_CONFIG, 0xffffffff, 0x02010002,
|
|
|
+ mmRLC_LB_PARAMS, 0xffffffff, 0x033f1005,
|
|
|
0x311f, 0xffffffff, 0x10808020,
|
|
|
0x3122, 0xffffffff, 0x00800008,
|
|
|
- 0x30c5, 0xffffffff, 0x00001000,
|
|
|
- 0x30c3, 0xffffffff, 0x80010014
|
|
|
+ mmRLC_LB_CNTR_MAX, 0xffffffff, 0x00001000,
|
|
|
+ mmRLC_LB_CNTL, 0xffffffff, 0x80010014,
|
|
|
};
|
|
|
|
|
|
static const u32 verde_golden_registers[] =
|
|
|
{
|
|
|
- 0x17bc, 0x00000030, 0x00000011,
|
|
|
- 0x2684, 0x00010000, 0x00018208,
|
|
|
- 0x260c, 0xffffffff, 0x00000000,
|
|
|
- 0x260d, 0xf00fffff, 0x00000400,
|
|
|
- 0x260e, 0x0002021c, 0x00020200,
|
|
|
- 0x031e, 0x00000080, 0x00000000,
|
|
|
+ mmAZALIA_SCLK_CONTROL, 0x00000030, 0x00000011,
|
|
|
+ mmCB_HW_CONTROL, 0x00010000, 0x00018208,
|
|
|
+ mmDB_DEBUG, 0xffffffff, 0x00000000,
|
|
|
+ mmDB_DEBUG2, 0xf00fffff, 0x00000400,
|
|
|
+ mmDB_DEBUG3, 0x0002021c, 0x00020200,
|
|
|
+ mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
|
|
|
0x340c, 0x000300c0, 0x00800040,
|
|
|
0x360c, 0x000300c0, 0x00800040,
|
|
|
- 0x16ec, 0x000000f0, 0x00000070,
|
|
|
- 0x16f0, 0x00200000, 0x50100000,
|
|
|
- 0x1c0c, 0x31000311, 0x00000011,
|
|
|
- 0x0ab9, 0x00073ffe, 0x000022a2,
|
|
|
- 0x0903, 0x000007ff, 0x00000000,
|
|
|
- 0x2285, 0xf000001f, 0x00000007,
|
|
|
- 0x22c9, 0xffffffff, 0x00ffffff,
|
|
|
- 0x22c4, 0x0000ff0f, 0x00000000,
|
|
|
- 0xa293, 0x07ffffff, 0x4e000000,
|
|
|
- 0xa0d4, 0x3f3f3fff, 0x0000124a,
|
|
|
+ mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
|
|
|
+ mmFBC_MISC, 0x00200000, 0x50100000,
|
|
|
+ mmDIG0_HDMI_CONTROL, 0x31000311, 0x00000011,
|
|
|
+ mmMC_SEQ_PMG_PG_HWCNTL, 0x00073ffe, 0x000022a2,
|
|
|
+ mmMC_XPB_P2P_BAR_CFG, 0x000007ff, 0x00000000,
|
|
|
+ mmPA_CL_ENHANCE, 0xf000001f, 0x00000007,
|
|
|
+ mmPA_SC_FORCE_EOV_MAX_CNTS, 0xffffffff, 0x00ffffff,
|
|
|
+ mmPA_SC_LINE_STIPPLE_STATE, 0x0000ff0f, 0x00000000,
|
|
|
+ mmPA_SC_MODE_CNTL_1, 0x07ffffff, 0x4e000000,
|
|
|
+ mmPA_SC_RASTER_CONFIG, 0x3f3f3fff, 0x0000124a,
|
|
|
0x000c, 0xffffffff, 0x0040,
|
|
|
0x000d, 0x00000040, 0x00004040,
|
|
|
- 0x2440, 0x07ffffff, 0x03000000,
|
|
|
- 0x23a2, 0x01ff1f3f, 0x00000000,
|
|
|
- 0x23a1, 0x01ff1f3f, 0x00000000,
|
|
|
- 0x2418, 0x0000007f, 0x00000020,
|
|
|
- 0x2542, 0x00010000, 0x00010000,
|
|
|
- 0x2b05, 0x000003ff, 0x00000003,
|
|
|
- 0x2b04, 0xffffffff, 0x00000000,
|
|
|
- 0x2b03, 0xffffffff, 0x00001032,
|
|
|
- 0x2235, 0x0000001f, 0x00000010,
|
|
|
- 0x0570, 0x000c0fc0, 0x000c0400,
|
|
|
- 0x052c, 0x0fffffff, 0xffffffff,
|
|
|
- 0x052d, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052e, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052f, 0x0fffffff, 0x0fffffff
|
|
|
+ mmSPI_CONFIG_CNTL, 0x07ffffff, 0x03000000,
|
|
|
+ mmSQ_DED_CNT, 0x01ff1f3f, 0x00000000,
|
|
|
+ mmSQ_SEC_CNT, 0x01ff1f3f, 0x00000000,
|
|
|
+ mmSX_DEBUG_1, 0x0000007f, 0x00000020,
|
|
|
+ mmTA_CNTL_AUX, 0x00010000, 0x00010000,
|
|
|
+ mmTCP_ADDR_CONFIG, 0x000003ff, 0x00000003,
|
|
|
+ mmTCP_CHAN_STEER_HI, 0xffffffff, 0x00000000,
|
|
|
+ mmTCP_CHAN_STEER_LO, 0xffffffff, 0x00001032,
|
|
|
+ mmVGT_GS_VERTEX_REUSE, 0x0000001f, 0x00000010,
|
|
|
+ mmVM_L2_CG, 0x000c0fc0, 0x000c0400,
|
|
|
+ mmVM_PRT_APERTURE0_LOW_ADDR, 0x0fffffff, 0xffffffff,
|
|
|
+ mmVM_PRT_APERTURE1_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE2_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE3_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
};
|
|
|
|
|
|
static const u32 oland_golden_registers[] =
|
|
|
{
|
|
|
- 0x17bc, 0x00000030, 0x00000011,
|
|
|
- 0x2684, 0x00010000, 0x00018208,
|
|
|
- 0x260c, 0xffffffff, 0x00000000,
|
|
|
- 0x260d, 0xf00fffff, 0x00000400,
|
|
|
- 0x260e, 0x0002021c, 0x00020200,
|
|
|
- 0x031e, 0x00000080, 0x00000000,
|
|
|
+ mmAZALIA_SCLK_CONTROL, 0x00000030, 0x00000011,
|
|
|
+ mmCB_HW_CONTROL, 0x00010000, 0x00018208,
|
|
|
+ mmDB_DEBUG, 0xffffffff, 0x00000000,
|
|
|
+ mmDB_DEBUG2, 0xf00fffff, 0x00000400,
|
|
|
+ mmDB_DEBUG3, 0x0002021c, 0x00020200,
|
|
|
+ mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
|
|
|
0x340c, 0x000300c0, 0x00800040,
|
|
|
0x360c, 0x000300c0, 0x00800040,
|
|
|
- 0x16ec, 0x000000f0, 0x00000070,
|
|
|
- 0x16f0, 0x00200000, 0x50100000,
|
|
|
- 0x1c0c, 0x31000311, 0x00000011,
|
|
|
- 0x0ab9, 0x00073ffe, 0x000022a2,
|
|
|
- 0x0903, 0x000007ff, 0x00000000,
|
|
|
- 0x2285, 0xf000001f, 0x00000007,
|
|
|
- 0x22c9, 0xffffffff, 0x00ffffff,
|
|
|
- 0x22c4, 0x0000ff0f, 0x00000000,
|
|
|
- 0xa293, 0x07ffffff, 0x4e000000,
|
|
|
- 0xa0d4, 0x3f3f3fff, 0x00000082,
|
|
|
+ mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
|
|
|
+ mmFBC_MISC, 0x00200000, 0x50100000,
|
|
|
+ mmDIG0_HDMI_CONTROL, 0x31000311, 0x00000011,
|
|
|
+ mmMC_SEQ_PMG_PG_HWCNTL, 0x00073ffe, 0x000022a2,
|
|
|
+ mmMC_XPB_P2P_BAR_CFG, 0x000007ff, 0x00000000,
|
|
|
+ mmPA_CL_ENHANCE, 0xf000001f, 0x00000007,
|
|
|
+ mmPA_SC_FORCE_EOV_MAX_CNTS, 0xffffffff, 0x00ffffff,
|
|
|
+ mmPA_SC_LINE_STIPPLE_STATE, 0x0000ff0f, 0x00000000,
|
|
|
+ mmPA_SC_MODE_CNTL_1, 0x07ffffff, 0x4e000000,
|
|
|
+ mmPA_SC_RASTER_CONFIG, 0x3f3f3fff, 0x00000082,
|
|
|
0x000c, 0xffffffff, 0x0040,
|
|
|
0x000d, 0x00000040, 0x00004040,
|
|
|
- 0x2440, 0x07ffffff, 0x03000000,
|
|
|
- 0x2418, 0x0000007f, 0x00000020,
|
|
|
- 0x2542, 0x00010000, 0x00010000,
|
|
|
- 0x2b05, 0x000003ff, 0x000000f3,
|
|
|
- 0x2b04, 0xffffffff, 0x00000000,
|
|
|
- 0x2b03, 0xffffffff, 0x00003210,
|
|
|
- 0x2235, 0x0000001f, 0x00000010,
|
|
|
- 0x0570, 0x000c0fc0, 0x000c0400,
|
|
|
- 0x052c, 0x0fffffff, 0xffffffff,
|
|
|
- 0x052d, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052e, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052f, 0x0fffffff, 0x0fffffff
|
|
|
+ mmSPI_CONFIG_CNTL, 0x07ffffff, 0x03000000,
|
|
|
+ mmSX_DEBUG_1, 0x0000007f, 0x00000020,
|
|
|
+ mmTA_CNTL_AUX, 0x00010000, 0x00010000,
|
|
|
+ mmTCP_ADDR_CONFIG, 0x000003ff, 0x000000f3,
|
|
|
+ mmTCP_CHAN_STEER_HI, 0xffffffff, 0x00000000,
|
|
|
+ mmTCP_CHAN_STEER_LO, 0xffffffff, 0x00003210,
|
|
|
+ mmVGT_GS_VERTEX_REUSE, 0x0000001f, 0x00000010,
|
|
|
+ mmVM_L2_CG, 0x000c0fc0, 0x000c0400,
|
|
|
+ mmVM_PRT_APERTURE0_LOW_ADDR, 0x0fffffff, 0xffffffff,
|
|
|
+ mmVM_PRT_APERTURE1_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE2_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE3_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+
|
|
|
};
|
|
|
|
|
|
static const u32 oland_golden_rlc_registers[] =
|
|
|
{
|
|
|
- 0x263e, 0xffffffff, 0x02010002,
|
|
|
- 0x3109, 0xffffffff, 0x00601005,
|
|
|
+ mmGB_ADDR_CONFIG, 0xffffffff, 0x02010002,
|
|
|
+ mmRLC_LB_PARAMS, 0xffffffff, 0x00601005,
|
|
|
0x311f, 0xffffffff, 0x10104040,
|
|
|
0x3122, 0xffffffff, 0x0100000a,
|
|
|
- 0x30c5, 0xffffffff, 0x00000800,
|
|
|
- 0x30c3, 0xffffffff, 0x800000f4
|
|
|
+ mmRLC_LB_CNTR_MAX, 0xffffffff, 0x00000800,
|
|
|
+ mmRLC_LB_CNTL, 0xffffffff, 0x800000f4,
|
|
|
};
|
|
|
|
|
|
static const u32 hainan_golden_registers[] =
|
|
|
{
|
|
|
0x17bc, 0x00000030, 0x00000011,
|
|
|
- 0x2684, 0x00010000, 0x00018208,
|
|
|
- 0x260c, 0xffffffff, 0x00000000,
|
|
|
- 0x260d, 0xf00fffff, 0x00000400,
|
|
|
- 0x260e, 0x0002021c, 0x00020200,
|
|
|
+ mmCB_HW_CONTROL, 0x00010000, 0x00018208,
|
|
|
+ mmDB_DEBUG, 0xffffffff, 0x00000000,
|
|
|
+ mmDB_DEBUG2, 0xf00fffff, 0x00000400,
|
|
|
+ mmDB_DEBUG3, 0x0002021c, 0x00020200,
|
|
|
0x031e, 0x00000080, 0x00000000,
|
|
|
0x3430, 0xff000fff, 0x00000100,
|
|
|
0x340c, 0x000300c0, 0x00800040,
|
|
@@ -379,63 +385,63 @@ static const u32 hainan_golden_registers[] =
|
|
|
0x16ec, 0x000000f0, 0x00000070,
|
|
|
0x16f0, 0x00200000, 0x50100000,
|
|
|
0x1c0c, 0x31000311, 0x00000011,
|
|
|
- 0x0ab9, 0x00073ffe, 0x000022a2,
|
|
|
- 0x0903, 0x000007ff, 0x00000000,
|
|
|
- 0x2285, 0xf000001f, 0x00000007,
|
|
|
- 0x22c9, 0xffffffff, 0x00ffffff,
|
|
|
- 0x22c4, 0x0000ff0f, 0x00000000,
|
|
|
- 0xa293, 0x07ffffff, 0x4e000000,
|
|
|
- 0xa0d4, 0x3f3f3fff, 0x00000000,
|
|
|
+ mmMC_SEQ_PMG_PG_HWCNTL, 0x00073ffe, 0x000022a2,
|
|
|
+ mmMC_XPB_P2P_BAR_CFG, 0x000007ff, 0x00000000,
|
|
|
+ mmPA_CL_ENHANCE, 0xf000001f, 0x00000007,
|
|
|
+ mmPA_SC_FORCE_EOV_MAX_CNTS, 0xffffffff, 0x00ffffff,
|
|
|
+ mmPA_SC_LINE_STIPPLE_STATE, 0x0000ff0f, 0x00000000,
|
|
|
+ mmPA_SC_MODE_CNTL_1, 0x07ffffff, 0x4e000000,
|
|
|
+ mmPA_SC_RASTER_CONFIG, 0x3f3f3fff, 0x00000000,
|
|
|
0x000c, 0xffffffff, 0x0040,
|
|
|
0x000d, 0x00000040, 0x00004040,
|
|
|
- 0x2440, 0x03e00000, 0x03600000,
|
|
|
- 0x2418, 0x0000007f, 0x00000020,
|
|
|
- 0x2542, 0x00010000, 0x00010000,
|
|
|
- 0x2b05, 0x000003ff, 0x000000f1,
|
|
|
- 0x2b04, 0xffffffff, 0x00000000,
|
|
|
- 0x2b03, 0xffffffff, 0x00003210,
|
|
|
- 0x2235, 0x0000001f, 0x00000010,
|
|
|
- 0x0570, 0x000c0fc0, 0x000c0400,
|
|
|
- 0x052c, 0x0fffffff, 0xffffffff,
|
|
|
- 0x052d, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052e, 0x0fffffff, 0x0fffffff,
|
|
|
- 0x052f, 0x0fffffff, 0x0fffffff
|
|
|
+ mmSPI_CONFIG_CNTL, 0x03e00000, 0x03600000,
|
|
|
+ mmSX_DEBUG_1, 0x0000007f, 0x00000020,
|
|
|
+ mmTA_CNTL_AUX, 0x00010000, 0x00010000,
|
|
|
+ mmTCP_ADDR_CONFIG, 0x000003ff, 0x000000f1,
|
|
|
+ mmTCP_CHAN_STEER_HI, 0xffffffff, 0x00000000,
|
|
|
+ mmTCP_CHAN_STEER_LO, 0xffffffff, 0x00003210,
|
|
|
+ mmVGT_GS_VERTEX_REUSE, 0x0000001f, 0x00000010,
|
|
|
+ mmVM_L2_CG, 0x000c0fc0, 0x000c0400,
|
|
|
+ mmVM_PRT_APERTURE0_LOW_ADDR, 0x0fffffff, 0xffffffff,
|
|
|
+ mmVM_PRT_APERTURE1_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE2_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
+ mmVM_PRT_APERTURE3_LOW_ADDR, 0x0fffffff, 0x0fffffff,
|
|
|
};
|
|
|
|
|
|
static const u32 hainan_golden_registers2[] =
|
|
|
{
|
|
|
- 0x263e, 0xffffffff, 0x2011003
|
|
|
+ mmGB_ADDR_CONFIG, 0xffffffff, 0x2011003,
|
|
|
};
|
|
|
|
|
|
static const u32 tahiti_mgcg_cgcg_init[] =
|
|
|
{
|
|
|
- 0x3100, 0xffffffff, 0xfffffffc,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
- 0x2698, 0xffffffff, 0x00000100,
|
|
|
- 0x24a9, 0xffffffff, 0x00000100,
|
|
|
- 0x3059, 0xffffffff, 0x00000100,
|
|
|
- 0x25dd, 0xffffffff, 0x00000100,
|
|
|
- 0x2261, 0xffffffff, 0x06000100,
|
|
|
- 0x2286, 0xffffffff, 0x00000100,
|
|
|
- 0x24a8, 0xffffffff, 0x00000100,
|
|
|
- 0x30e0, 0xffffffff, 0x00000100,
|
|
|
- 0x22ca, 0xffffffff, 0x00000100,
|
|
|
- 0x2451, 0xffffffff, 0x00000100,
|
|
|
- 0x2362, 0xffffffff, 0x00000100,
|
|
|
- 0x2363, 0xffffffff, 0x00000100,
|
|
|
- 0x240c, 0xffffffff, 0x00000100,
|
|
|
- 0x240d, 0xffffffff, 0x00000100,
|
|
|
- 0x240e, 0xffffffff, 0x00000100,
|
|
|
- 0x240f, 0xffffffff, 0x00000100,
|
|
|
- 0x2b60, 0xffffffff, 0x00000100,
|
|
|
- 0x2b15, 0xffffffff, 0x00000100,
|
|
|
- 0x225f, 0xffffffff, 0x06000100,
|
|
|
- 0x261a, 0xffffffff, 0x00000100,
|
|
|
- 0x2544, 0xffffffff, 0x00000100,
|
|
|
- 0x2bc1, 0xffffffff, 0x00000100,
|
|
|
- 0x2b81, 0xffffffff, 0x00000100,
|
|
|
- 0x2527, 0xffffffff, 0x00000100,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
+ mmRLC_CGTT_MGCG_OVERRIDE, 0xffffffff, 0xfffffffc,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
+ mmCB_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_BCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_CP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_GDS_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_IA_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmCGTT_PA_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_PC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_RLC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SPI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQ_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQG_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL0, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL1, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL2, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL3, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_VGT_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmDB_CGTT_CLK_CTRL_0, 0xffffffff, 0x00000100,
|
|
|
+ mmTA_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCA_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCC_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTD_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
0x2458, 0xffffffff, 0x00010000,
|
|
|
0x2459, 0xffffffff, 0x00030002,
|
|
|
0x245a, 0xffffffff, 0x00040007,
|
|
@@ -516,55 +522,55 @@ static const u32 tahiti_mgcg_cgcg_init[] =
|
|
|
0x24a5, 0xffffffff, 0x00000015,
|
|
|
0x24a6, 0xffffffff, 0x00140013,
|
|
|
0x24a7, 0xffffffff, 0x00170016,
|
|
|
- 0x2454, 0xffffffff, 0x96940200,
|
|
|
- 0x21c2, 0xffffffff, 0x00900100,
|
|
|
- 0x311e, 0xffffffff, 0x00000080,
|
|
|
- 0x3101, 0xffffffff, 0x0020003f,
|
|
|
+ mmCGTS_SM_CTRL_REG, 0xffffffff, 0x96940200,
|
|
|
+ mmCP_RB_WPTR_POLL_CNTL, 0xffffffff, 0x00900100,
|
|
|
+ mmRLC_GCPM_GENERAL_3, 0xffffffff, 0x00000080,
|
|
|
+ mmRLC_CGCG_CGLS_CTRL, 0xffffffff, 0x0020003f,
|
|
|
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,
|
|
|
+ mmXDMA_CLOCK_GATING_CNTL, 0xffffffff, 0x00000100,
|
|
|
+ mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000,
|
|
|
+ mmMC_MEM_POWER_LS, 0xffffffff, 0x00000104,
|
|
|
+ mmMC_CITF_MISC_WR_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmMC_CITF_MISC_RD_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmCGTT_DRM_CLK_CTRL0, 0xff000fff, 0x00000100,
|
|
|
0x157a, 0x00000001, 0x00000001,
|
|
|
- 0x0bd4, 0x00000001, 0x00000001,
|
|
|
- 0x0c33, 0xc0000fff, 0x00000104,
|
|
|
- 0x3079, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_MEM_POWER_LS, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104,
|
|
|
+ mmCP_MEM_SLP_CNTL, 0x00000001, 0x00000001,
|
|
|
0x3430, 0xfffffff0, 0x00000100,
|
|
|
- 0x3630, 0xfffffff0, 0x00000100
|
|
|
+ 0x3630, 0xfffffff0, 0x00000100,
|
|
|
};
|
|
|
static const u32 pitcairn_mgcg_cgcg_init[] =
|
|
|
{
|
|
|
- 0x3100, 0xffffffff, 0xfffffffc,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
- 0x2698, 0xffffffff, 0x00000100,
|
|
|
- 0x24a9, 0xffffffff, 0x00000100,
|
|
|
- 0x3059, 0xffffffff, 0x00000100,
|
|
|
- 0x25dd, 0xffffffff, 0x00000100,
|
|
|
- 0x2261, 0xffffffff, 0x06000100,
|
|
|
- 0x2286, 0xffffffff, 0x00000100,
|
|
|
- 0x24a8, 0xffffffff, 0x00000100,
|
|
|
- 0x30e0, 0xffffffff, 0x00000100,
|
|
|
- 0x22ca, 0xffffffff, 0x00000100,
|
|
|
- 0x2451, 0xffffffff, 0x00000100,
|
|
|
- 0x2362, 0xffffffff, 0x00000100,
|
|
|
- 0x2363, 0xffffffff, 0x00000100,
|
|
|
- 0x240c, 0xffffffff, 0x00000100,
|
|
|
- 0x240d, 0xffffffff, 0x00000100,
|
|
|
- 0x240e, 0xffffffff, 0x00000100,
|
|
|
- 0x240f, 0xffffffff, 0x00000100,
|
|
|
- 0x2b60, 0xffffffff, 0x00000100,
|
|
|
- 0x2b15, 0xffffffff, 0x00000100,
|
|
|
- 0x225f, 0xffffffff, 0x06000100,
|
|
|
- 0x261a, 0xffffffff, 0x00000100,
|
|
|
- 0x2544, 0xffffffff, 0x00000100,
|
|
|
- 0x2bc1, 0xffffffff, 0x00000100,
|
|
|
- 0x2b81, 0xffffffff, 0x00000100,
|
|
|
- 0x2527, 0xffffffff, 0x00000100,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
+ mmRLC_CGTT_MGCG_OVERRIDE, 0xffffffff, 0xfffffffc,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
+ mmCB_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_BCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_CP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_GDS_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_IA_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmCGTT_PA_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_PC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_RLC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SPI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQ_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQG_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL0, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL1, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL2, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL3, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_VGT_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmDB_CGTT_CLK_CTRL_0, 0xffffffff, 0x00000100,
|
|
|
+ mmTA_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCA_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCC_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTD_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
0x2458, 0xffffffff, 0x00010000,
|
|
|
0x2459, 0xffffffff, 0x00030002,
|
|
|
0x245a, 0xffffffff, 0x00040007,
|
|
@@ -615,53 +621,54 @@ static const u32 pitcairn_mgcg_cgcg_init[] =
|
|
|
0x2496, 0xffffffff, 0x00100013,
|
|
|
0x2497, 0xffffffff, 0x00120011,
|
|
|
0x2498, 0xffffffff, 0x00150014,
|
|
|
- 0x2454, 0xffffffff, 0x96940200,
|
|
|
- 0x21c2, 0xffffffff, 0x00900100,
|
|
|
- 0x311e, 0xffffffff, 0x00000080,
|
|
|
- 0x3101, 0xffffffff, 0x0020003f,
|
|
|
+ mmCGTS_SM_CTRL_REG, 0xffffffff, 0x96940200,
|
|
|
+ mmCP_RB_WPTR_POLL_CNTL, 0xffffffff, 0x00900100,
|
|
|
+ mmRLC_GCPM_GENERAL_3, 0xffffffff, 0x00000080,
|
|
|
+ mmRLC_CGCG_CGLS_CTRL, 0xffffffff, 0x0020003f,
|
|
|
0x000c, 0xffffffff, 0x0000001c,
|
|
|
0x000d, 0x000f0000, 0x000f0000,
|
|
|
0x0583, 0xffffffff, 0x00000100,
|
|
|
- 0x0409, 0xffffffff, 0x00000100,
|
|
|
- 0x040b, 0x00000101, 0x00000000,
|
|
|
- 0x082a, 0xffffffff, 0x00000104,
|
|
|
- 0x1579, 0xff000fff, 0x00000100,
|
|
|
+ mmXDMA_CLOCK_GATING_CNTL, 0xffffffff, 0x00000100,
|
|
|
+ mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000,
|
|
|
+ mmMC_MEM_POWER_LS, 0xffffffff, 0x00000104,
|
|
|
+ mmCGTT_DRM_CLK_CTRL0, 0xff000fff, 0x00000100,
|
|
|
0x157a, 0x00000001, 0x00000001,
|
|
|
- 0x0bd4, 0x00000001, 0x00000001,
|
|
|
- 0x0c33, 0xc0000fff, 0x00000104,
|
|
|
- 0x3079, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_MEM_POWER_LS, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104,
|
|
|
+ mmCP_MEM_SLP_CNTL, 0x00000001, 0x00000001,
|
|
|
0x3430, 0xfffffff0, 0x00000100,
|
|
|
- 0x3630, 0xfffffff0, 0x00000100
|
|
|
+ 0x3630, 0xfffffff0, 0x00000100,
|
|
|
};
|
|
|
+
|
|
|
static const u32 verde_mgcg_cgcg_init[] =
|
|
|
{
|
|
|
- 0x3100, 0xffffffff, 0xfffffffc,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
- 0x2698, 0xffffffff, 0x00000100,
|
|
|
- 0x24a9, 0xffffffff, 0x00000100,
|
|
|
- 0x3059, 0xffffffff, 0x00000100,
|
|
|
- 0x25dd, 0xffffffff, 0x00000100,
|
|
|
- 0x2261, 0xffffffff, 0x06000100,
|
|
|
- 0x2286, 0xffffffff, 0x00000100,
|
|
|
- 0x24a8, 0xffffffff, 0x00000100,
|
|
|
- 0x30e0, 0xffffffff, 0x00000100,
|
|
|
- 0x22ca, 0xffffffff, 0x00000100,
|
|
|
- 0x2451, 0xffffffff, 0x00000100,
|
|
|
- 0x2362, 0xffffffff, 0x00000100,
|
|
|
- 0x2363, 0xffffffff, 0x00000100,
|
|
|
- 0x240c, 0xffffffff, 0x00000100,
|
|
|
- 0x240d, 0xffffffff, 0x00000100,
|
|
|
- 0x240e, 0xffffffff, 0x00000100,
|
|
|
- 0x240f, 0xffffffff, 0x00000100,
|
|
|
- 0x2b60, 0xffffffff, 0x00000100,
|
|
|
- 0x2b15, 0xffffffff, 0x00000100,
|
|
|
- 0x225f, 0xffffffff, 0x06000100,
|
|
|
- 0x261a, 0xffffffff, 0x00000100,
|
|
|
- 0x2544, 0xffffffff, 0x00000100,
|
|
|
- 0x2bc1, 0xffffffff, 0x00000100,
|
|
|
- 0x2b81, 0xffffffff, 0x00000100,
|
|
|
- 0x2527, 0xffffffff, 0x00000100,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
+ mmRLC_CGTT_MGCG_OVERRIDE, 0xffffffff, 0xfffffffc,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
+ mmCB_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_BCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_CP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_GDS_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_IA_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmCGTT_PA_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_PC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_RLC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SPI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQ_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQG_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL0, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL1, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL2, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL3, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_VGT_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmDB_CGTT_CLK_CTRL_0, 0xffffffff, 0x00000100,
|
|
|
+ mmTA_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCA_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCC_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTD_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
0x2458, 0xffffffff, 0x00010000,
|
|
|
0x2459, 0xffffffff, 0x00030002,
|
|
|
0x245a, 0xffffffff, 0x00040007,
|
|
@@ -712,55 +719,56 @@ static const u32 verde_mgcg_cgcg_init[] =
|
|
|
0x2496, 0xffffffff, 0x00100013,
|
|
|
0x2497, 0xffffffff, 0x00120011,
|
|
|
0x2498, 0xffffffff, 0x00150014,
|
|
|
- 0x2454, 0xffffffff, 0x96940200,
|
|
|
- 0x21c2, 0xffffffff, 0x00900100,
|
|
|
- 0x311e, 0xffffffff, 0x00000080,
|
|
|
- 0x3101, 0xffffffff, 0x0020003f,
|
|
|
+ mmCGTS_SM_CTRL_REG, 0xffffffff, 0x96940200,
|
|
|
+ mmCP_RB_WPTR_POLL_CNTL, 0xffffffff, 0x00900100,
|
|
|
+ mmRLC_GCPM_GENERAL_3, 0xffffffff, 0x00000080,
|
|
|
+ mmRLC_CGCG_CGLS_CTRL, 0xffffffff, 0x0020003f,
|
|
|
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,
|
|
|
+ mmXDMA_CLOCK_GATING_CNTL, 0xffffffff, 0x00000100,
|
|
|
+ mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000,
|
|
|
+ mmMC_MEM_POWER_LS, 0xffffffff, 0x00000104,
|
|
|
+ mmMC_CITF_MISC_WR_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmMC_CITF_MISC_RD_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmCGTT_DRM_CLK_CTRL0, 0xff000fff, 0x00000100,
|
|
|
0x157a, 0x00000001, 0x00000001,
|
|
|
- 0x0bd4, 0x00000001, 0x00000001,
|
|
|
- 0x0c33, 0xc0000fff, 0x00000104,
|
|
|
- 0x3079, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_MEM_POWER_LS, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104,
|
|
|
+ mmCP_MEM_SLP_CNTL, 0x00000001, 0x00000001,
|
|
|
0x3430, 0xfffffff0, 0x00000100,
|
|
|
- 0x3630, 0xfffffff0, 0x00000100
|
|
|
+ 0x3630, 0xfffffff0, 0x00000100,
|
|
|
};
|
|
|
+
|
|
|
static const u32 oland_mgcg_cgcg_init[] =
|
|
|
{
|
|
|
- 0x3100, 0xffffffff, 0xfffffffc,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
- 0x2698, 0xffffffff, 0x00000100,
|
|
|
- 0x24a9, 0xffffffff, 0x00000100,
|
|
|
- 0x3059, 0xffffffff, 0x00000100,
|
|
|
- 0x25dd, 0xffffffff, 0x00000100,
|
|
|
- 0x2261, 0xffffffff, 0x06000100,
|
|
|
- 0x2286, 0xffffffff, 0x00000100,
|
|
|
- 0x24a8, 0xffffffff, 0x00000100,
|
|
|
- 0x30e0, 0xffffffff, 0x00000100,
|
|
|
- 0x22ca, 0xffffffff, 0x00000100,
|
|
|
- 0x2451, 0xffffffff, 0x00000100,
|
|
|
- 0x2362, 0xffffffff, 0x00000100,
|
|
|
- 0x2363, 0xffffffff, 0x00000100,
|
|
|
- 0x240c, 0xffffffff, 0x00000100,
|
|
|
- 0x240d, 0xffffffff, 0x00000100,
|
|
|
- 0x240e, 0xffffffff, 0x00000100,
|
|
|
- 0x240f, 0xffffffff, 0x00000100,
|
|
|
- 0x2b60, 0xffffffff, 0x00000100,
|
|
|
- 0x2b15, 0xffffffff, 0x00000100,
|
|
|
- 0x225f, 0xffffffff, 0x06000100,
|
|
|
- 0x261a, 0xffffffff, 0x00000100,
|
|
|
- 0x2544, 0xffffffff, 0x00000100,
|
|
|
- 0x2bc1, 0xffffffff, 0x00000100,
|
|
|
- 0x2b81, 0xffffffff, 0x00000100,
|
|
|
- 0x2527, 0xffffffff, 0x00000100,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
+ mmRLC_CGTT_MGCG_OVERRIDE, 0xffffffff, 0xfffffffc,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
+ mmCB_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_BCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_CP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_GDS_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_IA_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmCGTT_PA_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_PC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_RLC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SPI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQ_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQG_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL0, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL1, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL2, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL3, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_VGT_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmDB_CGTT_CLK_CTRL_0, 0xffffffff, 0x00000100,
|
|
|
+ mmTA_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCA_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCC_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTD_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
0x2458, 0xffffffff, 0x00010000,
|
|
|
0x2459, 0xffffffff, 0x00030002,
|
|
|
0x245a, 0xffffffff, 0x00040007,
|
|
@@ -791,55 +799,56 @@ static const u32 oland_mgcg_cgcg_init[] =
|
|
|
0x2473, 0xffffffff, 0x0000000b,
|
|
|
0x2474, 0xffffffff, 0x000a0009,
|
|
|
0x2475, 0xffffffff, 0x000d000c,
|
|
|
- 0x2454, 0xffffffff, 0x96940200,
|
|
|
- 0x21c2, 0xffffffff, 0x00900100,
|
|
|
- 0x311e, 0xffffffff, 0x00000080,
|
|
|
- 0x3101, 0xffffffff, 0x0020003f,
|
|
|
+ mmCGTS_SM_CTRL_REG, 0xffffffff, 0x96940200,
|
|
|
+ mmCP_RB_WPTR_POLL_CNTL, 0xffffffff, 0x00900100,
|
|
|
+ mmRLC_GCPM_GENERAL_3, 0xffffffff, 0x00000080,
|
|
|
+ mmRLC_CGCG_CGLS_CTRL, 0xffffffff, 0x0020003f,
|
|
|
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,
|
|
|
+ mmXDMA_CLOCK_GATING_CNTL, 0xffffffff, 0x00000100,
|
|
|
+ mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000,
|
|
|
+ mmMC_MEM_POWER_LS, 0xffffffff, 0x00000104,
|
|
|
+ mmMC_CITF_MISC_WR_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmMC_CITF_MISC_RD_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmCGTT_DRM_CLK_CTRL0, 0xff000fff, 0x00000100,
|
|
|
0x157a, 0x00000001, 0x00000001,
|
|
|
- 0x0bd4, 0x00000001, 0x00000001,
|
|
|
- 0x0c33, 0xc0000fff, 0x00000104,
|
|
|
- 0x3079, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_MEM_POWER_LS, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104,
|
|
|
+ mmCP_MEM_SLP_CNTL, 0x00000001, 0x00000001,
|
|
|
0x3430, 0xfffffff0, 0x00000100,
|
|
|
- 0x3630, 0xfffffff0, 0x00000100
|
|
|
+ 0x3630, 0xfffffff0, 0x00000100,
|
|
|
};
|
|
|
+
|
|
|
static const u32 hainan_mgcg_cgcg_init[] =
|
|
|
{
|
|
|
- 0x3100, 0xffffffff, 0xfffffffc,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
- 0x2698, 0xffffffff, 0x00000100,
|
|
|
- 0x24a9, 0xffffffff, 0x00000100,
|
|
|
- 0x3059, 0xffffffff, 0x00000100,
|
|
|
- 0x25dd, 0xffffffff, 0x00000100,
|
|
|
- 0x2261, 0xffffffff, 0x06000100,
|
|
|
- 0x2286, 0xffffffff, 0x00000100,
|
|
|
- 0x24a8, 0xffffffff, 0x00000100,
|
|
|
- 0x30e0, 0xffffffff, 0x00000100,
|
|
|
- 0x22ca, 0xffffffff, 0x00000100,
|
|
|
- 0x2451, 0xffffffff, 0x00000100,
|
|
|
- 0x2362, 0xffffffff, 0x00000100,
|
|
|
- 0x2363, 0xffffffff, 0x00000100,
|
|
|
- 0x240c, 0xffffffff, 0x00000100,
|
|
|
- 0x240d, 0xffffffff, 0x00000100,
|
|
|
- 0x240e, 0xffffffff, 0x00000100,
|
|
|
- 0x240f, 0xffffffff, 0x00000100,
|
|
|
- 0x2b60, 0xffffffff, 0x00000100,
|
|
|
- 0x2b15, 0xffffffff, 0x00000100,
|
|
|
- 0x225f, 0xffffffff, 0x06000100,
|
|
|
- 0x261a, 0xffffffff, 0x00000100,
|
|
|
- 0x2544, 0xffffffff, 0x00000100,
|
|
|
- 0x2bc1, 0xffffffff, 0x00000100,
|
|
|
- 0x2b81, 0xffffffff, 0x00000100,
|
|
|
- 0x2527, 0xffffffff, 0x00000100,
|
|
|
- 0x200b, 0xffffffff, 0xe0000000,
|
|
|
+ mmRLC_CGTT_MGCG_OVERRIDE, 0xffffffff, 0xfffffffc,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
+ mmCB_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_BCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_CP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_GDS_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_IA_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmCGTT_PA_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_PC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_RLC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SC_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SPI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQ_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SQG_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL0, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL1, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL2, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_SX_CLK_CTRL3, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCI_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_TCP_CLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmCGTT_VGT_CLK_CTRL, 0xffffffff, 0x06000100,
|
|
|
+ mmDB_CGTT_CLK_CTRL_0, 0xffffffff, 0x00000100,
|
|
|
+ mmTA_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCA_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTCC_CGTT_SCLK_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmTD_CGTT_CTRL, 0xffffffff, 0x00000100,
|
|
|
+ mmGRBM_GFX_INDEX, 0xffffffff, 0xe0000000,
|
|
|
0x2458, 0xffffffff, 0x00010000,
|
|
|
0x2459, 0xffffffff, 0x00030002,
|
|
|
0x245a, 0xffffffff, 0x00040007,
|
|
@@ -870,22 +879,22 @@ static const u32 hainan_mgcg_cgcg_init[] =
|
|
|
0x2473, 0xffffffff, 0x0000000b,
|
|
|
0x2474, 0xffffffff, 0x000a0009,
|
|
|
0x2475, 0xffffffff, 0x000d000c,
|
|
|
- 0x2454, 0xffffffff, 0x96940200,
|
|
|
- 0x21c2, 0xffffffff, 0x00900100,
|
|
|
- 0x311e, 0xffffffff, 0x00000080,
|
|
|
- 0x3101, 0xffffffff, 0x0020003f,
|
|
|
+ mmCGTS_SM_CTRL_REG, 0xffffffff, 0x96940200,
|
|
|
+ mmCP_RB_WPTR_POLL_CNTL, 0xffffffff, 0x00900100,
|
|
|
+ mmRLC_GCPM_GENERAL_3, 0xffffffff, 0x00000080,
|
|
|
+ mmRLC_CGCG_CGLS_CTRL, 0xffffffff, 0x0020003f,
|
|
|
0x000c, 0xffffffff, 0x0000001c,
|
|
|
0x000d, 0x000f0000, 0x000f0000,
|
|
|
0x0583, 0xffffffff, 0x00000100,
|
|
|
0x0409, 0xffffffff, 0x00000100,
|
|
|
- 0x082a, 0xffffffff, 0x00000104,
|
|
|
- 0x0993, 0x000c0000, 0x000c0000,
|
|
|
- 0x0992, 0x000c0000, 0x000c0000,
|
|
|
- 0x0bd4, 0x00000001, 0x00000001,
|
|
|
- 0x0c33, 0xc0000fff, 0x00000104,
|
|
|
- 0x3079, 0x00000001, 0x00000001,
|
|
|
+ mmMC_MEM_POWER_LS, 0xffffffff, 0x00000104,
|
|
|
+ mmMC_CITF_MISC_WR_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmMC_CITF_MISC_RD_CG, 0x000c0000, 0x000c0000,
|
|
|
+ mmHDP_MEM_POWER_LS, 0x00000001, 0x00000001,
|
|
|
+ mmHDP_XDP_CGTT_BLK_CTRL, 0xc0000fff, 0x00000104,
|
|
|
+ mmCP_MEM_SLP_CNTL, 0x00000001, 0x00000001,
|
|
|
0x3430, 0xfffffff0, 0x00000100,
|
|
|
- 0x3630, 0xfffffff0, 0x00000100
|
|
|
+ 0x3630, 0xfffffff0, 0x00000100,
|
|
|
};
|
|
|
|
|
|
static u32 si_pcie_rreg(struct amdgpu_device *adev, u32 reg)
|
|
@@ -1001,24 +1010,81 @@ static struct amdgpu_allowed_register_entry si_allowed_read_registers[] = {
|
|
|
{PA_SC_RASTER_CONFIG, false, true},
|
|
|
};
|
|
|
|
|
|
-static uint32_t si_read_indexed_register(struct amdgpu_device *adev,
|
|
|
- u32 se_num, u32 sh_num,
|
|
|
- u32 reg_offset)
|
|
|
+static uint32_t si_get_register_value(struct amdgpu_device *adev,
|
|
|
+ bool indexed, u32 se_num,
|
|
|
+ u32 sh_num, u32 reg_offset)
|
|
|
{
|
|
|
- uint32_t val;
|
|
|
+ if (indexed) {
|
|
|
+ uint32_t val;
|
|
|
+ unsigned se_idx = (se_num == 0xffffffff) ? 0 : se_num;
|
|
|
+ unsigned sh_idx = (sh_num == 0xffffffff) ? 0 : sh_num;
|
|
|
+
|
|
|
+ switch (reg_offset) {
|
|
|
+ case mmCC_RB_BACKEND_DISABLE:
|
|
|
+ return adev->gfx.config.rb_config[se_idx][sh_idx].rb_backend_disable;
|
|
|
+ case mmGC_USER_RB_BACKEND_DISABLE:
|
|
|
+ return adev->gfx.config.rb_config[se_idx][sh_idx].user_rb_backend_disable;
|
|
|
+ case mmPA_SC_RASTER_CONFIG:
|
|
|
+ return adev->gfx.config.rb_config[se_idx][sh_idx].raster_config;
|
|
|
+ }
|
|
|
|
|
|
- mutex_lock(&adev->grbm_idx_mutex);
|
|
|
- if (se_num != 0xffffffff || sh_num != 0xffffffff)
|
|
|
- amdgpu_gfx_select_se_sh(adev, se_num, sh_num, 0xffffffff);
|
|
|
+ mutex_lock(&adev->grbm_idx_mutex);
|
|
|
+ if (se_num != 0xffffffff || sh_num != 0xffffffff)
|
|
|
+ amdgpu_gfx_select_se_sh(adev, se_num, sh_num, 0xffffffff);
|
|
|
|
|
|
- val = RREG32(reg_offset);
|
|
|
+ val = RREG32(reg_offset);
|
|
|
|
|
|
- if (se_num != 0xffffffff || sh_num != 0xffffffff)
|
|
|
- amdgpu_gfx_select_se_sh(adev, 0xffffffff, 0xffffffff, 0xffffffff);
|
|
|
- mutex_unlock(&adev->grbm_idx_mutex);
|
|
|
- return val;
|
|
|
+ if (se_num != 0xffffffff || sh_num != 0xffffffff)
|
|
|
+ amdgpu_gfx_select_se_sh(adev, 0xffffffff, 0xffffffff, 0xffffffff);
|
|
|
+ mutex_unlock(&adev->grbm_idx_mutex);
|
|
|
+ return val;
|
|
|
+ } else {
|
|
|
+ unsigned idx;
|
|
|
+
|
|
|
+ switch (reg_offset) {
|
|
|
+ case mmGB_ADDR_CONFIG:
|
|
|
+ return adev->gfx.config.gb_addr_config;
|
|
|
+ case mmMC_ARB_RAMCFG:
|
|
|
+ return adev->gfx.config.mc_arb_ramcfg;
|
|
|
+ case mmGB_TILE_MODE0:
|
|
|
+ case mmGB_TILE_MODE1:
|
|
|
+ case mmGB_TILE_MODE2:
|
|
|
+ case mmGB_TILE_MODE3:
|
|
|
+ case mmGB_TILE_MODE4:
|
|
|
+ case mmGB_TILE_MODE5:
|
|
|
+ case mmGB_TILE_MODE6:
|
|
|
+ case mmGB_TILE_MODE7:
|
|
|
+ case mmGB_TILE_MODE8:
|
|
|
+ case mmGB_TILE_MODE9:
|
|
|
+ case mmGB_TILE_MODE10:
|
|
|
+ case mmGB_TILE_MODE11:
|
|
|
+ case mmGB_TILE_MODE12:
|
|
|
+ case mmGB_TILE_MODE13:
|
|
|
+ case mmGB_TILE_MODE14:
|
|
|
+ case mmGB_TILE_MODE15:
|
|
|
+ case mmGB_TILE_MODE16:
|
|
|
+ case mmGB_TILE_MODE17:
|
|
|
+ case mmGB_TILE_MODE18:
|
|
|
+ case mmGB_TILE_MODE19:
|
|
|
+ case mmGB_TILE_MODE20:
|
|
|
+ case mmGB_TILE_MODE21:
|
|
|
+ case mmGB_TILE_MODE22:
|
|
|
+ case mmGB_TILE_MODE23:
|
|
|
+ case mmGB_TILE_MODE24:
|
|
|
+ case mmGB_TILE_MODE25:
|
|
|
+ case mmGB_TILE_MODE26:
|
|
|
+ case mmGB_TILE_MODE27:
|
|
|
+ case mmGB_TILE_MODE28:
|
|
|
+ case mmGB_TILE_MODE29:
|
|
|
+ case mmGB_TILE_MODE30:
|
|
|
+ case mmGB_TILE_MODE31:
|
|
|
+ idx = (reg_offset - mmGB_TILE_MODE0);
|
|
|
+ return adev->gfx.config.tile_mode_array[idx];
|
|
|
+ default:
|
|
|
+ return RREG32(reg_offset);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
static int si_read_register(struct amdgpu_device *adev, u32 se_num,
|
|
|
u32 sh_num, u32 reg_offset, u32 *value)
|
|
|
{
|
|
@@ -1030,10 +1096,9 @@ static int si_read_register(struct amdgpu_device *adev, u32 se_num,
|
|
|
continue;
|
|
|
|
|
|
if (!si_allowed_read_registers[i].untouched)
|
|
|
- *value = si_allowed_read_registers[i].grbm_indexed ?
|
|
|
- si_read_indexed_register(adev, se_num,
|
|
|
- sh_num, reg_offset) :
|
|
|
- RREG32(reg_offset);
|
|
|
+ *value = si_get_register_value(adev,
|
|
|
+ si_allowed_read_registers[i].grbm_indexed,
|
|
|
+ se_num, sh_num, reg_offset);
|
|
|
return 0;
|
|
|
}
|
|
|
return -EINVAL;
|
|
@@ -1129,13 +1194,12 @@ static int si_set_uvd_clocks(struct amdgpu_device *adev, u32 vclk, u32 dclk)
|
|
|
static void si_detect_hw_virtualization(struct amdgpu_device *adev)
|
|
|
{
|
|
|
if (is_virtual_machine()) /* passthrough mode */
|
|
|
- adev->virtualization.virtual_caps |= AMDGPU_PASSTHROUGH_MODE;
|
|
|
+ adev->virt.caps |= AMDGPU_PASSTHROUGH_MODE;
|
|
|
}
|
|
|
|
|
|
static const struct amdgpu_asic_funcs si_asic_funcs =
|
|
|
{
|
|
|
.read_disabled_bios = &si_read_disabled_bios,
|
|
|
- .detect_hw_virtualization = si_detect_hw_virtualization,
|
|
|
.read_register = &si_read_register,
|
|
|
.reset = &si_asic_reset,
|
|
|
.set_vga_state = &si_vga_set_state,
|
|
@@ -1852,6 +1916,8 @@ static const struct amdgpu_ip_block_version si_common_ip_block =
|
|
|
|
|
|
int si_set_ip_blocks(struct amdgpu_device *adev)
|
|
|
{
|
|
|
+ si_detect_hw_virtualization(adev);
|
|
|
+
|
|
|
switch (adev->asic_type) {
|
|
|
case CHIP_VERDE:
|
|
|
case CHIP_TAHITI:
|