Commit 6863660d authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu: add some required DCE6 registers (v7)

To help with the DC port.

v2: add missing masks, add additional registers
v3: more updates
v4: fix accidently dropped changes
v5: add missing nb pstate mask
v6: add vblank, vline masks
v7: add SCL_HORZ_FILTER_INIT regs
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9b66d660
......@@ -4444,14 +4444,90 @@
/* Registers that spilled out of sid.h */
#define mmDATA_FORMAT 0x1AC0
#define mmLB0_DATA_FORMAT 0x1AC0
#define mmLB1_DATA_FORMAT 0x1DC0
#define mmLB2_DATA_FORMAT 0x40C0
#define mmLB3_DATA_FORMAT 0x43C0
#define mmLB4_DATA_FORMAT 0x46C0
#define mmLB5_DATA_FORMAT 0x49C0
#define mmDESKTOP_HEIGHT 0x1AC1
#define mmLB0_DESKTOP_HEIGHT 0x1AC1
#define mmLB1_DESKTOP_HEIGHT 0x1DC1
#define mmLB2_DESKTOP_HEIGHT 0x40C1
#define mmLB3_DESKTOP_HEIGHT 0x43C1
#define mmLB4_DESKTOP_HEIGHT 0x46C1
#define mmLB5_DESKTOP_HEIGHT 0x49C1
#define mmDC_LB_MEMORY_SPLIT 0x1AC3
#define mmLB0_DC_LB_MEMORY_SPLIT 0x1AC3
#define mmLB1_DC_LB_MEMORY_SPLIT 0x1DC3
#define mmLB2_DC_LB_MEMORY_SPLIT 0x40C3
#define mmLB3_DC_LB_MEMORY_SPLIT 0x43C3
#define mmLB4_DC_LB_MEMORY_SPLIT 0x46C3
#define mmLB5_DC_LB_MEMORY_SPLIT 0x49C3
#define mmDC_LB_MEM_SIZE 0x1AC4
#define mmLB0_DC_LB_MEM_SIZE 0x1AC4
#define mmLB1_DC_LB_MEM_SIZE 0x1DC4
#define mmLB2_DC_LB_MEM_SIZE 0x40C4
#define mmLB3_DC_LB_MEM_SIZE 0x43C4
#define mmLB4_DC_LB_MEM_SIZE 0x46C4
#define mmLB5_DC_LB_MEM_SIZE 0x49C4
#define mmPRIORITY_A_CNT 0x1AC6
#define mmLB0_PRIORITY_A_CNT 0x1AC6
#define mmLB1_PRIORITY_A_CNT 0x1DC6
#define mmLB2_PRIORITY_A_CNT 0x40C6
#define mmLB3_PRIORITY_A_CNT 0x43C6
#define mmLB4_PRIORITY_A_CNT 0x46C6
#define mmLB5_PRIORITY_A_CNT 0x49C6
#define mmPRIORITY_B_CNT 0x1AC7
#define mmLB0_PRIORITY_B_CNT 0x1AC7
#define mmLB1_PRIORITY_B_CNT 0x1DC7
#define mmLB2_PRIORITY_B_CNT 0x40C7
#define mmLB3_PRIORITY_B_CNT 0x43C7
#define mmLB4_PRIORITY_B_CNT 0x46C7
#define mmLB5_PRIORITY_B_CNT 0x49C7
#define mmDPG_PIPE_ARBITRATION_CONTROL3 0x1B32
#define mmDMIF_PG0_DPG_PIPE_ARBITRATION_CONTROL3 0x1B32
#define mmDMIF_PG1_DPG_PIPE_ARBITRATION_CONTROL3 0x1E32
#define mmDMIF_PG2_DPG_PIPE_ARBITRATION_CONTROL3 0x4132
#define mmDMIF_PG3_DPG_PIPE_ARBITRATION_CONTROL3 0x4432
#define mmDMIF_PG4_DPG_PIPE_ARBITRATION_CONTROL3 0x4732
#define mmDMIF_PG5_DPG_PIPE_ARBITRATION_CONTROL3 0x4A32
#define mmINT_MASK 0x1AD0
#define mmLB0_INT_MASK 0x1AD0
#define mmLB1_INT_MASK 0x1DD0
#define mmLB2_INT_MASK 0x40D0
#define mmLB3_INT_MASK 0x43D0
#define mmLB4_INT_MASK 0x46D0
#define mmLB5_INT_MASK 0x49D0
#define mmVLINE_STATUS 0x1AEE
#define mmLB0_VLINE_STATUS 0x1AEE
#define mmLB1_VLINE_STATUS 0x1DEE
#define mmLB2_VLINE_STATUS 0x40EE
#define mmLB3_VLINE_STATUS 0x43EE
#define mmLB4_VLINE_STATUS 0x46EE
#define mmLB5_VLINE_STATUS 0x49EE
#define mmVBLANK_STATUS 0x1AEF
#define mmLB0_VBLANK_STATUS 0x1AEF
#define mmLB1_VBLANK_STATUS 0x1DEF
#define mmLB2_VBLANK_STATUS 0x40EF
#define mmLB3_VBLANK_STATUS 0x43EF
#define mmLB4_VBLANK_STATUS 0x46EF
#define mmLB5_VBLANK_STATUS 0x49EF
#define mmSCL_HORZ_FILTER_INIT_RGB_LUMA 0x1B4C
#define mmSCL0_SCL_HORZ_FILTER_INIT_RGB_LUMA 0x1B4C
#define mmSCL1_SCL_HORZ_FILTER_INIT_RGB_LUMA 0x1E4C
#define mmSCL2_SCL_HORZ_FILTER_INIT_RGB_LUMA 0x414C
#define mmSCL3_SCL_HORZ_FILTER_INIT_RGB_LUMA 0x444C
#define mmSCL4_SCL_HORZ_FILTER_INIT_RGB_LUMA 0x474C
#define mmSCL5_SCL_HORZ_FILTER_INIT_RGB_LUMA 0x4A4C
#define mmSCL_HORZ_FILTER_INIT_CHROMA 0x1B4D
#define mmSCL0_SCL_HORZ_FILTER_INIT_CHROMA 0x1B4D
#define mmSCL1_SCL_HORZ_FILTER_INIT_CHROMA 0x1E4D
#define mmSCL2_SCL_HORZ_FILTER_INIT_CHROMA 0x414D
#define mmSCL3_SCL_HORZ_FILTER_INIT_CHROMA 0x444D
#define mmSCL4_SCL_HORZ_FILTER_INIT_CHROMA 0x474D
#define mmSCL5_SCL_HORZ_FILTER_INIT_CHROMA 0x4A4D
#endif
......@@ -2076,6 +2076,8 @@
#define CRTC_CONTROL__CRTC_START_POINT_CNTL__SHIFT 0x0000000c
#define CRTC_CONTROL__CRTC_SYNC_RESET_SEL_MASK 0x00000010L
#define CRTC_CONTROL__CRTC_SYNC_RESET_SEL__SHIFT 0x00000004
#define CRTC_CONTROL__CRTC_PREFETCH_EN_MASK 0x10000000L
#define CRTC_CONTROL__CRTC_PREFETCH_EN__SHIFT 0x0000001c
#define CRTC_COUNT_CONTROL__CRTC_HORZ_COUNT_BY2_EN_MASK 0x00000001L
#define CRTC_COUNT_CONTROL__CRTC_HORZ_COUNT_BY2_EN__SHIFT 0x00000000
#define CRTC_COUNT_CONTROL__CRTC_HORZ_REPETITION_COUNT_MASK 0x0000001eL
......@@ -6364,6 +6366,8 @@
#define DPG_PIPE_ARBITRATION_CONTROL2__TIME_WEIGHT__SHIFT 0x00000000
#define DPG_PIPE_ARBITRATION_CONTROL2__URGENCY_WEIGHT_MASK 0xffff0000L
#define DPG_PIPE_ARBITRATION_CONTROL2__URGENCY_WEIGHT__SHIFT 0x00000010
#define DPG_PIPE_ARBITRATION_CONTROL3__URGENCY_WATERMARK_MASK_MASK 0x00030000L
#define DPG_PIPE_ARBITRATION_CONTROL3__URGENCY_WATERMARK_MASK__SHIFT 0x00000010
#define DPG_PIPE_DPM_CONTROL__DPM_ENABLE_MASK 0x00000001L
#define DPG_PIPE_DPM_CONTROL__DPM_ENABLE__SHIFT 0x00000000
#define DPG_PIPE_DPM_CONTROL__MCLK_CHANGE_ENABLE_MASK 0x00000010L
......@@ -6384,6 +6388,8 @@
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_NOT_SELF_REFRESH_DURING_REQUEST__SHIFT 0x00000008
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_URGENT_DURING_REQUEST_MASK 0x00000010L
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_URGENT_DURING_REQUEST__SHIFT 0x00000004
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_WATERMARK_MASK_MASK 0x00003000L
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_WATERMARK_MASK__SHIFT 0x0000000c
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_WATERMARK_MASK 0xffff0000L
#define DPG_PIPE_NB_PSTATE_CHANGE_CONTROL__NB_PSTATE_CHANGE_WATERMARK__SHIFT 0x00000010
#define DPG_PIPE_STUTTER_CONTROL_NONLPTCH__STUTTER_ENABLE_NONLPTCH_MASK 0x00000001L
......@@ -6406,6 +6412,8 @@
#define DPG_PIPE_STUTTER_CONTROL_NONLPTCH__STUTTER_WM_HIGH_FORCE_ON_NONLPTCH__SHIFT 0x00000008
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_ENABLE_MASK 0x00000001L
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_ENABLE__SHIFT 0x00000000
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_EXIT_SELF_REFRESH_WATERMARK_MASK_MASK 0x00003000L
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_EXIT_SELF_REFRESH_WATERMARK_MASK__SHIFT 0x0000000c
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_EXIT_SELF_REFRESH_WATERMARK_MASK 0xffff0000L
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_EXIT_SELF_REFRESH_WATERMARK__SHIFT 0x00000010
#define DPG_PIPE_STUTTER_CONTROL__STUTTER_IGNORE_CURSOR_MASK 0x00000010L
......@@ -7256,6 +7264,8 @@
#define GRPH_CONTROL__GRPH_FORMAT__SHIFT 0x00000008
#define GRPH_CONTROL__GRPH_MACRO_TILE_ASPECT_MASK 0x000c0000L
#define GRPH_CONTROL__GRPH_MACRO_TILE_ASPECT__SHIFT 0x00000012
#define GRPH_CONTROL__GRPH_ARRAY_MODE_MASK 0x00f00000L
#define GRPH_CONTROL__GRPH_ARRAY_MODE__SHIFT 0x00000014
#define GRPH_CONTROL__GRPH_NUM_BANKS_MASK 0x0000000cL
#define GRPH_CONTROL__GRPH_NUM_BANKS__SHIFT 0x00000002
#define GRPH_CONTROL__GRPH_PIPE_CONFIG_MASK 0x1f000000L
......@@ -9835,4 +9845,98 @@
#define XDMA_TEST_DEBUG_INDEX__XDMA_TEST_DEBUG_WRITE_EN_MASK 0x00000100L
#define XDMA_TEST_DEBUG_INDEX__XDMA_TEST_DEBUG_WRITE_EN__SHIFT 0x00000008
// DATA_FORMAT
#define DATA_FORMAT__INTERLEAVE_EN_MASK 0x00000001L
#define DATA_FORMAT__INTERLEAVE_EN__SHIFT 0x00000000
#define DATA_FORMAT__RESET_REQ_AT_EOL_MASK 0x00000010L
#define DATA_FORMAT__RESET_REQ_AT_EOL__SHIFT 0x00000004
#define DATA_FORMAT__PREFETCH_MASK 0x00001000L
#define DATA_FORMAT__PREFETCH__SHIFT 0x0000000c
#define DATA_FORMAT__SOF_READ_PT_MASK 0x001f0000L
#define DATA_FORMAT__SOF_READ_PT__SHIFT 0x00000010
#define DATA_FORMAT__REQUEST_MODE_MASK 0x03000000L
#define DATA_FORMAT__REQUEST_MODE__SHIFT 0x00000018
#define DATA_FORMAT__ALLOW_REQ_MODE_1_2_MASK 0x10000000L
#define DATA_FORMAT__ALLOW_REQ_MODE_1_2__SHIFT 0x0000001c
// DC_LB_MEMORY_SPLIT
#define DC_LB_MEMORY_SPLIT__LB_NUM_PARTITIONS_MASK 0x000f0000L
#define DC_LB_MEMORY_SPLIT__LB_NUM_PARTITIONS__SHIFT 0x00000010
#define DC_LB_MEMORY_SPLIT__DC_LB_MEMORY_CONFIG_MASK 0x00300000L
#define DC_LB_MEMORY_SPLIT__DC_LB_MEMORY_CONFIG__SHIFT 0x00000014
// DC_LB_MEM_SIZE
#define DC_LB_MEM_SIZE__DC_LB_MEM_SIZE_MASK 0x000007ffL
#define DC_LB_MEM_SIZE__DC_LB_MEM_SIZE__SHIFT 0x00000000
// SCL_TAP_CONTROL
#define SCL_TAP_CONTROL__SCL_V_NUM_OF_TAPS_MASK 0x00000007L
#define SCL_TAP_CONTROL__SCL_V_NUM_OF_TAPS__SHIFT 0x00000000
#define SCL_TAP_CONTROL__SCL_H_NUM_OF_TAPS_MASK 0x00000f00L
#define SCL_TAP_CONTROL__SCL_H_NUM_OF_TAPS__SHIFT 0x00000008
// INT_MASK
#define INT_MASK__VBLANK_INT_MASK 0x00000001L
#define INT_MASK__VBLANK_INT__SHIFT 0x00000000
#define INT_MASK__VLINE_INT_MASK 0x00000010L
#define INT_MASK__VLINE_INT__SHIFT 0x00000004
// PRIORITY_A_CNT
#define PRIORITY_A_CNT__PRIORITY_MARK_A_MASK 0x00007fffL
#define PRIORITY_A_CNT__PRIORITY_MARK_A__SHIFT 0x00000000
#define PRIORITY_A_CNT__PRIORITY_A_OFF_MASK 0x00010000L
#define PRIORITY_A_CNT__PRIORITY_A_OFF__SHIFT 0x00000010
#define PRIORITY_A_CNT__PRIORITY_A_ALWAYS_ON_MASK 0x00100000L
#define PRIORITY_A_CNT__PRIORITY_A_ALWAYS_ON__SHIFT 0x00000014
#define PRIORITY_A_CNT__PRIORITY_A_FORCE_MASK_MASK 0x01000000L
#define PRIORITY_A_CNT__PRIORITY_A_FORCE_MASK__SHIFT 0x00000018
// PRIORITY_B_CNT
#define PRIORITY_B_CNT__PRIORITY_MARK_B_MASK 0x00007fffL
#define PRIORITY_B_CNT__PRIORITY_MARK_B__SHIFT 0x00000000
#define PRIORITY_B_CNT__PRIORITY_B_OFF_MASK 0x00010000L
#define PRIORITY_B_CNT__PRIORITY_B_OFF__SHIFT 0x00000010
#define PRIORITY_B_CNT__PRIORITY_B_ALWAYS_ON_MASK 0x00100000L
#define PRIORITY_B_CNT__PRIORITY_B_ALWAYS_ON__SHIFT 0x00000014
#define PRIORITY_B_CNT__PRIORITY_B_FORCE_MASK_MASK 0x01000000L
#define PRIORITY_B_CNT__PRIORITY_B_FORCE_MASK__SHIFT 0x00000018
// VLINE_STATUS
#define VLINE_STATUS__VLINE_OCCURRED_MASK 0x00000001L
#define VLINE_STATUS__VLINE_OCCURRED__SHIFT 0x00000000
#define VLINE_STATUS__VLINE_ACK_MASK 0x00000010L
#define VLINE_STATUS__VLINE_ACK__SHIFT 0x00000004
#define VLINE_STATUS__VLINE_STAT_MASK 0x00001000L
#define VLINE_STATUS__VLINE_STAT__SHIFT 0x0000000c
#define VLINE_STATUS__VLINE_INTERRUPT_MASK 0x00010000L
#define VLINE_STATUS__VLINE_INTERRUPT__SHIFT 0x00000010
#define VLINE_STATUS__VLINE_INTERRUPT_TYPE_MASK 0x00020000L
#define VLINE_STATUS__VLINE_INTERRUPT_TYPE__SHIFT 0x00000011
// VBLANK_STATUS
#define VBLANK_STATUS__VBLANK_OCCURRED_MASK 0x00000001L
#define VBLANK_STATUS__VBLANK_OCCURRED__SHIFT 0x00000000
#define VBLANK_STATUS__VBLANK_ACK_MASK 0x00000010L
#define VBLANK_STATUS__VBLANK_ACK__SHIFT 0x00000004
#define VBLANK_STATUS__VBLANK_STAT_MASK 0x00001000L
#define VBLANK_STATUS__VBLANK_STAT__SHIFT 0x0000000c
#define VBLANK_STATUS__VBLANK_INTERRUPT_MASK 0x00010000L
#define VBLANK_STATUS__VBLANK_INTERRUPT__SHIFT 0x00000010
#define VBLANK_STATUS__VBLANK_INTERRUPT_TYPE_MASK 0x00020000L
#define VBLANK_STATUS__VBLANK_INTERRUPT_TYPE__SHIFT 0x00000011
// SCL_HORZ_FILTER_INIT_RGB_LUMA
#define SCL_HORZ_FILTER_INIT_RGB_LUMA__SCL_H_INIT_FRAC_RGB_Y_MASK 0x0000ffffL
#define SCL_HORZ_FILTER_INIT_RGB_LUMA__SCL_H_INIT_FRAC_RGB_Y__SHIFT 0x00000000
#define SCL_HORZ_FILTER_INIT_RGB_LUMA__SCL_H_INIT_INT_RGB_Y_MASK 0x000f0000L
#define SCL_HORZ_FILTER_INIT_RGB_LUMA__SCL_H_INIT_INT_RGB_Y__SHIFT 0x00000010
// SCL_HORZ_FILTER_INIT_CHROMA
#define SCL_HORZ_FILTER_INIT_CHROMA__SCL_H_INIT_FRAC_CBCR_MASK 0x0000ffffL
#define SCL_HORZ_FILTER_INIT_CHROMA__SCL_H_INIT_FRAC_CBCR__SHIFT 0x00000000
#define SCL_HORZ_FILTER_INIT_CHROMA__SCL_H_INIT_INT_CBCR_MASK 0x00070000L
#define SCL_HORZ_FILTER_INIT_CHROMA__SCL_H_INIT_INT_CBCR__SHIFT 0x00000010
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment