aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/evergreend.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /drivers/gpu/drm/radeon/evergreend.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreend.h')
-rw-r--r--drivers/gpu/drm/radeon/evergreend.h114
1 files changed, 107 insertions, 7 deletions
diff --git a/drivers/gpu/drm/radeon/evergreend.h b/drivers/gpu/drm/radeon/evergreend.h
index 9b7532dd30f7..b7b2714f0b32 100644
--- a/drivers/gpu/drm/radeon/evergreend.h
+++ b/drivers/gpu/drm/radeon/evergreend.h
@@ -64,6 +64,8 @@
64#define GB_BACKEND_MAP 0x98FC 64#define GB_BACKEND_MAP 0x98FC
65#define DMIF_ADDR_CONFIG 0xBD4 65#define DMIF_ADDR_CONFIG 0xBD4
66#define HDP_ADDR_CONFIG 0x2F48 66#define HDP_ADDR_CONFIG 0x2F48
67#define HDP_MISC_CNTL 0x2F4C
68#define HDP_FLUSH_INVALIDATE_CACHE (1 << 0)
67 69
68#define CC_SYS_RB_BACKEND_DISABLE 0x3F88 70#define CC_SYS_RB_BACKEND_DISABLE 0x3F88
69#define GC_USER_RB_BACKEND_DISABLE 0x9B7C 71#define GC_USER_RB_BACKEND_DISABLE 0x9B7C
@@ -98,6 +100,7 @@
98#define BUF_SWAP_32BIT (2 << 16) 100#define BUF_SWAP_32BIT (2 << 16)
99#define CP_RB_RPTR 0x8700 101#define CP_RB_RPTR 0x8700
100#define CP_RB_RPTR_ADDR 0xC10C 102#define CP_RB_RPTR_ADDR 0xC10C
103#define RB_RPTR_SWAP(x) ((x) << 0)
101#define CP_RB_RPTR_ADDR_HI 0xC110 104#define CP_RB_RPTR_ADDR_HI 0xC110
102#define CP_RB_RPTR_WR 0xC108 105#define CP_RB_RPTR_WR 0xC108
103#define CP_RB_WPTR 0xC114 106#define CP_RB_WPTR 0xC114
@@ -164,22 +167,32 @@
164#define SE_SC_BUSY (1 << 29) 167#define SE_SC_BUSY (1 << 29)
165#define SE_DB_BUSY (1 << 30) 168#define SE_DB_BUSY (1 << 30)
166#define SE_CB_BUSY (1 << 31) 169#define SE_CB_BUSY (1 << 31)
167 170/* evergreen */
171#define CG_THERMAL_CTRL 0x72c
172#define TOFFSET_MASK 0x00003FE0
173#define TOFFSET_SHIFT 5
168#define CG_MULT_THERMAL_STATUS 0x740 174#define CG_MULT_THERMAL_STATUS 0x740
169#define ASIC_T(x) ((x) << 16) 175#define ASIC_T(x) ((x) << 16)
170#define ASIC_T_MASK 0x7FF0000 176#define ASIC_T_MASK 0x07FF0000
171#define ASIC_T_SHIFT 16 177#define ASIC_T_SHIFT 16
178#define CG_TS0_STATUS 0x760
179#define TS0_ADC_DOUT_MASK 0x000003FF
180#define TS0_ADC_DOUT_SHIFT 0
181/* APU */
182#define CG_THERMAL_STATUS 0x678
172 183
173#define HDP_HOST_PATH_CNTL 0x2C00 184#define HDP_HOST_PATH_CNTL 0x2C00
174#define HDP_NONSURFACE_BASE 0x2C04 185#define HDP_NONSURFACE_BASE 0x2C04
175#define HDP_NONSURFACE_INFO 0x2C08 186#define HDP_NONSURFACE_INFO 0x2C08
176#define HDP_NONSURFACE_SIZE 0x2C0C 187#define HDP_NONSURFACE_SIZE 0x2C0C
188#define HDP_MEM_COHERENCY_FLUSH_CNTL 0x5480
177#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 189#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0
178#define HDP_TILING_CONFIG 0x2F3C 190#define HDP_TILING_CONFIG 0x2F3C
179 191
180#define MC_SHARED_CHMAP 0x2004 192#define MC_SHARED_CHMAP 0x2004
181#define NOOFCHAN_SHIFT 12 193#define NOOFCHAN_SHIFT 12
182#define NOOFCHAN_MASK 0x00003000 194#define NOOFCHAN_MASK 0x00003000
195#define MC_SHARED_CHREMAP 0x2008
183 196
184#define MC_ARB_RAMCFG 0x2760 197#define MC_ARB_RAMCFG 0x2760
185#define NOOFBANK_SHIFT 0 198#define NOOFBANK_SHIFT 0
@@ -195,10 +208,12 @@
195#define BURSTLENGTH_SHIFT 9 208#define BURSTLENGTH_SHIFT 9
196#define BURSTLENGTH_MASK 0x00000200 209#define BURSTLENGTH_MASK 0x00000200
197#define CHANSIZE_OVERRIDE (1 << 11) 210#define CHANSIZE_OVERRIDE (1 << 11)
211#define FUS_MC_ARB_RAMCFG 0x2768
198#define MC_VM_AGP_TOP 0x2028 212#define MC_VM_AGP_TOP 0x2028
199#define MC_VM_AGP_BOT 0x202C 213#define MC_VM_AGP_BOT 0x202C
200#define MC_VM_AGP_BASE 0x2030 214#define MC_VM_AGP_BASE 0x2030
201#define MC_VM_FB_LOCATION 0x2024 215#define MC_VM_FB_LOCATION 0x2024
216#define MC_FUS_VM_FB_OFFSET 0x2898
202#define MC_VM_MB_L1_TLB0_CNTL 0x2234 217#define MC_VM_MB_L1_TLB0_CNTL 0x2234
203#define MC_VM_MB_L1_TLB1_CNTL 0x2238 218#define MC_VM_MB_L1_TLB1_CNTL 0x2238
204#define MC_VM_MB_L1_TLB2_CNTL 0x223C 219#define MC_VM_MB_L1_TLB2_CNTL 0x223C
@@ -215,6 +230,11 @@
215#define MC_VM_MD_L1_TLB0_CNTL 0x2654 230#define MC_VM_MD_L1_TLB0_CNTL 0x2654
216#define MC_VM_MD_L1_TLB1_CNTL 0x2658 231#define MC_VM_MD_L1_TLB1_CNTL 0x2658
217#define MC_VM_MD_L1_TLB2_CNTL 0x265C 232#define MC_VM_MD_L1_TLB2_CNTL 0x265C
233
234#define FUS_MC_VM_MD_L1_TLB0_CNTL 0x265C
235#define FUS_MC_VM_MD_L1_TLB1_CNTL 0x2660
236#define FUS_MC_VM_MD_L1_TLB2_CNTL 0x2664
237
218#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C 238#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C
219#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038 239#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038
220#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034 240#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034
@@ -235,6 +255,7 @@
235#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0) 255#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0)
236#define FORCE_EOV_MAX_REZ_CNT(x) ((x) << 16) 256#define FORCE_EOV_MAX_REZ_CNT(x) ((x) << 16)
237#define PA_SC_LINE_STIPPLE 0x28A0C 257#define PA_SC_LINE_STIPPLE 0x28A0C
258#define PA_SU_LINE_STIPPLE_VALUE 0x8A60
238#define PA_SC_LINE_STIPPLE_STATE 0x8B10 259#define PA_SC_LINE_STIPPLE_STATE 0x8B10
239 260
240#define SCRATCH_REG0 0x8500 261#define SCRATCH_REG0 0x8500
@@ -348,6 +369,9 @@
348#define SYNC_WALKER (1 << 25) 369#define SYNC_WALKER (1 << 25)
349#define SYNC_ALIGNER (1 << 26) 370#define SYNC_ALIGNER (1 << 26)
350 371
372#define TCP_CHAN_STEER_LO 0x960c
373#define TCP_CHAN_STEER_HI 0x9610
374
351#define VGT_CACHE_INVALIDATION 0x88C4 375#define VGT_CACHE_INVALIDATION 0x88C4
352#define CACHE_INVALIDATION(x) ((x) << 0) 376#define CACHE_INVALIDATION(x) ((x) << 0)
353#define VC_ONLY 0 377#define VC_ONLY 0
@@ -412,6 +436,19 @@
412#define SOFT_RESET_REGBB (1 << 22) 436#define SOFT_RESET_REGBB (1 << 22)
413#define SOFT_RESET_ORB (1 << 23) 437#define SOFT_RESET_ORB (1 << 23)
414 438
439/* display watermarks */
440#define DC_LB_MEMORY_SPLIT 0x6b0c
441#define PRIORITY_A_CNT 0x6b18
442#define PRIORITY_MARK_MASK 0x7fff
443#define PRIORITY_OFF (1 << 16)
444#define PRIORITY_ALWAYS_ON (1 << 20)
445#define PRIORITY_B_CNT 0x6b1c
446#define PIPE0_ARBITRATION_CONTROL3 0x0bf0
447# define LATENCY_WATERMARK_MASK(x) ((x) << 16)
448#define PIPE0_LATENCY_CONTROL 0x0bf4
449# define LATENCY_LOW_WATERMARK(x) ((x) << 0)
450# define LATENCY_HIGH_WATERMARK(x) ((x) << 16)
451
415#define IH_RB_CNTL 0x3e00 452#define IH_RB_CNTL 0x3e00
416# define IH_RB_ENABLE (1 << 0) 453# define IH_RB_ENABLE (1 << 0)
417# define IH_IB_SIZE(x) ((x) << 1) /* log2 */ 454# define IH_IB_SIZE(x) ((x) << 1) /* log2 */
@@ -429,7 +466,7 @@
429#define IH_RB_WPTR_ADDR_LO 0x3e14 466#define IH_RB_WPTR_ADDR_LO 0x3e14
430#define IH_CNTL 0x3e18 467#define IH_CNTL 0x3e18
431# define ENABLE_INTR (1 << 0) 468# define ENABLE_INTR (1 << 0)
432# define IH_MC_SWAP(x) ((x) << 2) 469# define IH_MC_SWAP(x) ((x) << 1)
433# define IH_MC_SWAP_NONE 0 470# define IH_MC_SWAP_NONE 0
434# define IH_MC_SWAP_16BIT 1 471# define IH_MC_SWAP_16BIT 1
435# define IH_MC_SWAP_32BIT 2 472# define IH_MC_SWAP_32BIT 2
@@ -510,7 +547,7 @@
510# define LB_D5_VBLANK_INTERRUPT (1 << 3) 547# define LB_D5_VBLANK_INTERRUPT (1 << 3)
511# define DC_HPD5_INTERRUPT (1 << 17) 548# define DC_HPD5_INTERRUPT (1 << 17)
512# define DC_HPD5_RX_INTERRUPT (1 << 18) 549# define DC_HPD5_RX_INTERRUPT (1 << 18)
513#define DISP_INTERRUPT_STATUS_CONTINUE5 0x6050 550#define DISP_INTERRUPT_STATUS_CONTINUE5 0x6150
514# define LB_D6_VLINE_INTERRUPT (1 << 2) 551# define LB_D6_VLINE_INTERRUPT (1 << 2)
515# define LB_D6_VBLANK_INTERRUPT (1 << 3) 552# define LB_D6_VBLANK_INTERRUPT (1 << 3)
516# define DC_HPD6_INTERRUPT (1 << 17) 553# define DC_HPD6_INTERRUPT (1 << 17)
@@ -560,6 +597,44 @@
560# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) 597# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16)
561# define DC_HPDx_EN (1 << 28) 598# define DC_HPDx_EN (1 << 28)
562 599
600/* PCIE link stuff */
601#define PCIE_LC_TRAINING_CNTL 0xa1 /* PCIE_P */
602#define PCIE_LC_LINK_WIDTH_CNTL 0xa2 /* PCIE_P */
603# define LC_LINK_WIDTH_SHIFT 0
604# define LC_LINK_WIDTH_MASK 0x7
605# define LC_LINK_WIDTH_X0 0
606# define LC_LINK_WIDTH_X1 1
607# define LC_LINK_WIDTH_X2 2
608# define LC_LINK_WIDTH_X4 3
609# define LC_LINK_WIDTH_X8 4
610# define LC_LINK_WIDTH_X16 6
611# define LC_LINK_WIDTH_RD_SHIFT 4
612# define LC_LINK_WIDTH_RD_MASK 0x70
613# define LC_RECONFIG_ARC_MISSING_ESCAPE (1 << 7)
614# define LC_RECONFIG_NOW (1 << 8)
615# define LC_RENEGOTIATION_SUPPORT (1 << 9)
616# define LC_RENEGOTIATE_EN (1 << 10)
617# define LC_SHORT_RECONFIG_EN (1 << 11)
618# define LC_UPCONFIGURE_SUPPORT (1 << 12)
619# define LC_UPCONFIGURE_DIS (1 << 13)
620#define PCIE_LC_SPEED_CNTL 0xa4 /* PCIE_P */
621# define LC_GEN2_EN_STRAP (1 << 0)
622# define LC_TARGET_LINK_SPEED_OVERRIDE_EN (1 << 1)
623# define LC_FORCE_EN_HW_SPEED_CHANGE (1 << 5)
624# define LC_FORCE_DIS_HW_SPEED_CHANGE (1 << 6)
625# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_MASK (0x3 << 8)
626# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_SHIFT 3
627# define LC_CURRENT_DATA_RATE (1 << 11)
628# define LC_VOLTAGE_TIMER_SEL_MASK (0xf << 14)
629# define LC_CLR_FAILED_SPD_CHANGE_CNT (1 << 21)
630# define LC_OTHER_SIDE_EVER_SENT_GEN2 (1 << 23)
631# define LC_OTHER_SIDE_SUPPORTS_GEN2 (1 << 24)
632#define MM_CFGREGS_CNTL 0x544c
633# define MM_WR_TO_CFG_EN (1 << 3)
634#define LINK_CNTL2 0x88 /* F0 */
635# define TARGET_LINK_SPEED_MASK (0xf << 0)
636# define SELECTABLE_DEEMPHASIS (1 << 6)
637
563/* 638/*
564 * PM4 639 * PM4
565 */ 640 */
@@ -589,10 +664,11 @@
589#define PACKET3_NOP 0x10 664#define PACKET3_NOP 0x10
590#define PACKET3_SET_BASE 0x11 665#define PACKET3_SET_BASE 0x11
591#define PACKET3_CLEAR_STATE 0x12 666#define PACKET3_CLEAR_STATE 0x12
592#define PACKET3_INDIRECT_BUFFER_SIZE 0x13 667#define PACKET3_INDEX_BUFFER_SIZE 0x13
593#define PACKET3_DISPATCH_DIRECT 0x15 668#define PACKET3_DISPATCH_DIRECT 0x15
594#define PACKET3_DISPATCH_INDIRECT 0x16 669#define PACKET3_DISPATCH_INDIRECT 0x16
595#define PACKET3_INDIRECT_BUFFER_END 0x17 670#define PACKET3_INDIRECT_BUFFER_END 0x17
671#define PACKET3_MODE_CONTROL 0x18
596#define PACKET3_SET_PREDICATION 0x20 672#define PACKET3_SET_PREDICATION 0x20
597#define PACKET3_REG_RMW 0x21 673#define PACKET3_REG_RMW 0x21
598#define PACKET3_COND_EXEC 0x22 674#define PACKET3_COND_EXEC 0x22
@@ -630,14 +706,14 @@
630# define PACKET3_CB8_DEST_BASE_ENA (1 << 15) 706# define PACKET3_CB8_DEST_BASE_ENA (1 << 15)
631# define PACKET3_CB9_DEST_BASE_ENA (1 << 16) 707# define PACKET3_CB9_DEST_BASE_ENA (1 << 16)
632# define PACKET3_CB10_DEST_BASE_ENA (1 << 17) 708# define PACKET3_CB10_DEST_BASE_ENA (1 << 17)
633# define PACKET3_CB11_DEST_BASE_ENA (1 << 17) 709# define PACKET3_CB11_DEST_BASE_ENA (1 << 18)
634# define PACKET3_FULL_CACHE_ENA (1 << 20) 710# define PACKET3_FULL_CACHE_ENA (1 << 20)
635# define PACKET3_TC_ACTION_ENA (1 << 23) 711# define PACKET3_TC_ACTION_ENA (1 << 23)
636# define PACKET3_VC_ACTION_ENA (1 << 24) 712# define PACKET3_VC_ACTION_ENA (1 << 24)
637# define PACKET3_CB_ACTION_ENA (1 << 25) 713# define PACKET3_CB_ACTION_ENA (1 << 25)
638# define PACKET3_DB_ACTION_ENA (1 << 26) 714# define PACKET3_DB_ACTION_ENA (1 << 26)
639# define PACKET3_SH_ACTION_ENA (1 << 27) 715# define PACKET3_SH_ACTION_ENA (1 << 27)
640# define PACKET3_SMX_ACTION_ENA (1 << 28) 716# define PACKET3_SX_ACTION_ENA (1 << 28)
641#define PACKET3_ME_INITIALIZE 0x44 717#define PACKET3_ME_INITIALIZE 0x44
642#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) 718#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16)
643#define PACKET3_COND_WRITE 0x45 719#define PACKET3_COND_WRITE 0x45
@@ -645,6 +721,8 @@
645#define PACKET3_EVENT_WRITE_EOP 0x47 721#define PACKET3_EVENT_WRITE_EOP 0x47
646#define PACKET3_EVENT_WRITE_EOS 0x48 722#define PACKET3_EVENT_WRITE_EOS 0x48
647#define PACKET3_PREAMBLE_CNTL 0x4A 723#define PACKET3_PREAMBLE_CNTL 0x4A
724# define PACKET3_PREAMBLE_BEGIN_CLEAR_STATE (2 << 28)
725# define PACKET3_PREAMBLE_END_CLEAR_STATE (3 << 28)
648#define PACKET3_RB_OFFSET 0x4B 726#define PACKET3_RB_OFFSET 0x4B
649#define PACKET3_ALU_PS_CONST_BUFFER_COPY 0x4C 727#define PACKET3_ALU_PS_CONST_BUFFER_COPY 0x4C
650#define PACKET3_ALU_VS_CONST_BUFFER_COPY 0x4D 728#define PACKET3_ALU_VS_CONST_BUFFER_COPY 0x4D
@@ -691,13 +769,21 @@
691 769
692#define SQ_CONST_MEM_BASE 0x8df8 770#define SQ_CONST_MEM_BASE 0x8df8
693 771
772#define SQ_ESGS_RING_BASE 0x8c40
694#define SQ_ESGS_RING_SIZE 0x8c44 773#define SQ_ESGS_RING_SIZE 0x8c44
774#define SQ_GSVS_RING_BASE 0x8c48
695#define SQ_GSVS_RING_SIZE 0x8c4c 775#define SQ_GSVS_RING_SIZE 0x8c4c
776#define SQ_ESTMP_RING_BASE 0x8c50
696#define SQ_ESTMP_RING_SIZE 0x8c54 777#define SQ_ESTMP_RING_SIZE 0x8c54
778#define SQ_GSTMP_RING_BASE 0x8c58
697#define SQ_GSTMP_RING_SIZE 0x8c5c 779#define SQ_GSTMP_RING_SIZE 0x8c5c
780#define SQ_VSTMP_RING_BASE 0x8c60
698#define SQ_VSTMP_RING_SIZE 0x8c64 781#define SQ_VSTMP_RING_SIZE 0x8c64
782#define SQ_PSTMP_RING_BASE 0x8c68
699#define SQ_PSTMP_RING_SIZE 0x8c6c 783#define SQ_PSTMP_RING_SIZE 0x8c6c
784#define SQ_LSTMP_RING_BASE 0x8e10
700#define SQ_LSTMP_RING_SIZE 0x8e14 785#define SQ_LSTMP_RING_SIZE 0x8e14
786#define SQ_HSTMP_RING_BASE 0x8e18
701#define SQ_HSTMP_RING_SIZE 0x8e1c 787#define SQ_HSTMP_RING_SIZE 0x8e1c
702#define VGT_TF_RING_SIZE 0x8988 788#define VGT_TF_RING_SIZE 0x8988
703 789
@@ -802,6 +888,11 @@
802#define SQ_ALU_CONST_CACHE_LS_14 0x28f78 888#define SQ_ALU_CONST_CACHE_LS_14 0x28f78
803#define SQ_ALU_CONST_CACHE_LS_15 0x28f7c 889#define SQ_ALU_CONST_CACHE_LS_15 0x28f7c
804 890
891#define PA_SC_SCREEN_SCISSOR_TL 0x28030
892#define PA_SC_GENERIC_SCISSOR_TL 0x28240
893#define PA_SC_WINDOW_SCISSOR_TL 0x28204
894#define VGT_PRIMITIVE_TYPE 0x8958
895
805#define DB_DEPTH_CONTROL 0x28800 896#define DB_DEPTH_CONTROL 0x28800
806#define DB_DEPTH_VIEW 0x28008 897#define DB_DEPTH_VIEW 0x28008
807#define DB_HTILE_DATA_BASE 0x28014 898#define DB_HTILE_DATA_BASE 0x28014
@@ -1024,5 +1115,14 @@
1024#define SQ_TEX_RESOURCE_WORD6_0 0x30018 1115#define SQ_TEX_RESOURCE_WORD6_0 0x30018
1025#define SQ_TEX_RESOURCE_WORD7_0 0x3001c 1116#define SQ_TEX_RESOURCE_WORD7_0 0x3001c
1026 1117
1118/* cayman 3D regs */
1119#define CAYMAN_VGT_OFFCHIP_LDS_BASE 0x89B0
1120#define CAYMAN_DB_EQAA 0x28804
1121#define CAYMAN_DB_DEPTH_INFO 0x2803C
1122#define CAYMAN_PA_SC_AA_CONFIG 0x28BE0
1123#define CAYMAN_MSAA_NUM_SAMPLES_SHIFT 0
1124#define CAYMAN_MSAA_NUM_SAMPLES_MASK 0x7
1125/* cayman packet3 addition */
1126#define CAYMAN_PACKET3_DEALLOC_STATE 0x14
1027 1127
1028#endif 1128#endif