|
@@ -31,7 +31,7 @@
|
|
|
container_of(mi, struct dcn10_mem_input, base)
|
|
|
|
|
|
|
|
|
-#define MI_DCN10_REG_LIST(id)\
|
|
|
+#define MI_REG_LIST_DCN(id)\
|
|
|
SRI(DCHUBP_CNTL, HUBP, id),\
|
|
|
SRI(HUBPREQ_DEBUG_DB, HUBP, id),\
|
|
|
SRI(DCSURF_ADDR_CONFIG, HUBP, id),\
|
|
@@ -93,27 +93,7 @@
|
|
|
SRI(DCN_SURF0_TTU_CNTL1, HUBPREQ, id),\
|
|
|
SRI(DCN_SURF1_TTU_CNTL0, HUBPREQ, id),\
|
|
|
SRI(DCN_SURF1_TTU_CNTL1, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PAGE_TABLE_START_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PAGE_TABLE_START_ADDR_LSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PAGE_TABLE_END_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PAGE_TABLE_END_ADDR_LSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_LSB, HUBPREQ, id),\
|
|
|
SRI(DCN_VM_MX_L1_TLB_CNTL, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, HUBPREQ, id),\
|
|
|
- SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, HUBPREQ, id),\
|
|
|
- SR(DCHUBBUB_SDPIF_FB_TOP),\
|
|
|
- SR(DCHUBBUB_SDPIF_FB_BASE),\
|
|
|
- SR(DCHUBBUB_SDPIF_FB_OFFSET),\
|
|
|
- SR(DCHUBBUB_SDPIF_AGP_BASE),\
|
|
|
- SR(DCHUBBUB_SDPIF_AGP_BOT),\
|
|
|
- SR(DCHUBBUB_SDPIF_AGP_TOP),\
|
|
|
SR(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A),\
|
|
|
SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_A),\
|
|
|
SR(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A),\
|
|
@@ -152,6 +132,29 @@
|
|
|
MMHUB_SR(MC_VM_SYSTEM_APERTURE_LOW_ADDR),\
|
|
|
MMHUB_SR(MC_VM_SYSTEM_APERTURE_HIGH_ADDR)
|
|
|
|
|
|
+#define MI_REG_LIST_DCN10(id)\
|
|
|
+ MI_REG_LIST_DCN(id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PAGE_TABLE_START_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PAGE_TABLE_START_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PAGE_TABLE_END_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PAGE_TABLE_END_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, HUBPREQ, id),\
|
|
|
+ SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, HUBPREQ, id),\
|
|
|
+ SR(DCHUBBUB_SDPIF_FB_TOP),\
|
|
|
+ SR(DCHUBBUB_SDPIF_FB_BASE),\
|
|
|
+ SR(DCHUBBUB_SDPIF_FB_OFFSET),\
|
|
|
+ SR(DCHUBBUB_SDPIF_AGP_BASE),\
|
|
|
+ SR(DCHUBBUB_SDPIF_AGP_BOT),\
|
|
|
+ SR(DCHUBBUB_SDPIF_AGP_TOP)
|
|
|
+
|
|
|
struct dcn_mi_registers {
|
|
|
uint32_t DCHUBP_CNTL;
|
|
|
uint32_t HUBPREQ_DEBUG_DB;
|
|
@@ -229,12 +232,20 @@ struct dcn_mi_registers {
|
|
|
uint32_t DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB;
|
|
|
uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB;
|
|
|
uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB;
|
|
|
+ uint32_t DCN_VM_SYSTEM_APERTURE_LOW_ADDR;
|
|
|
+ uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR;
|
|
|
uint32_t DCHUBBUB_SDPIF_FB_TOP;
|
|
|
uint32_t DCHUBBUB_SDPIF_FB_BASE;
|
|
|
uint32_t DCHUBBUB_SDPIF_FB_OFFSET;
|
|
|
uint32_t DCHUBBUB_SDPIF_AGP_BASE;
|
|
|
uint32_t DCHUBBUB_SDPIF_AGP_BOT;
|
|
|
uint32_t DCHUBBUB_SDPIF_AGP_TOP;
|
|
|
+ uint32_t DCN_VM_FB_LOCATION_TOP;
|
|
|
+ uint32_t DCN_VM_FB_LOCATION_BASE;
|
|
|
+ uint32_t DCN_VM_FB_OFFSET;
|
|
|
+ uint32_t DCN_VM_AGP_BASE;
|
|
|
+ uint32_t DCN_VM_AGP_BOT;
|
|
|
+ uint32_t DCN_VM_AGP_TOP;
|
|
|
uint32_t DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A;
|
|
|
uint32_t DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_A;
|
|
|
uint32_t DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A;
|
|
@@ -278,7 +289,7 @@ struct dcn_mi_registers {
|
|
|
#define MI_SF(reg_name, field_name, post_fix)\
|
|
|
.field_name = reg_name ## __ ## field_name ## post_fix
|
|
|
|
|
|
-#define MI_DCN10_MASK_SH_LIST(mask_sh)\
|
|
|
+#define MI_MASK_SH_LIST_DCN(mask_sh)\
|
|
|
MI_SF(HUBP0_DCHUBP_CNTL, HUBP_BLANK_EN, mask_sh),\
|
|
|
MI_SF(HUBP0_DCHUBP_CNTL, HUBP_TTU_DISABLE, mask_sh),\
|
|
|
MI_SF(HUBP0_DCSURF_ADDR_CONFIG, NUM_PIPES, mask_sh),\
|
|
@@ -299,7 +310,7 @@ struct dcn_mi_registers {
|
|
|
MI_SF(HUBP0_DCSURF_SURFACE_CONFIG, H_MIRROR_EN, mask_sh),\
|
|
|
MI_SF(HUBP0_DCSURF_SURFACE_CONFIG, SURFACE_PIXEL_FORMAT, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_FLIP_TYPE, mask_sh),\
|
|
|
- MI_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_UPDATE_PENDING, mask_sh),\
|
|
|
+ MI_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_FLIP_PENDING, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCSURF_FLIP_CONTROL, SURFACE_UPDATE_LOCK, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH, PRIMARY_SURFACE_ADDRESS_HIGH, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCSURF_PRIMARY_SURFACE_ADDRESS, PRIMARY_SURFACE_ADDRESS, mask_sh),\
|
|
@@ -382,6 +393,17 @@ struct dcn_mi_registers {
|
|
|
MI_SF(HUBPREQ0_DCN_SURF0_TTU_CNTL0, QoS_LEVEL_FIXED, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_SURF0_TTU_CNTL0, QoS_RAMP_DISABLE, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_SURF0_TTU_CNTL1, REFCYC_PER_REQ_DELIVERY_PRE, mask_sh),\
|
|
|
+ MI_SF(HUBPREQ0_DCN_VM_MX_L1_TLB_CNTL, ENABLE_L1_TLB, mask_sh),\
|
|
|
+ MI_SF(HUBPREQ0_DCN_VM_MX_L1_TLB_CNTL, SYSTEM_ACCESS_MODE, mask_sh),\
|
|
|
+ MI_SF(DCHUBBUB_ARB_WATERMARK_CHANGE_CNTL, DCHUBBUB_ARB_WATERMARK_CHANGE_REQUEST, mask_sh),\
|
|
|
+ MI_SF(DCHUBBUB_ARB_WATERMARK_CHANGE_CNTL, DCHUBBUB_ARB_WATERMARK_CHANGE_DONE_INTERRUPT_DISABLE, mask_sh),\
|
|
|
+ MI_SF(DCHUBBUB_ARB_DRAM_STATE_CNTL, DCHUBBUB_ARB_ALLOW_SELF_REFRESH_FORCE_VALUE, mask_sh),\
|
|
|
+ MI_SF(DCHUBBUB_ARB_DRAM_STATE_CNTL, DCHUBBUB_ARB_ALLOW_SELF_REFRESH_FORCE_ENABLE, mask_sh),\
|
|
|
+ MI_SF(DCHUBBUB_ARB_SAT_LEVEL, DCHUBBUB_ARB_SAT_LEVEL, mask_sh),\
|
|
|
+ MI_SF(DCHUBBUB_ARB_DF_REQ_OUTSTAND, DCHUBBUB_ARB_MIN_REQ_OUTSTAND, mask_sh)
|
|
|
+
|
|
|
+#define MI_MASK_SH_LIST_DCN10(mask_sh)\
|
|
|
+ MI_MASK_SH_LIST_DCN(mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_MSB, VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_MSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LSB, VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_CONTEXT0_PAGE_TABLE_START_ADDR_MSB, VM_CONTEXT0_PAGE_TABLE_START_ADDR_MSB, mask_sh),\
|
|
@@ -390,11 +412,6 @@ struct dcn_mi_registers {
|
|
|
MI_SF(HUBPREQ0_DCN_VM_CONTEXT0_PAGE_TABLE_END_ADDR_LSB, VM_CONTEXT0_PAGE_TABLE_END_ADDR_LSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_MSB, VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_MSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_LSB, VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR_LSB, mask_sh),\
|
|
|
- MI_SF(HUBPREQ0_DCN_VM_MX_L1_TLB_CNTL, ENABLE_L1_TLB, mask_sh),\
|
|
|
- MI_SF(HUBPREQ0_DCN_VM_MX_L1_TLB_CNTL, SYSTEM_ACCESS_MODE, mask_sh),\
|
|
|
- MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_SYSTEM, mask_sh),\
|
|
|
- MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, mask_sh),\
|
|
|
- MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_LOW_ADDR_MSB, MC_VM_SYSTEM_APERTURE_LOW_ADDR_MSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, MC_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, mask_sh),\
|
|
|
MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, MC_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, mask_sh),\
|
|
@@ -405,12 +422,9 @@ struct dcn_mi_registers {
|
|
|
MI_SF(DCHUBBUB_SDPIF_AGP_BASE, SDPIF_AGP_BASE, mask_sh),\
|
|
|
MI_SF(DCHUBBUB_SDPIF_AGP_BOT, SDPIF_AGP_BOT, mask_sh),\
|
|
|
MI_SF(DCHUBBUB_SDPIF_AGP_TOP, SDPIF_AGP_TOP, mask_sh),\
|
|
|
- MI_SF(DCHUBBUB_ARB_WATERMARK_CHANGE_CNTL, DCHUBBUB_ARB_WATERMARK_CHANGE_REQUEST, mask_sh),\
|
|
|
- MI_SF(DCHUBBUB_ARB_WATERMARK_CHANGE_CNTL, DCHUBBUB_ARB_WATERMARK_CHANGE_DONE_INTERRUPT_DISABLE, mask_sh),\
|
|
|
- MI_SF(DCHUBBUB_ARB_DRAM_STATE_CNTL, DCHUBBUB_ARB_ALLOW_SELF_REFRESH_FORCE_VALUE, mask_sh),\
|
|
|
- MI_SF(DCHUBBUB_ARB_DRAM_STATE_CNTL, DCHUBBUB_ARB_ALLOW_SELF_REFRESH_FORCE_ENABLE, mask_sh),\
|
|
|
- MI_SF(DCHUBBUB_ARB_SAT_LEVEL, DCHUBBUB_ARB_SAT_LEVEL, mask_sh),\
|
|
|
- MI_SF(DCHUBBUB_ARB_DF_REQ_OUTSTAND, DCHUBBUB_ARB_MIN_REQ_OUTSTAND, mask_sh),\
|
|
|
+ MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_SYSTEM, mask_sh),\
|
|
|
+ MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, mask_sh),\
|
|
|
+ MI_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, mask_sh),\
|
|
|
/* todo: get these from GVM instead of reading registers ourselves */\
|
|
|
MI_SF(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32, PAGE_DIRECTORY_ENTRY_HI32, mask_sh),\
|
|
|
MI_SF(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_LO32, PAGE_DIRECTORY_ENTRY_LO32, mask_sh),\
|
|
@@ -444,7 +458,7 @@ struct dcn_mi_registers {
|
|
|
type SURFACE_PIXEL_FORMAT;\
|
|
|
type SURFACE_FLIP_TYPE;\
|
|
|
type SURFACE_UPDATE_LOCK;\
|
|
|
- type SURFACE_UPDATE_PENDING;\
|
|
|
+ type SURFACE_FLIP_PENDING;\
|
|
|
type PRIMARY_SURFACE_ADDRESS_HIGH;\
|
|
|
type PRIMARY_SURFACE_ADDRESS;\
|
|
|
type SECONDARY_SURFACE_ADDRESS_HIGH;\
|
|
@@ -543,12 +557,20 @@ struct dcn_mi_registers {
|
|
|
type MC_VM_SYSTEM_APERTURE_LOW_ADDR_LSB;\
|
|
|
type MC_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB;\
|
|
|
type MC_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB;\
|
|
|
+ type MC_VM_SYSTEM_APERTURE_LOW_ADDR;\
|
|
|
+ type MC_VM_SYSTEM_APERTURE_HIGH_ADDR;\
|
|
|
type SDPIF_FB_TOP;\
|
|
|
type SDPIF_FB_BASE;\
|
|
|
type SDPIF_FB_OFFSET;\
|
|
|
type SDPIF_AGP_BASE;\
|
|
|
type SDPIF_AGP_BOT;\
|
|
|
type SDPIF_AGP_TOP;\
|
|
|
+ type FB_TOP;\
|
|
|
+ type FB_BASE;\
|
|
|
+ type FB_OFFSET;\
|
|
|
+ type AGP_BASE;\
|
|
|
+ type AGP_BOT;\
|
|
|
+ type AGP_TOP;\
|
|
|
type DCHUBBUB_ARB_WATERMARK_CHANGE_REQUEST;\
|
|
|
type DCHUBBUB_ARB_WATERMARK_CHANGE_DONE_INTERRUPT_DISABLE;\
|
|
|
type DCHUBBUB_ARB_ALLOW_SELF_REFRESH_FORCE_VALUE;\
|
|
@@ -589,5 +611,4 @@ bool dcn10_mem_input_construct(
|
|
|
const struct dcn_mi_shift *mi_shift,
|
|
|
const struct dcn_mi_mask *mi_mask);
|
|
|
|
|
|
-
|
|
|
#endif
|