From: Matthew Stewart <[email protected]>

[why]

DCN42B is missing some register masks, which are causing errors in dmesg.

[how]

Make DCN42B reuse the DCN42 register lists, and add the missing defines 
manually.

Fixes: 620081faa027 ("drm/amd/display: Fix DCN42 null registers & register 
masks")
Reviewed-by: Ovidiu (Ovi) Bunea <[email protected]>
Signed-off-by: Matthew Stewart <[email protected]>
Signed-off-by: George Zhang <[email protected]>
---
 .../dc/resource/dcn42b/dcn42b_resource.c      |  20 ++-
 .../dc/resource/dcn42b/dcn42b_resource.h      | 116 +-----------------
 2 files changed, 20 insertions(+), 116 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c 
b/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c
index 1bc2452b271f..18a7fd9136af 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c
@@ -22,6 +22,7 @@
 #include "dcn35/dcn35_resource.h"
 #include "dcn321/dcn321_resource.h"
 #include "dcn401/dcn401_resource.h"
+#include "dcn42/dcn42_resource.h"
 #include "dcn42/dcn42_resource_fpu.h"

 #include "dcn10/dcn10_ipp.h"
@@ -116,6 +117,23 @@
 #define regAPG9_APG_DBG_GEN_CONTROL             0x38ae
 #define regAPG9_APG_DBG_GEN_CONTROL_BASE_IDX    2

+#define regHUBP0_HUBPREQ_DEBUG_DB             0x05f8
+#define regHUBP0_HUBPREQ_DEBUG_DB_BASE_IDX    2
+#define regHUBP0_HUBPREQ_DEBUG                0x05f9
+#define regHUBP0_HUBPREQ_DEBUG_BASE_IDX       2
+#define regHUBP1_HUBPREQ_DEBUG_DB             0x06d4
+#define regHUBP1_HUBPREQ_DEBUG_DB_BASE_IDX    2
+#define regHUBP1_HUBPREQ_DEBUG                0x06d5
+#define regHUBP1_HUBPREQ_DEBUG_BASE_IDX       2
+#define regHUBP2_HUBPREQ_DEBUG_DB             0x07b0
+#define regHUBP2_HUBPREQ_DEBUG_DB_BASE_IDX    2
+#define regHUBP2_HUBPREQ_DEBUG                0x07b1
+#define regHUBP2_HUBPREQ_DEBUG_BASE_IDX       2
+#define regHUBP3_HUBPREQ_DEBUG_DB             0x088c
+#define regHUBP3_HUBPREQ_DEBUG_DB_BASE_IDX    2
+#define regHUBP3_HUBPREQ_DEBUG                0x088d
+#define regHUBP3_HUBPREQ_DEBUG_BASE_IDX       2
+
 enum dcn401_clk_src_array_id {
        DCN401_CLK_SRC_PLL0,
        DCN401_CLK_SRC_PLL1,
@@ -461,7 +479,7 @@ static const struct dcn_optc_mask optc_mask = {
        OPTC_COMMON_MASK_SH_LIST_DCN42B(_MASK)};

 #define hubp_regs_init(id) \
-       HUBP_REG_LIST_DCN42B_RI(id)
+       HUBP_REG_LIST_DCN42_RI(id)

 static struct dcn_hubp2_registers hubp_regs[4];

diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h 
b/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h
index 2da3e3c8304a..2824a0e1acc9 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h
@@ -344,7 +344,6 @@
  *  DCCG_SRII(PHASE, DP_DTO, 3),
  *  DCCG_SRII(MODULO, DP_DTO, 3),
  *     SR(DSCCLK3_DTO_PARAM),
- *     SR(HDMISTREAMCLK_CNTL),
  *  SR(SYMCLKD_CLOCK_ENABLE),
  *  SR(SYMCLKE_CLOCK_ENABLE)
  */
@@ -360,6 +359,7 @@
        SR(PHYBSYMCLK_CLOCK_CNTL), \
        SR(PHYCSYMCLK_CLOCK_CNTL), \
        SR(DPSTREAMCLK_CNTL), \
+       SR(HDMISTREAMCLK_CNTL), \
        SR(SYMCLK32_SE_CNTL), \
        SR(SYMCLK32_LE_CNTL), \
        DCCG_SRII(PIXEL_RATE_CNTL, OTG, 0), \
@@ -542,120 +542,6 @@
                SRI_ARR(DC_ABM1_ACE_OFFSET_SLOPE_DATA, ABM, id),        \
                SRI_ARR(DC_ABM1_ACE_PWL_CNTL, ABM, id)

-/* HUBP */
-/* Not in DCN42B: HUBPREQ_DEBUG_DB and HUBPREQ_DEBUG */
-#define HUBP_REG_LIST_DCN42B_RI(id)                                         \
-       SRI_ARR(DCN_DMDATA_VM_CNTL, HUBPREQ, id),                               
\
-       SRI_ARR(FLIP_PARAMETERS_3, HUBPREQ, id),                               \
-       SRI_ARR(FLIP_PARAMETERS_4, HUBPREQ, id),                               \
-       SRI_ARR(FLIP_PARAMETERS_5, HUBPREQ, id),                               \
-       SRI_ARR(FLIP_PARAMETERS_6, HUBPREQ, id),                               \
-       SRI_ARR(VBLANK_PARAMETERS_5, HUBPREQ, id),                             \
-       SRI_ARR(VBLANK_PARAMETERS_6, HUBPREQ, id),                             \
-       HUBP_REG_LIST_DCN_VM_RI(id),                                            
\
-       SRI_ARR(PREFETCH_SETTINGS, HUBPREQ, id),                               \
-       SRI_ARR(PREFETCH_SETTINGS_C, HUBPREQ, id),                             \
-       SRI_ARR(DCN_VM_SYSTEM_APERTURE_LOW_ADDR, HUBPREQ, id),                 \
-       SRI_ARR(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR, HUBPREQ, id),                \
-       SRI_ARR(CURSOR_SETTINGS, HUBPREQ, id),                                 \
-       SRI_ARR(CURSOR_SURFACE_ADDRESS_HIGH, CURSOR0_, id),                    \
-       SRI_ARR(CURSOR_SURFACE_ADDRESS, CURSOR0_, id),                         \
-       SRI_ARR(CURSOR_SIZE, CURSOR0_, id),                                    \
-       SRI_ARR(CURSOR_CONTROL, CURSOR0_, id),                                 \
-       SRI_ARR(CURSOR_POSITION, CURSOR0_, id),                                \
-       SRI_ARR(CURSOR_HOT_SPOT, CURSOR0_, id),                                \
-       SRI_ARR(CURSOR_DST_OFFSET, CURSOR0_, id),                              \
-       SRI_ARR(DMDATA_ADDRESS_HIGH, CURSOR0_, id),                            \
-       SRI_ARR(DMDATA_ADDRESS_LOW, CURSOR0_, id),                             \
-       SRI_ARR(DMDATA_CNTL, CURSOR0_, id),                                    \
-       SRI_ARR(DMDATA_SW_CNTL, CURSOR0_, id),                                 \
-       SRI_ARR(DMDATA_QOS_CNTL, CURSOR0_, id),                                \
-       SRI_ARR(DMDATA_SW_DATA, CURSOR0_, id),                                 \
-       SRI_ARR(DMDATA_STATUS, CURSOR0_, id),                                  \
-       SRI_ARR(FLIP_PARAMETERS_0, HUBPREQ, id),                               \
-       SRI_ARR(FLIP_PARAMETERS_1, HUBPREQ, id),                               \
-       SRI_ARR(FLIP_PARAMETERS_2, HUBPREQ, id),                               \
-       SRI_ARR(DCN_CUR1_TTU_CNTL0, HUBPREQ, id),                              \
-       SRI_ARR(DCN_CUR1_TTU_CNTL1, HUBPREQ, id),                              \
-       SRI_ARR(DCSURF_FLIP_CONTROL2, HUBPREQ, id),                            \
-       SRI_ARR(VMID_SETTINGS_0, HUBPREQ, id),                                 \
-       SRI_ARR(DCHUBP_CNTL, HUBP, id),                                        \
-       SRI_ARR(DCSURF_ADDR_CONFIG, HUBP, id),                                 \
-       SRI_ARR(DCSURF_TILING_CONFIG, HUBP, id),                               \
-       SRI_ARR(DCSURF_SURFACE_PITCH, HUBPREQ, id),                            \
-       SRI_ARR(DCSURF_SURFACE_PITCH_C, HUBPREQ, id),                          \
-       SRI_ARR(DCSURF_SURFACE_CONFIG, HUBP, id),                              \
-       SRI_ARR(DCSURF_FLIP_CONTROL, HUBPREQ, id),                             \
-       SRI_ARR(DCSURF_PRI_VIEWPORT_DIMENSION, HUBP, id),                      \
-       SRI_ARR(DCSURF_PRI_VIEWPORT_START, HUBP, id),                          \
-       SRI_ARR(DCSURF_SEC_VIEWPORT_DIMENSION, HUBP, id),                      \
-       SRI_ARR(DCSURF_SEC_VIEWPORT_START, HUBP, id),                          \
-       SRI_ARR(DCSURF_PRI_VIEWPORT_DIMENSION_C, HUBP, id),                    \
-       SRI_ARR(DCSURF_PRI_VIEWPORT_START_C, HUBP, id),                        \
-       SRI_ARR(DCSURF_SEC_VIEWPORT_DIMENSION_C, HUBP, id),                    \
-       SRI_ARR(DCSURF_SEC_VIEWPORT_START_C, HUBP, id),                        \
-       SRI_ARR(DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH, HUBPREQ, id),             \
-       SRI_ARR(DCSURF_PRIMARY_SURFACE_ADDRESS, HUBPREQ, id),                  \
-       SRI_ARR(DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH, HUBPREQ, id),           \
-       SRI_ARR(DCSURF_SECONDARY_SURFACE_ADDRESS, HUBPREQ, id),                \
-       SRI_ARR(DCSURF_PRIMARY_META_SURFACE_ADDRESS_HIGH, HUBPREQ, id),        \
-       SRI_ARR(DCSURF_PRIMARY_META_SURFACE_ADDRESS, HUBPREQ, id),             \
-       SRI_ARR(DCSURF_SECONDARY_META_SURFACE_ADDRESS_HIGH, HUBPREQ, id),      \
-       SRI_ARR(DCSURF_SECONDARY_META_SURFACE_ADDRESS, HUBPREQ, id),           \
-       SRI_ARR(DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),           \
-       SRI_ARR(DCSURF_PRIMARY_SURFACE_ADDRESS_C, HUBPREQ, id),                \
-       SRI_ARR(DCSURF_SECONDARY_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),         \
-       SRI_ARR(DCSURF_SECONDARY_SURFACE_ADDRESS_C, HUBPREQ, id),              \
-       SRI_ARR(DCSURF_PRIMARY_META_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),      \
-       SRI_ARR(DCSURF_PRIMARY_META_SURFACE_ADDRESS_C, HUBPREQ, id),           \
-       SRI_ARR(DCSURF_SECONDARY_META_SURFACE_ADDRESS_HIGH_C, HUBPREQ, id),    \
-       SRI_ARR(DCSURF_SECONDARY_META_SURFACE_ADDRESS_C, HUBPREQ, id),         \
-       SRI_ARR(DCSURF_SURFACE_INUSE, HUBPREQ, id),                            \
-       SRI_ARR(DCSURF_SURFACE_INUSE_HIGH, HUBPREQ, id),                       \
-       SRI_ARR(DCSURF_SURFACE_INUSE_C, HUBPREQ, id),                          \
-       SRI_ARR(DCSURF_SURFACE_INUSE_HIGH_C, HUBPREQ, id),                     \
-       SRI_ARR(DCSURF_SURFACE_EARLIEST_INUSE, HUBPREQ, id),                   \
-       SRI_ARR(DCSURF_SURFACE_EARLIEST_INUSE_HIGH, HUBPREQ, id),              \
-       SRI_ARR(DCSURF_SURFACE_EARLIEST_INUSE_C, HUBPREQ, id),                 \
-       SRI_ARR(DCSURF_SURFACE_EARLIEST_INUSE_HIGH_C, HUBPREQ, id),            \
-       SRI_ARR(DCSURF_SURFACE_CONTROL, HUBPREQ, id),                          \
-       SRI_ARR(DCSURF_SURFACE_FLIP_INTERRUPT, HUBPREQ, id),                   \
-       SRI_ARR(HUBPRET_CONTROL, HUBPRET, id),                                 \
-       SRI_ARR(HUBPRET_READ_LINE_STATUS, HUBPRET, id),                        \
-       SRI_ARR(DCN_EXPANSION_MODE, HUBPREQ, id),                              \
-       SRI_ARR(DCHUBP_REQ_SIZE_CONFIG, HUBP, id),                             \
-       SRI_ARR(DCHUBP_REQ_SIZE_CONFIG_C, HUBP, id),                           \
-       SRI_ARR(BLANK_OFFSET_0, HUBPREQ, id),                                  \
-       SRI_ARR(BLANK_OFFSET_1, HUBPREQ, id),                                  \
-       SRI_ARR(DST_DIMENSIONS, HUBPREQ, id),                                  \
-       SRI_ARR(DST_AFTER_SCALER, HUBPREQ, id),                                \
-       SRI_ARR(VBLANK_PARAMETERS_0, HUBPREQ, id),                             \
-       SRI_ARR(REF_FREQ_TO_PIX_FREQ, HUBPREQ, id),                            \
-       SRI_ARR(VBLANK_PARAMETERS_1, HUBPREQ, id),                             \
-       SRI_ARR(VBLANK_PARAMETERS_3, HUBPREQ, id),                             \
-       SRI_ARR(NOM_PARAMETERS_4, HUBPREQ, id),                                \
-       SRI_ARR(NOM_PARAMETERS_5, HUBPREQ, id),                                \
-       SRI_ARR(PER_LINE_DELIVERY_PRE, HUBPREQ, id),                           \
-       SRI_ARR(PER_LINE_DELIVERY, HUBPREQ, id),                               \
-       SRI_ARR(VBLANK_PARAMETERS_2, HUBPREQ, id),                             \
-       SRI_ARR(VBLANK_PARAMETERS_4, HUBPREQ, id),                             \
-       SRI_ARR(NOM_PARAMETERS_6, HUBPREQ, id),                                \
-       SRI_ARR(NOM_PARAMETERS_7, HUBPREQ, id),                                \
-       SRI_ARR(DCN_TTU_QOS_WM, HUBPREQ, id),                                  \
-       SRI_ARR(DCN_GLOBAL_TTU_CNTL, HUBPREQ, id),                             \
-       SRI_ARR(DCN_SURF0_TTU_CNTL0, HUBPREQ, id),                             \
-       SRI_ARR(DCN_SURF0_TTU_CNTL1, HUBPREQ, id),                             \
-       SRI_ARR(DCN_SURF1_TTU_CNTL0, HUBPREQ, id),                             \
-       SRI_ARR(DCN_SURF1_TTU_CNTL1, HUBPREQ, id),                             \
-       SRI_ARR(DCN_CUR0_TTU_CNTL0, HUBPREQ, id),                              \
-       SRI_ARR(DCN_CUR0_TTU_CNTL1, HUBPREQ, id),                              \
-       SRI_ARR(HUBP_CLK_CNTL, HUBP, id),                                      \
-       SRI_ARR(HUBPRET_READ_LINE_VALUE, HUBPRET, id),                         \
-       SRI_ARR(DCHUBP_MALL_CONFIG, HUBP, id),                                 \
-       SRI_ARR(DCHUBP_VMPG_CONFIG, HUBP, id),                                 \
-       SRI_ARR(UCLK_PSTATE_FORCE, HUBPREQ, id),                               \
-       SRI_ARR(HUBP_3DLUT_DLG_PARAM, CURSOR0_, id),                           \
-       HUBP_3DLUT_FL_REG_LIST_DCN401(id)
 struct dcn42b_resource_pool {
        struct resource_pool base;
 };
--
2.55.0

Reply via email to