Merge drm/drm-next into drm-intel-gt-next
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / i915_reg.h
index 00b17bc32afbbaa5c5d6e9e7f2ff76c8f25a2c05..76b437d5a37e9e9bed42206c366dc88740009780 100644 (file)
@@ -430,7 +430,7 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   GEN12_HCP_SFC_LOCK_ACK_BIT           REG_BIT(1)
 #define   GEN12_HCP_SFC_USAGE_BIT                      REG_BIT(0)
 
-#define GEN12_SFC_DONE(n)              _MMIO(0x1cc00 + (n) * 0x100)
+#define GEN12_SFC_DONE(n)              _MMIO(0x1cc000 + (n) * 0x1000)
 #define GEN12_SFC_DONE_MAX             4
 
 #define RING_PP_DIR_BASE(base)         _MMIO((base) + 0x228)
@@ -1885,7 +1885,7 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define BXT_PORT_CL1CM_DW30(phy)       _BXT_PHY((phy), _PORT_CL1CM_DW30_BC)
 
 /*
- * CNL/ICL Port/COMBO-PHY Registers
+ * ICL Port/COMBO-PHY Registers
  */
 #define _ICL_COMBOPHY_A                        0x162000
 #define _ICL_COMBOPHY_B                        0x6C000
@@ -1899,11 +1899,10 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
                                              _RKL_COMBOPHY_D, \
                                              _ADL_COMBOPHY_E)
 
-/* CNL/ICL Port CL_DW registers */
+/* ICL Port CL_DW registers */
 #define _ICL_PORT_CL_DW(dw, phy)       (_ICL_COMBOPHY(phy) + \
                                         4 * (dw))
 
-#define CNL_PORT_CL1CM_DW5             _MMIO(0x162014)
 #define ICL_PORT_CL_DW5(phy)           _MMIO(_ICL_PORT_CL_DW(5, phy))
 #define   CL_POWER_DOWN_ENABLE         (1 << 4)
 #define   SUS_CLOCK_CONFIG             (3 << 0)
@@ -1928,19 +1927,16 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define ICL_PORT_CL_DW12(phy)          _MMIO(_ICL_PORT_CL_DW(12, phy))
 #define   ICL_LANE_ENABLE_AUX          (1 << 0)
 
-/* CNL/ICL Port COMP_DW registers */
+/* ICL Port COMP_DW registers */
 #define _ICL_PORT_COMP                 0x100
 #define _ICL_PORT_COMP_DW(dw, phy)     (_ICL_COMBOPHY(phy) + \
                                         _ICL_PORT_COMP + 4 * (dw))
 
-#define CNL_PORT_COMP_DW0              _MMIO(0x162100)
 #define ICL_PORT_COMP_DW0(phy)         _MMIO(_ICL_PORT_COMP_DW(0, phy))
 #define   COMP_INIT                    (1 << 31)
 
-#define CNL_PORT_COMP_DW1              _MMIO(0x162104)
 #define ICL_PORT_COMP_DW1(phy)         _MMIO(_ICL_PORT_COMP_DW(1, phy))
 
-#define CNL_PORT_COMP_DW3              _MMIO(0x16210c)
 #define ICL_PORT_COMP_DW3(phy)         _MMIO(_ICL_PORT_COMP_DW(3, phy))
 #define   PROCESS_INFO_DOT_0           (0 << 26)
 #define   PROCESS_INFO_DOT_1           (1 << 26)
@@ -1956,38 +1952,11 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define ICL_PORT_COMP_DW8(phy)         _MMIO(_ICL_PORT_COMP_DW(8, phy))
 #define   IREFGEN                      (1 << 24)
 
-#define CNL_PORT_COMP_DW9              _MMIO(0x162124)
 #define ICL_PORT_COMP_DW9(phy)         _MMIO(_ICL_PORT_COMP_DW(9, phy))
 
-#define CNL_PORT_COMP_DW10             _MMIO(0x162128)
 #define ICL_PORT_COMP_DW10(phy)                _MMIO(_ICL_PORT_COMP_DW(10, phy))
 
-/* CNL/ICL Port PCS registers */
-#define _CNL_PORT_PCS_DW1_GRP_AE       0x162304
-#define _CNL_PORT_PCS_DW1_GRP_B                0x162384
-#define _CNL_PORT_PCS_DW1_GRP_C                0x162B04
-#define _CNL_PORT_PCS_DW1_GRP_D                0x162B84
-#define _CNL_PORT_PCS_DW1_GRP_F                0x162A04
-#define _CNL_PORT_PCS_DW1_LN0_AE       0x162404
-#define _CNL_PORT_PCS_DW1_LN0_B                0x162604
-#define _CNL_PORT_PCS_DW1_LN0_C                0x162C04
-#define _CNL_PORT_PCS_DW1_LN0_D                0x162E04
-#define _CNL_PORT_PCS_DW1_LN0_F                0x162804
-#define CNL_PORT_PCS_DW1_GRP(phy)      _MMIO(_PICK(phy, \
-                                                   _CNL_PORT_PCS_DW1_GRP_AE, \
-                                                   _CNL_PORT_PCS_DW1_GRP_B, \
-                                                   _CNL_PORT_PCS_DW1_GRP_C, \
-                                                   _CNL_PORT_PCS_DW1_GRP_D, \
-                                                   _CNL_PORT_PCS_DW1_GRP_AE, \
-                                                   _CNL_PORT_PCS_DW1_GRP_F))
-#define CNL_PORT_PCS_DW1_LN0(phy)      _MMIO(_PICK(phy, \
-                                                   _CNL_PORT_PCS_DW1_LN0_AE, \
-                                                   _CNL_PORT_PCS_DW1_LN0_B, \
-                                                   _CNL_PORT_PCS_DW1_LN0_C, \
-                                                   _CNL_PORT_PCS_DW1_LN0_D, \
-                                                   _CNL_PORT_PCS_DW1_LN0_AE, \
-                                                   _CNL_PORT_PCS_DW1_LN0_F))
-
+/* ICL Port PCS registers */
 #define _ICL_PORT_PCS_AUX              0x300
 #define _ICL_PORT_PCS_GRP              0x600
 #define _ICL_PORT_PCS_LN(ln)           (0x800 + (ln) * 0x100)
@@ -2006,34 +1975,7 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   LATENCY_OPTIM_MASK           (0x3 << 2)
 #define   LATENCY_OPTIM_VAL(x)         ((x) << 2)
 
-/* CNL/ICL Port TX registers */
-#define _CNL_PORT_TX_AE_GRP_OFFSET             0x162340
-#define _CNL_PORT_TX_B_GRP_OFFSET              0x1623C0
-#define _CNL_PORT_TX_C_GRP_OFFSET              0x162B40
-#define _CNL_PORT_TX_D_GRP_OFFSET              0x162BC0
-#define _CNL_PORT_TX_F_GRP_OFFSET              0x162A40
-#define _CNL_PORT_TX_AE_LN0_OFFSET             0x162440
-#define _CNL_PORT_TX_B_LN0_OFFSET              0x162640
-#define _CNL_PORT_TX_C_LN0_OFFSET              0x162C40
-#define _CNL_PORT_TX_D_LN0_OFFSET              0x162E40
-#define _CNL_PORT_TX_F_LN0_OFFSET              0x162840
-#define _CNL_PORT_TX_DW_GRP(dw, port)  (_PICK((port), \
-                                              _CNL_PORT_TX_AE_GRP_OFFSET, \
-                                              _CNL_PORT_TX_B_GRP_OFFSET, \
-                                              _CNL_PORT_TX_B_GRP_OFFSET, \
-                                              _CNL_PORT_TX_D_GRP_OFFSET, \
-                                              _CNL_PORT_TX_AE_GRP_OFFSET, \
-                                              _CNL_PORT_TX_F_GRP_OFFSET) + \
-                                              4 * (dw))
-#define _CNL_PORT_TX_DW_LN0(dw, port)  (_PICK((port), \
-                                              _CNL_PORT_TX_AE_LN0_OFFSET, \
-                                              _CNL_PORT_TX_B_LN0_OFFSET, \
-                                              _CNL_PORT_TX_B_LN0_OFFSET, \
-                                              _CNL_PORT_TX_D_LN0_OFFSET, \
-                                              _CNL_PORT_TX_AE_LN0_OFFSET, \
-                                              _CNL_PORT_TX_F_LN0_OFFSET) + \
-                                              4 * (dw))
-
+/* ICL Port TX registers */
 #define _ICL_PORT_TX_AUX               0x380
 #define _ICL_PORT_TX_GRP               0x680
 #define _ICL_PORT_TX_LN(ln)            (0x880 + (ln) * 0x100)
@@ -2045,8 +1987,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define _ICL_PORT_TX_DW_LN(dw, ln, phy) (_ICL_COMBOPHY(phy) + \
                                          _ICL_PORT_TX_LN(ln) + 4 * (dw))
 
-#define CNL_PORT_TX_DW2_GRP(port)      _MMIO(_CNL_PORT_TX_DW_GRP(2, port))
-#define CNL_PORT_TX_DW2_LN0(port)      _MMIO(_CNL_PORT_TX_DW_LN0(2, port))
 #define ICL_PORT_TX_DW2_AUX(phy)       _MMIO(_ICL_PORT_TX_DW_AUX(2, phy))
 #define ICL_PORT_TX_DW2_GRP(phy)       _MMIO(_ICL_PORT_TX_DW_GRP(2, phy))
 #define ICL_PORT_TX_DW2_LN0(phy)       _MMIO(_ICL_PORT_TX_DW_LN(2, 0, phy))
@@ -2059,13 +1999,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   RCOMP_SCALAR(x)              ((x) << 0)
 #define   RCOMP_SCALAR_MASK            (0xFF << 0)
 
-#define _CNL_PORT_TX_DW4_LN0_AE                0x162450
-#define _CNL_PORT_TX_DW4_LN1_AE                0x1624D0
-#define CNL_PORT_TX_DW4_GRP(port)      _MMIO(_CNL_PORT_TX_DW_GRP(4, (port)))
-#define CNL_PORT_TX_DW4_LN0(port)      _MMIO(_CNL_PORT_TX_DW_LN0(4, (port)))
-#define CNL_PORT_TX_DW4_LN(ln, port)   _MMIO(_CNL_PORT_TX_DW_LN0(4, (port)) + \
-                                          ((ln) * (_CNL_PORT_TX_DW4_LN1_AE - \
-                                                   _CNL_PORT_TX_DW4_LN0_AE)))
 #define ICL_PORT_TX_DW4_AUX(phy)       _MMIO(_ICL_PORT_TX_DW_AUX(4, phy))
 #define ICL_PORT_TX_DW4_GRP(phy)       _MMIO(_ICL_PORT_TX_DW_GRP(4, phy))
 #define ICL_PORT_TX_DW4_LN0(phy)       _MMIO(_ICL_PORT_TX_DW_LN(4, 0, phy))
@@ -2078,8 +2011,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   CURSOR_COEFF(x)              ((x) << 0)
 #define   CURSOR_COEFF_MASK            (0x3F << 0)
 
-#define CNL_PORT_TX_DW5_GRP(port)      _MMIO(_CNL_PORT_TX_DW_GRP(5, port))
-#define CNL_PORT_TX_DW5_LN0(port)      _MMIO(_CNL_PORT_TX_DW_LN0(5, port))
 #define ICL_PORT_TX_DW5_AUX(phy)       _MMIO(_ICL_PORT_TX_DW_AUX(5, phy))
 #define ICL_PORT_TX_DW5_GRP(phy)       _MMIO(_ICL_PORT_TX_DW_GRP(5, phy))
 #define ICL_PORT_TX_DW5_LN0(phy)       _MMIO(_ICL_PORT_TX_DW_LN(5, 0, phy))
@@ -2091,8 +2022,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   RTERM_SELECT(x)              ((x) << 3)
 #define   RTERM_SELECT_MASK            (0x7 << 3)
 
-#define CNL_PORT_TX_DW7_GRP(port)      _MMIO(_CNL_PORT_TX_DW_GRP(7, (port)))
-#define CNL_PORT_TX_DW7_LN0(port)      _MMIO(_CNL_PORT_TX_DW_LN0(7, (port)))
 #define ICL_PORT_TX_DW7_AUX(phy)       _MMIO(_ICL_PORT_TX_DW_AUX(7, phy))
 #define ICL_PORT_TX_DW7_GRP(phy)       _MMIO(_ICL_PORT_TX_DW_GRP(7, phy))
 #define ICL_PORT_TX_DW7_LN0(phy)       _MMIO(_ICL_PORT_TX_DW_LN(7, 0, phy))
@@ -2286,6 +2215,68 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   MG_DP_MODE_CFG_DP_X2_MODE                    (1 << 7)
 #define   MG_DP_MODE_CFG_DP_X1_MODE                    (1 << 6)
 
+/*
+ * DG2 SNPS PHY registers (TC1 = PHY_E)
+ */
+#define _SNPS_PHY_A_BASE                       0x168000
+#define _SNPS_PHY_B_BASE                       0x169000
+#define _SNPS_PHY(phy)                         _PHY(phy, \
+                                                    _SNPS_PHY_A_BASE, \
+                                                    _SNPS_PHY_B_BASE)
+#define _SNPS2(phy, reg)                       (_SNPS_PHY(phy) - \
+                                                _SNPS_PHY_A_BASE + (reg))
+#define _MMIO_SNPS(phy, reg)                   _MMIO(_SNPS2(phy, reg))
+#define _MMIO_SNPS_LN(ln, phy, reg)            _MMIO(_SNPS2(phy, \
+                                                            (reg) + (ln) * 0x10))
+
+#define SNPS_PHY_MPLLB_CP(phy)                 _MMIO_SNPS(phy, 0x168000)
+#define   SNPS_PHY_MPLLB_CP_INT                        REG_GENMASK(31, 25)
+#define   SNPS_PHY_MPLLB_CP_INT_GS             REG_GENMASK(23, 17)
+#define   SNPS_PHY_MPLLB_CP_PROP               REG_GENMASK(15, 9)
+#define   SNPS_PHY_MPLLB_CP_PROP_GS            REG_GENMASK(7, 1)
+
+#define SNPS_PHY_MPLLB_DIV(phy)                        _MMIO_SNPS(phy, 0x168004)
+#define   SNPS_PHY_MPLLB_FORCE_EN              REG_BIT(31)
+#define   SNPS_PHY_MPLLB_DIV5_CLK_EN           REG_BIT(29)
+#define   SNPS_PHY_MPLLB_V2I                   REG_GENMASK(27, 26)
+#define   SNPS_PHY_MPLLB_FREQ_VCO              REG_GENMASK(25, 24)
+#define   SNPS_PHY_MPLLB_PMIX_EN               REG_BIT(10)
+#define   SNPS_PHY_MPLLB_TX_CLK_DIV            REG_GENMASK(7, 5)
+
+#define SNPS_PHY_MPLLB_FRACN1(phy)             _MMIO_SNPS(phy, 0x168008)
+#define   SNPS_PHY_MPLLB_FRACN_EN              REG_BIT(31)
+#define   SNPS_PHY_MPLLB_FRACN_CGG_UPDATE_EN   REG_BIT(30)
+#define   SNPS_PHY_MPLLB_FRACN_DEN             REG_GENMASK(15, 0)
+
+#define SNPS_PHY_MPLLB_FRACN2(phy)             _MMIO_SNPS(phy, 0x16800C)
+#define   SNPS_PHY_MPLLB_FRACN_REM             REG_GENMASK(31, 16)
+#define   SNPS_PHY_MPLLB_FRACN_QUOT            REG_GENMASK(15, 0)
+
+#define SNPS_PHY_MPLLB_SSCEN(phy)              _MMIO_SNPS(phy, 0x168014)
+#define   SNPS_PHY_MPLLB_SSC_EN                        REG_BIT(31)
+#define   SNPS_PHY_MPLLB_SSC_UP_SPREAD         REG_BIT(30)
+#define   SNPS_PHY_MPLLB_SSC_PEAK              REG_GENMASK(29, 10)
+
+#define SNPS_PHY_MPLLB_SSCSTEP(phy)            _MMIO_SNPS(phy, 0x168018)
+#define   SNPS_PHY_MPLLB_SSC_STEPSIZE          REG_GENMASK(31, 11)
+
+#define SNPS_PHY_MPLLB_DIV2(phy)               _MMIO_SNPS(phy, 0x16801C)
+#define   SNPS_PHY_MPLLB_HDMI_PIXEL_CLK_DIV    REG_GENMASK(19, 18)
+#define   SNPS_PHY_MPLLB_HDMI_DIV              REG_GENMASK(17, 15)
+#define   SNPS_PHY_MPLLB_REF_CLK_DIV           REG_GENMASK(14, 12)
+#define   SNPS_PHY_MPLLB_MULTIPLIER            REG_GENMASK(11, 0)
+
+#define SNPS_PHY_REF_CONTROL(phy)              _MMIO_SNPS(phy, 0x168188)
+#define   SNPS_PHY_REF_CONTROL_REF_RANGE       REG_GENMASK(31, 27)
+
+#define SNPS_PHY_TX_REQ(phy)                   _MMIO_SNPS(phy, 0x168200)
+#define   SNPS_PHY_TX_REQ_LN_DIS_PWR_STATE_PSR REG_GENMASK(31, 30)
+
+#define SNPS_PHY_TX_EQ(ln, phy)                        _MMIO_SNPS_LN(ln, phy, 0x168300)
+#define   SNPS_PHY_TX_EQ_MAIN                  REG_GENMASK(23, 18)
+#define   SNPS_PHY_TX_EQ_POST                  REG_GENMASK(15, 10)
+#define   SNPS_PHY_TX_EQ_PRE                   REG_GENMASK(7, 2)
+
 /* The spec defines this only for BXT PHY0, but lets assume that this
  * would exist for PHY1 too if it had a second channel.
  */
@@ -4656,23 +4647,26 @@ enum {
 #define _PSR2_CTL_EDP                          0x6f900
 #define EDP_PSR2_CTL(tran)                     _MMIO_TRANS2(tran, _PSR2_CTL_A)
 #define   EDP_PSR2_ENABLE                      (1 << 31)
-#define   EDP_SU_TRACK_ENABLE                  (1 << 30)
+#define   EDP_SU_TRACK_ENABLE                  (1 << 30) /* up to adl-p */
 #define   TGL_EDP_PSR2_BLOCK_COUNT_NUM_2       (0 << 28)
 #define   TGL_EDP_PSR2_BLOCK_COUNT_NUM_3       (1 << 28)
 #define   EDP_Y_COORDINATE_ENABLE              REG_BIT(25) /* display 10, 11 and 12 */
+#define   EDP_PSR2_SU_SDP_SCANLINE             REG_BIT(25) /* display 13+ */
 #define   EDP_MAX_SU_DISABLE_TIME(t)           ((t) << 20)
 #define   EDP_MAX_SU_DISABLE_TIME_MASK         (0x1f << 20)
 #define   EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES    8
 #define   EDP_PSR2_IO_BUFFER_WAKE(lines)       ((EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES - (lines)) << 13)
 #define   EDP_PSR2_IO_BUFFER_WAKE_MASK         (3 << 13)
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES        5
-#define   TGL_EDP_PSR2_IO_BUFFER_WAKE(lines)   (((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << 13)
+#define   TGL_EDP_PSR2_IO_BUFFER_WAKE_SHIFT    13
+#define   TGL_EDP_PSR2_IO_BUFFER_WAKE(lines)   (((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << TGL_EDP_PSR2_IO_BUFFER_WAKE_SHIFT)
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MASK     (7 << 13)
 #define   EDP_PSR2_FAST_WAKE_MAX_LINES         8
 #define   EDP_PSR2_FAST_WAKE(lines)            ((EDP_PSR2_FAST_WAKE_MAX_LINES - (lines)) << 11)
 #define   EDP_PSR2_FAST_WAKE_MASK              (3 << 11)
 #define   TGL_EDP_PSR2_FAST_WAKE_MIN_LINES     5
-#define   TGL_EDP_PSR2_FAST_WAKE(lines)                (((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << 10)
+#define   TGL_EDP_PSR2_FAST_WAKE_MIN_SHIFT     10
+#define   TGL_EDP_PSR2_FAST_WAKE(lines)                (((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << TGL_EDP_PSR2_FAST_WAKE_MIN_SHIFT)
 #define   TGL_EDP_PSR2_FAST_WAKE_MASK          (7 << 10)
 #define   EDP_PSR2_TP2_TIME_500us              (0 << 8)
 #define   EDP_PSR2_TP2_TIME_100us              (1 << 8)
@@ -4722,17 +4716,23 @@ enum {
 #define PSR2_SU_STATUS_MASK(frame)     (0x3ff << PSR2_SU_STATUS_SHIFT(frame))
 #define PSR2_SU_STATUS_FRAMES          8
 
-#define _PSR2_MAN_TRK_CTL_A                            0x60910
-#define _PSR2_MAN_TRK_CTL_EDP                          0x6f910
-#define PSR2_MAN_TRK_CTL(tran)                         _MMIO_TRANS2(tran, _PSR2_MAN_TRK_CTL_A)
-#define  PSR2_MAN_TRK_CTL_ENABLE                       REG_BIT(31)
-#define  PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR_MASK    REG_GENMASK(30, 21)
-#define  PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR(val)    REG_FIELD_PREP(PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR_MASK, val)
+#define _PSR2_MAN_TRK_CTL_A                                    0x60910
+#define _PSR2_MAN_TRK_CTL_EDP                                  0x6f910
+#define PSR2_MAN_TRK_CTL(tran)                                 _MMIO_TRANS2(tran, _PSR2_MAN_TRK_CTL_A)
+#define  PSR2_MAN_TRK_CTL_ENABLE                               REG_BIT(31)
+#define  PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR_MASK            REG_GENMASK(30, 21)
+#define  PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR(val)            REG_FIELD_PREP(PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR_MASK, val)
 #define  PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR_MASK              REG_GENMASK(20, 11)
 #define  PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR(val)              REG_FIELD_PREP(PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR_MASK, val)
-#define  PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME         REG_BIT(3)
-#define  PSR2_MAN_TRK_CTL_SF_CONTINUOS_FULL_FRAME      REG_BIT(2)
-#define  PSR2_MAN_TRK_CTL_SF_PARTIAL_FRAME_UPDATE      REG_BIT(1)
+#define  PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME                 REG_BIT(3)
+#define  PSR2_MAN_TRK_CTL_SF_CONTINUOS_FULL_FRAME              REG_BIT(2)
+#define  PSR2_MAN_TRK_CTL_SF_PARTIAL_FRAME_UPDATE              REG_BIT(1)
+#define  ADLP_PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR_MASK       REG_GENMASK(28, 16)
+#define  ADLP_PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR(val)       REG_FIELD_PREP(ADLP_PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR_MASK, val)
+#define  ADLP_PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR_MASK         REG_GENMASK(12, 0)
+#define  ADLP_PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR(val)         REG_FIELD_PREP(ADLP_PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR_MASK, val)
+#define  ADLP_PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME            REG_BIT(14)
+#define  ADLP_PSR2_MAN_TRK_CTL_SF_CONTINUOS_FULL_FRAME         REG_BIT(13)
 
 /* Icelake DSC Rate Control Range Parameter Registers */
 #define DSCA_RC_RANGE_PARAMETERS_0             _MMIO(0x6B240)
@@ -6233,11 +6233,17 @@ enum {
 #define   PIPEMISC_HDR_MODE_PRECISION  (1 << 23) /* icl+ */
 #define   PIPEMISC_OUTPUT_COLORSPACE_YUV  (1 << 11)
 #define   PIPEMISC_PIXEL_ROUNDING_TRUNC        REG_BIT(8) /* tgl+ */
-#define   PIPEMISC_DITHER_BPC_MASK     (7 << 5)
-#define   PIPEMISC_DITHER_8_BPC                (0 << 5)
-#define   PIPEMISC_DITHER_10_BPC       (1 << 5)
-#define   PIPEMISC_DITHER_6_BPC                (2 << 5)
-#define   PIPEMISC_DITHER_12_BPC       (3 << 5)
+/*
+ * For Display < 13, Bits 5-7 of PIPE MISC represent DITHER BPC with
+ * valid values of: 6, 8, 10 BPC.
+ * ADLP+, the bits 5-7 represent PORT OUTPUT BPC with valid values of:
+ * 6, 8, 10, 12 BPC.
+ */
+#define   PIPEMISC_BPC_MASK            (7 << 5)
+#define   PIPEMISC_8_BPC               (0 << 5)
+#define   PIPEMISC_10_BPC              (1 << 5)
+#define   PIPEMISC_6_BPC               (2 << 5)
+#define   PIPEMISC_12_BPC_ADLP         (4 << 5) /* adlp+ */
 #define   PIPEMISC_DITHER_ENABLE       (1 << 4)
 #define   PIPEMISC_DITHER_TYPE_MASK    (3 << 2)
 #define   PIPEMISC_DITHER_TYPE_SP      (0 << 2)
@@ -7781,11 +7787,11 @@ enum {
 #define SKL_PS_ECC_STAT(pipe, id)  _MMIO_PIPE(pipe,     \
                        _ID(id, _PS_ECC_STAT_1A, _PS_ECC_STAT_2A),   \
                        _ID(id, _PS_ECC_STAT_1B, _PS_ECC_STAT_2B))
-#define CNL_PS_COEF_INDEX_SET(pipe, id, set)  _MMIO_PIPE(pipe,    \
+#define GLK_PS_COEF_INDEX_SET(pipe, id, set)  _MMIO_PIPE(pipe,    \
                        _ID(id, _PS_COEF_SET0_INDEX_1A, _PS_COEF_SET0_INDEX_2A) + (set) * 8, \
                        _ID(id, _PS_COEF_SET0_INDEX_1B, _PS_COEF_SET0_INDEX_2B) + (set) * 8)
 
-#define CNL_PS_COEF_DATA_SET(pipe, id, set)  _MMIO_PIPE(pipe,     \
+#define GLK_PS_COEF_DATA_SET(pipe, id, set)  _MMIO_PIPE(pipe,     \
                        _ID(id, _PS_COEF_SET0_DATA_1A, _PS_COEF_SET0_DATA_2A) + (set) * 8, \
                        _ID(id, _PS_COEF_SET0_DATA_1B, _PS_COEF_SET0_DATA_2B) + (set) * 8)
 /* legacy palette */
@@ -7821,7 +7827,7 @@ enum {
 #define  GAMMA_MODE_MODE_12BIT_MULTI_SEGMENTED (3 << 0) /* icl + */
 
 /* DMC */
-#define DMC_PROGRAM(i)         _MMIO(0x80000 + (i) * 4)
+#define DMC_PROGRAM(addr, i)   _MMIO((addr) + (i) * 4)
 #define DMC_SSP_BASE_ADDR_GEN9 0x00002FC0
 #define DMC_HTP_ADDR_SKL       0x00500034
 #define DMC_SSP_BASE           _MMIO(0x8F074)
@@ -8000,7 +8006,7 @@ enum {
 #define  DSI1_NON_TE                   (1 << 31)
 #define  DSI0_NON_TE                   (1 << 30)
 #define  ICL_AUX_CHANNEL_E             (1 << 29)
-#define  CNL_AUX_CHANNEL_F             (1 << 28)
+#define  ICL_AUX_CHANNEL_F             (1 << 28)
 #define  GEN9_AUX_CHANNEL_D            (1 << 27)
 #define  GEN9_AUX_CHANNEL_C            (1 << 26)
 #define  GEN9_AUX_CHANNEL_B            (1 << 25)
@@ -8052,9 +8058,9 @@ enum {
 #define  GEN11_GT_DW1_IRQ              (1 << 1)
 #define  GEN11_GT_DW0_IRQ              (1 << 0)
 
-#define DG1_MSTR_UNIT_INTR             _MMIO(0x190008)
+#define DG1_MSTR_TILE_INTR             _MMIO(0x190008)
 #define   DG1_MSTR_IRQ                 REG_BIT(31)
-#define   DG1_MSTR_UNIT(u)             REG_BIT(u)
+#define   DG1_MSTR_TILE(t)             REG_BIT(t)
 
 #define GEN11_DISPLAY_INT_CTL          _MMIO(0x44200)
 #define  GEN11_DISPLAY_IRQ_ENABLE      (1 << 31)
@@ -8180,6 +8186,7 @@ enum {
 # define CHICKEN3_DGMG_DONE_FIX_DISABLE                (1 << 2)
 
 #define CHICKEN_PAR1_1                 _MMIO(0x42080)
+#define  IGNORE_KVMR_PIPE_A            REG_BIT(23)
 #define  KBL_ARB_FILL_SPARE_22         REG_BIT(22)
 #define  DIS_RAM_BYPASS_PSR2_MAN_TRACK (1 << 16)
 #define  SKL_DE_COMPRESSED_HASH_MODE   (1 << 15)
@@ -8192,7 +8199,6 @@ enum {
 #define  KVM_CONFIG_CHANGE_NOTIFICATION_SELECT (1 << 14)
 
 #define CHICKEN_MISC_2         _MMIO(0x42084)
-#define  CNL_COMP_PWR_DOWN     (1 << 23)
 #define  KBL_ARB_FILL_SPARE_14 REG_BIT(14)
 #define  KBL_ARB_FILL_SPARE_13 REG_BIT(13)
 #define  GLK_CL2_PWR_DOWN      (1 << 12)
@@ -8230,15 +8236,16 @@ enum {
                                            [TRANSCODER_B] = _CHICKEN_TRANS_B, \
                                            [TRANSCODER_C] = _CHICKEN_TRANS_C, \
                                            [TRANSCODER_D] = _CHICKEN_TRANS_D))
-#define  HSW_FRAME_START_DELAY_MASK    (3 << 27)
-#define  HSW_FRAME_START_DELAY(x)      ((x) << 27) /* 0-3 */
-#define  VSC_DATA_SEL_SOFTWARE_CONTROL (1 << 25) /* GLK and CNL+ */
-#define  DDI_TRAINING_OVERRIDE_ENABLE  (1 << 19)
-#define  DDI_TRAINING_OVERRIDE_VALUE   (1 << 18)
-#define  DDIE_TRAINING_OVERRIDE_ENABLE (1 << 17) /* CHICKEN_TRANS_A only */
-#define  DDIE_TRAINING_OVERRIDE_VALUE  (1 << 16) /* CHICKEN_TRANS_A only */
-#define  PSR2_ADD_VERTICAL_LINE_COUNT   (1 << 15)
-#define  PSR2_VSC_ENABLE_PROG_HEADER    (1 << 12)
+#define  HSW_FRAME_START_DELAY_MASK    REG_GENMASK(28, 27)
+#define  HSW_FRAME_START_DELAY(x)      REG_FIELD_PREP(HSW_FRAME_START_DELAY_MASK, x)
+#define  VSC_DATA_SEL_SOFTWARE_CONTROL REG_BIT(25) /* GLK */
+#define  FECSTALL_DIS_DPTSTREAM_DPTTG  REG_BIT(23)
+#define  DDI_TRAINING_OVERRIDE_ENABLE  REG_BIT(19)
+#define  DDI_TRAINING_OVERRIDE_VALUE   REG_BIT(18)
+#define  DDIE_TRAINING_OVERRIDE_ENABLE REG_BIT(17) /* CHICKEN_TRANS_A only */
+#define  DDIE_TRAINING_OVERRIDE_VALUE  REG_BIT(16) /* CHICKEN_TRANS_A only */
+#define  PSR2_ADD_VERTICAL_LINE_COUNT  REG_BIT(15)
+#define  PSR2_VSC_ENABLE_PROG_HEADER   REG_BIT(12)
 
 #define DISP_ARB_CTL   _MMIO(0x45000)
 #define  DISP_FBC_MEMORY_WAKE          (1 << 31)
@@ -8296,9 +8303,8 @@ enum {
 
 #define GEN8_CHICKEN_DCPR_1            _MMIO(0x46430)
 #define   SKL_SELECT_ALTERNATE_DC_EXIT (1 << 30)
-#define   CNL_DELAY_PMRSP              (1 << 22)
+#define   ICL_DELAY_PMRSP              (1 << 22)
 #define   MASK_WAKEMEM                 (1 << 13)
-#define   CNL_DDI_CLOCK_REG_ACCESS_ON  (1 << 7)
 
 #define GEN11_CHICKEN_DCPR_2                   _MMIO(0x46434)
 #define   DCPR_MASK_MAXLATENCY_MEMUP_CLR       REG_BIT(27)
@@ -8319,10 +8325,9 @@ enum {
 #define   SKL_DFSM_PIPE_B_DISABLE      (1 << 21)
 #define   SKL_DFSM_PIPE_C_DISABLE      (1 << 28)
 #define   TGL_DFSM_PIPE_D_DISABLE      (1 << 22)
-#define   CNL_DFSM_DISPLAY_DSC_DISABLE (1 << 7)
+#define   GLK_DFSM_DISPLAY_DSC_DISABLE (1 << 7)
 
 #define SKL_DSSM                               _MMIO(0x51004)
-#define CNL_DSSM_CDCLK_PLL_REFCLK_24MHz                (1 << 31)
 #define ICL_DSSM_CDCLK_PLL_REFCLK_MASK         (7 << 29)
 #define ICL_DSSM_CDCLK_PLL_REFCLK_24MHz                (0 << 29)
 #define ICL_DSSM_CDCLK_PLL_REFCLK_19_2MHz      (1 << 29)
@@ -8421,7 +8426,6 @@ enum {
 
 /* GEN8 chicken */
 #define HDC_CHICKEN0                           _MMIO(0x7300)
-#define CNL_HDC_CHICKEN0                       _MMIO(0xE5F0)
 #define ICL_HDC_MODE                           _MMIO(0xE5F4)
 #define  HDC_FORCE_CSR_NON_COHERENT_OVR_DISABLE        (1 << 15)
 #define  HDC_FENCE_DEST_SLM_DISABLE            (1 << 14)
@@ -8455,7 +8459,8 @@ enum {
 #define _PIPEC_CHICKEN                         0x72038
 #define PIPE_CHICKEN(pipe)                     _MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
                                                           _PIPEB_CHICKEN)
-#define   UNDERRUN_RECOVERY_DISABLE            REG_BIT(30)
+#define   UNDERRUN_RECOVERY_DISABLE_ADLP       REG_BIT(30)
+#define   UNDERRUN_RECOVERY_ENABLE_DG2         REG_BIT(30)
 #define   PIXEL_ROUNDING_TRUNC_FB_PASSTHRU     (1 << 15)
 #define   PER_PIXEL_ALPHA_BYPASS_EN            (1 << 7)
 
@@ -9437,9 +9442,13 @@ enum {
 #define   ICL_PCODE_MEM_SUBSYSYSTEM_INFO       0xd
 #define     ICL_PCODE_MEM_SS_READ_GLOBAL_INFO  (0x0 << 8)
 #define     ICL_PCODE_MEM_SS_READ_QGV_POINT_INFO(point)        (((point) << 16) | (0x1 << 8))
+#define     ADL_PCODE_MEM_SS_READ_PSF_GV_INFO  ((0) | (0x2 << 8))
 #define   ICL_PCODE_SAGV_DE_MEM_SS_CONFIG      0xe
 #define     ICL_PCODE_POINTS_RESTRICTED                0x0
-#define     ICL_PCODE_POINTS_RESTRICTED_MASK   0x1
+#define     ICL_PCODE_POINTS_RESTRICTED_MASK   0xf
+#define   ADLS_PSF_PT_SHIFT                    8
+#define   ADLS_QGV_PT_MASK                     REG_GENMASK(7, 0)
+#define   ADLS_PSF_PT_MASK                     REG_GENMASK(10, 8)
 #define   GEN6_PCODE_READ_D_COMP               0x10
 #define   GEN6_PCODE_WRITE_D_COMP              0x11
 #define   ICL_PCODE_EXIT_TCCOLD                        0x12
@@ -9599,7 +9608,6 @@ enum {
 #define   HSW_SAMPLE_C_PERFORMANCE     (1 << 9)
 #define   GEN8_CENTROID_PIXEL_OPT_DIS  (1 << 8)
 #define   GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC  (1 << 5)
-#define   CNL_FAST_ANISO_L1_BANKING_FIX        (1 << 4)
 #define   GEN8_SAMPLER_POWER_BYPASS_DIS        (1 << 1)
 
 #define GEN9_HALF_SLICE_CHICKEN7       _MMIO(0xe194)
@@ -9780,15 +9788,12 @@ enum {
 /* HSW/BDW power well */
 #define   HSW_PW_CTL_IDX_GLOBAL                        15
 
-/* SKL/BXT/GLK/CNL power wells */
+/* SKL/BXT/GLK power wells */
 #define   SKL_PW_CTL_IDX_PW_2                  15
 #define   SKL_PW_CTL_IDX_PW_1                  14
-#define   CNL_PW_CTL_IDX_AUX_F                 12
-#define   CNL_PW_CTL_IDX_AUX_D                 11
 #define   GLK_PW_CTL_IDX_AUX_C                 10
 #define   GLK_PW_CTL_IDX_AUX_B                 9
 #define   GLK_PW_CTL_IDX_AUX_A                 8
-#define   CNL_PW_CTL_IDX_DDI_F                 6
 #define   SKL_PW_CTL_IDX_DDI_D                 4
 #define   SKL_PW_CTL_IDX_DDI_C                 3
 #define   SKL_PW_CTL_IDX_DDI_B                 2
@@ -9887,19 +9892,6 @@ enum skl_power_gate {
        ((pw_idx) - ICL_PW_CTL_IDX_PW_1 + SKL_PG1)
 #define  SKL_FUSE_PG_DIST_STATUS(pg)           (1 << (27 - (pg)))
 
-#define _CNL_AUX_REG_IDX(pw_idx)       ((pw_idx) - GLK_PW_CTL_IDX_AUX_B)
-#define _CNL_AUX_ANAOVRD1_B            0x162250
-#define _CNL_AUX_ANAOVRD1_C            0x162210
-#define _CNL_AUX_ANAOVRD1_D            0x1622D0
-#define _CNL_AUX_ANAOVRD1_F            0x162A90
-#define CNL_AUX_ANAOVRD1(pw_idx)       _MMIO(_PICK(_CNL_AUX_REG_IDX(pw_idx), \
-                                                   _CNL_AUX_ANAOVRD1_B, \
-                                                   _CNL_AUX_ANAOVRD1_C, \
-                                                   _CNL_AUX_ANAOVRD1_D, \
-                                                   _CNL_AUX_ANAOVRD1_F))
-#define   CNL_AUX_ANAOVRD1_ENABLE      (1 << 16)
-#define   CNL_AUX_ANAOVRD1_LDO_BYPASS  (1 << 23)
-
 #define _ICL_AUX_REG_IDX(pw_idx)       ((pw_idx) - ICL_PW_CTL_IDX_AUX_A)
 #define _ICL_AUX_ANAOVRD1_A            0x162398
 #define _ICL_AUX_ANAOVRD1_B            0x6C398
@@ -10199,11 +10191,11 @@ enum skl_power_gate {
 #define  TRANS_DDI_BPC_10              (1 << 20)
 #define  TRANS_DDI_BPC_6               (2 << 20)
 #define  TRANS_DDI_BPC_12              (3 << 20)
-#define  TRANS_DDI_PORT_SYNC_MASTER_SELECT_MASK        REG_GENMASK(19, 18) /* bdw-cnl */
+#define  TRANS_DDI_PORT_SYNC_MASTER_SELECT_MASK        REG_GENMASK(19, 18)
 #define  TRANS_DDI_PORT_SYNC_MASTER_SELECT(x)  REG_FIELD_PREP(TRANS_DDI_PORT_SYNC_MASTER_SELECT_MASK, (x))
 #define  TRANS_DDI_PVSYNC              (1 << 17)
 #define  TRANS_DDI_PHSYNC              (1 << 16)
-#define  TRANS_DDI_PORT_SYNC_ENABLE    REG_BIT(15) /* bdw-cnl */
+#define  TRANS_DDI_PORT_SYNC_ENABLE    REG_BIT(15)
 #define  TRANS_DDI_EDP_INPUT_MASK      (7 << 12)
 #define  TRANS_DDI_EDP_INPUT_A_ON      (0 << 12)
 #define  TRANS_DDI_EDP_INPUT_A_ONOFF   (4 << 12)
@@ -10236,6 +10228,9 @@ enum skl_power_gate {
 #define  PORT_SYNC_MODE_MASTER_SELECT_MASK     REG_GENMASK(2, 0)
 #define  PORT_SYNC_MODE_MASTER_SELECT(x)       REG_FIELD_PREP(PORT_SYNC_MODE_MASTER_SELECT_MASK, (x))
 
+#define TRANS_CMTG_CHICKEN             _MMIO(0x6fa90)
+#define  DISABLE_DPT_CLK_GATING                REG_BIT(1)
+
 /* DisplayPort Transport Control */
 #define _DP_TP_CTL_A                   0x64040
 #define _DP_TP_CTL_B                   0x64140
@@ -10440,6 +10435,14 @@ enum skl_power_gate {
 #define TRANS_MSA_MISC(tran) _MMIO_TRANS2(tran, _TRANSA_MSA_MISC)
 /* See DP_MSA_MISC_* for the bit definitions */
 
+#define _TRANS_A_SET_CONTEXT_LATENCY           0x6007C
+#define _TRANS_B_SET_CONTEXT_LATENCY           0x6107C
+#define _TRANS_C_SET_CONTEXT_LATENCY           0x6207C
+#define _TRANS_D_SET_CONTEXT_LATENCY           0x6307C
+#define TRANS_SET_CONTEXT_LATENCY(tran)                _MMIO_TRANS2(tran, _TRANS_A_SET_CONTEXT_LATENCY)
+#define  TRANS_SET_CONTEXT_LATENCY_MASK                REG_GENMASK(15, 0)
+#define  TRANS_SET_CONTEXT_LATENCY_VALUE(x)    REG_FIELD_PREP(TRANS_SET_CONTEXT_LATENCY_MASK, (x))
+
 /* LCPLL Control */
 #define LCPLL_CTL                      _MMIO(0x130040)
 #define  LCPLL_PLL_DISABLE             (1 << 31)
@@ -10551,17 +10554,6 @@ enum skl_power_gate {
 #define DPLL_CFGCR1(id)        _MMIO_PIPE((id) - SKL_DPLL1, _DPLL1_CFGCR1, _DPLL2_CFGCR1)
 #define DPLL_CFGCR2(id)        _MMIO_PIPE((id) - SKL_DPLL1, _DPLL1_CFGCR2, _DPLL2_CFGCR2)
 
-/*
- * CNL Clocks
- */
-#define DPCLKA_CFGCR0                          _MMIO(0x6C200)
-#define  DPCLKA_CFGCR0_DDI_CLK_OFF(port)       (1 << ((port) ==  PORT_F ? 23 : \
-                                                     (port) + 10))
-#define  DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(port) ((port) == PORT_F ? 21 : \
-                                               (port) * 2)
-#define  DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(port)  (3 << DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(port))
-#define  DPCLKA_CFGCR0_DDI_CLK_SEL(pll, port)  ((pll) << DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(port))
-
 /* ICL Clocks */
 #define ICL_DPCLKA_CFGCR0                      _MMIO(0x164280)
 #define  ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)    (1 << _PICK(phy, 10, 11, 24, 4, 5))
@@ -10617,7 +10609,7 @@ enum skl_power_gate {
                                                        ADLS_DPCLKA_DDIJ_SEL_MASK, \
                                                        ADLS_DPCLKA_DDIK_SEL_MASK)
 
-/* CNL PLL */
+/* ICL PLL */
 #define DPLL0_ENABLE           0x46010
 #define DPLL1_ENABLE           0x46014
 #define _ADLS_DPLL2_ENABLE     0x46018
@@ -10626,9 +10618,14 @@ enum skl_power_gate {
 #define  PLL_LOCK              (1 << 30)
 #define  PLL_POWER_ENABLE      (1 << 27)
 #define  PLL_POWER_STATE       (1 << 26)
-#define CNL_DPLL_ENABLE(pll)   _MMIO_PLL3(pll, DPLL0_ENABLE, DPLL1_ENABLE, \
+#define ICL_DPLL_ENABLE(pll)   _MMIO_PLL3(pll, DPLL0_ENABLE, DPLL1_ENABLE, \
                                           _ADLS_DPLL2_ENABLE, _ADLS_DPLL3_ENABLE)
 
+#define _DG2_PLL3_ENABLE       0x4601C
+
+#define DG2_PLL_ENABLE(pll) _MMIO_PLL3(pll, DPLL0_ENABLE, DPLL1_ENABLE, \
+                                      _ADLS_DPLL2_ENABLE, _DG2_PLL3_ENABLE)
+
 #define TBT_PLL_ENABLE         _MMIO(0x46020)
 
 #define _MG_PLL1_ENABLE                0x46030
@@ -10794,60 +10791,52 @@ enum skl_power_gate {
                                                   _MG_PLL_TDC_COLDST_BIAS_PORT1, \
                                                   _MG_PLL_TDC_COLDST_BIAS_PORT2)
 
-#define _CNL_DPLL0_CFGCR0              0x6C000
-#define _CNL_DPLL1_CFGCR0              0x6C080
-#define  DPLL_CFGCR0_HDMI_MODE         (1 << 30)
-#define  DPLL_CFGCR0_SSC_ENABLE                (1 << 29)
-#define  DPLL_CFGCR0_SSC_ENABLE_ICL    (1 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_MASK    (0xf << 25)
-#define  DPLL_CFGCR0_LINK_RATE_2700    (0 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_1350    (1 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_810     (2 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_1620    (3 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_1080    (4 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_2160    (5 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_3240    (6 << 25)
-#define  DPLL_CFGCR0_LINK_RATE_4050    (7 << 25)
-#define  DPLL_CFGCR0_DCO_FRACTION_MASK (0x7fff << 10)
-#define  DPLL_CFGCR0_DCO_FRACTION_SHIFT        (10)
-#define  DPLL_CFGCR0_DCO_FRACTION(x)   ((x) << 10)
-#define  DPLL_CFGCR0_DCO_INTEGER_MASK  (0x3ff)
-#define CNL_DPLL_CFGCR0(pll)           _MMIO_PLL(pll, _CNL_DPLL0_CFGCR0, _CNL_DPLL1_CFGCR0)
-
-#define _CNL_DPLL0_CFGCR1              0x6C004
-#define _CNL_DPLL1_CFGCR1              0x6C084
-#define  DPLL_CFGCR1_QDIV_RATIO_MASK   (0xff << 10)
-#define  DPLL_CFGCR1_QDIV_RATIO_SHIFT  (10)
-#define  DPLL_CFGCR1_QDIV_RATIO(x)     ((x) << 10)
-#define  DPLL_CFGCR1_QDIV_MODE_SHIFT   (9)
-#define  DPLL_CFGCR1_QDIV_MODE(x)      ((x) << 9)
-#define  DPLL_CFGCR1_KDIV_MASK         (7 << 6)
-#define  DPLL_CFGCR1_KDIV_SHIFT                (6)
-#define  DPLL_CFGCR1_KDIV(x)           ((x) << 6)
-#define  DPLL_CFGCR1_KDIV_1            (1 << 6)
-#define  DPLL_CFGCR1_KDIV_2            (2 << 6)
-#define  DPLL_CFGCR1_KDIV_3            (4 << 6)
-#define  DPLL_CFGCR1_PDIV_MASK         (0xf << 2)
-#define  DPLL_CFGCR1_PDIV_SHIFT                (2)
-#define  DPLL_CFGCR1_PDIV(x)           ((x) << 2)
-#define  DPLL_CFGCR1_PDIV_2            (1 << 2)
-#define  DPLL_CFGCR1_PDIV_3            (2 << 2)
-#define  DPLL_CFGCR1_PDIV_5            (4 << 2)
-#define  DPLL_CFGCR1_PDIV_7            (8 << 2)
-#define  DPLL_CFGCR1_CENTRAL_FREQ      (3 << 0)
-#define  DPLL_CFGCR1_CENTRAL_FREQ_8400 (3 << 0)
-#define  TGL_DPLL_CFGCR1_CFSELOVRD_NORMAL_XTAL (0 << 0)
-#define CNL_DPLL_CFGCR1(pll)           _MMIO_PLL(pll, _CNL_DPLL0_CFGCR1, _CNL_DPLL1_CFGCR1)
-
 #define _ICL_DPLL0_CFGCR0              0x164000
 #define _ICL_DPLL1_CFGCR0              0x164080
 #define ICL_DPLL_CFGCR0(pll)           _MMIO_PLL(pll, _ICL_DPLL0_CFGCR0, \
                                                  _ICL_DPLL1_CFGCR0)
+#define   DPLL_CFGCR0_HDMI_MODE                (1 << 30)
+#define   DPLL_CFGCR0_SSC_ENABLE       (1 << 29)
+#define   DPLL_CFGCR0_SSC_ENABLE_ICL   (1 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_MASK   (0xf << 25)
+#define   DPLL_CFGCR0_LINK_RATE_2700   (0 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_1350   (1 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_810    (2 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_1620   (3 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_1080   (4 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_2160   (5 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_3240   (6 << 25)
+#define   DPLL_CFGCR0_LINK_RATE_4050   (7 << 25)
+#define   DPLL_CFGCR0_DCO_FRACTION_MASK        (0x7fff << 10)
+#define   DPLL_CFGCR0_DCO_FRACTION_SHIFT       (10)
+#define   DPLL_CFGCR0_DCO_FRACTION(x)  ((x) << 10)
+#define   DPLL_CFGCR0_DCO_INTEGER_MASK (0x3ff)
 
 #define _ICL_DPLL0_CFGCR1              0x164004
 #define _ICL_DPLL1_CFGCR1              0x164084
 #define ICL_DPLL_CFGCR1(pll)           _MMIO_PLL(pll, _ICL_DPLL0_CFGCR1, \
                                                  _ICL_DPLL1_CFGCR1)
+#define   DPLL_CFGCR1_QDIV_RATIO_MASK  (0xff << 10)
+#define   DPLL_CFGCR1_QDIV_RATIO_SHIFT (10)
+#define   DPLL_CFGCR1_QDIV_RATIO(x)    ((x) << 10)
+#define   DPLL_CFGCR1_QDIV_MODE_SHIFT  (9)
+#define   DPLL_CFGCR1_QDIV_MODE(x)     ((x) << 9)
+#define   DPLL_CFGCR1_KDIV_MASK                (7 << 6)
+#define   DPLL_CFGCR1_KDIV_SHIFT               (6)
+#define   DPLL_CFGCR1_KDIV(x)          ((x) << 6)
+#define   DPLL_CFGCR1_KDIV_1           (1 << 6)
+#define   DPLL_CFGCR1_KDIV_2           (2 << 6)
+#define   DPLL_CFGCR1_KDIV_3           (4 << 6)
+#define   DPLL_CFGCR1_PDIV_MASK                (0xf << 2)
+#define   DPLL_CFGCR1_PDIV_SHIFT               (2)
+#define   DPLL_CFGCR1_PDIV(x)          ((x) << 2)
+#define   DPLL_CFGCR1_PDIV_2           (1 << 2)
+#define   DPLL_CFGCR1_PDIV_3           (2 << 2)
+#define   DPLL_CFGCR1_PDIV_5           (4 << 2)
+#define   DPLL_CFGCR1_PDIV_7           (8 << 2)
+#define   DPLL_CFGCR1_CENTRAL_FREQ     (3 << 0)
+#define   DPLL_CFGCR1_CENTRAL_FREQ_8400        (3 << 0)
+#define   TGL_DPLL_CFGCR1_CFSELOVRD_NORMAL_XTAL        (0 << 0)
 
 #define _TGL_DPLL0_CFGCR0              0x164284
 #define _TGL_DPLL1_CFGCR0              0x16428C
@@ -11067,8 +11056,8 @@ enum skl_power_gate {
 #define   BXT_DE_PLL_LOCK              (1 << 30)
 #define   BXT_DE_PLL_FREQ_REQ          (1 << 23)
 #define   BXT_DE_PLL_FREQ_REQ_ACK      (1 << 22)
-#define   CNL_CDCLK_PLL_RATIO(x)       (x)
-#define   CNL_CDCLK_PLL_RATIO_MASK     0xff
+#define   ICL_CDCLK_PLL_RATIO(x)       (x)
+#define   ICL_CDCLK_PLL_RATIO_MASK     0xff
 
 /* GEN9 DC */
 #define DC_STATE_EN                    _MMIO(0x45504)
@@ -11123,6 +11112,7 @@ enum skl_power_gate {
 #define SKL_MEMORY_FREQ_MULTIPLIER_HZ          266666666
 #define SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU      _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5E04)
 #define  SKL_REQ_DATA_MASK                     (0xF << 0)
+#define  DG1_GEAR_TYPE                         REG_BIT(16)
 
 #define SKL_MAD_INTER_CHANNEL_0_0_0_MCHBAR_MCMAIN _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5000)
 #define  SKL_DRAM_DDR_TYPE_MASK                        (0x3 << 0)
@@ -11145,18 +11135,29 @@ enum skl_power_gate {
 #define  SKL_DRAM_RANK_1                       (0x0 << 10)
 #define  SKL_DRAM_RANK_2                       (0x1 << 10)
 #define  SKL_DRAM_RANK_MASK                    (0x1 << 10)
-#define  CNL_DRAM_SIZE_MASK                    0x7F
-#define  CNL_DRAM_WIDTH_MASK                   (0x3 << 7)
-#define  CNL_DRAM_WIDTH_SHIFT                  7
-#define  CNL_DRAM_WIDTH_X8                     (0x0 << 7)
-#define  CNL_DRAM_WIDTH_X16                    (0x1 << 7)
-#define  CNL_DRAM_WIDTH_X32                    (0x2 << 7)
-#define  CNL_DRAM_RANK_MASK                    (0x3 << 9)
-#define  CNL_DRAM_RANK_SHIFT                   9
-#define  CNL_DRAM_RANK_1                       (0x0 << 9)
-#define  CNL_DRAM_RANK_2                       (0x1 << 9)
-#define  CNL_DRAM_RANK_3                       (0x2 << 9)
-#define  CNL_DRAM_RANK_4                       (0x3 << 9)
+#define  ICL_DRAM_SIZE_MASK                    0x7F
+#define  ICL_DRAM_WIDTH_MASK                   (0x3 << 7)
+#define  ICL_DRAM_WIDTH_SHIFT                  7
+#define  ICL_DRAM_WIDTH_X8                     (0x0 << 7)
+#define  ICL_DRAM_WIDTH_X16                    (0x1 << 7)
+#define  ICL_DRAM_WIDTH_X32                    (0x2 << 7)
+#define  ICL_DRAM_RANK_MASK                    (0x3 << 9)
+#define  ICL_DRAM_RANK_SHIFT                   9
+#define  ICL_DRAM_RANK_1                       (0x0 << 9)
+#define  ICL_DRAM_RANK_2                       (0x1 << 9)
+#define  ICL_DRAM_RANK_3                       (0x2 << 9)
+#define  ICL_DRAM_RANK_4                       (0x3 << 9)
+
+#define SA_PERF_STATUS_0_0_0_MCHBAR_PC         _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5918)
+#define  DG1_QCLK_RATIO_MASK                   REG_GENMASK(9, 2)
+#define  DG1_QCLK_REFERENCE                    REG_BIT(10)
+
+#define MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR      _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x4000)
+#define   DG1_DRAM_T_RDPRE_MASK                        REG_GENMASK(16, 11)
+#define   DG1_DRAM_T_RP_MASK                   REG_GENMASK(6, 0)
+#define MCHBAR_CH0_CR_TC_PRE_0_0_0_MCHBAR_HIGH _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x4004)
+#define   DG1_DRAM_T_RCD_MASK                  REG_GENMASK(15, 9)
+#define   DG1_DRAM_T_RAS_MASK                  REG_GENMASK(8, 1)
 
 /*
  * Please see hsw_read_dcomp() and hsw_write_dcomp() before using this register,
@@ -12407,6 +12408,7 @@ enum skl_power_gate {
                                                 _ICL_PHY_MISC_B)
 #define  ICL_PHY_MISC_MUX_DDID                 (1 << 28)
 #define  ICL_PHY_MISC_DE_IO_COMP_PWR_DOWN      (1 << 23)
+#define  DG2_PHY_DP_TX_ACK_MASK                        REG_GENMASK(23, 20)
 
 /* Icelake Display Stream Compression Registers */
 #define DSCA_PICTURE_PARAMETER_SET_0           _MMIO(0x6B200)