OSDN Git Service

Merge tag 'drm-next-2022-03-24' of git://anongit.freedesktop.org/drm/drm
[uclinux-h8/linux.git] / drivers / gpu / drm / i915 / i915_reg.h
index 902e4c8..3c87d77 100644 (file)
@@ -25,8 +25,7 @@
 #ifndef _I915_REG_H_
 #define _I915_REG_H_
 
-#include <linux/bitfield.h>
-#include <linux/bits.h>
+#include "i915_reg_defs.h"
 
 /**
  * DOC: The i915 register macro definition style guide
  *  #define GEN8_BAR                    _MMIO(0xb888)
  */
 
-/**
- * REG_BIT() - Prepare a u32 bit value
- * @__n: 0-based bit number
- *
- * Local wrapper for BIT() to force u32, with compile time checks.
- *
- * @return: Value with bit @__n set.
- */
-#define REG_BIT(__n)                                                   \
-       ((u32)(BIT(__n) +                                               \
-              BUILD_BUG_ON_ZERO(__is_constexpr(__n) &&         \
-                                ((__n) < 0 || (__n) > 31))))
-
-/**
- * REG_GENMASK() - Prepare a continuous u32 bitmask
- * @__high: 0-based high bit
- * @__low: 0-based low bit
- *
- * Local wrapper for GENMASK() to force u32, with compile time checks.
- *
- * @return: Continuous bitmask from @__high to @__low, inclusive.
- */
-#define REG_GENMASK(__high, __low)                                     \
-       ((u32)(GENMASK(__high, __low) +                                 \
-              BUILD_BUG_ON_ZERO(__is_constexpr(__high) &&      \
-                                __is_constexpr(__low) &&               \
-                                ((__low) < 0 || (__high) > 31 || (__low) > (__high)))))
-
-/*
- * Local integer constant expression version of is_power_of_2().
- */
-#define IS_POWER_OF_2(__x)             ((__x) && (((__x) & ((__x) - 1)) == 0))
-
-/**
- * REG_FIELD_PREP() - Prepare a u32 bitfield value
- * @__mask: shifted mask defining the field's length and position
- * @__val: value to put in the field
- *
- * Local copy of FIELD_PREP() to generate an integer constant expression, force
- * u32 and for consistency with REG_FIELD_GET(), REG_BIT() and REG_GENMASK().
- *
- * @return: @__val masked and shifted into the field defined by @__mask.
- */
-#define REG_FIELD_PREP(__mask, __val)                                          \
-       ((u32)((((typeof(__mask))(__val) << __bf_shf(__mask)) & (__mask)) +     \
-              BUILD_BUG_ON_ZERO(!__is_constexpr(__mask)) +             \
-              BUILD_BUG_ON_ZERO((__mask) == 0 || (__mask) > U32_MAX) +         \
-              BUILD_BUG_ON_ZERO(!IS_POWER_OF_2((__mask) + (1ULL << __bf_shf(__mask)))) + \
-              BUILD_BUG_ON_ZERO(__builtin_choose_expr(__is_constexpr(__val), (~((__mask) >> __bf_shf(__mask)) & (__val)), 0))))
-
-/**
- * REG_FIELD_GET() - Extract a u32 bitfield value
- * @__mask: shifted mask defining the field's length and position
- * @__val: value to extract the bitfield value from
- *
- * Local wrapper for FIELD_GET() to force u32 and for consistency with
- * REG_FIELD_PREP(), REG_BIT() and REG_GENMASK().
- *
- * @return: Masked and shifted value of the field defined by @__mask in @__val.
- */
-#define REG_FIELD_GET(__mask, __val)   ((u32)FIELD_GET(__mask, __val))
-
-typedef struct {
-       u32 reg;
-} i915_reg_t;
-
-#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
-
-#define INVALID_MMIO_REG _MMIO(0)
-
-static __always_inline u32 i915_mmio_reg_offset(i915_reg_t reg)
-{
-       return reg.reg;
-}
-
-static inline bool i915_mmio_reg_equal(i915_reg_t a, i915_reg_t b)
-{
-       return i915_mmio_reg_offset(a) == i915_mmio_reg_offset(b);
-}
-
-static inline bool i915_mmio_reg_valid(i915_reg_t reg)
-{
-       return !i915_mmio_reg_equal(reg, INVALID_MMIO_REG);
-}
-
-#define VLV_DISPLAY_BASE               0x180000
-#define VLV_MIPI_BASE                  VLV_DISPLAY_BASE
-#define BXT_MIPI_BASE                  0x60000
-
 #define DISPLAY_MMIO_BASE(dev_priv)    (INTEL_INFO(dev_priv)->display_mmio_offset)
 
 /*
@@ -275,247 +185,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define _MASKED_BIT_ENABLE(a)  ({ typeof(a) _a = (a); _MASKED_FIELD(_a, _a); })
 #define _MASKED_BIT_DISABLE(a) (_MASKED_FIELD((a), 0))
 
-/* PCI config space */
-
-#define MCHBAR_I915 0x44
-#define MCHBAR_I965 0x48
-#define MCHBAR_SIZE (4 * 4096)
-
-#define DEVEN 0x54
-#define   DEVEN_MCHBAR_EN (1 << 28)
-
-/* BSM in include/drm/i915_drm.h */
-
-#define HPLLCC 0xc0 /* 85x only */
-#define   GC_CLOCK_CONTROL_MASK                (0x7 << 0)
-#define   GC_CLOCK_133_200             (0 << 0)
-#define   GC_CLOCK_100_200             (1 << 0)
-#define   GC_CLOCK_100_133             (2 << 0)
-#define   GC_CLOCK_133_266             (3 << 0)
-#define   GC_CLOCK_133_200_2           (4 << 0)
-#define   GC_CLOCK_133_266_2           (5 << 0)
-#define   GC_CLOCK_166_266             (6 << 0)
-#define   GC_CLOCK_166_250             (7 << 0)
-
-#define I915_GDRST 0xc0 /* PCI config register */
-#define   GRDOM_FULL           (0 << 2)
-#define   GRDOM_RENDER         (1 << 2)
-#define   GRDOM_MEDIA          (3 << 2)
-#define   GRDOM_MASK           (3 << 2)
-#define   GRDOM_RESET_STATUS   (1 << 1)
-#define   GRDOM_RESET_ENABLE   (1 << 0)
-
-/* BSpec only has register offset, PCI device and bit found empirically */
-#define I830_CLOCK_GATE        0xc8 /* device 0 */
-#define   I830_L2_CACHE_CLOCK_GATE_DISABLE     (1 << 2)
-
-#define GCDGMBUS 0xcc
-
-#define GCFGC2 0xda
-#define GCFGC  0xf0 /* 915+ only */
-#define   GC_LOW_FREQUENCY_ENABLE      (1 << 7)
-#define   GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4)
-#define   GC_DISPLAY_CLOCK_333_320_MHZ (4 << 4)
-#define   GC_DISPLAY_CLOCK_267_MHZ_PNV (0 << 4)
-#define   GC_DISPLAY_CLOCK_333_MHZ_PNV (1 << 4)
-#define   GC_DISPLAY_CLOCK_444_MHZ_PNV (2 << 4)
-#define   GC_DISPLAY_CLOCK_200_MHZ_PNV (5 << 4)
-#define   GC_DISPLAY_CLOCK_133_MHZ_PNV (6 << 4)
-#define   GC_DISPLAY_CLOCK_167_MHZ_PNV (7 << 4)
-#define   GC_DISPLAY_CLOCK_MASK                (7 << 4)
-#define   GM45_GC_RENDER_CLOCK_MASK    (0xf << 0)
-#define   GM45_GC_RENDER_CLOCK_266_MHZ (8 << 0)
-#define   GM45_GC_RENDER_CLOCK_320_MHZ (9 << 0)
-#define   GM45_GC_RENDER_CLOCK_400_MHZ (0xb << 0)
-#define   GM45_GC_RENDER_CLOCK_533_MHZ (0xc << 0)
-#define   I965_GC_RENDER_CLOCK_MASK    (0xf << 0)
-#define   I965_GC_RENDER_CLOCK_267_MHZ (2 << 0)
-#define   I965_GC_RENDER_CLOCK_333_MHZ (3 << 0)
-#define   I965_GC_RENDER_CLOCK_444_MHZ (4 << 0)
-#define   I965_GC_RENDER_CLOCK_533_MHZ (5 << 0)
-#define   I945_GC_RENDER_CLOCK_MASK    (7 << 0)
-#define   I945_GC_RENDER_CLOCK_166_MHZ (0 << 0)
-#define   I945_GC_RENDER_CLOCK_200_MHZ (1 << 0)
-#define   I945_GC_RENDER_CLOCK_250_MHZ (3 << 0)
-#define   I945_GC_RENDER_CLOCK_400_MHZ (5 << 0)
-#define   I915_GC_RENDER_CLOCK_MASK    (7 << 0)
-#define   I915_GC_RENDER_CLOCK_166_MHZ (0 << 0)
-#define   I915_GC_RENDER_CLOCK_200_MHZ (1 << 0)
-#define   I915_GC_RENDER_CLOCK_333_MHZ (4 << 0)
-
-#define ASLE   0xe4
-#define ASLS   0xfc
-
-#define SWSCI  0xe8
-#define   SWSCI_SCISEL (1 << 15)
-#define   SWSCI_GSSCIE (1 << 0)
-
-#define LBPC 0xf4 /* legacy/combination backlight modes, also called LBB */
-
-
-#define ILK_GDSR _MMIO(MCHBAR_MIRROR_BASE + 0x2ca4)
-#define  ILK_GRDOM_FULL                (0 << 1)
-#define  ILK_GRDOM_RENDER      (1 << 1)
-#define  ILK_GRDOM_MEDIA       (3 << 1)
-#define  ILK_GRDOM_MASK                (3 << 1)
-#define  ILK_GRDOM_RESET_ENABLE (1 << 0)
-
-#define GEN6_MBCUNIT_SNPCR     _MMIO(0x900c) /* for LLC config */
-#define   GEN6_MBC_SNPCR_SHIFT 21
-#define   GEN6_MBC_SNPCR_MASK  (3 << 21)
-#define   GEN6_MBC_SNPCR_MAX   (0 << 21)
-#define   GEN6_MBC_SNPCR_MED   (1 << 21)
-#define   GEN6_MBC_SNPCR_LOW   (2 << 21)
-#define   GEN6_MBC_SNPCR_MIN   (3 << 21) /* only 1/16th of the cache is shared */
-
-#define VLV_G3DCTL             _MMIO(0x9024)
-#define VLV_GSCKGCTL           _MMIO(0x9028)
-
-#define FBC_LLC_READ_CTRL      _MMIO(0x9044)
-#define   FBC_LLC_FULLY_OPEN   REG_BIT(30)
-
-#define GEN6_MBCTL             _MMIO(0x0907c)
-#define   GEN6_MBCTL_ENABLE_BOOT_FETCH (1 << 4)
-#define   GEN6_MBCTL_CTX_FETCH_NEEDED  (1 << 3)
-#define   GEN6_MBCTL_BME_UPDATE_ENABLE (1 << 2)
-#define   GEN6_MBCTL_MAE_UPDATE_ENABLE (1 << 1)
-#define   GEN6_MBCTL_BOOT_FETCH_MECH   (1 << 0)
-
-#define GEN6_GDRST     _MMIO(0x941c)
-#define  GEN6_GRDOM_FULL               (1 << 0)
-#define  GEN6_GRDOM_RENDER             (1 << 1)
-#define  GEN6_GRDOM_MEDIA              (1 << 2)
-#define  GEN6_GRDOM_BLT                        (1 << 3)
-#define  GEN6_GRDOM_VECS               (1 << 4)
-#define  GEN9_GRDOM_GUC                        (1 << 5)
-#define  GEN8_GRDOM_MEDIA2             (1 << 7)
-/* GEN11 changed all bit defs except for FULL & RENDER */
-#define  GEN11_GRDOM_FULL              GEN6_GRDOM_FULL
-#define  GEN11_GRDOM_RENDER            GEN6_GRDOM_RENDER
-#define  GEN11_GRDOM_BLT               (1 << 2)
-#define  GEN11_GRDOM_GUC               (1 << 3)
-#define  GEN11_GRDOM_MEDIA             (1 << 5)
-#define  GEN11_GRDOM_MEDIA2            (1 << 6)
-#define  GEN11_GRDOM_MEDIA3            (1 << 7)
-#define  GEN11_GRDOM_MEDIA4            (1 << 8)
-#define  GEN11_GRDOM_MEDIA5            (1 << 9)
-#define  GEN11_GRDOM_MEDIA6            (1 << 10)
-#define  GEN11_GRDOM_MEDIA7            (1 << 11)
-#define  GEN11_GRDOM_MEDIA8            (1 << 12)
-#define  GEN11_GRDOM_VECS              (1 << 13)
-#define  GEN11_GRDOM_VECS2             (1 << 14)
-#define  GEN11_GRDOM_VECS3             (1 << 15)
-#define  GEN11_GRDOM_VECS4             (1 << 16)
-#define  GEN11_GRDOM_SFC0              (1 << 17)
-#define  GEN11_GRDOM_SFC1              (1 << 18)
-#define  GEN11_GRDOM_SFC2              (1 << 19)
-#define  GEN11_GRDOM_SFC3              (1 << 20)
-
-#define  GEN11_VCS_SFC_RESET_BIT(instance)     (GEN11_GRDOM_SFC0 << ((instance) >> 1))
-#define  GEN11_VECS_SFC_RESET_BIT(instance)    (GEN11_GRDOM_SFC0 << (instance))
-
-#define GEN11_VCS_SFC_FORCED_LOCK(engine)      _MMIO((engine)->mmio_base + 0x88C)
-#define   GEN11_VCS_SFC_FORCED_LOCK_BIT                (1 << 0)
-#define GEN11_VCS_SFC_LOCK_STATUS(engine)      _MMIO((engine)->mmio_base + 0x890)
-#define   GEN11_VCS_SFC_USAGE_BIT              (1 << 0)
-#define   GEN11_VCS_SFC_LOCK_ACK_BIT           (1 << 1)
-
-#define GEN11_VECS_SFC_FORCED_LOCK(engine)     _MMIO((engine)->mmio_base + 0x201C)
-#define   GEN11_VECS_SFC_FORCED_LOCK_BIT       (1 << 0)
-#define GEN11_VECS_SFC_LOCK_ACK(engine)                _MMIO((engine)->mmio_base + 0x2018)
-#define   GEN11_VECS_SFC_LOCK_ACK_BIT          (1 << 0)
-#define GEN11_VECS_SFC_USAGE(engine)           _MMIO((engine)->mmio_base + 0x2014)
-#define   GEN11_VECS_SFC_USAGE_BIT             (1 << 0)
-
-#define GEN12_HCP_SFC_FORCED_LOCK(engine)      _MMIO((engine)->mmio_base + 0x2910)
-#define   GEN12_HCP_SFC_FORCED_LOCK_BIT                REG_BIT(0)
-#define GEN12_HCP_SFC_LOCK_STATUS(engine)      _MMIO((engine)->mmio_base + 0x2914)
-#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(0x1cc000 + (n) * 0x1000)
-#define GEN12_SFC_DONE_MAX             4
-
-#define RING_PP_DIR_BASE(base)         _MMIO((base) + 0x228)
-#define RING_PP_DIR_BASE_READ(base)    _MMIO((base) + 0x518)
-#define RING_PP_DIR_DCLV(base)         _MMIO((base) + 0x220)
-#define   PP_DIR_DCLV_2G               0xffffffff
-
-#define GEN8_RING_PDP_UDW(base, n)     _MMIO((base) + 0x270 + (n) * 8 + 4)
-#define GEN8_RING_PDP_LDW(base, n)     _MMIO((base) + 0x270 + (n) * 8)
-
-#define GEN8_R_PWR_CLK_STATE           _MMIO(0x20C8)
-#define   GEN8_RPCS_ENABLE             (1 << 31)
-#define   GEN8_RPCS_S_CNT_ENABLE       (1 << 18)
-#define   GEN8_RPCS_S_CNT_SHIFT                15
-#define   GEN8_RPCS_S_CNT_MASK         (0x7 << GEN8_RPCS_S_CNT_SHIFT)
-#define   GEN11_RPCS_S_CNT_SHIFT       12
-#define   GEN11_RPCS_S_CNT_MASK                (0x3f << GEN11_RPCS_S_CNT_SHIFT)
-#define   GEN8_RPCS_SS_CNT_ENABLE      (1 << 11)
-#define   GEN8_RPCS_SS_CNT_SHIFT       8
-#define   GEN8_RPCS_SS_CNT_MASK                (0x7 << GEN8_RPCS_SS_CNT_SHIFT)
-#define   GEN8_RPCS_EU_MAX_SHIFT       4
-#define   GEN8_RPCS_EU_MAX_MASK                (0xf << GEN8_RPCS_EU_MAX_SHIFT)
-#define   GEN8_RPCS_EU_MIN_SHIFT       0
-#define   GEN8_RPCS_EU_MIN_MASK                (0xf << GEN8_RPCS_EU_MIN_SHIFT)
-
-#define WAIT_FOR_RC6_EXIT              _MMIO(0x20CC)
-/* HSW only */
-#define   HSW_SELECTIVE_READ_ADDRESSING_SHIFT          2
-#define   HSW_SELECTIVE_READ_ADDRESSING_MASK           (0x3 << HSW_SLECTIVE_READ_ADDRESSING_SHIFT)
-#define   HSW_SELECTIVE_WRITE_ADDRESS_SHIFT            4
-#define   HSW_SELECTIVE_WRITE_ADDRESS_MASK             (0x7 << HSW_SELECTIVE_WRITE_ADDRESS_SHIFT)
-/* HSW+ */
-#define   HSW_WAIT_FOR_RC6_EXIT_ENABLE                 (1 << 0)
-#define   HSW_RCS_CONTEXT_ENABLE                       (1 << 7)
-#define   HSW_RCS_INHIBIT                              (1 << 8)
-/* Gen8 */
-#define   GEN8_SELECTIVE_WRITE_ADDRESS_SHIFT           4
-#define   GEN8_SELECTIVE_WRITE_ADDRESS_MASK            (0x3 << GEN8_SELECTIVE_WRITE_ADDRESS_SHIFT)
-#define   GEN8_SELECTIVE_WRITE_ADDRESS_SHIFT           4
-#define   GEN8_SELECTIVE_WRITE_ADDRESS_MASK            (0x3 << GEN8_SELECTIVE_WRITE_ADDRESS_SHIFT)
-#define   GEN8_SELECTIVE_WRITE_ADDRESSING_ENABLE       (1 << 6)
-#define   GEN8_SELECTIVE_READ_SUBSLICE_SELECT_SHIFT    9
-#define   GEN8_SELECTIVE_READ_SUBSLICE_SELECT_MASK     (0x3 << GEN8_SELECTIVE_READ_SUBSLICE_SELECT_SHIFT)
-#define   GEN8_SELECTIVE_READ_SLICE_SELECT_SHIFT       11
-#define   GEN8_SELECTIVE_READ_SLICE_SELECT_MASK                (0x3 << GEN8_SELECTIVE_READ_SLICE_SELECT_SHIFT)
-#define   GEN8_SELECTIVE_READ_ADDRESSING_ENABLE         (1 << 13)
-
-#define GAM_ECOCHK                     _MMIO(0x4090)
-#define   BDW_DISABLE_HDC_INVALIDATION (1 << 25)
-#define   ECOCHK_SNB_BIT               (1 << 10)
-#define   ECOCHK_DIS_TLB               (1 << 8)
-#define   HSW_ECOCHK_ARB_PRIO_SOL      (1 << 6)
-#define   ECOCHK_PPGTT_CACHE64B                (0x3 << 3)
-#define   ECOCHK_PPGTT_CACHE4B         (0x0 << 3)
-#define   ECOCHK_PPGTT_GFDT_IVB                (0x1 << 4)
-#define   ECOCHK_PPGTT_LLC_IVB         (0x1 << 3)
-#define   ECOCHK_PPGTT_UC_HSW          (0x1 << 3)
-#define   ECOCHK_PPGTT_WT_HSW          (0x2 << 3)
-#define   ECOCHK_PPGTT_WB_HSW          (0x3 << 3)
-
-#define GEN8_RC6_CTX_INFO              _MMIO(0x8504)
-
-#define GAC_ECO_BITS                   _MMIO(0x14090)
-#define   ECOBITS_SNB_BIT              (1 << 13)
-#define   ECOBITS_PPGTT_CACHE64B       (3 << 8)
-#define   ECOBITS_PPGTT_CACHE4B                (0 << 8)
-
-#define GEN12_GAMCNTRL_CTRL                    _MMIO(0xcf54)
-#define   INVALIDATION_BROADCAST_MODE_DIS      REG_BIT(12)
-#define   GLOBAL_INVALIDATION_MODE             REG_BIT(2)
-
-#define GEN12_GAMSTLB_CTRL             _MMIO(0xcf4c)
-#define   CONTROL_BLOCK_CLKGATE_DIS    REG_BIT(12)
-#define   EGRESS_BLOCK_CLKGATE_DIS     REG_BIT(11)
-#define   TAG_BLOCK_CLKGATE_DIS                REG_BIT(7)
-
-#define GEN12_MERT_MOD_CTRL            _MMIO(0xcf28)
-#define   FORCE_MISS_FTLB              REG_BIT(3)
-
-#define GAB_CTL                                _MMIO(0x24000)
-#define   GAB_CTL_CONT_AFTER_PAGEFAULT (1 << 8)
-
 #define GU_CNTL                                _MMIO(0x101010)
 #define   LMEM_INIT                    REG_BIT(7)
 
@@ -538,671 +207,7 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define GEN6_STOLEN_RESERVED_ENABLE    (1 << 0)
 #define GEN11_STOLEN_RESERVED_ADDR_MASK        (0xFFFFFFFFFFFULL << 20)
 
-/* VGA stuff */
-
-#define VGA_ST01_MDA 0x3ba
-#define VGA_ST01_CGA 0x3da
-
 #define _VGA_MSR_WRITE _MMIO(0x3c2)
-#define VGA_MSR_WRITE 0x3c2
-#define VGA_MSR_READ 0x3cc
-#define   VGA_MSR_MEM_EN (1 << 1)
-#define   VGA_MSR_CGA_MODE (1 << 0)
-
-#define VGA_SR_INDEX 0x3c4
-#define SR01                   1
-#define VGA_SR_DATA 0x3c5
-
-#define VGA_AR_INDEX 0x3c0
-#define   VGA_AR_VID_EN (1 << 5)
-#define VGA_AR_DATA_WRITE 0x3c0
-#define VGA_AR_DATA_READ 0x3c1
-
-#define VGA_GR_INDEX 0x3ce
-#define VGA_GR_DATA 0x3cf
-/* GR05 */
-#define   VGA_GR_MEM_READ_MODE_SHIFT 3
-#define     VGA_GR_MEM_READ_MODE_PLANE 1
-/* GR06 */
-#define   VGA_GR_MEM_MODE_MASK 0xc
-#define   VGA_GR_MEM_MODE_SHIFT 2
-#define   VGA_GR_MEM_A0000_AFFFF 0
-#define   VGA_GR_MEM_A0000_BFFFF 1
-#define   VGA_GR_MEM_B0000_B7FFF 2
-#define   VGA_GR_MEM_B0000_BFFFF 3
-
-#define VGA_DACMASK 0x3c6
-#define VGA_DACRX 0x3c7
-#define VGA_DACWX 0x3c8
-#define VGA_DACDATA 0x3c9
-
-#define VGA_CR_INDEX_MDA 0x3b4
-#define VGA_CR_DATA_MDA 0x3b5
-#define VGA_CR_INDEX_CGA 0x3d4
-#define VGA_CR_DATA_CGA 0x3d5
-
-#define MI_PREDICATE_SRC0      _MMIO(0x2400)
-#define MI_PREDICATE_SRC0_UDW  _MMIO(0x2400 + 4)
-#define MI_PREDICATE_SRC1      _MMIO(0x2408)
-#define MI_PREDICATE_SRC1_UDW  _MMIO(0x2408 + 4)
-#define MI_PREDICATE_DATA       _MMIO(0x2410)
-#define MI_PREDICATE_RESULT     _MMIO(0x2418)
-#define MI_PREDICATE_RESULT_1   _MMIO(0x241c)
-#define MI_PREDICATE_RESULT_2  _MMIO(0x2214)
-#define  LOWER_SLICE_ENABLED   (1 << 0)
-#define  LOWER_SLICE_DISABLED  (0 << 0)
-
-/*
- * Registers used only by the command parser
- */
-#define BCS_SWCTRL _MMIO(0x22200)
-#define   BCS_SRC_Y REG_BIT(0)
-#define   BCS_DST_Y REG_BIT(1)
-
-/* There are 16 GPR registers */
-#define BCS_GPR(n)     _MMIO(0x22600 + (n) * 8)
-#define BCS_GPR_UDW(n) _MMIO(0x22600 + (n) * 8 + 4)
-
-#define GPGPU_THREADS_DISPATCHED        _MMIO(0x2290)
-#define GPGPU_THREADS_DISPATCHED_UDW   _MMIO(0x2290 + 4)
-#define HS_INVOCATION_COUNT             _MMIO(0x2300)
-#define HS_INVOCATION_COUNT_UDW                _MMIO(0x2300 + 4)
-#define DS_INVOCATION_COUNT             _MMIO(0x2308)
-#define DS_INVOCATION_COUNT_UDW                _MMIO(0x2308 + 4)
-#define IA_VERTICES_COUNT               _MMIO(0x2310)
-#define IA_VERTICES_COUNT_UDW          _MMIO(0x2310 + 4)
-#define IA_PRIMITIVES_COUNT             _MMIO(0x2318)
-#define IA_PRIMITIVES_COUNT_UDW                _MMIO(0x2318 + 4)
-#define VS_INVOCATION_COUNT             _MMIO(0x2320)
-#define VS_INVOCATION_COUNT_UDW                _MMIO(0x2320 + 4)
-#define GS_INVOCATION_COUNT             _MMIO(0x2328)
-#define GS_INVOCATION_COUNT_UDW                _MMIO(0x2328 + 4)
-#define GS_PRIMITIVES_COUNT             _MMIO(0x2330)
-#define GS_PRIMITIVES_COUNT_UDW                _MMIO(0x2330 + 4)
-#define CL_INVOCATION_COUNT             _MMIO(0x2338)
-#define CL_INVOCATION_COUNT_UDW                _MMIO(0x2338 + 4)
-#define CL_PRIMITIVES_COUNT             _MMIO(0x2340)
-#define CL_PRIMITIVES_COUNT_UDW                _MMIO(0x2340 + 4)
-#define PS_INVOCATION_COUNT             _MMIO(0x2348)
-#define PS_INVOCATION_COUNT_UDW                _MMIO(0x2348 + 4)
-#define PS_DEPTH_COUNT                  _MMIO(0x2350)
-#define PS_DEPTH_COUNT_UDW             _MMIO(0x2350 + 4)
-
-/* There are the 4 64-bit counter registers, one for each stream output */
-#define GEN7_SO_NUM_PRIMS_WRITTEN(n)           _MMIO(0x5200 + (n) * 8)
-#define GEN7_SO_NUM_PRIMS_WRITTEN_UDW(n)       _MMIO(0x5200 + (n) * 8 + 4)
-
-#define GEN7_SO_PRIM_STORAGE_NEEDED(n)         _MMIO(0x5240 + (n) * 8)
-#define GEN7_SO_PRIM_STORAGE_NEEDED_UDW(n)     _MMIO(0x5240 + (n) * 8 + 4)
-
-#define GEN7_3DPRIM_END_OFFSET          _MMIO(0x2420)
-#define GEN7_3DPRIM_START_VERTEX        _MMIO(0x2430)
-#define GEN7_3DPRIM_VERTEX_COUNT        _MMIO(0x2434)
-#define GEN7_3DPRIM_INSTANCE_COUNT      _MMIO(0x2438)
-#define GEN7_3DPRIM_START_INSTANCE      _MMIO(0x243C)
-#define GEN7_3DPRIM_BASE_VERTEX         _MMIO(0x2440)
-
-#define GEN7_GPGPU_DISPATCHDIMX         _MMIO(0x2500)
-#define GEN7_GPGPU_DISPATCHDIMY         _MMIO(0x2504)
-#define GEN7_GPGPU_DISPATCHDIMZ         _MMIO(0x2508)
-
-/* There are the 16 64-bit CS General Purpose Registers */
-#define HSW_CS_GPR(n)                   _MMIO(0x2600 + (n) * 8)
-#define HSW_CS_GPR_UDW(n)               _MMIO(0x2600 + (n) * 8 + 4)
-
-#define GEN7_OACONTROL _MMIO(0x2360)
-#define  GEN7_OACONTROL_CTX_MASK           0xFFFFF000
-#define  GEN7_OACONTROL_TIMER_PERIOD_MASK   0x3F
-#define  GEN7_OACONTROL_TIMER_PERIOD_SHIFT  6
-#define  GEN7_OACONTROL_TIMER_ENABLE       (1 << 5)
-#define  GEN7_OACONTROL_FORMAT_A13         (0 << 2)
-#define  GEN7_OACONTROL_FORMAT_A29         (1 << 2)
-#define  GEN7_OACONTROL_FORMAT_A13_B8_C8    (2 << 2)
-#define  GEN7_OACONTROL_FORMAT_A29_B8_C8    (3 << 2)
-#define  GEN7_OACONTROL_FORMAT_B4_C8       (4 << 2)
-#define  GEN7_OACONTROL_FORMAT_A45_B8_C8    (5 << 2)
-#define  GEN7_OACONTROL_FORMAT_B4_C8_A16    (6 << 2)
-#define  GEN7_OACONTROL_FORMAT_C4_B8       (7 << 2)
-#define  GEN7_OACONTROL_FORMAT_SHIFT       2
-#define  GEN7_OACONTROL_PER_CTX_ENABLE     (1 << 1)
-#define  GEN7_OACONTROL_ENABLE             (1 << 0)
-
-#define GEN8_OACTXID _MMIO(0x2364)
-
-#define GEN8_OA_DEBUG _MMIO(0x2B04)
-#define  GEN9_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS    (1 << 5)
-#define  GEN9_OA_DEBUG_INCLUDE_CLK_RATIO           (1 << 6)
-#define  GEN9_OA_DEBUG_DISABLE_GO_1_0_REPORTS      (1 << 2)
-#define  GEN9_OA_DEBUG_DISABLE_CTX_SWITCH_REPORTS   (1 << 1)
-
-#define GEN8_OACONTROL _MMIO(0x2B00)
-#define  GEN8_OA_REPORT_FORMAT_A12         (0 << 2)
-#define  GEN8_OA_REPORT_FORMAT_A12_B8_C8    (2 << 2)
-#define  GEN8_OA_REPORT_FORMAT_A36_B8_C8    (5 << 2)
-#define  GEN8_OA_REPORT_FORMAT_C4_B8       (7 << 2)
-#define  GEN8_OA_REPORT_FORMAT_SHIFT       2
-#define  GEN8_OA_SPECIFIC_CONTEXT_ENABLE    (1 << 1)
-#define  GEN8_OA_COUNTER_ENABLE             (1 << 0)
-
-#define GEN8_OACTXCONTROL _MMIO(0x2360)
-#define  GEN8_OA_TIMER_PERIOD_MASK         0x3F
-#define  GEN8_OA_TIMER_PERIOD_SHIFT        2
-#define  GEN8_OA_TIMER_ENABLE              (1 << 1)
-#define  GEN8_OA_COUNTER_RESUME                    (1 << 0)
-
-#define GEN7_OABUFFER _MMIO(0x23B0) /* R/W */
-#define  GEN7_OABUFFER_OVERRUN_DISABLE     (1 << 3)
-#define  GEN7_OABUFFER_EDGE_TRIGGER        (1 << 2)
-#define  GEN7_OABUFFER_STOP_RESUME_ENABLE   (1 << 1)
-#define  GEN7_OABUFFER_RESUME              (1 << 0)
-
-#define GEN8_OABUFFER_UDW _MMIO(0x23b4)
-#define GEN8_OABUFFER _MMIO(0x2b14)
-#define  GEN8_OABUFFER_MEM_SELECT_GGTT      (1 << 0)  /* 0: PPGTT, 1: GGTT */
-
-#define GEN7_OASTATUS1 _MMIO(0x2364)
-#define  GEN7_OASTATUS1_TAIL_MASK          0xffffffc0
-#define  GEN7_OASTATUS1_COUNTER_OVERFLOW    (1 << 2)
-#define  GEN7_OASTATUS1_OABUFFER_OVERFLOW   (1 << 1)
-#define  GEN7_OASTATUS1_REPORT_LOST        (1 << 0)
-
-#define GEN7_OASTATUS2 _MMIO(0x2368)
-#define  GEN7_OASTATUS2_HEAD_MASK           0xffffffc0
-#define  GEN7_OASTATUS2_MEM_SELECT_GGTT     (1 << 0) /* 0: PPGTT, 1: GGTT */
-
-#define GEN8_OASTATUS _MMIO(0x2b08)
-#define  GEN8_OASTATUS_TAIL_POINTER_WRAP    (1 << 17)
-#define  GEN8_OASTATUS_HEAD_POINTER_WRAP    (1 << 16)
-#define  GEN8_OASTATUS_OVERRUN_STATUS      (1 << 3)
-#define  GEN8_OASTATUS_COUNTER_OVERFLOW     (1 << 2)
-#define  GEN8_OASTATUS_OABUFFER_OVERFLOW    (1 << 1)
-#define  GEN8_OASTATUS_REPORT_LOST         (1 << 0)
-
-#define GEN8_OAHEADPTR _MMIO(0x2B0C)
-#define GEN8_OAHEADPTR_MASK    0xffffffc0
-#define GEN8_OATAILPTR _MMIO(0x2B10)
-#define GEN8_OATAILPTR_MASK    0xffffffc0
-
-#define OABUFFER_SIZE_128K  (0 << 3)
-#define OABUFFER_SIZE_256K  (1 << 3)
-#define OABUFFER_SIZE_512K  (2 << 3)
-#define OABUFFER_SIZE_1M    (3 << 3)
-#define OABUFFER_SIZE_2M    (4 << 3)
-#define OABUFFER_SIZE_4M    (5 << 3)
-#define OABUFFER_SIZE_8M    (6 << 3)
-#define OABUFFER_SIZE_16M   (7 << 3)
-
-#define GEN12_OA_TLB_INV_CR _MMIO(0xceec)
-
-#define GEN12_SQCM             _MMIO(0x8724)
-#define   EN_32B_ACCESS                REG_BIT(30)
-
-/* Gen12 OAR unit */
-#define GEN12_OAR_OACONTROL _MMIO(0x2960)
-#define  GEN12_OAR_OACONTROL_COUNTER_FORMAT_SHIFT 1
-#define  GEN12_OAR_OACONTROL_COUNTER_ENABLE       (1 << 0)
-
-#define GEN12_OACTXCONTROL _MMIO(0x2360)
-#define GEN12_OAR_OASTATUS _MMIO(0x2968)
-
-/* Gen12 OAG unit */
-#define GEN12_OAG_OAHEADPTR _MMIO(0xdb00)
-#define  GEN12_OAG_OAHEADPTR_MASK 0xffffffc0
-#define GEN12_OAG_OATAILPTR _MMIO(0xdb04)
-#define  GEN12_OAG_OATAILPTR_MASK 0xffffffc0
-
-#define GEN12_OAG_OABUFFER  _MMIO(0xdb08)
-#define  GEN12_OAG_OABUFFER_BUFFER_SIZE_MASK  (0x7)
-#define  GEN12_OAG_OABUFFER_BUFFER_SIZE_SHIFT (3)
-#define  GEN12_OAG_OABUFFER_MEMORY_SELECT     (1 << 0) /* 0: PPGTT, 1: GGTT */
-
-#define GEN12_OAG_OAGLBCTXCTRL _MMIO(0x2b28)
-#define  GEN12_OAG_OAGLBCTXCTRL_TIMER_PERIOD_SHIFT 2
-#define  GEN12_OAG_OAGLBCTXCTRL_TIMER_ENABLE       (1 << 1)
-#define  GEN12_OAG_OAGLBCTXCTRL_COUNTER_RESUME     (1 << 0)
-
-#define GEN12_OAG_OACONTROL _MMIO(0xdaf4)
-#define  GEN12_OAG_OACONTROL_OA_COUNTER_FORMAT_SHIFT 2
-#define  GEN12_OAG_OACONTROL_OA_COUNTER_ENABLE       (1 << 0)
-
-#define GEN12_OAG_OA_DEBUG _MMIO(0xdaf8)
-#define  GEN12_OAG_OA_DEBUG_INCLUDE_CLK_RATIO          (1 << 6)
-#define  GEN12_OAG_OA_DEBUG_DISABLE_CLK_RATIO_REPORTS  (1 << 5)
-#define  GEN12_OAG_OA_DEBUG_DISABLE_GO_1_0_REPORTS     (1 << 2)
-#define  GEN12_OAG_OA_DEBUG_DISABLE_CTX_SWITCH_REPORTS (1 << 1)
-
-#define GEN12_OAG_OASTATUS _MMIO(0xdafc)
-#define  GEN12_OAG_OASTATUS_COUNTER_OVERFLOW (1 << 2)
-#define  GEN12_OAG_OASTATUS_BUFFER_OVERFLOW  (1 << 1)
-#define  GEN12_OAG_OASTATUS_REPORT_LOST      (1 << 0)
-
-/*
- * Flexible, Aggregate EU Counter Registers.
- * Note: these aren't contiguous
- */
-#define EU_PERF_CNTL0      _MMIO(0xe458)
-#define EU_PERF_CNTL1      _MMIO(0xe558)
-#define EU_PERF_CNTL2      _MMIO(0xe658)
-#define EU_PERF_CNTL3      _MMIO(0xe758)
-#define EU_PERF_CNTL4      _MMIO(0xe45c)
-#define EU_PERF_CNTL5      _MMIO(0xe55c)
-#define EU_PERF_CNTL6      _MMIO(0xe65c)
-
-#define RT_CTRL                        _MMIO(0xe530)
-#define  DIS_NULL_QUERY                REG_BIT(10)
-
-/*
- * OA Boolean state
- */
-
-#define OASTARTTRIG1 _MMIO(0x2710)
-#define OASTARTTRIG1_THRESHOLD_COUNT_MASK_MBZ 0xffff0000
-#define OASTARTTRIG1_THRESHOLD_MASK          0xffff
-
-#define OASTARTTRIG2 _MMIO(0x2714)
-#define OASTARTTRIG2_INVERT_A_0 (1 << 0)
-#define OASTARTTRIG2_INVERT_A_1 (1 << 1)
-#define OASTARTTRIG2_INVERT_A_2 (1 << 2)
-#define OASTARTTRIG2_INVERT_A_3 (1 << 3)
-#define OASTARTTRIG2_INVERT_A_4 (1 << 4)
-#define OASTARTTRIG2_INVERT_A_5 (1 << 5)
-#define OASTARTTRIG2_INVERT_A_6 (1 << 6)
-#define OASTARTTRIG2_INVERT_A_7 (1 << 7)
-#define OASTARTTRIG2_INVERT_A_8 (1 << 8)
-#define OASTARTTRIG2_INVERT_A_9 (1 << 9)
-#define OASTARTTRIG2_INVERT_A_10 (1 << 10)
-#define OASTARTTRIG2_INVERT_A_11 (1 << 11)
-#define OASTARTTRIG2_INVERT_A_12 (1 << 12)
-#define OASTARTTRIG2_INVERT_A_13 (1 << 13)
-#define OASTARTTRIG2_INVERT_A_14 (1 << 14)
-#define OASTARTTRIG2_INVERT_A_15 (1 << 15)
-#define OASTARTTRIG2_INVERT_B_0 (1 << 16)
-#define OASTARTTRIG2_INVERT_B_1 (1 << 17)
-#define OASTARTTRIG2_INVERT_B_2 (1 << 18)
-#define OASTARTTRIG2_INVERT_B_3 (1 << 19)
-#define OASTARTTRIG2_INVERT_C_0 (1 << 20)
-#define OASTARTTRIG2_INVERT_C_1 (1 << 21)
-#define OASTARTTRIG2_INVERT_D_0 (1 << 22)
-#define OASTARTTRIG2_THRESHOLD_ENABLE      (1 << 23)
-#define OASTARTTRIG2_START_TRIG_FLAG_MBZ    (1 << 24)
-#define OASTARTTRIG2_EVENT_SELECT_0  (1 << 28)
-#define OASTARTTRIG2_EVENT_SELECT_1  (1 << 29)
-#define OASTARTTRIG2_EVENT_SELECT_2  (1 << 30)
-#define OASTARTTRIG2_EVENT_SELECT_3  (1 << 31)
-
-#define OASTARTTRIG3 _MMIO(0x2718)
-#define OASTARTTRIG3_NOA_SELECT_MASK      0xf
-#define OASTARTTRIG3_NOA_SELECT_8_SHIFT    0
-#define OASTARTTRIG3_NOA_SELECT_9_SHIFT    4
-#define OASTARTTRIG3_NOA_SELECT_10_SHIFT   8
-#define OASTARTTRIG3_NOA_SELECT_11_SHIFT   12
-#define OASTARTTRIG3_NOA_SELECT_12_SHIFT   16
-#define OASTARTTRIG3_NOA_SELECT_13_SHIFT   20
-#define OASTARTTRIG3_NOA_SELECT_14_SHIFT   24
-#define OASTARTTRIG3_NOA_SELECT_15_SHIFT   28
-
-#define OASTARTTRIG4 _MMIO(0x271c)
-#define OASTARTTRIG4_NOA_SELECT_MASK       0xf
-#define OASTARTTRIG4_NOA_SELECT_0_SHIFT    0
-#define OASTARTTRIG4_NOA_SELECT_1_SHIFT    4
-#define OASTARTTRIG4_NOA_SELECT_2_SHIFT    8
-#define OASTARTTRIG4_NOA_SELECT_3_SHIFT    12
-#define OASTARTTRIG4_NOA_SELECT_4_SHIFT    16
-#define OASTARTTRIG4_NOA_SELECT_5_SHIFT    20
-#define OASTARTTRIG4_NOA_SELECT_6_SHIFT    24
-#define OASTARTTRIG4_NOA_SELECT_7_SHIFT    28
-
-#define OASTARTTRIG5 _MMIO(0x2720)
-#define OASTARTTRIG5_THRESHOLD_COUNT_MASK_MBZ 0xffff0000
-#define OASTARTTRIG5_THRESHOLD_MASK          0xffff
-
-#define OASTARTTRIG6 _MMIO(0x2724)
-#define OASTARTTRIG6_INVERT_A_0 (1 << 0)
-#define OASTARTTRIG6_INVERT_A_1 (1 << 1)
-#define OASTARTTRIG6_INVERT_A_2 (1 << 2)
-#define OASTARTTRIG6_INVERT_A_3 (1 << 3)
-#define OASTARTTRIG6_INVERT_A_4 (1 << 4)
-#define OASTARTTRIG6_INVERT_A_5 (1 << 5)
-#define OASTARTTRIG6_INVERT_A_6 (1 << 6)
-#define OASTARTTRIG6_INVERT_A_7 (1 << 7)
-#define OASTARTTRIG6_INVERT_A_8 (1 << 8)
-#define OASTARTTRIG6_INVERT_A_9 (1 << 9)
-#define OASTARTTRIG6_INVERT_A_10 (1 << 10)
-#define OASTARTTRIG6_INVERT_A_11 (1 << 11)
-#define OASTARTTRIG6_INVERT_A_12 (1 << 12)
-#define OASTARTTRIG6_INVERT_A_13 (1 << 13)
-#define OASTARTTRIG6_INVERT_A_14 (1 << 14)
-#define OASTARTTRIG6_INVERT_A_15 (1 << 15)
-#define OASTARTTRIG6_INVERT_B_0 (1 << 16)
-#define OASTARTTRIG6_INVERT_B_1 (1 << 17)
-#define OASTARTTRIG6_INVERT_B_2 (1 << 18)
-#define OASTARTTRIG6_INVERT_B_3 (1 << 19)
-#define OASTARTTRIG6_INVERT_C_0 (1 << 20)
-#define OASTARTTRIG6_INVERT_C_1 (1 << 21)
-#define OASTARTTRIG6_INVERT_D_0 (1 << 22)
-#define OASTARTTRIG6_THRESHOLD_ENABLE      (1 << 23)
-#define OASTARTTRIG6_START_TRIG_FLAG_MBZ    (1 << 24)
-#define OASTARTTRIG6_EVENT_SELECT_4  (1 << 28)
-#define OASTARTTRIG6_EVENT_SELECT_5  (1 << 29)
-#define OASTARTTRIG6_EVENT_SELECT_6  (1 << 30)
-#define OASTARTTRIG6_EVENT_SELECT_7  (1 << 31)
-
-#define OASTARTTRIG7 _MMIO(0x2728)
-#define OASTARTTRIG7_NOA_SELECT_MASK      0xf
-#define OASTARTTRIG7_NOA_SELECT_8_SHIFT    0
-#define OASTARTTRIG7_NOA_SELECT_9_SHIFT    4
-#define OASTARTTRIG7_NOA_SELECT_10_SHIFT   8
-#define OASTARTTRIG7_NOA_SELECT_11_SHIFT   12
-#define OASTARTTRIG7_NOA_SELECT_12_SHIFT   16
-#define OASTARTTRIG7_NOA_SELECT_13_SHIFT   20
-#define OASTARTTRIG7_NOA_SELECT_14_SHIFT   24
-#define OASTARTTRIG7_NOA_SELECT_15_SHIFT   28
-
-#define OASTARTTRIG8 _MMIO(0x272c)
-#define OASTARTTRIG8_NOA_SELECT_MASK      0xf
-#define OASTARTTRIG8_NOA_SELECT_0_SHIFT    0
-#define OASTARTTRIG8_NOA_SELECT_1_SHIFT    4
-#define OASTARTTRIG8_NOA_SELECT_2_SHIFT    8
-#define OASTARTTRIG8_NOA_SELECT_3_SHIFT    12
-#define OASTARTTRIG8_NOA_SELECT_4_SHIFT    16
-#define OASTARTTRIG8_NOA_SELECT_5_SHIFT    20
-#define OASTARTTRIG8_NOA_SELECT_6_SHIFT    24
-#define OASTARTTRIG8_NOA_SELECT_7_SHIFT    28
-
-#define OAREPORTTRIG1 _MMIO(0x2740)
-#define OAREPORTTRIG1_THRESHOLD_MASK 0xffff
-#define OAREPORTTRIG1_EDGE_LEVEL_TRIGGER_SELECT_MASK 0xffff0000 /* 0=level */
-
-#define OAREPORTTRIG2 _MMIO(0x2744)
-#define OAREPORTTRIG2_INVERT_A_0  (1 << 0)
-#define OAREPORTTRIG2_INVERT_A_1  (1 << 1)
-#define OAREPORTTRIG2_INVERT_A_2  (1 << 2)
-#define OAREPORTTRIG2_INVERT_A_3  (1 << 3)
-#define OAREPORTTRIG2_INVERT_A_4  (1 << 4)
-#define OAREPORTTRIG2_INVERT_A_5  (1 << 5)
-#define OAREPORTTRIG2_INVERT_A_6  (1 << 6)
-#define OAREPORTTRIG2_INVERT_A_7  (1 << 7)
-#define OAREPORTTRIG2_INVERT_A_8  (1 << 8)
-#define OAREPORTTRIG2_INVERT_A_9  (1 << 9)
-#define OAREPORTTRIG2_INVERT_A_10 (1 << 10)
-#define OAREPORTTRIG2_INVERT_A_11 (1 << 11)
-#define OAREPORTTRIG2_INVERT_A_12 (1 << 12)
-#define OAREPORTTRIG2_INVERT_A_13 (1 << 13)
-#define OAREPORTTRIG2_INVERT_A_14 (1 << 14)
-#define OAREPORTTRIG2_INVERT_A_15 (1 << 15)
-#define OAREPORTTRIG2_INVERT_B_0  (1 << 16)
-#define OAREPORTTRIG2_INVERT_B_1  (1 << 17)
-#define OAREPORTTRIG2_INVERT_B_2  (1 << 18)
-#define OAREPORTTRIG2_INVERT_B_3  (1 << 19)
-#define OAREPORTTRIG2_INVERT_C_0  (1 << 20)
-#define OAREPORTTRIG2_INVERT_C_1  (1 << 21)
-#define OAREPORTTRIG2_INVERT_D_0  (1 << 22)
-#define OAREPORTTRIG2_THRESHOLD_ENABLE     (1 << 23)
-#define OAREPORTTRIG2_REPORT_TRIGGER_ENABLE (1 << 31)
-
-#define OAREPORTTRIG3 _MMIO(0x2748)
-#define OAREPORTTRIG3_NOA_SELECT_MASK      0xf
-#define OAREPORTTRIG3_NOA_SELECT_8_SHIFT    0
-#define OAREPORTTRIG3_NOA_SELECT_9_SHIFT    4
-#define OAREPORTTRIG3_NOA_SELECT_10_SHIFT   8
-#define OAREPORTTRIG3_NOA_SELECT_11_SHIFT   12
-#define OAREPORTTRIG3_NOA_SELECT_12_SHIFT   16
-#define OAREPORTTRIG3_NOA_SELECT_13_SHIFT   20
-#define OAREPORTTRIG3_NOA_SELECT_14_SHIFT   24
-#define OAREPORTTRIG3_NOA_SELECT_15_SHIFT   28
-
-#define OAREPORTTRIG4 _MMIO(0x274c)
-#define OAREPORTTRIG4_NOA_SELECT_MASK      0xf
-#define OAREPORTTRIG4_NOA_SELECT_0_SHIFT    0
-#define OAREPORTTRIG4_NOA_SELECT_1_SHIFT    4
-#define OAREPORTTRIG4_NOA_SELECT_2_SHIFT    8
-#define OAREPORTTRIG4_NOA_SELECT_3_SHIFT    12
-#define OAREPORTTRIG4_NOA_SELECT_4_SHIFT    16
-#define OAREPORTTRIG4_NOA_SELECT_5_SHIFT    20
-#define OAREPORTTRIG4_NOA_SELECT_6_SHIFT    24
-#define OAREPORTTRIG4_NOA_SELECT_7_SHIFT    28
-
-#define OAREPORTTRIG5 _MMIO(0x2750)
-#define OAREPORTTRIG5_THRESHOLD_MASK 0xffff
-#define OAREPORTTRIG5_EDGE_LEVEL_TRIGGER_SELECT_MASK 0xffff0000 /* 0=level */
-
-#define OAREPORTTRIG6 _MMIO(0x2754)
-#define OAREPORTTRIG6_INVERT_A_0  (1 << 0)
-#define OAREPORTTRIG6_INVERT_A_1  (1 << 1)
-#define OAREPORTTRIG6_INVERT_A_2  (1 << 2)
-#define OAREPORTTRIG6_INVERT_A_3  (1 << 3)
-#define OAREPORTTRIG6_INVERT_A_4  (1 << 4)
-#define OAREPORTTRIG6_INVERT_A_5  (1 << 5)
-#define OAREPORTTRIG6_INVERT_A_6  (1 << 6)
-#define OAREPORTTRIG6_INVERT_A_7  (1 << 7)
-#define OAREPORTTRIG6_INVERT_A_8  (1 << 8)
-#define OAREPORTTRIG6_INVERT_A_9  (1 << 9)
-#define OAREPORTTRIG6_INVERT_A_10 (1 << 10)
-#define OAREPORTTRIG6_INVERT_A_11 (1 << 11)
-#define OAREPORTTRIG6_INVERT_A_12 (1 << 12)
-#define OAREPORTTRIG6_INVERT_A_13 (1 << 13)
-#define OAREPORTTRIG6_INVERT_A_14 (1 << 14)
-#define OAREPORTTRIG6_INVERT_A_15 (1 << 15)
-#define OAREPORTTRIG6_INVERT_B_0  (1 << 16)
-#define OAREPORTTRIG6_INVERT_B_1  (1 << 17)
-#define OAREPORTTRIG6_INVERT_B_2  (1 << 18)
-#define OAREPORTTRIG6_INVERT_B_3  (1 << 19)
-#define OAREPORTTRIG6_INVERT_C_0  (1 << 20)
-#define OAREPORTTRIG6_INVERT_C_1  (1 << 21)
-#define OAREPORTTRIG6_INVERT_D_0  (1 << 22)
-#define OAREPORTTRIG6_THRESHOLD_ENABLE     (1 << 23)
-#define OAREPORTTRIG6_REPORT_TRIGGER_ENABLE (1 << 31)
-
-#define OAREPORTTRIG7 _MMIO(0x2758)
-#define OAREPORTTRIG7_NOA_SELECT_MASK      0xf
-#define OAREPORTTRIG7_NOA_SELECT_8_SHIFT    0
-#define OAREPORTTRIG7_NOA_SELECT_9_SHIFT    4
-#define OAREPORTTRIG7_NOA_SELECT_10_SHIFT   8
-#define OAREPORTTRIG7_NOA_SELECT_11_SHIFT   12
-#define OAREPORTTRIG7_NOA_SELECT_12_SHIFT   16
-#define OAREPORTTRIG7_NOA_SELECT_13_SHIFT   20
-#define OAREPORTTRIG7_NOA_SELECT_14_SHIFT   24
-#define OAREPORTTRIG7_NOA_SELECT_15_SHIFT   28
-
-#define OAREPORTTRIG8 _MMIO(0x275c)
-#define OAREPORTTRIG8_NOA_SELECT_MASK      0xf
-#define OAREPORTTRIG8_NOA_SELECT_0_SHIFT    0
-#define OAREPORTTRIG8_NOA_SELECT_1_SHIFT    4
-#define OAREPORTTRIG8_NOA_SELECT_2_SHIFT    8
-#define OAREPORTTRIG8_NOA_SELECT_3_SHIFT    12
-#define OAREPORTTRIG8_NOA_SELECT_4_SHIFT    16
-#define OAREPORTTRIG8_NOA_SELECT_5_SHIFT    20
-#define OAREPORTTRIG8_NOA_SELECT_6_SHIFT    24
-#define OAREPORTTRIG8_NOA_SELECT_7_SHIFT    28
-
-/* Same layout as OASTARTTRIGX */
-#define GEN12_OAG_OASTARTTRIG1 _MMIO(0xd900)
-#define GEN12_OAG_OASTARTTRIG2 _MMIO(0xd904)
-#define GEN12_OAG_OASTARTTRIG3 _MMIO(0xd908)
-#define GEN12_OAG_OASTARTTRIG4 _MMIO(0xd90c)
-#define GEN12_OAG_OASTARTTRIG5 _MMIO(0xd910)
-#define GEN12_OAG_OASTARTTRIG6 _MMIO(0xd914)
-#define GEN12_OAG_OASTARTTRIG7 _MMIO(0xd918)
-#define GEN12_OAG_OASTARTTRIG8 _MMIO(0xd91c)
-
-/* Same layout as OAREPORTTRIGX */
-#define GEN12_OAG_OAREPORTTRIG1 _MMIO(0xd920)
-#define GEN12_OAG_OAREPORTTRIG2 _MMIO(0xd924)
-#define GEN12_OAG_OAREPORTTRIG3 _MMIO(0xd928)
-#define GEN12_OAG_OAREPORTTRIG4 _MMIO(0xd92c)
-#define GEN12_OAG_OAREPORTTRIG5 _MMIO(0xd930)
-#define GEN12_OAG_OAREPORTTRIG6 _MMIO(0xd934)
-#define GEN12_OAG_OAREPORTTRIG7 _MMIO(0xd938)
-#define GEN12_OAG_OAREPORTTRIG8 _MMIO(0xd93c)
-
-/* CECX_0 */
-#define OACEC_COMPARE_LESS_OR_EQUAL    6
-#define OACEC_COMPARE_NOT_EQUAL                5
-#define OACEC_COMPARE_LESS_THAN                4
-#define OACEC_COMPARE_GREATER_OR_EQUAL 3
-#define OACEC_COMPARE_EQUAL            2
-#define OACEC_COMPARE_GREATER_THAN     1
-#define OACEC_COMPARE_ANY_EQUAL                0
-
-#define OACEC_COMPARE_VALUE_MASK    0xffff
-#define OACEC_COMPARE_VALUE_SHIFT   3
-
-#define OACEC_SELECT_NOA       (0 << 19)
-#define OACEC_SELECT_PREV      (1 << 19)
-#define OACEC_SELECT_BOOLEAN   (2 << 19)
-
-/* 11-bit array 0: pass-through, 1: negated */
-#define GEN12_OASCEC_NEGATE_MASK  0x7ff
-#define GEN12_OASCEC_NEGATE_SHIFT 21
-
-/* CECX_1 */
-#define OACEC_MASK_MASK                    0xffff
-#define OACEC_CONSIDERATIONS_MASK   0xffff
-#define OACEC_CONSIDERATIONS_SHIFT  16
-
-#define OACEC0_0 _MMIO(0x2770)
-#define OACEC0_1 _MMIO(0x2774)
-#define OACEC1_0 _MMIO(0x2778)
-#define OACEC1_1 _MMIO(0x277c)
-#define OACEC2_0 _MMIO(0x2780)
-#define OACEC2_1 _MMIO(0x2784)
-#define OACEC3_0 _MMIO(0x2788)
-#define OACEC3_1 _MMIO(0x278c)
-#define OACEC4_0 _MMIO(0x2790)
-#define OACEC4_1 _MMIO(0x2794)
-#define OACEC5_0 _MMIO(0x2798)
-#define OACEC5_1 _MMIO(0x279c)
-#define OACEC6_0 _MMIO(0x27a0)
-#define OACEC6_1 _MMIO(0x27a4)
-#define OACEC7_0 _MMIO(0x27a8)
-#define OACEC7_1 _MMIO(0x27ac)
-
-/* Same layout as CECX_Y */
-#define GEN12_OAG_CEC0_0 _MMIO(0xd940)
-#define GEN12_OAG_CEC0_1 _MMIO(0xd944)
-#define GEN12_OAG_CEC1_0 _MMIO(0xd948)
-#define GEN12_OAG_CEC1_1 _MMIO(0xd94c)
-#define GEN12_OAG_CEC2_0 _MMIO(0xd950)
-#define GEN12_OAG_CEC2_1 _MMIO(0xd954)
-#define GEN12_OAG_CEC3_0 _MMIO(0xd958)
-#define GEN12_OAG_CEC3_1 _MMIO(0xd95c)
-#define GEN12_OAG_CEC4_0 _MMIO(0xd960)
-#define GEN12_OAG_CEC4_1 _MMIO(0xd964)
-#define GEN12_OAG_CEC5_0 _MMIO(0xd968)
-#define GEN12_OAG_CEC5_1 _MMIO(0xd96c)
-#define GEN12_OAG_CEC6_0 _MMIO(0xd970)
-#define GEN12_OAG_CEC6_1 _MMIO(0xd974)
-#define GEN12_OAG_CEC7_0 _MMIO(0xd978)
-#define GEN12_OAG_CEC7_1 _MMIO(0xd97c)
-
-/* Same layout as CECX_Y + negate 11-bit array */
-#define GEN12_OAG_SCEC0_0 _MMIO(0xdc00)
-#define GEN12_OAG_SCEC0_1 _MMIO(0xdc04)
-#define GEN12_OAG_SCEC1_0 _MMIO(0xdc08)
-#define GEN12_OAG_SCEC1_1 _MMIO(0xdc0c)
-#define GEN12_OAG_SCEC2_0 _MMIO(0xdc10)
-#define GEN12_OAG_SCEC2_1 _MMIO(0xdc14)
-#define GEN12_OAG_SCEC3_0 _MMIO(0xdc18)
-#define GEN12_OAG_SCEC3_1 _MMIO(0xdc1c)
-#define GEN12_OAG_SCEC4_0 _MMIO(0xdc20)
-#define GEN12_OAG_SCEC4_1 _MMIO(0xdc24)
-#define GEN12_OAG_SCEC5_0 _MMIO(0xdc28)
-#define GEN12_OAG_SCEC5_1 _MMIO(0xdc2c)
-#define GEN12_OAG_SCEC6_0 _MMIO(0xdc30)
-#define GEN12_OAG_SCEC6_1 _MMIO(0xdc34)
-#define GEN12_OAG_SCEC7_0 _MMIO(0xdc38)
-#define GEN12_OAG_SCEC7_1 _MMIO(0xdc3c)
-
-/* OA perf counters */
-#define OA_PERFCNT1_LO      _MMIO(0x91B8)
-#define OA_PERFCNT1_HI      _MMIO(0x91BC)
-#define OA_PERFCNT2_LO      _MMIO(0x91C0)
-#define OA_PERFCNT2_HI      _MMIO(0x91C4)
-#define OA_PERFCNT3_LO      _MMIO(0x91C8)
-#define OA_PERFCNT3_HI      _MMIO(0x91CC)
-#define OA_PERFCNT4_LO      _MMIO(0x91D8)
-#define OA_PERFCNT4_HI      _MMIO(0x91DC)
-
-#define OA_PERFMATRIX_LO    _MMIO(0x91C8)
-#define OA_PERFMATRIX_HI    _MMIO(0x91CC)
-
-/* RPM unit config (Gen8+) */
-#define RPM_CONFIG0        _MMIO(0x0D00)
-#define  GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT     3
-#define  GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK      (1 << GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT)
-#define  GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_19_2_MHZ  0
-#define  GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_24_MHZ    1
-#define  GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT    3
-#define  GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK     (0x7 << GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT)
-#define  GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_24_MHZ   0
-#define  GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_19_2_MHZ 1
-#define  GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_38_4_MHZ 2
-#define  GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_25_MHZ   3
-#define  GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT   1
-#define  GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK    (0x3 << GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT)
-
-#define RPM_CONFIG1        _MMIO(0x0D04)
-#define  GEN10_GT_NOA_ENABLE  (1 << 9)
-
-/* GPM unit config (Gen9+) */
-#define CTC_MODE                       _MMIO(0xA26C)
-#define  CTC_SOURCE_PARAMETER_MASK 1
-#define  CTC_SOURCE_CRYSTAL_CLOCK      0
-#define  CTC_SOURCE_DIVIDE_LOGIC       1
-#define  CTC_SHIFT_PARAMETER_SHIFT     1
-#define  CTC_SHIFT_PARAMETER_MASK      (0x3 << CTC_SHIFT_PARAMETER_SHIFT)
-
-/* RCP unit config (Gen8+) */
-#define RCP_CONFIG         _MMIO(0x0D08)
-
-/* NOA (HSW) */
-#define HSW_MBVID2_NOA0                _MMIO(0x9E80)
-#define HSW_MBVID2_NOA1                _MMIO(0x9E84)
-#define HSW_MBVID2_NOA2                _MMIO(0x9E88)
-#define HSW_MBVID2_NOA3                _MMIO(0x9E8C)
-#define HSW_MBVID2_NOA4                _MMIO(0x9E90)
-#define HSW_MBVID2_NOA5                _MMIO(0x9E94)
-#define HSW_MBVID2_NOA6                _MMIO(0x9E98)
-#define HSW_MBVID2_NOA7                _MMIO(0x9E9C)
-#define HSW_MBVID2_NOA8                _MMIO(0x9EA0)
-#define HSW_MBVID2_NOA9                _MMIO(0x9EA4)
-
-#define HSW_MBVID2_MISR0       _MMIO(0x9EC0)
-
-/* NOA (Gen8+) */
-#define NOA_CONFIG(i)      _MMIO(0x0D0C + (i) * 4)
-
-#define MICRO_BP0_0        _MMIO(0x9800)
-#define MICRO_BP0_2        _MMIO(0x9804)
-#define MICRO_BP0_1        _MMIO(0x9808)
-
-#define MICRO_BP1_0        _MMIO(0x980C)
-#define MICRO_BP1_2        _MMIO(0x9810)
-#define MICRO_BP1_1        _MMIO(0x9814)
-
-#define MICRO_BP2_0        _MMIO(0x9818)
-#define MICRO_BP2_2        _MMIO(0x981C)
-#define MICRO_BP2_1        _MMIO(0x9820)
-
-#define MICRO_BP3_0        _MMIO(0x9824)
-#define MICRO_BP3_2        _MMIO(0x9828)
-#define MICRO_BP3_1        _MMIO(0x982C)
-
-#define MICRO_BP_TRIGGER               _MMIO(0x9830)
-#define MICRO_BP3_COUNT_STATUS01       _MMIO(0x9834)
-#define MICRO_BP3_COUNT_STATUS23       _MMIO(0x9838)
-#define MICRO_BP_FIRED_ARMED           _MMIO(0x983C)
-
-#define GEN12_OAA_DBG_REG _MMIO(0xdc44)
-#define GEN12_OAG_OA_PESS _MMIO(0x2b2c)
-#define GEN12_OAG_SPCTR_CNF _MMIO(0xdc40)
-
-#define GDT_CHICKEN_BITS    _MMIO(0x9840)
-#define   GT_NOA_ENABLE            0x00000080
-
-#define NOA_DATA           _MMIO(0x986C)
-#define NOA_WRITE          _MMIO(0x9888)
-#define GEN10_NOA_WRITE_HIGH _MMIO(0x9884)
 
 #define _GEN7_PIPEA_DE_LOAD_SL 0x70068
 #define _GEN7_PIPEB_DE_LOAD_SL 0x71068
@@ -1244,177 +249,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define VLV_IOSF_DATA                          _MMIO(VLV_DISPLAY_BASE + 0x2104)
 #define VLV_IOSF_ADDR                          _MMIO(VLV_DISPLAY_BASE + 0x2108)
 
-/* See configdb bunit SB addr map */
-#define BUNIT_REG_BISOC                                0x11
-
-/* PUNIT_REG_*SSPM0 */
-#define   _SSPM0_SSC(val)                      ((val) << 0)
-#define   SSPM0_SSC_MASK                       _SSPM0_SSC(0x3)
-#define   SSPM0_SSC_PWR_ON                     _SSPM0_SSC(0x0)
-#define   SSPM0_SSC_CLK_GATE                   _SSPM0_SSC(0x1)
-#define   SSPM0_SSC_RESET                      _SSPM0_SSC(0x2)
-#define   SSPM0_SSC_PWR_GATE                   _SSPM0_SSC(0x3)
-#define   _SSPM0_SSS(val)                      ((val) << 24)
-#define   SSPM0_SSS_MASK                       _SSPM0_SSS(0x3)
-#define   SSPM0_SSS_PWR_ON                     _SSPM0_SSS(0x0)
-#define   SSPM0_SSS_CLK_GATE                   _SSPM0_SSS(0x1)
-#define   SSPM0_SSS_RESET                      _SSPM0_SSS(0x2)
-#define   SSPM0_SSS_PWR_GATE                   _SSPM0_SSS(0x3)
-
-/* PUNIT_REG_*SSPM1 */
-#define   SSPM1_FREQSTAT_SHIFT                 24
-#define   SSPM1_FREQSTAT_MASK                  (0x1f << SSPM1_FREQSTAT_SHIFT)
-#define   SSPM1_FREQGUAR_SHIFT                 8
-#define   SSPM1_FREQGUAR_MASK                  (0x1f << SSPM1_FREQGUAR_SHIFT)
-#define   SSPM1_FREQ_SHIFT                     0
-#define   SSPM1_FREQ_MASK                      (0x1f << SSPM1_FREQ_SHIFT)
-
-#define PUNIT_REG_VEDSSPM0                     0x32
-#define PUNIT_REG_VEDSSPM1                     0x33
-
-#define PUNIT_REG_DSPSSPM                      0x36
-#define   DSPFREQSTAT_SHIFT_CHV                        24
-#define   DSPFREQSTAT_MASK_CHV                 (0x1f << DSPFREQSTAT_SHIFT_CHV)
-#define   DSPFREQGUAR_SHIFT_CHV                        8
-#define   DSPFREQGUAR_MASK_CHV                 (0x1f << DSPFREQGUAR_SHIFT_CHV)
-#define   DSPFREQSTAT_SHIFT                    30
-#define   DSPFREQSTAT_MASK                     (0x3 << DSPFREQSTAT_SHIFT)
-#define   DSPFREQGUAR_SHIFT                    14
-#define   DSPFREQGUAR_MASK                     (0x3 << DSPFREQGUAR_SHIFT)
-#define   DSP_MAXFIFO_PM5_STATUS               (1 << 22) /* chv */
-#define   DSP_AUTO_CDCLK_GATE_DISABLE          (1 << 7) /* chv */
-#define   DSP_MAXFIFO_PM5_ENABLE               (1 << 6) /* chv */
-#define   _DP_SSC(val, pipe)                   ((val) << (2 * (pipe)))
-#define   DP_SSC_MASK(pipe)                    _DP_SSC(0x3, (pipe))
-#define   DP_SSC_PWR_ON(pipe)                  _DP_SSC(0x0, (pipe))
-#define   DP_SSC_CLK_GATE(pipe)                        _DP_SSC(0x1, (pipe))
-#define   DP_SSC_RESET(pipe)                   _DP_SSC(0x2, (pipe))
-#define   DP_SSC_PWR_GATE(pipe)                        _DP_SSC(0x3, (pipe))
-#define   _DP_SSS(val, pipe)                   ((val) << (2 * (pipe) + 16))
-#define   DP_SSS_MASK(pipe)                    _DP_SSS(0x3, (pipe))
-#define   DP_SSS_PWR_ON(pipe)                  _DP_SSS(0x0, (pipe))
-#define   DP_SSS_CLK_GATE(pipe)                        _DP_SSS(0x1, (pipe))
-#define   DP_SSS_RESET(pipe)                   _DP_SSS(0x2, (pipe))
-#define   DP_SSS_PWR_GATE(pipe)                        _DP_SSS(0x3, (pipe))
-
-#define PUNIT_REG_ISPSSPM0                     0x39
-#define PUNIT_REG_ISPSSPM1                     0x3a
-
-#define PUNIT_REG_PWRGT_CTRL                   0x60
-#define PUNIT_REG_PWRGT_STATUS                 0x61
-#define   PUNIT_PWRGT_MASK(pw_idx)             (3 << ((pw_idx) * 2))
-#define   PUNIT_PWRGT_PWR_ON(pw_idx)           (0 << ((pw_idx) * 2))
-#define   PUNIT_PWRGT_CLK_GATE(pw_idx)         (1 << ((pw_idx) * 2))
-#define   PUNIT_PWRGT_RESET(pw_idx)            (2 << ((pw_idx) * 2))
-#define   PUNIT_PWRGT_PWR_GATE(pw_idx)         (3 << ((pw_idx) * 2))
-
-#define PUNIT_PWGT_IDX_RENDER                  0
-#define PUNIT_PWGT_IDX_MEDIA                   1
-#define PUNIT_PWGT_IDX_DISP2D                  3
-#define PUNIT_PWGT_IDX_DPIO_CMN_BC             5
-#define PUNIT_PWGT_IDX_DPIO_TX_B_LANES_01      6
-#define PUNIT_PWGT_IDX_DPIO_TX_B_LANES_23      7
-#define PUNIT_PWGT_IDX_DPIO_TX_C_LANES_01      8
-#define PUNIT_PWGT_IDX_DPIO_TX_C_LANES_23      9
-#define PUNIT_PWGT_IDX_DPIO_RX0                        10
-#define PUNIT_PWGT_IDX_DPIO_RX1                        11
-#define PUNIT_PWGT_IDX_DPIO_CMN_D              12
-
-#define PUNIT_REG_GPU_LFM                      0xd3
-#define PUNIT_REG_GPU_FREQ_REQ                 0xd4
-#define PUNIT_REG_GPU_FREQ_STS                 0xd8
-#define   GPLLENABLE                           (1 << 4)
-#define   GENFREQSTATUS                                (1 << 0)
-#define PUNIT_REG_MEDIA_TURBO_FREQ_REQ         0xdc
-#define PUNIT_REG_CZ_TIMESTAMP                 0xce
-
-#define PUNIT_FUSE_BUS2                                0xf6 /* bits 47:40 */
-#define PUNIT_FUSE_BUS1                                0xf5 /* bits 55:48 */
-
-#define FB_GFX_FMAX_AT_VMAX_FUSE               0x136
-#define FB_GFX_FREQ_FUSE_MASK                  0xff
-#define FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT  24
-#define FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT  16
-#define FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT  8
-
-#define FB_GFX_FMIN_AT_VMIN_FUSE               0x137
-#define FB_GFX_FMIN_AT_VMIN_FUSE_SHIFT         8
-
-#define PUNIT_REG_DDR_SETUP2                   0x139
-#define   FORCE_DDR_FREQ_REQ_ACK               (1 << 8)
-#define   FORCE_DDR_LOW_FREQ                   (1 << 1)
-#define   FORCE_DDR_HIGH_FREQ                  (1 << 0)
-
-#define PUNIT_GPU_STATUS_REG                   0xdb
-#define PUNIT_GPU_STATUS_MAX_FREQ_SHIFT        16
-#define PUNIT_GPU_STATUS_MAX_FREQ_MASK         0xff
-#define PUNIT_GPU_STATIS_GFX_MIN_FREQ_SHIFT    8
-#define PUNIT_GPU_STATUS_GFX_MIN_FREQ_MASK     0xff
-
-#define PUNIT_GPU_DUTYCYCLE_REG                0xdf
-#define PUNIT_GPU_DUTYCYCLE_RPE_FREQ_SHIFT     8
-#define PUNIT_GPU_DUTYCYCLE_RPE_FREQ_MASK      0xff
-
-#define IOSF_NC_FB_GFX_FREQ_FUSE               0x1c
-#define   FB_GFX_MAX_FREQ_FUSE_SHIFT           3
-#define   FB_GFX_MAX_FREQ_FUSE_MASK            0x000007f8
-#define   FB_GFX_FGUARANTEED_FREQ_FUSE_SHIFT   11
-#define   FB_GFX_FGUARANTEED_FREQ_FUSE_MASK    0x0007f800
-#define IOSF_NC_FB_GFX_FMAX_FUSE_HI            0x34
-#define   FB_FMAX_VMIN_FREQ_HI_MASK            0x00000007
-#define IOSF_NC_FB_GFX_FMAX_FUSE_LO            0x30
-#define   FB_FMAX_VMIN_FREQ_LO_SHIFT           27
-#define   FB_FMAX_VMIN_FREQ_LO_MASK            0xf8000000
-
-#define VLV_TURBO_SOC_OVERRIDE         0x04
-#define   VLV_OVERRIDE_EN              1
-#define   VLV_SOC_TDP_EN               (1 << 1)
-#define   VLV_BIAS_CPU_125_SOC_875     (6 << 2)
-#define   CHV_BIAS_CPU_50_SOC_50       (3 << 2)
-
-/* vlv2 north clock has */
-#define CCK_FUSE_REG                           0x8
-#define  CCK_FUSE_HPLL_FREQ_MASK               0x3
-#define CCK_REG_DSI_PLL_FUSE                   0x44
-#define CCK_REG_DSI_PLL_CONTROL                        0x48
-#define  DSI_PLL_VCO_EN                                (1 << 31)
-#define  DSI_PLL_LDO_GATE                      (1 << 30)
-#define  DSI_PLL_P1_POST_DIV_SHIFT             17
-#define  DSI_PLL_P1_POST_DIV_MASK              (0x1ff << 17)
-#define  DSI_PLL_P2_MUX_DSI0_DIV2              (1 << 13)
-#define  DSI_PLL_P3_MUX_DSI1_DIV2              (1 << 12)
-#define  DSI_PLL_MUX_MASK                      (3 << 9)
-#define  DSI_PLL_MUX_DSI0_DSIPLL               (0 << 10)
-#define  DSI_PLL_MUX_DSI0_CCK                  (1 << 10)
-#define  DSI_PLL_MUX_DSI1_DSIPLL               (0 << 9)
-#define  DSI_PLL_MUX_DSI1_CCK                  (1 << 9)
-#define  DSI_PLL_CLK_GATE_MASK                 (0xf << 5)
-#define  DSI_PLL_CLK_GATE_DSI0_DSIPLL          (1 << 8)
-#define  DSI_PLL_CLK_GATE_DSI1_DSIPLL          (1 << 7)
-#define  DSI_PLL_CLK_GATE_DSI0_CCK             (1 << 6)
-#define  DSI_PLL_CLK_GATE_DSI1_CCK             (1 << 5)
-#define  DSI_PLL_LOCK                          (1 << 0)
-#define CCK_REG_DSI_PLL_DIVIDER                        0x4c
-#define  DSI_PLL_LFSR                          (1 << 31)
-#define  DSI_PLL_FRACTION_EN                   (1 << 30)
-#define  DSI_PLL_FRAC_COUNTER_SHIFT            27
-#define  DSI_PLL_FRAC_COUNTER_MASK             (7 << 27)
-#define  DSI_PLL_USYNC_CNT_SHIFT               18
-#define  DSI_PLL_USYNC_CNT_MASK                        (0x1ff << 18)
-#define  DSI_PLL_N1_DIV_SHIFT                  16
-#define  DSI_PLL_N1_DIV_MASK                   (3 << 16)
-#define  DSI_PLL_M1_DIV_SHIFT                  0
-#define  DSI_PLL_M1_DIV_MASK                   (0x1ff << 0)
-#define CCK_CZ_CLOCK_CONTROL                   0x62
-#define CCK_GPLL_CLOCK_CONTROL                 0x67
-#define CCK_DISPLAY_CLOCK_CONTROL              0x6b
-#define CCK_DISPLAY_REF_CLOCK_CONTROL          0x6c
-#define  CCK_TRUNK_FORCE_ON                    (1 << 17)
-#define  CCK_TRUNK_FORCE_OFF                   (1 << 16)
-#define  CCK_FREQUENCY_STATUS                  (0x1f << 8)
-#define  CCK_FREQUENCY_STATUS_SHIFT            8
-#define  CCK_FREQUENCY_VALUES                  (0x1f << 0)
-
 /* DPIO registers */
 #define DPIO_DEVFN                     0
 
@@ -1905,402 +739,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   OCL2_LDOFUSE_PWR_DIS         (1 << 6)
 #define BXT_PORT_CL1CM_DW30(phy)       _BXT_PHY((phy), _PORT_CL1CM_DW30_BC)
 
-/*
- * ICL Port/COMBO-PHY Registers
- */
-#define _ICL_COMBOPHY_A                        0x162000
-#define _ICL_COMBOPHY_B                        0x6C000
-#define _EHL_COMBOPHY_C                        0x160000
-#define _RKL_COMBOPHY_D                        0x161000
-#define _ADL_COMBOPHY_E                        0x16B000
-
-#define _ICL_COMBOPHY(phy)             _PICK(phy, _ICL_COMBOPHY_A, \
-                                             _ICL_COMBOPHY_B, \
-                                             _EHL_COMBOPHY_C, \
-                                             _RKL_COMBOPHY_D, \
-                                             _ADL_COMBOPHY_E)
-
-/* ICL Port CL_DW registers */
-#define _ICL_PORT_CL_DW(dw, phy)       (_ICL_COMBOPHY(phy) + \
-                                        4 * (dw))
-
-#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)
-
-#define ICL_PORT_CL_DW10(phy)          _MMIO(_ICL_PORT_CL_DW(10, phy))
-#define  PG_SEQ_DELAY_OVERRIDE_MASK    (3 << 25)
-#define  PG_SEQ_DELAY_OVERRIDE_SHIFT   25
-#define  PG_SEQ_DELAY_OVERRIDE_ENABLE  (1 << 24)
-#define  PWR_UP_ALL_LANES              (0x0 << 4)
-#define  PWR_DOWN_LN_3_2_1             (0xe << 4)
-#define  PWR_DOWN_LN_3_2               (0xc << 4)
-#define  PWR_DOWN_LN_3                 (0x8 << 4)
-#define  PWR_DOWN_LN_2_1_0             (0x7 << 4)
-#define  PWR_DOWN_LN_1_0               (0x3 << 4)
-#define  PWR_DOWN_LN_3_1               (0xa << 4)
-#define  PWR_DOWN_LN_3_1_0             (0xb << 4)
-#define  PWR_DOWN_LN_MASK              (0xf << 4)
-#define  PWR_DOWN_LN_SHIFT             4
-#define  EDP4K2K_MODE_OVRD_EN          (1 << 3)
-#define  EDP4K2K_MODE_OVRD_OPTIMIZED   (1 << 2)
-
-#define ICL_PORT_CL_DW12(phy)          _MMIO(_ICL_PORT_CL_DW(12, phy))
-#define   ICL_LANE_ENABLE_AUX          (1 << 0)
-
-/* 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 ICL_PORT_COMP_DW0(phy)         _MMIO(_ICL_PORT_COMP_DW(0, phy))
-#define   COMP_INIT                    (1 << 31)
-
-#define ICL_PORT_COMP_DW1(phy)         _MMIO(_ICL_PORT_COMP_DW(1, phy))
-
-#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)
-#define   PROCESS_INFO_DOT_4           (2 << 26)
-#define   PROCESS_INFO_MASK            (7 << 26)
-#define   PROCESS_INFO_SHIFT           26
-#define   VOLTAGE_INFO_0_85V           (0 << 24)
-#define   VOLTAGE_INFO_0_95V           (1 << 24)
-#define   VOLTAGE_INFO_1_05V           (2 << 24)
-#define   VOLTAGE_INFO_MASK            (3 << 24)
-#define   VOLTAGE_INFO_SHIFT           24
-
-#define ICL_PORT_COMP_DW8(phy)         _MMIO(_ICL_PORT_COMP_DW(8, phy))
-#define   IREFGEN                      (1 << 24)
-
-#define ICL_PORT_COMP_DW9(phy)         _MMIO(_ICL_PORT_COMP_DW(9, phy))
-
-#define ICL_PORT_COMP_DW10(phy)                _MMIO(_ICL_PORT_COMP_DW(10, phy))
-
-/* 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)
-#define _ICL_PORT_PCS_DW_AUX(dw, phy)  (_ICL_COMBOPHY(phy) + \
-                                        _ICL_PORT_PCS_AUX + 4 * (dw))
-#define _ICL_PORT_PCS_DW_GRP(dw, phy)  (_ICL_COMBOPHY(phy) + \
-                                        _ICL_PORT_PCS_GRP + 4 * (dw))
-#define _ICL_PORT_PCS_DW_LN(dw, ln, phy) (_ICL_COMBOPHY(phy) + \
-                                         _ICL_PORT_PCS_LN(ln) + 4 * (dw))
-#define ICL_PORT_PCS_DW1_AUX(phy)      _MMIO(_ICL_PORT_PCS_DW_AUX(1, phy))
-#define ICL_PORT_PCS_DW1_GRP(phy)      _MMIO(_ICL_PORT_PCS_DW_GRP(1, phy))
-#define ICL_PORT_PCS_DW1_LN(ln, phy)   _MMIO(_ICL_PORT_PCS_DW_LN(1, ln, phy))
-#define   DCC_MODE_SELECT_MASK         (0x3 << 20)
-#define   DCC_MODE_SELECT_CONTINUOSLY  (0x3 << 20)
-#define   COMMON_KEEPER_EN             (1 << 26)
-#define   LATENCY_OPTIM_MASK           (0x3 << 2)
-#define   LATENCY_OPTIM_VAL(x)         ((x) << 2)
-
-/* 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)
-
-#define _ICL_PORT_TX_DW_AUX(dw, phy)   (_ICL_COMBOPHY(phy) + \
-                                        _ICL_PORT_TX_AUX + 4 * (dw))
-#define _ICL_PORT_TX_DW_GRP(dw, phy)   (_ICL_COMBOPHY(phy) + \
-                                        _ICL_PORT_TX_GRP + 4 * (dw))
-#define _ICL_PORT_TX_DW_LN(dw, ln, phy) (_ICL_COMBOPHY(phy) + \
-                                         _ICL_PORT_TX_LN(ln) + 4 * (dw))
-
-#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_LN(ln, phy)    _MMIO(_ICL_PORT_TX_DW_LN(2, ln, phy))
-#define   SWING_SEL_UPPER(x)           (((x) >> 3) << 15)
-#define   SWING_SEL_UPPER_MASK         (1 << 15)
-#define   SWING_SEL_LOWER(x)           (((x) & 0x7) << 11)
-#define   SWING_SEL_LOWER_MASK         (0x7 << 11)
-#define   FRC_LATENCY_OPTIM_MASK       (0x7 << 8)
-#define   FRC_LATENCY_OPTIM_VAL(x)     ((x) << 8)
-#define   RCOMP_SCALAR(x)              ((x) << 0)
-#define   RCOMP_SCALAR_MASK            (0xFF << 0)
-
-#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_LN(ln, phy)    _MMIO(_ICL_PORT_TX_DW_LN(4, ln, phy))
-#define   LOADGEN_SELECT               (1 << 31)
-#define   POST_CURSOR_1(x)             ((x) << 12)
-#define   POST_CURSOR_1_MASK           (0x3F << 12)
-#define   POST_CURSOR_2(x)             ((x) << 6)
-#define   POST_CURSOR_2_MASK           (0x3F << 6)
-#define   CURSOR_COEFF(x)              ((x) << 0)
-#define   CURSOR_COEFF_MASK            (0x3F << 0)
-
-#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_LN(ln, phy)    _MMIO(_ICL_PORT_TX_DW_LN(5, ln, phy))
-#define   TX_TRAINING_EN               (1 << 31)
-#define   TAP2_DISABLE                 (1 << 30)
-#define   TAP3_DISABLE                 (1 << 29)
-#define   SCALING_MODE_SEL(x)          ((x) << 18)
-#define   SCALING_MODE_SEL_MASK                (0x7 << 18)
-#define   RTERM_SELECT(x)              ((x) << 3)
-#define   RTERM_SELECT_MASK            (0x7 << 3)
-
-#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_LN(ln, phy)    _MMIO(_ICL_PORT_TX_DW_LN(7, ln, phy))
-#define   N_SCALAR(x)                  ((x) << 24)
-#define   N_SCALAR_MASK                        (0x7F << 24)
-
-#define ICL_PORT_TX_DW8_AUX(phy)               _MMIO(_ICL_PORT_TX_DW_AUX(8, phy))
-#define ICL_PORT_TX_DW8_GRP(phy)               _MMIO(_ICL_PORT_TX_DW_GRP(8, phy))
-#define ICL_PORT_TX_DW8_LN(ln, phy)            _MMIO(_ICL_PORT_TX_DW_LN(8, ln, phy))
-#define   ICL_PORT_TX_DW8_ODCC_CLK_SEL         REG_BIT(31)
-#define   ICL_PORT_TX_DW8_ODCC_CLK_DIV_SEL_MASK        REG_GENMASK(30, 29)
-#define   ICL_PORT_TX_DW8_ODCC_CLK_DIV_SEL_DIV2        REG_FIELD_PREP(ICL_PORT_TX_DW8_ODCC_CLK_DIV_SEL_MASK, 0x1)
-
-#define _ICL_DPHY_CHKN_REG                     0x194
-#define ICL_DPHY_CHKN(port)                    _MMIO(_ICL_COMBOPHY(port) + _ICL_DPHY_CHKN_REG)
-#define   ICL_DPHY_CHKN_AFE_OVER_PPI_STRAP     REG_BIT(7)
-
-#define MG_PHY_PORT_LN(ln, tc_port, ln0p1, ln0p2, ln1p1) \
-       _MMIO(_PORT(tc_port, ln0p1, ln0p2) + (ln) * ((ln1p1) - (ln0p1)))
-
-#define MG_TX_LINK_PARAMS_TX1LN0_PORT1         0x16812C
-#define MG_TX_LINK_PARAMS_TX1LN1_PORT1         0x16852C
-#define MG_TX_LINK_PARAMS_TX1LN0_PORT2         0x16912C
-#define MG_TX_LINK_PARAMS_TX1LN1_PORT2         0x16952C
-#define MG_TX_LINK_PARAMS_TX1LN0_PORT3         0x16A12C
-#define MG_TX_LINK_PARAMS_TX1LN1_PORT3         0x16A52C
-#define MG_TX_LINK_PARAMS_TX1LN0_PORT4         0x16B12C
-#define MG_TX_LINK_PARAMS_TX1LN1_PORT4         0x16B52C
-#define MG_TX1_LINK_PARAMS(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_LINK_PARAMS_TX1LN0_PORT1, \
-                                   MG_TX_LINK_PARAMS_TX1LN0_PORT2, \
-                                   MG_TX_LINK_PARAMS_TX1LN1_PORT1)
-
-#define MG_TX_LINK_PARAMS_TX2LN0_PORT1         0x1680AC
-#define MG_TX_LINK_PARAMS_TX2LN1_PORT1         0x1684AC
-#define MG_TX_LINK_PARAMS_TX2LN0_PORT2         0x1690AC
-#define MG_TX_LINK_PARAMS_TX2LN1_PORT2         0x1694AC
-#define MG_TX_LINK_PARAMS_TX2LN0_PORT3         0x16A0AC
-#define MG_TX_LINK_PARAMS_TX2LN1_PORT3         0x16A4AC
-#define MG_TX_LINK_PARAMS_TX2LN0_PORT4         0x16B0AC
-#define MG_TX_LINK_PARAMS_TX2LN1_PORT4         0x16B4AC
-#define MG_TX2_LINK_PARAMS(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_LINK_PARAMS_TX2LN0_PORT1, \
-                                   MG_TX_LINK_PARAMS_TX2LN0_PORT2, \
-                                   MG_TX_LINK_PARAMS_TX2LN1_PORT1)
-#define   CRI_USE_FS32                 (1 << 5)
-
-#define MG_TX_PISO_READLOAD_TX1LN0_PORT1               0x16814C
-#define MG_TX_PISO_READLOAD_TX1LN1_PORT1               0x16854C
-#define MG_TX_PISO_READLOAD_TX1LN0_PORT2               0x16914C
-#define MG_TX_PISO_READLOAD_TX1LN1_PORT2               0x16954C
-#define MG_TX_PISO_READLOAD_TX1LN0_PORT3               0x16A14C
-#define MG_TX_PISO_READLOAD_TX1LN1_PORT3               0x16A54C
-#define MG_TX_PISO_READLOAD_TX1LN0_PORT4               0x16B14C
-#define MG_TX_PISO_READLOAD_TX1LN1_PORT4               0x16B54C
-#define MG_TX1_PISO_READLOAD(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_PISO_READLOAD_TX1LN0_PORT1, \
-                                   MG_TX_PISO_READLOAD_TX1LN0_PORT2, \
-                                   MG_TX_PISO_READLOAD_TX1LN1_PORT1)
-
-#define MG_TX_PISO_READLOAD_TX2LN0_PORT1               0x1680CC
-#define MG_TX_PISO_READLOAD_TX2LN1_PORT1               0x1684CC
-#define MG_TX_PISO_READLOAD_TX2LN0_PORT2               0x1690CC
-#define MG_TX_PISO_READLOAD_TX2LN1_PORT2               0x1694CC
-#define MG_TX_PISO_READLOAD_TX2LN0_PORT3               0x16A0CC
-#define MG_TX_PISO_READLOAD_TX2LN1_PORT3               0x16A4CC
-#define MG_TX_PISO_READLOAD_TX2LN0_PORT4               0x16B0CC
-#define MG_TX_PISO_READLOAD_TX2LN1_PORT4               0x16B4CC
-#define MG_TX2_PISO_READLOAD(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_PISO_READLOAD_TX2LN0_PORT1, \
-                                   MG_TX_PISO_READLOAD_TX2LN0_PORT2, \
-                                   MG_TX_PISO_READLOAD_TX2LN1_PORT1)
-#define   CRI_CALCINIT                                 (1 << 1)
-
-#define MG_TX_SWINGCTRL_TX1LN0_PORT1           0x168148
-#define MG_TX_SWINGCTRL_TX1LN1_PORT1           0x168548
-#define MG_TX_SWINGCTRL_TX1LN0_PORT2           0x169148
-#define MG_TX_SWINGCTRL_TX1LN1_PORT2           0x169548
-#define MG_TX_SWINGCTRL_TX1LN0_PORT3           0x16A148
-#define MG_TX_SWINGCTRL_TX1LN1_PORT3           0x16A548
-#define MG_TX_SWINGCTRL_TX1LN0_PORT4           0x16B148
-#define MG_TX_SWINGCTRL_TX1LN1_PORT4           0x16B548
-#define MG_TX1_SWINGCTRL(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_SWINGCTRL_TX1LN0_PORT1, \
-                                   MG_TX_SWINGCTRL_TX1LN0_PORT2, \
-                                   MG_TX_SWINGCTRL_TX1LN1_PORT1)
-
-#define MG_TX_SWINGCTRL_TX2LN0_PORT1           0x1680C8
-#define MG_TX_SWINGCTRL_TX2LN1_PORT1           0x1684C8
-#define MG_TX_SWINGCTRL_TX2LN0_PORT2           0x1690C8
-#define MG_TX_SWINGCTRL_TX2LN1_PORT2           0x1694C8
-#define MG_TX_SWINGCTRL_TX2LN0_PORT3           0x16A0C8
-#define MG_TX_SWINGCTRL_TX2LN1_PORT3           0x16A4C8
-#define MG_TX_SWINGCTRL_TX2LN0_PORT4           0x16B0C8
-#define MG_TX_SWINGCTRL_TX2LN1_PORT4           0x16B4C8
-#define MG_TX2_SWINGCTRL(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_SWINGCTRL_TX2LN0_PORT1, \
-                                   MG_TX_SWINGCTRL_TX2LN0_PORT2, \
-                                   MG_TX_SWINGCTRL_TX2LN1_PORT1)
-#define   CRI_TXDEEMPH_OVERRIDE_17_12(x)               ((x) << 0)
-#define   CRI_TXDEEMPH_OVERRIDE_17_12_MASK             (0x3F << 0)
-
-#define MG_TX_DRVCTRL_TX1LN0_TXPORT1                   0x168144
-#define MG_TX_DRVCTRL_TX1LN1_TXPORT1                   0x168544
-#define MG_TX_DRVCTRL_TX1LN0_TXPORT2                   0x169144
-#define MG_TX_DRVCTRL_TX1LN1_TXPORT2                   0x169544
-#define MG_TX_DRVCTRL_TX1LN0_TXPORT3                   0x16A144
-#define MG_TX_DRVCTRL_TX1LN1_TXPORT3                   0x16A544
-#define MG_TX_DRVCTRL_TX1LN0_TXPORT4                   0x16B144
-#define MG_TX_DRVCTRL_TX1LN1_TXPORT4                   0x16B544
-#define MG_TX1_DRVCTRL(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_DRVCTRL_TX1LN0_TXPORT1, \
-                                   MG_TX_DRVCTRL_TX1LN0_TXPORT2, \
-                                   MG_TX_DRVCTRL_TX1LN1_TXPORT1)
-
-#define MG_TX_DRVCTRL_TX2LN0_PORT1                     0x1680C4
-#define MG_TX_DRVCTRL_TX2LN1_PORT1                     0x1684C4
-#define MG_TX_DRVCTRL_TX2LN0_PORT2                     0x1690C4
-#define MG_TX_DRVCTRL_TX2LN1_PORT2                     0x1694C4
-#define MG_TX_DRVCTRL_TX2LN0_PORT3                     0x16A0C4
-#define MG_TX_DRVCTRL_TX2LN1_PORT3                     0x16A4C4
-#define MG_TX_DRVCTRL_TX2LN0_PORT4                     0x16B0C4
-#define MG_TX_DRVCTRL_TX2LN1_PORT4                     0x16B4C4
-#define MG_TX2_DRVCTRL(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_DRVCTRL_TX2LN0_PORT1, \
-                                   MG_TX_DRVCTRL_TX2LN0_PORT2, \
-                                   MG_TX_DRVCTRL_TX2LN1_PORT1)
-#define   CRI_TXDEEMPH_OVERRIDE_11_6(x)                        ((x) << 24)
-#define   CRI_TXDEEMPH_OVERRIDE_11_6_MASK              (0x3F << 24)
-#define   CRI_TXDEEMPH_OVERRIDE_EN                     (1 << 22)
-#define   CRI_TXDEEMPH_OVERRIDE_5_0(x)                 ((x) << 16)
-#define   CRI_TXDEEMPH_OVERRIDE_5_0_MASK               (0x3F << 16)
-#define   CRI_LOADGEN_SEL(x)                           ((x) << 12)
-#define   CRI_LOADGEN_SEL_MASK                         (0x3 << 12)
-
-#define MG_CLKHUB_LN0_PORT1                    0x16839C
-#define MG_CLKHUB_LN1_PORT1                    0x16879C
-#define MG_CLKHUB_LN0_PORT2                    0x16939C
-#define MG_CLKHUB_LN1_PORT2                    0x16979C
-#define MG_CLKHUB_LN0_PORT3                    0x16A39C
-#define MG_CLKHUB_LN1_PORT3                    0x16A79C
-#define MG_CLKHUB_LN0_PORT4                    0x16B39C
-#define MG_CLKHUB_LN1_PORT4                    0x16B79C
-#define MG_CLKHUB(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_CLKHUB_LN0_PORT1, \
-                                   MG_CLKHUB_LN0_PORT2, \
-                                   MG_CLKHUB_LN1_PORT1)
-#define   CFG_LOW_RATE_LKREN_EN                                (1 << 11)
-
-#define MG_TX_DCC_TX1LN0_PORT1                 0x168110
-#define MG_TX_DCC_TX1LN1_PORT1                 0x168510
-#define MG_TX_DCC_TX1LN0_PORT2                 0x169110
-#define MG_TX_DCC_TX1LN1_PORT2                 0x169510
-#define MG_TX_DCC_TX1LN0_PORT3                 0x16A110
-#define MG_TX_DCC_TX1LN1_PORT3                 0x16A510
-#define MG_TX_DCC_TX1LN0_PORT4                 0x16B110
-#define MG_TX_DCC_TX1LN1_PORT4                 0x16B510
-#define MG_TX1_DCC(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_DCC_TX1LN0_PORT1, \
-                                   MG_TX_DCC_TX1LN0_PORT2, \
-                                   MG_TX_DCC_TX1LN1_PORT1)
-#define MG_TX_DCC_TX2LN0_PORT1                 0x168090
-#define MG_TX_DCC_TX2LN1_PORT1                 0x168490
-#define MG_TX_DCC_TX2LN0_PORT2                 0x169090
-#define MG_TX_DCC_TX2LN1_PORT2                 0x169490
-#define MG_TX_DCC_TX2LN0_PORT3                 0x16A090
-#define MG_TX_DCC_TX2LN1_PORT3                 0x16A490
-#define MG_TX_DCC_TX2LN0_PORT4                 0x16B090
-#define MG_TX_DCC_TX2LN1_PORT4                 0x16B490
-#define MG_TX2_DCC(ln, tc_port) \
-       MG_PHY_PORT_LN(ln, tc_port, MG_TX_DCC_TX2LN0_PORT1, \
-                                   MG_TX_DCC_TX2LN0_PORT2, \
-                                   MG_TX_DCC_TX2LN1_PORT1)
-#define   CFG_AMI_CK_DIV_OVERRIDE_VAL(x)       ((x) << 25)
-#define   CFG_AMI_CK_DIV_OVERRIDE_VAL_MASK     (0x3 << 25)
-#define   CFG_AMI_CK_DIV_OVERRIDE_EN           (1 << 24)
-
-#define MG_DP_MODE_LN0_ACU_PORT1                       0x1683A0
-#define MG_DP_MODE_LN1_ACU_PORT1                       0x1687A0
-#define MG_DP_MODE_LN0_ACU_PORT2                       0x1693A0
-#define MG_DP_MODE_LN1_ACU_PORT2                       0x1697A0
-#define MG_DP_MODE_LN0_ACU_PORT3                       0x16A3A0
-#define MG_DP_MODE_LN1_ACU_PORT3                       0x16A7A0
-#define MG_DP_MODE_LN0_ACU_PORT4                       0x16B3A0
-#define MG_DP_MODE_LN1_ACU_PORT4                       0x16B7A0
-#define MG_DP_MODE(ln, tc_port)        \
-       MG_PHY_PORT_LN(ln, tc_port, MG_DP_MODE_LN0_ACU_PORT1, \
-                                   MG_DP_MODE_LN0_ACU_PORT2, \
-                                   MG_DP_MODE_LN1_ACU_PORT1)
-#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_DIV_CLK_EN            REG_BIT(30)
-#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_DIV_MULTIPLIER                REG_GENMASK(23, 16)
-#define   SNPS_PHY_MPLLB_PMIX_EN               REG_BIT(10)
-#define   SNPS_PHY_MPLLB_DP2_MODE              REG_BIT(9)
-#define   SNPS_PHY_MPLLB_WORD_DIV2_EN          REG_BIT(8)
-#define   SNPS_PHY_MPLLB_TX_CLK_DIV            REG_GENMASK(7, 5)
-#define   SNPS_PHY_MPLLB_SHIM_DIV32_CLK_SEL    REG_BIT(0)
-
-#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.
  */
@@ -2309,21 +747,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define BXT_PORT_CL2CM_DW6(phy)                _BXT_PHY((phy), _PORT_CL2CM_DW6_BC)
 #define   DW6_OLDO_DYN_PWR_DOWN_EN     (1 << 28)
 
-#define FIA1_BASE                      0x163000
-#define FIA2_BASE                      0x16E000
-#define FIA3_BASE                      0x16F000
-#define _FIA(fia)                      _PICK((fia), FIA1_BASE, FIA2_BASE, FIA3_BASE)
-#define _MMIO_FIA(fia, off)            _MMIO(_FIA(fia) + (off))
-
-/* ICL PHY DFLEX registers */
-#define PORT_TX_DFLEXDPMLE1(fia)               _MMIO_FIA((fia),  0x008C0)
-#define   DFLEXDPMLE1_DPMLETC_MASK(idx)                (0xf << (4 * (idx)))
-#define   DFLEXDPMLE1_DPMLETC_ML0(idx)         (1 << (4 * (idx)))
-#define   DFLEXDPMLE1_DPMLETC_ML1_0(idx)       (3 << (4 * (idx)))
-#define   DFLEXDPMLE1_DPMLETC_ML3(idx)         (8 << (4 * (idx)))
-#define   DFLEXDPMLE1_DPMLETC_ML3_2(idx)       (12 << (4 * (idx)))
-#define   DFLEXDPMLE1_DPMLETC_ML3_0(idx)       (15 << (4 * (idx)))
-
 /* BXT PHY Ref registers */
 #define _PORT_REF_DW3_A                        0x16218C
 #define _PORT_REF_DW3_BC               0x6C18C
@@ -2548,65 +971,13 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define GEN11_VEBOX2_RING_BASE         0x1d8000
 #define XEHP_VEBOX3_RING_BASE          0x1e8000
 #define XEHP_VEBOX4_RING_BASE          0x1f8000
+#define GEN12_COMPUTE0_RING_BASE       0x1a000
+#define GEN12_COMPUTE1_RING_BASE       0x1c000
+#define GEN12_COMPUTE2_RING_BASE       0x1e000
+#define GEN12_COMPUTE3_RING_BASE       0x26000
 #define BLT_RING_BASE          0x22000
-#define RING_TAIL(base)                _MMIO((base) + 0x30)
-#define RING_HEAD(base)                _MMIO((base) + 0x34)
-#define RING_START(base)       _MMIO((base) + 0x38)
-#define RING_CTL(base)         _MMIO((base) + 0x3c)
-#define   RING_CTL_SIZE(size)  ((size) - PAGE_SIZE) /* in bytes -> pages */
-#define RING_SYNC_0(base)      _MMIO((base) + 0x40)
-#define RING_SYNC_1(base)      _MMIO((base) + 0x44)
-#define RING_SYNC_2(base)      _MMIO((base) + 0x48)
-#define GEN6_RVSYNC    (RING_SYNC_0(RENDER_RING_BASE))
-#define GEN6_RBSYNC    (RING_SYNC_1(RENDER_RING_BASE))
-#define GEN6_RVESYNC   (RING_SYNC_2(RENDER_RING_BASE))
-#define GEN6_VBSYNC    (RING_SYNC_0(GEN6_BSD_RING_BASE))
-#define GEN6_VRSYNC    (RING_SYNC_1(GEN6_BSD_RING_BASE))
-#define GEN6_VVESYNC   (RING_SYNC_2(GEN6_BSD_RING_BASE))
-#define GEN6_BRSYNC    (RING_SYNC_0(BLT_RING_BASE))
-#define GEN6_BVSYNC    (RING_SYNC_1(BLT_RING_BASE))
-#define GEN6_BVESYNC   (RING_SYNC_2(BLT_RING_BASE))
-#define GEN6_VEBSYNC   (RING_SYNC_0(VEBOX_RING_BASE))
-#define GEN6_VERSYNC   (RING_SYNC_1(VEBOX_RING_BASE))
-#define GEN6_VEVSYNC   (RING_SYNC_2(VEBOX_RING_BASE))
-#define GEN6_NOSYNC    INVALID_MMIO_REG
-#define RING_PSMI_CTL(base)    _MMIO((base) + 0x50)
-#define RING_MAX_IDLE(base)    _MMIO((base) + 0x54)
-#define RING_HWS_PGA(base)     _MMIO((base) + 0x80)
-#define RING_ID(base)          _MMIO((base) + 0x8c)
-#define RING_HWS_PGA_GEN6(base)        _MMIO((base) + 0x2080)
-
-#define RING_CMD_CCTL(base)    _MMIO((base) + 0xc4)
-/*
- * CMD_CCTL read/write fields take a MOCS value and _not_ a table index.
- * The lsb of each can be considered a separate enabling bit for encryption.
- * 6:0 == default MOCS value for reads  =>  6:1 == table index for reads.
- * 13:7 == default MOCS value for writes => 13:8 == table index for writes.
- * 15:14 == Reserved => 31:30 are set to 0.
- */
-#define CMD_CCTL_WRITE_OVERRIDE_MASK REG_GENMASK(13, 7)
-#define CMD_CCTL_READ_OVERRIDE_MASK REG_GENMASK(6, 0)
-#define CMD_CCTL_MOCS_MASK (CMD_CCTL_WRITE_OVERRIDE_MASK | \
-                           CMD_CCTL_READ_OVERRIDE_MASK)
-#define CMD_CCTL_MOCS_OVERRIDE(write, read)                                  \
-               (REG_FIELD_PREP(CMD_CCTL_WRITE_OVERRIDE_MASK, (write) << 1) | \
-                REG_FIELD_PREP(CMD_CCTL_READ_OVERRIDE_MASK, (read) << 1))
-
-#define BLIT_CCTL(base) _MMIO((base) + 0x204)
-#define   BLIT_CCTL_DST_MOCS_MASK       REG_GENMASK(14, 8)
-#define   BLIT_CCTL_SRC_MOCS_MASK       REG_GENMASK(6, 0)
-#define   BLIT_CCTL_MASK (BLIT_CCTL_DST_MOCS_MASK | \
-                         BLIT_CCTL_SRC_MOCS_MASK)
-#define   BLIT_CCTL_MOCS(dst, src)                                    \
-               (REG_FIELD_PREP(BLIT_CCTL_DST_MOCS_MASK, (dst) << 1) | \
-                REG_FIELD_PREP(BLIT_CCTL_SRC_MOCS_MASK, (src) << 1))
-
-#define RING_RESET_CTL(base)   _MMIO((base) + 0xd0)
-#define   RESET_CTL_CAT_ERROR     REG_BIT(2)
-#define   RESET_CTL_READY_TO_RESET REG_BIT(1)
-#define   RESET_CTL_REQUEST_RESET  REG_BIT(0)
-
-#define RING_SEMA_WAIT_POLL(base) _MMIO((base) + 0x24c)
+
+
 
 #define HSW_GTT_CACHE_EN       _MMIO(0x4024)
 #define   GTT_CACHE_EN_ALL     0xF0007FFF
@@ -2623,190 +994,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define GEN7_MEDIA_MAX_REQ_COUNT       _MMIO(0x4070)
 #define GEN7_GFX_MAX_REQ_COUNT         _MMIO(0x4074)
 
-#define GAMTARBMODE            _MMIO(0x04a08)
-#define   ARB_MODE_BWGTLB_DISABLE (1 << 9)
-#define   ARB_MODE_SWIZZLE_BDW (1 << 1)
-#define RENDER_HWS_PGA_GEN7    _MMIO(0x04080)
-
-#define _RING_FAULT_REG_RCS        0x4094
-#define _RING_FAULT_REG_VCS        0x4194
-#define _RING_FAULT_REG_BCS        0x4294
-#define _RING_FAULT_REG_VECS       0x4394
-#define RING_FAULT_REG(engine)     _MMIO(_PICK((engine)->class, \
-                                              _RING_FAULT_REG_RCS, \
-                                              _RING_FAULT_REG_VCS, \
-                                              _RING_FAULT_REG_VECS, \
-                                              _RING_FAULT_REG_BCS))
-#define GEN8_RING_FAULT_REG    _MMIO(0x4094)
-#define GEN12_RING_FAULT_REG   _MMIO(0xcec4)
-#define   GEN8_RING_FAULT_ENGINE_ID(x) (((x) >> 12) & 0x7)
-#define   RING_FAULT_GTTSEL_MASK (1 << 11)
-#define   RING_FAULT_SRCID(x)  (((x) >> 3) & 0xff)
-#define   RING_FAULT_FAULT_TYPE(x) (((x) >> 1) & 0x3)
-#define   RING_FAULT_VALID     (1 << 0)
-#define DONE_REG               _MMIO(0x40b0)
-#define GEN12_GAM_DONE         _MMIO(0xcf68)
-#define GEN8_PRIVATE_PAT_LO    _MMIO(0x40e0)
-#define GEN8_PRIVATE_PAT_HI    _MMIO(0x40e0 + 4)
-#define GEN10_PAT_INDEX(index) _MMIO(0x40e0 + (index) * 4)
-#define GEN12_PAT_INDEX(index) _MMIO(0x4800 + (index) * 4)
-#define BSD_HWS_PGA_GEN7       _MMIO(0x04180)
-#define GEN12_GFX_CCS_AUX_NV   _MMIO(0x4208)
-#define GEN12_VD0_AUX_NV       _MMIO(0x4218)
-#define GEN12_VD1_AUX_NV       _MMIO(0x4228)
-#define GEN12_VD2_AUX_NV       _MMIO(0x4298)
-#define GEN12_VD3_AUX_NV       _MMIO(0x42A8)
-#define GEN12_VE0_AUX_NV       _MMIO(0x4238)
-#define GEN12_VE1_AUX_NV       _MMIO(0x42B8)
-#define   AUX_INV              REG_BIT(0)
-#define BLT_HWS_PGA_GEN7       _MMIO(0x04280)
-#define VEBOX_HWS_PGA_GEN7     _MMIO(0x04380)
-#define RING_ACTHD(base)       _MMIO((base) + 0x74)
-#define RING_ACTHD_UDW(base)   _MMIO((base) + 0x5c)
-#define RING_NOPID(base)       _MMIO((base) + 0x94)
-#define RING_IMR(base)         _MMIO((base) + 0xa8)
-#define RING_HWSTAM(base)      _MMIO((base) + 0x98)
-#define RING_TIMESTAMP(base)           _MMIO((base) + 0x358)
-#define RING_TIMESTAMP_UDW(base)       _MMIO((base) + 0x358 + 4)
-#define   TAIL_ADDR            0x001FFFF8
-#define   HEAD_WRAP_COUNT      0xFFE00000
-#define   HEAD_WRAP_ONE                0x00200000
-#define   HEAD_ADDR            0x001FFFFC
-#define   RING_NR_PAGES                0x001FF000
-#define   RING_REPORT_MASK     0x00000006
-#define   RING_REPORT_64K      0x00000002
-#define   RING_REPORT_128K     0x00000004
-#define   RING_NO_REPORT       0x00000000
-#define   RING_VALID_MASK      0x00000001
-#define   RING_VALID           0x00000001
-#define   RING_INVALID         0x00000000
-#define   RING_WAIT_I8XX       (1 << 0) /* gen2, PRBx_HEAD */
-#define   RING_WAIT            (1 << 11) /* gen3+, PRBx_CTL */
-#define   RING_WAIT_SEMAPHORE  (1 << 10) /* gen6+ */
-
-#define MISC_STATUS0           _MMIO(0xA500)
-#define MISC_STATUS1           _MMIO(0xA504)
-
-/* There are 16 64-bit CS General Purpose Registers per-engine on Gen8+ */
-#define GEN8_RING_CS_GPR(base, n)      _MMIO((base) + 0x600 + (n) * 8)
-#define GEN8_RING_CS_GPR_UDW(base, n)  _MMIO((base) + 0x600 + (n) * 8 + 4)
-
-#define RING_FORCE_TO_NONPRIV(base, i) _MMIO(((base) + 0x4D0) + (i) * 4)
-#define   RING_FORCE_TO_NONPRIV_ADDRESS_MASK   REG_GENMASK(25, 2)
-#define   RING_FORCE_TO_NONPRIV_ACCESS_RW      (0 << 28)    /* CFL+ & Gen11+ */
-#define   RING_FORCE_TO_NONPRIV_ACCESS_RD      (1 << 28)
-#define   RING_FORCE_TO_NONPRIV_ACCESS_WR      (2 << 28)
-#define   RING_FORCE_TO_NONPRIV_ACCESS_INVALID (3 << 28)
-#define   RING_FORCE_TO_NONPRIV_ACCESS_MASK    (3 << 28)
-#define   RING_FORCE_TO_NONPRIV_RANGE_1                (0 << 0)     /* CFL+ & Gen11+ */
-#define   RING_FORCE_TO_NONPRIV_RANGE_4                (1 << 0)
-#define   RING_FORCE_TO_NONPRIV_RANGE_16       (2 << 0)
-#define   RING_FORCE_TO_NONPRIV_RANGE_64       (3 << 0)
-#define   RING_FORCE_TO_NONPRIV_RANGE_MASK     (3 << 0)
-#define   RING_FORCE_TO_NONPRIV_MASK_VALID     \
-                                       (RING_FORCE_TO_NONPRIV_RANGE_MASK \
-                                       | RING_FORCE_TO_NONPRIV_ACCESS_MASK)
-#define   RING_MAX_NONPRIV_SLOTS  12
-
-#define GEN7_TLB_RD_ADDR       _MMIO(0x4700)
-
-#define GEN9_GAMT_ECO_REG_RW_IA _MMIO(0x4ab0)
-#define   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS  (1 << 18)
-
-#define GEN8_GAMW_ECO_DEV_RW_IA _MMIO(0x4080)
-#define   GAMW_ECO_ENABLE_64K_IPS_FIELD 0xF
-#define   GAMW_ECO_DEV_CTX_RELOAD_DISABLE      (1 << 7)
-
-#define GAMT_CHKN_BIT_REG      _MMIO(0x4ab8)
-#define   GAMT_CHKN_DISABLE_L3_COH_PIPE                        (1 << 31)
-#define   GAMT_CHKN_DISABLE_DYNAMIC_CREDIT_SHARING     (1 << 28)
-#define   GAMT_CHKN_DISABLE_I2M_CYCLE_ON_WR_PORT       (1 << 24)
-
-#define GEN8_RTCR      _MMIO(0x4260)
-#define GEN8_M1TCR     _MMIO(0x4264)
-#define GEN8_M2TCR     _MMIO(0x4268)
-#define GEN8_BTCR      _MMIO(0x426c)
-#define GEN8_VTCR      _MMIO(0x4270)
-
-#if 0
-#define PRB0_TAIL      _MMIO(0x2030)
-#define PRB0_HEAD      _MMIO(0x2034)
-#define PRB0_START     _MMIO(0x2038)
-#define PRB0_CTL       _MMIO(0x203c)
-#define PRB1_TAIL      _MMIO(0x2040) /* 915+ only */
-#define PRB1_HEAD      _MMIO(0x2044) /* 915+ only */
-#define PRB1_START     _MMIO(0x2048) /* 915+ only */
-#define PRB1_CTL       _MMIO(0x204c) /* 915+ only */
-#endif
-#define IPEIR_I965     _MMIO(0x2064)
-#define IPEHR_I965     _MMIO(0x2068)
-#define GEN7_SC_INSTDONE       _MMIO(0x7100)
-#define GEN12_SC_INSTDONE_EXTRA                _MMIO(0x7104)
-#define GEN12_SC_INSTDONE_EXTRA2       _MMIO(0x7108)
-#define GEN7_SAMPLER_INSTDONE  _MMIO(0xe160)
-#define GEN7_ROW_INSTDONE      _MMIO(0xe164)
-#define XEHPG_INSTDONE_GEOM_SVG                _MMIO(0x666c)
-#define MCFG_MCR_SELECTOR              _MMIO(0xfd0)
-#define SF_MCR_SELECTOR                        _MMIO(0xfd8)
-#define GEN8_MCR_SELECTOR              _MMIO(0xfdc)
-#define   GEN8_MCR_SLICE(slice)                (((slice) & 3) << 26)
-#define   GEN8_MCR_SLICE_MASK          GEN8_MCR_SLICE(3)
-#define   GEN8_MCR_SUBSLICE(subslice)  (((subslice) & 3) << 24)
-#define   GEN8_MCR_SUBSLICE_MASK       GEN8_MCR_SUBSLICE(3)
-#define   GEN11_MCR_SLICE(slice)       (((slice) & 0xf) << 27)
-#define   GEN11_MCR_SLICE_MASK         GEN11_MCR_SLICE(0xf)
-#define   GEN11_MCR_SUBSLICE(subslice) (((subslice) & 0x7) << 24)
-#define   GEN11_MCR_SUBSLICE_MASK      GEN11_MCR_SUBSLICE(0x7)
-#define RING_IPEIR(base)       _MMIO((base) + 0x64)
-#define RING_IPEHR(base)       _MMIO((base) + 0x68)
-#define RING_EIR(base)         _MMIO((base) + 0xb0)
-#define RING_EMR(base)         _MMIO((base) + 0xb4)
-#define RING_ESR(base)         _MMIO((base) + 0xb8)
-/*
- * On GEN4, only the render ring INSTDONE exists and has a different
- * layout than the GEN7+ version.
- * The GEN2 counterpart of this register is GEN2_INSTDONE.
- */
-#define RING_INSTDONE(base)    _MMIO((base) + 0x6c)
-#define RING_INSTPS(base)      _MMIO((base) + 0x70)
-#define RING_DMA_FADD(base)    _MMIO((base) + 0x78)
-#define RING_DMA_FADD_UDW(base)        _MMIO((base) + 0x60) /* gen8+ */
-#define RING_INSTPM(base)      _MMIO((base) + 0xc0)
-#define RING_MI_MODE(base)     _MMIO((base) + 0x9c)
-#define RING_CMD_BUF_CCTL(base) _MMIO((base) + 0x84)
-#define INSTPS         _MMIO(0x2070) /* 965+ only */
-#define GEN4_INSTDONE1 _MMIO(0x207c) /* 965+ only, aka INSTDONE_2 on SNB */
-#define ACTHD_I965     _MMIO(0x2074)
-#define HWS_PGA                _MMIO(0x2080)
-#define HWS_ADDRESS_MASK       0xfffff000
-#define HWS_START_ADDRESS_SHIFT        4
-#define PWRCTXA                _MMIO(0x2088) /* 965GM+ only */
-#define   PWRCTX_EN    (1 << 0)
-#define IPEIR(base)    _MMIO((base) + 0x88)
-#define IPEHR(base)    _MMIO((base) + 0x8c)
-#define GEN2_INSTDONE  _MMIO(0x2090)
-#define NOPID          _MMIO(0x2094)
-#define HWSTAM         _MMIO(0x2098)
-#define DMA_FADD_I8XX(base)    _MMIO((base) + 0xd0)
-#define RING_BBSTATE(base)     _MMIO((base) + 0x110)
-#define   RING_BB_PPGTT                (1 << 5)
-#define RING_SBBADDR(base)     _MMIO((base) + 0x114) /* hsw+ */
-#define RING_SBBSTATE(base)    _MMIO((base) + 0x118) /* hsw+ */
-#define RING_SBBADDR_UDW(base) _MMIO((base) + 0x11c) /* gen8+ */
-#define RING_BBADDR(base)      _MMIO((base) + 0x140)
-#define RING_BBADDR_UDW(base)  _MMIO((base) + 0x168) /* gen8+ */
-#define RING_BB_PER_CTX_PTR(base)      _MMIO((base) + 0x1c0) /* gen8+ */
-#define RING_INDIRECT_CTX(base)                _MMIO((base) + 0x1c4) /* gen8+ */
-#define RING_INDIRECT_CTX_OFFSET(base) _MMIO((base) + 0x1c8) /* gen8+ */
-#define RING_CTX_TIMESTAMP(base)       _MMIO((base) + 0x3a8) /* gen8+ */
-
-#define VDBOX_CGCTL3F10(base)          _MMIO((base) + 0x3f10)
-#define   IECPUNIT_CLKGATE_DIS         REG_BIT(22)
-
-#define VDBOX_CGCTL3F18(base)          _MMIO((base) + 0x3f18)
-#define   ALNUNIT_CLKGATE_DIS          REG_BIT(13)
-
-#define ERROR_GEN6     _MMIO(0x40a0)
 #define GEN7_ERR_INT   _MMIO(0x44040)
 #define   ERR_INT_POISON               (1 << 31)
 #define   ERR_INT_MMIO_UNCLAIMED       (1 << 13)
@@ -2819,20 +1006,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   ERR_INT_FIFO_UNDERRUN_A      (1 << 0)
 #define   ERR_INT_FIFO_UNDERRUN(pipe)  (1 << ((pipe) * 3))
 
-#define GEN8_FAULT_TLB_DATA0           _MMIO(0x4b10)
-#define GEN8_FAULT_TLB_DATA1           _MMIO(0x4b14)
-#define GEN12_FAULT_TLB_DATA0          _MMIO(0xceb8)
-#define GEN12_FAULT_TLB_DATA1          _MMIO(0xcebc)
-#define   FAULT_VA_HIGH_BITS           (0xf << 0)
-#define   FAULT_GTT_SEL                        (1 << 4)
-
-#define GEN12_GFX_TLB_INV_CR   _MMIO(0xced8)
-#define GEN12_VD_TLB_INV_CR    _MMIO(0xcedc)
-#define GEN12_VE_TLB_INV_CR    _MMIO(0xcee0)
-#define GEN12_BLT_TLB_INV_CR   _MMIO(0xcee4)
-
-#define GEN12_AUX_ERR_DBG              _MMIO(0x43f4)
-
 #define FPGA_DBG               _MMIO(0x42300)
 #define   FPGA_DBG_RM_NOCLAIM  REG_BIT(31)
 
@@ -2860,95 +1033,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   DERRMR_PIPEC_VBLANK          (1 << 21)
 #define   DERRMR_PIPEC_HBLANK          (1 << 22)
 
-
-/* GM45+ chicken bits -- debug workaround bits that may be required
- * for various sorts of correct behavior.  The top 16 bits of each are
- * the enables for writing to the corresponding low bit.
- */
-#define _3D_CHICKEN    _MMIO(0x2084)
-#define  _3D_CHICKEN_HIZ_PLANE_DISABLE_MSAA_4X_SNB     (1 << 10)
-#define _3D_CHICKEN2   _MMIO(0x208c)
-
-#define FF_SLICE_CHICKEN       _MMIO(0x2088)
-#define  FF_SLICE_CHICKEN_CL_PROVOKING_VERTEX_FIX      (1 << 1)
-
-/* Disables pipelining of read flushes past the SF-WIZ interface.
- * Required on all Ironlake steppings according to the B-Spec, but the
- * particular danger of not doing so is not specified.
- */
-# define _3D_CHICKEN2_WM_READ_PIPELINED                        (1 << 14)
-#define _3D_CHICKEN3   _MMIO(0x2090)
-#define  _3D_CHICKEN_SF_PROVOKING_VERTEX_FIX           (1 << 12)
-#define  _3D_CHICKEN_SF_DISABLE_OBJEND_CULL            (1 << 10)
-#define  _3D_CHICKEN3_AA_LINE_QUALITY_FIX_ENABLE       (1 << 5)
-#define  _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL         (1 << 5)
-#define  _3D_CHICKEN_SDE_LIMIT_FIFO_POLY_DEPTH(x)      ((x) << 1) /* gen8+ */
-#define  _3D_CHICKEN3_SF_DISABLE_PIPELINED_ATTR_FETCH  (1 << 1) /* gen6 */
-
-#define MI_MODE                _MMIO(0x209c)
-# define VS_TIMER_DISPATCH                             (1 << 6)
-# define MI_FLUSH_ENABLE                               (1 << 12)
-# define TGL_NESTED_BB_EN                              (1 << 12)
-# define ASYNC_FLIP_PERF_DISABLE                       (1 << 14)
-# define MODE_IDLE                                     (1 << 9)
-# define STOP_RING                                     (1 << 8)
-
-#define GEN6_GT_MODE   _MMIO(0x20d0)
-#define GEN7_GT_MODE   _MMIO(0x7008)
-#define   GEN6_WIZ_HASHING(hi, lo)                     (((hi) << 9) | ((lo) << 7))
-#define   GEN6_WIZ_HASHING_8x8                         GEN6_WIZ_HASHING(0, 0)
-#define   GEN6_WIZ_HASHING_8x4                         GEN6_WIZ_HASHING(0, 1)
-#define   GEN6_WIZ_HASHING_16x4                                GEN6_WIZ_HASHING(1, 0)
-#define   GEN6_WIZ_HASHING_MASK                                GEN6_WIZ_HASHING(1, 1)
-#define   GEN6_TD_FOUR_ROW_DISPATCH_DISABLE            (1 << 5)
-#define   GEN9_IZ_HASHING_MASK(slice)                  (0x3 << ((slice) * 2))
-#define   GEN9_IZ_HASHING(slice, val)                  ((val) << ((slice) * 2))
-
-/* chicken reg for WaConextSwitchWithConcurrentTLBInvalidate */
-#define GEN9_CSFE_CHICKEN1_RCS _MMIO(0x20D4)
-#define   GEN9_PREEMPT_GPGPU_SYNC_SWITCH_DISABLE (1 << 2)
-#define   GEN11_ENABLE_32_PLANE_MODE (1 << 7)
-
-#define SCCGCTL94DC            _MMIO(0x94dc)
-#define   CG3DDISURB           REG_BIT(14)
-
-#define MLTICTXCTL             _MMIO(0xb170)
-#define   TDONRENDER           REG_BIT(2)
-
-#define L3SQCREG1_CCS0         _MMIO(0xb200)
-#define   FLUSHALLNONCOH       REG_BIT(5)
-
-/* WaClearTdlStateAckDirtyBits */
-#define GEN8_STATE_ACK         _MMIO(0x20F0)
-#define GEN9_STATE_ACK_SLICE1  _MMIO(0x20F8)
-#define GEN9_STATE_ACK_SLICE2  _MMIO(0x2100)
-#define   GEN9_STATE_ACK_TDL0 (1 << 12)
-#define   GEN9_STATE_ACK_TDL1 (1 << 13)
-#define   GEN9_STATE_ACK_TDL2 (1 << 14)
-#define   GEN9_STATE_ACK_TDL3 (1 << 15)
-#define   GEN9_SUBSLICE_TDL_ACK_BITS \
-       (GEN9_STATE_ACK_TDL3 | GEN9_STATE_ACK_TDL2 | \
-        GEN9_STATE_ACK_TDL1 | GEN9_STATE_ACK_TDL0)
-
-#define GFX_MODE       _MMIO(0x2520)
-#define GFX_MODE_GEN7  _MMIO(0x229c)
-#define RING_MODE_GEN7(base)   _MMIO((base) + 0x29c)
-#define   GFX_RUN_LIST_ENABLE          (1 << 15)
-#define   GFX_INTERRUPT_STEERING       (1 << 14)
-#define   GFX_TLB_INVALIDATE_EXPLICIT  (1 << 13)
-#define   GFX_SURFACE_FAULT_ENABLE     (1 << 12)
-#define   GFX_REPLAY_MODE              (1 << 11)
-#define   GFX_PSMI_GRANULARITY         (1 << 10)
-#define   GFX_PPGTT_ENABLE             (1 << 9)
-#define   GEN8_GFX_PPGTT_48B           (1 << 7)
-
-#define   GFX_FORWARD_VBLANK_MASK      (3 << 5)
-#define   GFX_FORWARD_VBLANK_NEVER     (0 << 5)
-#define   GFX_FORWARD_VBLANK_ALWAYS    (1 << 5)
-#define   GFX_FORWARD_VBLANK_COND      (2 << 5)
-
-#define   GEN11_GFX_DISABLE_LEGACY_MODE        (1 << 3)
-
 #define VLV_GU_CTL0    _MMIO(VLV_DISPLAY_BASE + 0x2030)
 #define VLV_GU_CTL1    _MMIO(VLV_DISPLAY_BASE + 0x2034)
 #define SCPD0          _MMIO(0x209c) /* 915+ only */
@@ -2988,7 +1072,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   INSTPM_FORCE_ORDERING                                (1 << 7) /* GEN6+ */
 #define   INSTPM_TLB_INVALIDATE        (1 << 9)
 #define   INSTPM_SYNC_FLUSH    (1 << 5)
-#define ACTHD(base)    _MMIO((base) + 0xc8)
 #define MEM_MODE       _MMIO(0x20cc)
 #define   MEM_DISPLAY_B_TRICKLE_FEED_DISABLE (1 << 3) /* 830 only */
 #define   MEM_DISPLAY_A_TRICKLE_FEED_DISABLE (1 << 2) /* 830/845 only */
@@ -3115,132 +1198,6 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   MI_AGPBUSY_INT_EN                    (1 << 1) /* 85x only */
 #define   MI_AGPBUSY_830_MODE                  (1 << 0) /* 85x only */
 
-#define CACHE_MODE_0   _MMIO(0x2120) /* 915+ only */
-#define   CM0_PIPELINED_RENDER_FLUSH_DISABLE (1 << 8)
-#define   CM0_IZ_OPT_DISABLE      (1 << 6)
-#define   CM0_ZR_OPT_DISABLE      (1 << 5)
-#define          CM0_STC_EVICT_DISABLE_LRA_SNB (1 << 5)
-#define   CM0_DEPTH_EVICT_DISABLE (1 << 4)
-#define   CM0_COLOR_EVICT_DISABLE (1 << 3)
-#define   CM0_DEPTH_WRITE_DISABLE (1 << 1)
-#define   CM0_RC_OP_FLUSH_DISABLE (1 << 0)
-#define GFX_FLSH_CNTL  _MMIO(0x2170) /* 915+ only */
-#define GFX_FLSH_CNTL_GEN6     _MMIO(0x101008)
-#define   GFX_FLSH_CNTL_EN     (1 << 0)
-#define ECOSKPD                _MMIO(0x21d0)
-#define   ECO_CONSTANT_BUFFER_SR_DISABLE REG_BIT(4)
-#define   ECO_GATING_CX_ONLY   (1 << 3)
-#define   ECO_FLIP_DONE                (1 << 0)
-
-#define CACHE_MODE_0_GEN7      _MMIO(0x7000) /* IVB+ */
-#define RC_OP_FLUSH_ENABLE (1 << 0)
-#define   HIZ_RAW_STALL_OPT_DISABLE (1 << 2)
-#define CACHE_MODE_1           _MMIO(0x7004) /* IVB+ */
-#define   PIXEL_SUBSPAN_COLLECT_OPT_DISABLE    (1 << 6)
-#define   GEN8_4x4_STC_OPTIMIZATION_DISABLE    (1 << 6)
-#define   GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE   (1 << 1)
-
-#define GEN6_BLITTER_ECOSKPD   _MMIO(0x221d0)
-#define   GEN6_BLITTER_LOCK_SHIFT                      16
-#define   GEN6_BLITTER_FBC_NOTIFY                      (1 << 3)
-
-#define GEN6_RC_SLEEP_PSMI_CONTROL     _MMIO(0x2050)
-#define   GEN6_PSMI_SLEEP_MSG_DISABLE  (1 << 0)
-#define   GEN12_WAIT_FOR_EVENT_POWER_DOWN_DISABLE REG_BIT(7)
-#define   GEN8_RC_SEMA_IDLE_MSG_DISABLE        (1 << 12)
-#define   GEN8_FF_DOP_CLOCK_GATE_DISABLE       (1 << 10)
-
-#define GEN6_RCS_PWR_FSM _MMIO(0x22ac)
-#define GEN9_RCS_FE_FSM2 _MMIO(0x22a4)
-
-#define GEN10_CACHE_MODE_SS                    _MMIO(0xe420)
-#define   ENABLE_PREFETCH_INTO_IC              REG_BIT(3)
-#define   FLOAT_BLEND_OPTIMIZATION_ENABLE      REG_BIT(4)
-
-/* Fuse readout registers for GT */
-#define HSW_PAVP_FUSE1                 _MMIO(0x911C)
-#define   XEHP_SFC_ENABLE_MASK         REG_GENMASK(27, 24)
-#define   HSW_F1_EU_DIS_MASK           REG_GENMASK(17, 16)
-#define   HSW_F1_EU_DIS_10EUS          0
-#define   HSW_F1_EU_DIS_8EUS           1
-#define   HSW_F1_EU_DIS_6EUS           2
-
-#define CHV_FUSE_GT                    _MMIO(VLV_DISPLAY_BASE + 0x2168)
-#define   CHV_FGT_DISABLE_SS0          (1 << 10)
-#define   CHV_FGT_DISABLE_SS1          (1 << 11)
-#define   CHV_FGT_EU_DIS_SS0_R0_SHIFT  16
-#define   CHV_FGT_EU_DIS_SS0_R0_MASK   (0xf << CHV_FGT_EU_DIS_SS0_R0_SHIFT)
-#define   CHV_FGT_EU_DIS_SS0_R1_SHIFT  20
-#define   CHV_FGT_EU_DIS_SS0_R1_MASK   (0xf << CHV_FGT_EU_DIS_SS0_R1_SHIFT)
-#define   CHV_FGT_EU_DIS_SS1_R0_SHIFT  24
-#define   CHV_FGT_EU_DIS_SS1_R0_MASK   (0xf << CHV_FGT_EU_DIS_SS1_R0_SHIFT)
-#define   CHV_FGT_EU_DIS_SS1_R1_SHIFT  28
-#define   CHV_FGT_EU_DIS_SS1_R1_MASK   (0xf << CHV_FGT_EU_DIS_SS1_R1_SHIFT)
-
-#define GEN8_FUSE2                     _MMIO(0x9120)
-#define   GEN8_F2_SS_DIS_SHIFT         21
-#define   GEN8_F2_SS_DIS_MASK          (0x7 << GEN8_F2_SS_DIS_SHIFT)
-#define   GEN8_F2_S_ENA_SHIFT          25
-#define   GEN8_F2_S_ENA_MASK           (0x7 << GEN8_F2_S_ENA_SHIFT)
-
-#define   GEN9_F2_SS_DIS_SHIFT         20
-#define   GEN9_F2_SS_DIS_MASK          (0xf << GEN9_F2_SS_DIS_SHIFT)
-
-#define   GEN10_F2_S_ENA_SHIFT         22
-#define   GEN10_F2_S_ENA_MASK          (0x3f << GEN10_F2_S_ENA_SHIFT)
-#define   GEN10_F2_SS_DIS_SHIFT                18
-#define   GEN10_F2_SS_DIS_MASK         (0xf << GEN10_F2_SS_DIS_SHIFT)
-
-#define        GEN10_MIRROR_FUSE3              _MMIO(0x9118)
-#define GEN10_L3BANK_PAIR_COUNT     4
-#define GEN10_L3BANK_MASK   0x0F
-/* on Xe_HP the same fuses indicates mslices instead of L3 banks */
-#define GEN12_MAX_MSLICES 4
-#define GEN12_MEML3_EN_MASK 0x0F
-
-#define GEN8_EU_DISABLE0               _MMIO(0x9134)
-#define   GEN8_EU_DIS0_S0_MASK         0xffffff
-#define   GEN8_EU_DIS0_S1_SHIFT                24
-#define   GEN8_EU_DIS0_S1_MASK         (0xff << GEN8_EU_DIS0_S1_SHIFT)
-
-#define GEN8_EU_DISABLE1               _MMIO(0x9138)
-#define   GEN8_EU_DIS1_S1_MASK         0xffff
-#define   GEN8_EU_DIS1_S2_SHIFT                16
-#define   GEN8_EU_DIS1_S2_MASK         (0xffff << GEN8_EU_DIS1_S2_SHIFT)
-
-#define GEN8_EU_DISABLE2               _MMIO(0x913c)
-#define   GEN8_EU_DIS2_S2_MASK         0xff
-
-#define GEN9_EU_DISABLE(slice)         _MMIO(0x9134 + (slice) * 0x4)
-
-#define GEN10_EU_DISABLE3              _MMIO(0x9140)
-#define   GEN10_EU_DIS_SS_MASK         0xff
-
-#define GEN11_GT_VEBOX_VDBOX_DISABLE   _MMIO(0x9140)
-#define   GEN11_GT_VDBOX_DISABLE_MASK  0xff
-#define   GEN11_GT_VEBOX_DISABLE_SHIFT 16
-#define   GEN11_GT_VEBOX_DISABLE_MASK  (0x0f << GEN11_GT_VEBOX_DISABLE_SHIFT)
-
-#define GEN11_EU_DISABLE _MMIO(0x9134)
-#define GEN11_EU_DIS_MASK 0xFF
-
-#define GEN11_GT_SLICE_ENABLE _MMIO(0x9138)
-#define GEN11_GT_S_ENA_MASK 0xFF
-
-#define GEN11_GT_SUBSLICE_DISABLE _MMIO(0x913C)
-
-#define GEN12_GT_GEOMETRY_DSS_ENABLE _MMIO(0x913C)
-#define GEN12_GT_COMPUTE_DSS_ENABLE _MMIO(0x9144)
-
-#define XEHP_EU_ENABLE                 _MMIO(0x9134)
-#define XEHP_EU_ENA_MASK               0xFF
-
-#define GEN6_BSD_SLEEP_PSMI_CONTROL    _MMIO(0x12050)
-#define   GEN6_BSD_SLEEP_MSG_DISABLE   (1 << 0)
-#define   GEN6_BSD_SLEEP_FLUSH_DISABLE (1 << 2)
-#define   GEN6_BSD_SLEEP_INDICATOR     (1 << 3)
-#define   GEN6_BSD_GO_INDICATOR                (1 << 4)
-
 /* On modern GEN architectures interrupt control consists of two sets
  * of registers. The first set pertains to the ring generating the
  * interrupt. The second control is for the functional block generating the
@@ -3398,10 +1355,10 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define FBC_LL_SIZE            (1536)
 
 /* Framebuffer compression for GM45+ */
-#define DPFC_CB_BASE           _MMIO(0x3200)
-#define ILK_DPFC_CB_BASE       _MMIO(0x43200)
-#define DPFC_CONTROL           _MMIO(0x3208)
-#define ILK_DPFC_CONTROL       _MMIO(0x43208)
+#define DPFC_CB_BASE                   _MMIO(0x3200)
+#define ILK_DPFC_CB_BASE(fbc_id)       _MMIO_PIPE((fbc_id), 0x43200, 0x43240)
+#define DPFC_CONTROL                   _MMIO(0x3208)
+#define ILK_DPFC_CONTROL(fbc_id)       _MMIO_PIPE((fbc_id), 0x43208, 0x43248)
 #define   DPFC_CTL_EN                          REG_BIT(31)
 #define   DPFC_CTL_PLANE_MASK_G4X              REG_BIT(30) /* g4x-snb */
 #define   DPFC_CTL_PLANE_G4X(i9xx_plane)       REG_FIELD_PREP(DPFC_CTL_PLANE_MASK_G4X, (i9xx_plane))
@@ -3419,28 +1376,28 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define   DPFC_CTL_LIMIT_4X                    REG_FIELD_PREP(DPFC_CTL_LIMIT_MASK, 2)
 #define   DPFC_CTL_FENCENO_MASK                        REG_GENMASK(3, 0)
 #define   DPFC_CTL_FENCENO(fence)              REG_FIELD_PREP(DPFC_CTL_FENCENO_MASK, (fence))
-#define DPFC_RECOMP_CTL                _MMIO(0x320c)
-#define ILK_DPFC_RECOMP_CTL    _MMIO(0x4320c)
+#define DPFC_RECOMP_CTL                        _MMIO(0x320c)
+#define ILK_DPFC_RECOMP_CTL(fbc_id)    _MMIO_PIPE((fbc_id), 0x4320c, 0x4324c)
 #define   DPFC_RECOMP_STALL_EN                 REG_BIT(27)
 #define   DPFC_RECOMP_STALL_WM_MASK            REG_GENMASK(26, 16)
 #define   DPFC_RECOMP_TIMER_COUNT_MASK         REG_GENMASK(5, 0)
-#define DPFC_STATUS            _MMIO(0x3210)
-#define ILK_DPFC_STATUS                _MMIO(0x43210)
+#define DPFC_STATUS                    _MMIO(0x3210)
+#define ILK_DPFC_STATUS(fbc_id)                _MMIO_PIPE((fbc_id), 0x43210, 0x43250)
 #define   DPFC_INVAL_SEG_MASK                  REG_GENMASK(26, 16)
 #define   DPFC_COMP_SEG_MASK                   REG_GENMASK(10, 0)
-#define DPFC_STATUS2           _MMIO(0x3214)
-#define ILK_DPFC_STATUS2               _MMIO(0x43214)
+#define DPFC_STATUS2                   _MMIO(0x3214)
+#define ILK_DPFC_STATUS2(fbc_id)       _MMIO_PIPE((fbc_id), 0x43214, 0x43254)
 #define   DPFC_COMP_SEG_MASK_IVB               REG_GENMASK(11, 0)
-#define DPFC_FENCE_YOFF                _MMIO(0x3218)
-#define ILK_DPFC_FENCE_YOFF    _MMIO(0x43218)
-#define DPFC_CHICKEN           _MMIO(0x3224)
-#define ILK_DPFC_CHICKEN       _MMIO(0x43224)
+#define DPFC_FENCE_YOFF                        _MMIO(0x3218)
+#define ILK_DPFC_FENCE_YOFF(fbc_id)    _MMIO_PIPE((fbc_id), 0x43218, 0x43258)
+#define DPFC_CHICKEN                   _MMIO(0x3224)
+#define ILK_DPFC_CHICKEN(fbc_id)       _MMIO_PIPE((fbc_id), 0x43224, 0x43264)
 #define   DPFC_HT_MODIFY                       REG_BIT(31) /* pre-ivb */
 #define   DPFC_NUKE_ON_ANY_MODIFICATION                REG_BIT(23) /* bdw+ */
 #define   DPFC_CHICKEN_COMP_DUMMY_PIXEL                REG_BIT(14) /* glk+ */
 #define   DPFC_DISABLE_DUMMY0                  REG_BIT(8) /* ivb+ */
 
-#define GLK_FBC_STRIDE         _MMIO(0x43228)
+#define GLK_FBC_STRIDE(fbc_id) _MMIO_PIPE((fbc_id), 0x43228, 0x43268)
 #define   FBC_STRIDE_OVERRIDE  REG_BIT(15)
 #define   FBC_STRIDE_MASK      REG_GENMASK(14, 0)
 #define   FBC_STRIDE(x)                REG_FIELD_PREP(FBC_STRIDE_MASK, (x))
@@ -3483,9 +1440,9 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define IPS_CTL                _MMIO(0x43408)
 #define   IPS_ENABLE   (1 << 31)
 
-#define MSG_FBC_REND_STATE     _MMIO(0x50380)
+#define MSG_FBC_REND_STATE(fbc_id)     _MMIO_PIPE((fbc_id), 0x50380, 0x50384)
 #define   FBC_REND_NUKE                        REG_BIT(2)
-#define   FBC_REND_CACHE_CLEAN                 REG_BIT(1)
+#define   FBC_REND_CACHE_CLEAN         REG_BIT(1)
 
 /*
  * GPIO regs
@@ -3874,413 +1831,12 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
                                            _PALETTE_B, _CHV_PALETTE_C) + \
                                      (i) * 4)
 
-/* MCH MMIO space */
-
-/*
- * MCHBAR mirror.
- *
- * This mirrors the MCHBAR MMIO space whose location is determined by
- * device 0 function 0's pci config register 0x44 or 0x48 and matches it in
- * every way.  It is not accessible from the CP register read instructions.
- *
- * Starting from Haswell, you can't write registers using the MCHBAR mirror,
- * just read.
- */
-#define MCHBAR_MIRROR_BASE     0x10000
-
-#define MCHBAR_MIRROR_BASE_SNB 0x140000
-
-#define CTG_STOLEN_RESERVED            _MMIO(MCHBAR_MIRROR_BASE + 0x34)
-#define ELK_STOLEN_RESERVED            _MMIO(MCHBAR_MIRROR_BASE + 0x48)
-#define G4X_STOLEN_RESERVED_ADDR1_MASK (0xFFFF << 16)
-#define G4X_STOLEN_RESERVED_ADDR2_MASK (0xFFF << 4)
-#define G4X_STOLEN_RESERVED_ENABLE     (1 << 0)
-
-/* Memory controller frequency in MCHBAR for Haswell (possible SNB+) */
-#define DCLK _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5e04)
-
-/* 915-945 and GM965 MCH register controlling DRAM channel access */
-#define DCC                    _MMIO(MCHBAR_MIRROR_BASE + 0x200)
-#define DCC_ADDRESSING_MODE_SINGLE_CHANNEL             (0 << 0)
-#define DCC_ADDRESSING_MODE_DUAL_CHANNEL_ASYMMETRIC    (1 << 0)
-#define DCC_ADDRESSING_MODE_DUAL_CHANNEL_INTERLEAVED   (2 << 0)
-#define DCC_ADDRESSING_MODE_MASK                       (3 << 0)
-#define DCC_CHANNEL_XOR_DISABLE                                (1 << 10)
-#define DCC_CHANNEL_XOR_BIT_17                         (1 << 9)
-#define DCC2                   _MMIO(MCHBAR_MIRROR_BASE + 0x204)
-#define DCC2_MODIFIED_ENHANCED_DISABLE                 (1 << 20)
-
-/* Pineview MCH register contains DDR3 setting */
-#define CSHRDDR3CTL            _MMIO(MCHBAR_MIRROR_BASE + 0x1a8)
-#define CSHRDDR3CTL_DDR3       (1 << 2)
-
-/* 965 MCH register controlling DRAM channel configuration */
-#define C0DRB3_BW              _MMIO(MCHBAR_MIRROR_BASE + 0x206)
-#define C1DRB3_BW              _MMIO(MCHBAR_MIRROR_BASE + 0x606)
-
-/* snb MCH registers for reading the DRAM channel configuration */
-#define MAD_DIMM_C0                    _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5004)
-#define MAD_DIMM_C1                    _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5008)
-#define MAD_DIMM_C2                    _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x500C)
-#define   MAD_DIMM_ECC_MASK            (0x3 << 24)
-#define   MAD_DIMM_ECC_OFF             (0x0 << 24)
-#define   MAD_DIMM_ECC_IO_ON_LOGIC_OFF (0x1 << 24)
-#define   MAD_DIMM_ECC_IO_OFF_LOGIC_ON (0x2 << 24)
-#define   MAD_DIMM_ECC_ON              (0x3 << 24)
-#define   MAD_DIMM_ENH_INTERLEAVE      (0x1 << 22)
-#define   MAD_DIMM_RANK_INTERLEAVE     (0x1 << 21)
-#define   MAD_DIMM_B_WIDTH_X16         (0x1 << 20) /* X8 chips if unset */
-#define   MAD_DIMM_A_WIDTH_X16         (0x1 << 19) /* X8 chips if unset */
-#define   MAD_DIMM_B_DUAL_RANK         (0x1 << 18)
-#define   MAD_DIMM_A_DUAL_RANK         (0x1 << 17)
-#define   MAD_DIMM_A_SELECT            (0x1 << 16)
-/* DIMM sizes are in multiples of 256mb. */
-#define   MAD_DIMM_B_SIZE_SHIFT                8
-#define   MAD_DIMM_B_SIZE_MASK         (0xff << MAD_DIMM_B_SIZE_SHIFT)
-#define   MAD_DIMM_A_SIZE_SHIFT                0
-#define   MAD_DIMM_A_SIZE_MASK         (0xff << MAD_DIMM_A_SIZE_SHIFT)
-
-/* snb MCH registers for priority tuning */
-#define MCH_SSKPD                      _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5d10)
-#define   MCH_SSKPD_WM0_MASK           0x3f
-#define   MCH_SSKPD_WM0_VAL            0xc
-
-/* Clocking configuration register */
-#define CLKCFG                 _MMIO(MCHBAR_MIRROR_BASE + 0xc00)
-#define CLKCFG_FSB_400                                 (0 << 0)        /* hrawclk 100 */
-#define CLKCFG_FSB_400_ALT                             (5 << 0)        /* hrawclk 100 */
-#define CLKCFG_FSB_533                                 (1 << 0)        /* hrawclk 133 */
-#define CLKCFG_FSB_667                                 (3 << 0)        /* hrawclk 166 */
-#define CLKCFG_FSB_800                                 (2 << 0)        /* hrawclk 200 */
-#define CLKCFG_FSB_1067                                        (6 << 0)        /* hrawclk 266 */
-#define CLKCFG_FSB_1067_ALT                            (0 << 0)        /* hrawclk 266 */
-#define CLKCFG_FSB_1333                                        (7 << 0)        /* hrawclk 333 */
-#define CLKCFG_FSB_1333_ALT                            (4 << 0)        /* hrawclk 333 */
-#define CLKCFG_FSB_1600_ALT                            (6 << 0)        /* hrawclk 400 */
-#define CLKCFG_FSB_MASK                                        (7 << 0)
-#define CLKCFG_MEM_533                                 (1 << 4)
-#define CLKCFG_MEM_667                                 (2 << 4)
-#define CLKCFG_MEM_800                                 (3 << 4)
-#define CLKCFG_MEM_MASK                                        (7 << 4)
-
-#define HPLLVCO                 _MMIO(MCHBAR_MIRROR_BASE + 0xc38)
-#define HPLLVCO_MOBILE          _MMIO(MCHBAR_MIRROR_BASE + 0xc0f)
-
-#define TSC1                   _MMIO(0x11001)
-#define   TSE                  (1 << 0)
-#define TR1                    _MMIO(0x11006)
-#define TSFS                   _MMIO(0x11020)
-#define   TSFS_SLOPE_MASK      0x0000ff00
-#define   TSFS_SLOPE_SHIFT     8
-#define   TSFS_INTR_MASK       0x000000ff
-
-#define CRSTANDVID             _MMIO(0x11100)
-#define PXVFREQ(fstart)                _MMIO(0x11110 + (fstart) * 4)  /* P[0-15]VIDFREQ (0x1114c) (Ironlake) */
-#define   PXVFREQ_PX_MASK      0x7f000000
-#define   PXVFREQ_PX_SHIFT     24
-#define VIDFREQ_BASE           _MMIO(0x11110)
-#define VIDFREQ1               _MMIO(0x11110) /* VIDFREQ1-4 (0x1111c) (Cantiga) */
-#define VIDFREQ2               _MMIO(0x11114)
-#define VIDFREQ3               _MMIO(0x11118)
-#define VIDFREQ4               _MMIO(0x1111c)
-#define   VIDFREQ_P0_MASK      0x1f000000
-#define   VIDFREQ_P0_SHIFT     24
-#define   VIDFREQ_P0_CSCLK_MASK        0x00f00000
-#define   VIDFREQ_P0_CSCLK_SHIFT 20
-#define   VIDFREQ_P0_CRCLK_MASK        0x000f0000
-#define   VIDFREQ_P0_CRCLK_SHIFT 16
-#define   VIDFREQ_P1_MASK      0x00001f00
-#define   VIDFREQ_P1_SHIFT     8
-#define   VIDFREQ_P1_CSCLK_MASK        0x000000f0
-#define   VIDFREQ_P1_CSCLK_SHIFT 4
-#define   VIDFREQ_P1_CRCLK_MASK        0x0000000f
-#define INTTOEXT_BASE_ILK      _MMIO(0x11300)
-#define INTTOEXT_BASE          _MMIO(0x11120) /* INTTOEXT1-8 (0x1113c) */
-#define   INTTOEXT_MAP3_SHIFT  24
-#define   INTTOEXT_MAP3_MASK   (0x1f << INTTOEXT_MAP3_SHIFT)
-#define   INTTOEXT_MAP2_SHIFT  16
-#define   INTTOEXT_MAP2_MASK   (0x1f << INTTOEXT_MAP2_SHIFT)
-#define   INTTOEXT_MAP1_SHIFT  8
-#define   INTTOEXT_MAP1_MASK   (0x1f << INTTOEXT_MAP1_SHIFT)
-#define   INTTOEXT_MAP0_SHIFT  0
-#define   INTTOEXT_MAP0_MASK   (0x1f << INTTOEXT_MAP0_SHIFT)
-#define MEMSWCTL               _MMIO(0x11170) /* Ironlake only */
-#define   MEMCTL_CMD_MASK      0xe000
-#define   MEMCTL_CMD_SHIFT     13
-#define   MEMCTL_CMD_RCLK_OFF  0
-#define   MEMCTL_CMD_RCLK_ON   1
-#define   MEMCTL_CMD_CHFREQ    2
-#define   MEMCTL_CMD_CHVID     3
-#define   MEMCTL_CMD_VMMOFF    4
-#define   MEMCTL_CMD_VMMON     5
-#define   MEMCTL_CMD_STS       (1 << 12) /* write 1 triggers command, clears
-                                          when command complete */
-#define   MEMCTL_FREQ_MASK     0x0f00 /* jitter, from 0-15 */
-#define   MEMCTL_FREQ_SHIFT    8
-#define   MEMCTL_SFCAVM                (1 << 7)
-#define   MEMCTL_TGT_VID_MASK  0x007f
-#define MEMIHYST               _MMIO(0x1117c)
-#define MEMINTREN              _MMIO(0x11180) /* 16 bits */
-#define   MEMINT_RSEXIT_EN     (1 << 8)
-#define   MEMINT_CX_SUPR_EN    (1 << 7)
-#define   MEMINT_CONT_BUSY_EN  (1 << 6)
-#define   MEMINT_AVG_BUSY_EN   (1 << 5)
-#define   MEMINT_EVAL_CHG_EN   (1 << 4)
-#define   MEMINT_MON_IDLE_EN   (1 << 3)
-#define   MEMINT_UP_EVAL_EN    (1 << 2)
-#define   MEMINT_DOWN_EVAL_EN  (1 << 1)
-#define   MEMINT_SW_CMD_EN     (1 << 0)
-#define MEMINTRSTR             _MMIO(0x11182) /* 16 bits */
-#define   MEM_RSEXIT_MASK      0xc000
-#define   MEM_RSEXIT_SHIFT     14
-#define   MEM_CONT_BUSY_MASK   0x3000
-#define   MEM_CONT_BUSY_SHIFT  12
-#define   MEM_AVG_BUSY_MASK    0x0c00
-#define   MEM_AVG_BUSY_SHIFT   10
-#define   MEM_EVAL_CHG_MASK    0x0300
-#define   MEM_EVAL_BUSY_SHIFT  8
-#define   MEM_MON_IDLE_MASK    0x00c0
-#define   MEM_MON_IDLE_SHIFT   6
-#define   MEM_UP_EVAL_MASK     0x0030
-#define   MEM_UP_EVAL_SHIFT    4
-#define   MEM_DOWN_EVAL_MASK   0x000c
-#define   MEM_DOWN_EVAL_SHIFT  2
-#define   MEM_SW_CMD_MASK      0x0003
-#define   MEM_INT_STEER_GFX    0
-#define   MEM_INT_STEER_CMR    1
-#define   MEM_INT_STEER_SMI    2
-#define   MEM_INT_STEER_SCI    3
-#define MEMINTRSTS             _MMIO(0x11184)
-#define   MEMINT_RSEXIT                (1 << 7)
-#define   MEMINT_CONT_BUSY     (1 << 6)
-#define   MEMINT_AVG_BUSY      (1 << 5)
-#define   MEMINT_EVAL_CHG      (1 << 4)
-#define   MEMINT_MON_IDLE      (1 << 3)
-#define   MEMINT_UP_EVAL       (1 << 2)
-#define   MEMINT_DOWN_EVAL     (1 << 1)
-#define   MEMINT_SW_CMD                (1 << 0)
-#define MEMMODECTL             _MMIO(0x11190)
-#define   MEMMODE_BOOST_EN     (1 << 31)
-#define   MEMMODE_BOOST_FREQ_MASK 0x0f000000 /* jitter for boost, 0-15 */
-#define   MEMMODE_BOOST_FREQ_SHIFT 24
-#define   MEMMODE_IDLE_MODE_MASK 0x00030000
-#define   MEMMODE_IDLE_MODE_SHIFT 16
-#define   MEMMODE_IDLE_MODE_EVAL 0
-#define   MEMMODE_IDLE_MODE_CONT 1
-#define   MEMMODE_HWIDLE_EN    (1 << 15)
-#define   MEMMODE_SWMODE_EN    (1 << 14)
-#define   MEMMODE_RCLK_GATE    (1 << 13)
-#define   MEMMODE_HW_UPDATE    (1 << 12)
-#define   MEMMODE_FSTART_MASK  0x00000f00 /* starting jitter, 0-15 */
-#define   MEMMODE_FSTART_SHIFT 8
-#define   MEMMODE_FMAX_MASK    0x000000f0 /* max jitter, 0-15 */
-#define   MEMMODE_FMAX_SHIFT   4
-#define   MEMMODE_FMIN_MASK    0x0000000f /* min jitter, 0-15 */
-#define RCBMAXAVG              _MMIO(0x1119c)
-#define MEMSWCTL2              _MMIO(0x1119e) /* Cantiga only */
-#define   SWMEMCMD_RENDER_OFF  (0 << 13)
-#define   SWMEMCMD_RENDER_ON   (1 << 13)
-#define   SWMEMCMD_SWFREQ      (2 << 13)
-#define   SWMEMCMD_TARVID      (3 << 13)
-#define   SWMEMCMD_VRM_OFF     (4 << 13)
-#define   SWMEMCMD_VRM_ON      (5 << 13)
-#define   CMDSTS               (1 << 12)
-#define   SFCAVM               (1 << 11)
-#define   SWFREQ_MASK          0x0380 /* P0-7 */
-#define   SWFREQ_SHIFT         7
-#define   TARVID_MASK          0x001f
-#define MEMSTAT_CTG            _MMIO(0x111a0)
-#define RCBMINAVG              _MMIO(0x111a0)
-#define RCUPEI                 _MMIO(0x111b0)
-#define RCDNEI                 _MMIO(0x111b4)
-#define RSTDBYCTL              _MMIO(0x111b8)
-#define   RS1EN                        (1 << 31)
-#define   RS2EN                        (1 << 30)
-#define   RS3EN                        (1 << 29)
-#define   D3RS3EN              (1 << 28) /* Display D3 imlies RS3 */
-#define   SWPROMORSX           (1 << 27) /* RSx promotion timers ignored */
-#define   RCWAKERW             (1 << 26) /* Resetwarn from PCH causes wakeup */
-#define   DPRSLPVREN           (1 << 25) /* Fast voltage ramp enable */
-#define   GFXTGHYST            (1 << 24) /* Hysteresis to allow trunk gating */
-#define   RCX_SW_EXIT          (1 << 23) /* Leave RSx and prevent re-entry */
-#define   RSX_STATUS_MASK      (7 << 20)
-#define   RSX_STATUS_ON                (0 << 20)
-#define   RSX_STATUS_RC1       (1 << 20)
-#define   RSX_STATUS_RC1E      (2 << 20)
-#define   RSX_STATUS_RS1       (3 << 20)
-#define   RSX_STATUS_RS2       (4 << 20) /* aka rc6 */
-#define   RSX_STATUS_RSVD      (5 << 20) /* deep rc6 unsupported on ilk */
-#define   RSX_STATUS_RS3       (6 << 20) /* rs3 unsupported on ilk */
-#define   RSX_STATUS_RSVD2     (7 << 20)
-#define   UWRCRSXE             (1 << 19) /* wake counter limit prevents rsx */
-#define   RSCRP                        (1 << 18) /* rs requests control on rs1/2 reqs */
-#define   JRSC                 (1 << 17) /* rsx coupled to cpu c-state */
-#define   RS2INC0              (1 << 16) /* allow rs2 in cpu c0 */
-#define   RS1CONTSAV_MASK      (3 << 14)
-#define   RS1CONTSAV_NO_RS1    (0 << 14) /* rs1 doesn't save/restore context */
-#define   RS1CONTSAV_RSVD      (1 << 14)
-#define   RS1CONTSAV_SAVE_RS1  (2 << 14) /* rs1 saves context */
-#define   RS1CONTSAV_FULL_RS1  (3 << 14) /* rs1 saves and restores context */
-#define   NORMSLEXLAT_MASK     (3 << 12)
-#define   SLOW_RS123           (0 << 12)
-#define   SLOW_RS23            (1 << 12)
-#define   SLOW_RS3             (2 << 12)
-#define   NORMAL_RS123         (3 << 12)
-#define   RCMODE_TIMEOUT       (1 << 11) /* 0 is eval interval method */
-#define   IMPROMOEN            (1 << 10) /* promo is immediate or delayed until next idle interval (only for timeout method above) */
-#define   RCENTSYNC            (1 << 9) /* rs coupled to cpu c-state (3/6/7) */
-#define   STATELOCK            (1 << 7) /* locked to rs_cstate if 0 */
-#define   RS_CSTATE_MASK       (3 << 4)
-#define   RS_CSTATE_C367_RS1   (0 << 4)
-#define   RS_CSTATE_C36_RS1_C7_RS2 (1 << 4)
-#define   RS_CSTATE_RSVD       (2 << 4)
-#define   RS_CSTATE_C367_RS2   (3 << 4)
-#define   REDSAVES             (1 << 3) /* no context save if was idle during rs0 */
-#define   REDRESTORES          (1 << 2) /* no restore if was idle during rs0 */
-#define VIDCTL                 _MMIO(0x111c0)
-#define VIDSTS                 _MMIO(0x111c8)
-#define VIDSTART               _MMIO(0x111cc) /* 8 bits */
-#define MEMSTAT_ILK            _MMIO(0x111f8)
-#define   MEMSTAT_VID_MASK     0x7f00
-#define   MEMSTAT_VID_SHIFT    8
-#define   MEMSTAT_PSTATE_MASK  0x00f8
-#define   MEMSTAT_PSTATE_SHIFT  3
-#define   MEMSTAT_MON_ACTV     (1 << 2)
-#define   MEMSTAT_SRC_CTL_MASK 0x0003
-#define   MEMSTAT_SRC_CTL_CORE 0
-#define   MEMSTAT_SRC_CTL_TRB  1
-#define   MEMSTAT_SRC_CTL_THM  2
-#define   MEMSTAT_SRC_CTL_STDBY 3
-#define RCPREVBSYTUPAVG                _MMIO(0x113b8)
-#define RCPREVBSYTDNAVG                _MMIO(0x113bc)
-#define PMMISC                 _MMIO(0x11214)
-#define   MCPPCE_EN            (1 << 0) /* enable PM_MSG from PCH->MPC */
-#define SDEW                   _MMIO(0x1124c)
-#define CSIEW0                 _MMIO(0x11250)
-#define CSIEW1                 _MMIO(0x11254)
-#define CSIEW2                 _MMIO(0x11258)
-#define PEW(i)                 _MMIO(0x1125c + (i) * 4) /* 5 registers */
-#define DEW(i)                 _MMIO(0x11270 + (i) * 4) /* 3 registers */
-#define MCHAFE                 _MMIO(0x112c0)
-#define CSIEC                  _MMIO(0x112e0)
-#define DMIEC                  _MMIO(0x112e4)
-#define DDREC                  _MMIO(0x112e8)
-#define PEG0EC                 _MMIO(0x112ec)
-#define PEG1EC                 _MMIO(0x112f0)
-#define GFXEC                  _MMIO(0x112f4)
-#define RPPREVBSYTUPAVG                _MMIO(0x113b8)
-#define RPPREVBSYTDNAVG                _MMIO(0x113bc)
-#define ECR                    _MMIO(0x11600)
-#define   ECR_GPFE             (1 << 31)
-#define   ECR_IMONE            (1 << 30)
-#define   ECR_CAP_MASK         0x0000001f /* Event range, 0-31 */
-#define OGW0                   _MMIO(0x11608)
-#define OGW1                   _MMIO(0x1160c)
-#define EG0                    _MMIO(0x11610)
-#define EG1                    _MMIO(0x11614)
-#define EG2                    _MMIO(0x11618)
-#define EG3                    _MMIO(0x1161c)
-#define EG4                    _MMIO(0x11620)
-#define EG5                    _MMIO(0x11624)
-#define EG6                    _MMIO(0x11628)
-#define EG7                    _MMIO(0x1162c)
-#define PXW(i)                 _MMIO(0x11664 + (i) * 4) /* 4 registers */
-#define PXWL(i)                        _MMIO(0x11680 + (i) * 8) /* 8 registers */
-#define LCFUSE02               _MMIO(0x116c0)
-#define   LCFUSE_HIV_MASK      0x000000ff
-#define CSIPLL0                        _MMIO(0x12c10)
-#define DDRMPLL1               _MMIO(0X12c20)
 #define PEG_BAND_GAP_DATA      _MMIO(0x14d68)
 
-#define GEN6_GT_THREAD_STATUS_REG _MMIO(0x13805c)
-#define GEN6_GT_THREAD_STATUS_CORE_MASK 0x7
-
-#define GEN6_GT_PERF_STATUS    _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5948)
-#define BXT_GT_PERF_STATUS      _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x7070)
-#define GEN6_RP_STATE_LIMITS   _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5994)
-#define GEN6_RP_STATE_CAP      _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5998)
-#define   RP0_CAP_MASK         REG_GENMASK(7, 0)
-#define   RP1_CAP_MASK         REG_GENMASK(15, 8)
-#define   RPN_CAP_MASK         REG_GENMASK(23, 16)
 #define BXT_RP_STATE_CAP        _MMIO(0x138170)
 #define GEN9_RP_STATE_LIMITS   _MMIO(0x138148)
 #define XEHPSDV_RP_STATE_CAP   _MMIO(0x250014)
 
-/*
- * Logical Context regs
- */
-#define CCID(base)                     _MMIO((base) + 0x180)
-#define   CCID_EN                      BIT(0)
-#define   CCID_EXTENDED_STATE_RESTORE  BIT(2)
-#define   CCID_EXTENDED_STATE_SAVE     BIT(3)
-/*
- * Notes on SNB/IVB/VLV context size:
- * - Power context is saved elsewhere (LLC or stolen)
- * - Ring/execlist context is saved on SNB, not on IVB
- * - Extended context size already includes render context size
- * - We always need to follow the extended context size.
- *   SNB BSpec has comments indicating that we should use the
- *   render context size instead if execlists are disabled, but
- *   based on empirical testing that's just nonsense.
- * - Pipelined/VF state is saved on SNB/IVB respectively
- * - GT1 size just indicates how much of render context
- *   doesn't need saving on GT1
- */
-#define CXT_SIZE               _MMIO(0x21a0)
-#define GEN6_CXT_POWER_SIZE(cxt_reg)   (((cxt_reg) >> 24) & 0x3f)
-#define GEN6_CXT_RING_SIZE(cxt_reg)    (((cxt_reg) >> 18) & 0x3f)
-#define GEN6_CXT_RENDER_SIZE(cxt_reg)  (((cxt_reg) >> 12) & 0x3f)
-#define GEN6_CXT_EXTENDED_SIZE(cxt_reg)        (((cxt_reg) >> 6) & 0x3f)
-#define GEN6_CXT_PIPELINE_SIZE(cxt_reg)        (((cxt_reg) >> 0) & 0x3f)
-#define GEN6_CXT_TOTAL_SIZE(cxt_reg)   (GEN6_CXT_RING_SIZE(cxt_reg) + \
-                                       GEN6_CXT_EXTENDED_SIZE(cxt_reg) + \
-                                       GEN6_CXT_PIPELINE_SIZE(cxt_reg))
-#define GEN7_CXT_SIZE          _MMIO(0x21a8)
-#define GEN7_CXT_POWER_SIZE(ctx_reg)   (((ctx_reg) >> 25) & 0x7f)
-#define GEN7_CXT_RING_SIZE(ctx_reg)    (((ctx_reg) >> 22) & 0x7)
-#define GEN7_CXT_RENDER_SIZE(ctx_reg)  (((ctx_reg) >> 16) & 0x3f)
-#define GEN7_CXT_EXTENDED_SIZE(ctx_reg)        (((ctx_reg) >> 9) & 0x7f)
-#define GEN7_CXT_GT1_SIZE(ctx_reg)     (((ctx_reg) >> 6) & 0x7)
-#define GEN7_CXT_VFSTATE_SIZE(ctx_reg) (((ctx_reg) >> 0) & 0x3f)
-#define GEN7_CXT_TOTAL_SIZE(ctx_reg)   (GEN7_CXT_EXTENDED_SIZE(ctx_reg) + \
-                                        GEN7_CXT_VFSTATE_SIZE(ctx_reg))
-
-enum {
-       INTEL_ADVANCED_CONTEXT = 0,
-       INTEL_LEGACY_32B_CONTEXT,
-       INTEL_ADVANCED_AD_CONTEXT,
-       INTEL_LEGACY_64B_CONTEXT
-};
-
-enum {
-       FAULT_AND_HANG = 0,
-       FAULT_AND_HALT, /* Debug only */
-       FAULT_AND_STREAM,
-       FAULT_AND_CONTINUE /* Unsupported */
-};
-
-#define CTX_GTT_ADDRESS_MASK GENMASK(31, 12)
-#define GEN8_CTX_VALID (1 << 0)
-#define GEN8_CTX_FORCE_PD_RESTORE (1 << 1)
-#define GEN8_CTX_FORCE_RESTORE (1 << 2)
-#define GEN8_CTX_L3LLC_COHERENT (1 << 5)
-#define GEN8_CTX_PRIVILEGE (1 << 8)
-#define GEN8_CTX_ADDRESSING_MODE_SHIFT 3
-
-#define GEN8_CTX_ID_SHIFT 32
-#define GEN8_CTX_ID_WIDTH 21
-#define GEN11_SW_CTX_ID_SHIFT 37
-#define GEN11_SW_CTX_ID_WIDTH 11
-#define GEN11_ENGINE_CLASS_SHIFT 61
-#define GEN11_ENGINE_CLASS_WIDTH 3
-#define GEN11_ENGINE_INSTANCE_SHIFT 48
-#define GEN11_ENGINE_INSTANCE_WIDTH 6
-
-#define XEHP_SW_CTX_ID_SHIFT 39
-#define XEHP_SW_CTX_ID_WIDTH 16
-#define XEHP_SW_COUNTER_SHIFT 58
-#define XEHP_SW_COUNTER_WIDTH 6
-
 #define CHV_CLK_CTL1                   _MMIO(0x101100)
 #define VLV_CLK_CTL2                   _MMIO(0x101104)
 #define   CLK_CTL2_CZCOUNT_30NS_SHIFT  28
@@ -4332,75 +1888,6 @@ enum {
        _MMIO_PIPE(pipe, _CLKGATE_DIS_PSL_A, _CLKGATE_DIS_PSL_B)
 
 /*
- * GEN10 clock gating regs
- */
-
-#define UNSLCGCTL9440                  _MMIO(0x9440)
-#define   GAMTLBOACS_CLKGATE_DIS       REG_BIT(28)
-#define   GAMTLBVDBOX5_CLKGATE_DIS     REG_BIT(27)
-#define   GAMTLBVDBOX6_CLKGATE_DIS     REG_BIT(26)
-#define   GAMTLBVDBOX3_CLKGATE_DIS     REG_BIT(24)
-#define   GAMTLBVDBOX4_CLKGATE_DIS     REG_BIT(23)
-#define   GAMTLBVDBOX7_CLKGATE_DIS     REG_BIT(22)
-#define   GAMTLBVDBOX2_CLKGATE_DIS     REG_BIT(21)
-#define   GAMTLBVDBOX0_CLKGATE_DIS     REG_BIT(17)
-#define   GAMTLBKCR_CLKGATE_DIS                REG_BIT(16)
-#define   GAMTLBGUC_CLKGATE_DIS                REG_BIT(15)
-#define   GAMTLBBLT_CLKGATE_DIS                REG_BIT(14)
-#define   GAMTLBVDBOX1_CLKGATE_DIS     REG_BIT(6)
-
-#define UNSLCGCTL9444                  _MMIO(0x9444)
-#define   GAMTLBGFXA0_CLKGATE_DIS      REG_BIT(30)
-#define   GAMTLBGFXA1_CLKGATE_DIS      REG_BIT(29)
-#define   GAMTLBCOMPA0_CLKGATE_DIS     REG_BIT(28)
-#define   GAMTLBCOMPA1_CLKGATE_DIS     REG_BIT(27)
-#define   GAMTLBCOMPB0_CLKGATE_DIS     REG_BIT(26)
-#define   GAMTLBCOMPB1_CLKGATE_DIS     REG_BIT(25)
-#define   GAMTLBCOMPC0_CLKGATE_DIS     REG_BIT(24)
-#define   GAMTLBCOMPC1_CLKGATE_DIS     REG_BIT(23)
-#define   GAMTLBCOMPD0_CLKGATE_DIS     REG_BIT(22)
-#define   GAMTLBCOMPD1_CLKGATE_DIS     REG_BIT(21)
-#define   GAMTLBMERT_CLKGATE_DIS       REG_BIT(20)
-#define   GAMTLBVEBOX3_CLKGATE_DIS     REG_BIT(19)
-#define   GAMTLBVEBOX2_CLKGATE_DIS     REG_BIT(18)
-#define   GAMTLBVEBOX1_CLKGATE_DIS     REG_BIT(17)
-#define   GAMTLBVEBOX0_CLKGATE_DIS     REG_BIT(16)
-#define   LTCDD_CLKGATE_DIS            REG_BIT(10)
-
-#define SLICE_UNIT_LEVEL_CLKGATE       _MMIO(0x94d4)
-#define  SARBUNIT_CLKGATE_DIS          (1 << 5)
-#define  RCCUNIT_CLKGATE_DIS           (1 << 7)
-#define  MSCUNIT_CLKGATE_DIS           (1 << 10)
-#define  NODEDSS_CLKGATE_DIS           REG_BIT(12)
-#define  L3_CLKGATE_DIS                        REG_BIT(16)
-#define  L3_CR2X_CLKGATE_DIS           REG_BIT(17)
-
-#define SUBSLICE_UNIT_LEVEL_CLKGATE    _MMIO(0x9524)
-#define   DSS_ROUTER_CLKGATE_DIS       REG_BIT(28)
-#define   GWUNIT_CLKGATE_DIS           REG_BIT(16)
-
-#define SUBSLICE_UNIT_LEVEL_CLKGATE2   _MMIO(0x9528)
-#define  CPSSUNIT_CLKGATE_DIS          REG_BIT(9)
-
-#define SSMCGCTL9530                   _MMIO(0x9530)
-#define   RTFUNIT_CLKGATE_DIS          REG_BIT(18)
-
-#define UNSLICE_UNIT_LEVEL_CLKGATE     _MMIO(0x9434)
-#define   VFUNIT_CLKGATE_DIS           REG_BIT(20)
-#define   TSGUNIT_CLKGATE_DIS          REG_BIT(17) /* XEHPSDV */
-#define   CG3DDISCFEG_CLKGATE_DIS      REG_BIT(17) /* DG2 */
-#define   GAMEDIA_CLKGATE_DIS          REG_BIT(11)
-#define   HSUNIT_CLKGATE_DIS           REG_BIT(8)
-#define   VSUNIT_CLKGATE_DIS           REG_BIT(3)
-
-#define UNSLICE_UNIT_LEVEL_CLKGATE2    _MMIO(0x94e4)
-#define   VSUNIT_CLKGATE_DIS_TGL       REG_BIT(19)
-#define   PSDUNIT_CLKGATE_DIS          REG_BIT(5)
-
-#define INF_UNIT_LEVEL_CLKGATE         _MMIO(0x9560)
-#define   CGPSF_CLKGATE_DIS            (1 << 3)
-
-/*
  * Display engine regs
  */
 
@@ -4494,6 +1981,10 @@ enum {
 #define _VSYNC_A       0x60014
 #define _EXITLINE_A    0x60018
 #define _PIPEASRC      0x6001c
+#define   PIPESRC_WIDTH_MASK   REG_GENMASK(31, 16)
+#define   PIPESRC_WIDTH(w)     REG_FIELD_PREP(PIPESRC_WIDTH_MASK, (w))
+#define   PIPESRC_HEIGHT_MASK  REG_GENMASK(15, 0)
+#define   PIPESRC_HEIGHT(h)    REG_FIELD_PREP(PIPESRC_HEIGHT_MASK, (h))
 #define _BCLRPAT_A     0x60020
 #define _VSYNCSHIFT_A  0x60028
 #define _PIPE_MULT_A   0x6002c
@@ -6145,16 +3636,14 @@ enum {
 #define _PIPEB_DATA_M_G4X      0x71050
 
 /* Transfer unit size for display port - 1, default is 0x3f (for TU size 64) */
-#define  TU_SIZE(x)             (((x) - 1) << 25) /* default size 64 */
-#define  TU_SIZE_SHIFT         25
-#define  TU_SIZE_MASK           (0x3f << 25)
+#define  TU_SIZE_MASK          REG_GENMASK(30, 25)
+#define  TU_SIZE(x)            REG_FIELD_PREP(TU_SIZE_MASK, (x) - 1) /* default size 64 */
 
-#define  DATA_LINK_M_N_MASK    (0xffffff)
+#define  DATA_LINK_M_N_MASK    REG_GENMASK(23, 0)
 #define  DATA_LINK_N_MAX       (0x800000)
 
 #define _PIPEA_DATA_N_G4X      0x70054
 #define _PIPEB_DATA_N_G4X      0x71054
-#define   PIPE_GMCH_DATA_N_MASK                        (0xffffff)
 
 /*
  * Computing Link M and N values for the Display Port link
@@ -6169,11 +3658,8 @@ enum {
 
 #define _PIPEA_LINK_M_G4X      0x70060
 #define _PIPEB_LINK_M_G4X      0x71060
-#define   PIPEA_DP_LINK_M_MASK                 (0xffffff)
-
 #define _PIPEA_LINK_N_G4X      0x70064
 #define _PIPEB_LINK_N_G4X      0x71064
-#define   PIPEA_DP_LINK_N_MASK                 (0xffffff)
 
 #define PIPE_DATA_M_G4X(pipe) _MMIO_PIPE(pipe, _PIPEA_DATA_M_G4X, _PIPEB_DATA_M_G4X)
 #define PIPE_DATA_N_G4X(pipe) _MMIO_PIPE(pipe, _PIPEA_DATA_N_G4X, _PIPEB_DATA_N_G4X)
@@ -6184,65 +3670,61 @@ enum {
 
 /* Pipe A */
 #define _PIPEADSL              0x70000
-#define   DSL_LINEMASK_GEN2    0x00000fff
-#define   DSL_LINEMASK_GEN3    0x00001fff
+#define   PIPEDSL_CURR_FIELD   REG_BIT(31) /* ctg+ */
+#define   PIPEDSL_LINE_MASK    REG_GENMASK(19, 0)
 #define _PIPEACONF             0x70008
-#define   PIPECONF_ENABLE      (1 << 31)
-#define   PIPECONF_DISABLE     0
-#define   PIPECONF_DOUBLE_WIDE (1 << 30)
-#define   I965_PIPECONF_ACTIVE (1 << 30)
-#define   PIPECONF_DSI_PLL_LOCKED      (1 << 29) /* vlv & pipe A only */
-#define   PIPECONF_FRAME_START_DELAY_MASK      (3 << 27) /* pre-hsw */
-#define   PIPECONF_FRAME_START_DELAY(x)                ((x) << 27) /* pre-hsw: 0-3 */
-#define   PIPECONF_SINGLE_WIDE 0
-#define   PIPECONF_PIPE_UNLOCKED 0
-#define   PIPECONF_PIPE_LOCKED (1 << 25)
-#define   PIPECONF_FORCE_BORDER        (1 << 25)
-#define   PIPECONF_GAMMA_MODE_MASK_I9XX        (1 << 24) /* gmch */
-#define   PIPECONF_GAMMA_MODE_MASK_ILK (3 << 24) /* ilk-ivb */
-#define   PIPECONF_GAMMA_MODE_8BIT     (0 << 24) /* gmch,ilk-ivb */
-#define   PIPECONF_GAMMA_MODE_10BIT    (1 << 24) /* gmch,ilk-ivb */
-#define   PIPECONF_GAMMA_MODE_12BIT    (2 << 24) /* ilk-ivb */
-#define   PIPECONF_GAMMA_MODE_SPLIT    (3 << 24) /* ivb */
-#define   PIPECONF_GAMMA_MODE(x)       ((x) << 24) /* pass in GAMMA_MODE_MODE_* */
-#define   PIPECONF_GAMMA_MODE_SHIFT    24
-#define   PIPECONF_INTERLACE_MASK      (7 << 21)
-#define   PIPECONF_INTERLACE_MASK_HSW  (3 << 21)
-/* Note that pre-gen3 does not support interlaced display directly. Panel
- * fitting must be disabled on pre-ilk for interlaced. */
-#define   PIPECONF_PROGRESSIVE                 (0 << 21)
-#define   PIPECONF_INTERLACE_W_SYNC_SHIFT_PANEL        (4 << 21) /* gen4 only */
-#define   PIPECONF_INTERLACE_W_SYNC_SHIFT      (5 << 21) /* gen4 only */
-#define   PIPECONF_INTERLACE_W_FIELD_INDICATION        (6 << 21)
-#define   PIPECONF_INTERLACE_FIELD_0_ONLY      (7 << 21) /* gen3 only */
-/* Ironlake and later have a complete new set of values for interlaced. PFIT
- * means panel fitter required, PF means progressive fetch, DBL means power
- * saving pixel doubling. */
-#define   PIPECONF_PFIT_PF_INTERLACED_ILK      (1 << 21)
-#define   PIPECONF_INTERLACED_ILK              (3 << 21)
-#define   PIPECONF_INTERLACED_DBL_ILK          (4 << 21) /* ilk/snb only */
-#define   PIPECONF_PFIT_PF_INTERLACED_DBL_ILK  (5 << 21) /* ilk/snb only */
-#define   PIPECONF_INTERLACE_MODE_MASK         (7 << 21)
-#define   PIPECONF_EDP_RR_MODE_SWITCH          (1 << 20)
-#define   PIPECONF_CXSR_DOWNCLOCK      (1 << 16)
-#define   PIPECONF_EDP_RR_MODE_SWITCH_VLV      (1 << 14)
-#define   PIPECONF_COLOR_RANGE_SELECT  (1 << 13)
-#define   PIPECONF_OUTPUT_COLORSPACE_MASK      (3 << 11) /* ilk-ivb */
-#define   PIPECONF_OUTPUT_COLORSPACE_RGB       (0 << 11) /* ilk-ivb */
-#define   PIPECONF_OUTPUT_COLORSPACE_YUV601    (1 << 11) /* ilk-ivb */
-#define   PIPECONF_OUTPUT_COLORSPACE_YUV709    (2 << 11) /* ilk-ivb */
-#define   PIPECONF_OUTPUT_COLORSPACE_YUV_HSW   (1 << 11) /* hsw only */
-#define   PIPECONF_BPC_MASK    (0x7 << 5)
-#define   PIPECONF_8BPC                (0 << 5)
-#define   PIPECONF_10BPC       (1 << 5)
-#define   PIPECONF_6BPC                (2 << 5)
-#define   PIPECONF_12BPC       (3 << 5)
-#define   PIPECONF_DITHER_EN   (1 << 4)
-#define   PIPECONF_DITHER_TYPE_MASK (0x0000000c)
-#define   PIPECONF_DITHER_TYPE_SP (0 << 2)
-#define   PIPECONF_DITHER_TYPE_ST1 (1 << 2)
-#define   PIPECONF_DITHER_TYPE_ST2 (2 << 2)
-#define   PIPECONF_DITHER_TYPE_TEMP (3 << 2)
+#define   PIPECONF_ENABLE                      REG_BIT(31)
+#define   PIPECONF_DOUBLE_WIDE                 REG_BIT(30) /* pre-i965 */
+#define   PIPECONF_STATE_ENABLE                        REG_BIT(30) /* i965+ */
+#define   PIPECONF_DSI_PLL_LOCKED              REG_BIT(29) /* vlv & pipe A only */
+#define   PIPECONF_FRAME_START_DELAY_MASK      REG_GENMASK(28, 27) /* pre-hsw */
+#define   PIPECONF_FRAME_START_DELAY(x)                REG_FIELD_PREP(PIPECONF_FRAME_START_DELAY_MASK, (x)) /* pre-hsw: 0-3 */
+#define   PIPECONF_PIPE_LOCKED                 REG_BIT(25)
+#define   PIPECONF_FORCE_BORDER                        REG_BIT(25)
+#define   PIPECONF_GAMMA_MODE_MASK_I9XX                REG_BIT(24) /* gmch */
+#define   PIPECONF_GAMMA_MODE_MASK_ILK         REG_GENMASK(25, 24) /* ilk-ivb */
+#define   PIPECONF_GAMMA_MODE_8BIT             REG_FIELD_PREP(PIPECONF_GAMMA_MODE_MASK, 0)
+#define   PIPECONF_GAMMA_MODE_10BIT            REG_FIELD_PREP(PIPECONF_GAMMA_MODE_MASK, 1)
+#define   PIPECONF_GAMMA_MODE_12BIT            REG_FIELD_PREP(PIPECONF_GAMMA_MODE_MASK_ILK, 2) /* ilk-ivb */
+#define   PIPECONF_GAMMA_MODE_SPLIT            REG_FIELD_PREP(PIPECONF_GAMMA_MODE_MASK_ILK, 3) /* ivb */
+#define   PIPECONF_GAMMA_MODE(x)               REG_FIELD_PREP(PIPECONF_GAMMA_MODE_MASK_ILK, (x)) /* pass in GAMMA_MODE_MODE_* */
+#define   PIPECONF_INTERLACE_MASK              REG_GENMASK(23, 21) /* gen3+ */
+#define   PIPECONF_INTERLACE_PROGRESSIVE       REG_FIELD_PREP(PIPECONF_INTERLACE_MASK, 0)
+#define   PIPECONF_INTERLACE_W_SYNC_SHIFT_PANEL        REG_FIELD_PREP(PIPECONF_INTERLACE_MASK, 4) /* gen4 only */
+#define   PIPECONF_INTERLACE_W_SYNC_SHIFT      REG_FIELD_PREP(PIPECONF_INTERLACE_MASK, 5) /* gen4 only */
+#define   PIPECONF_INTERLACE_W_FIELD_INDICATION        REG_FIELD_PREP(PIPECONF_INTERLACE_MASK, 6)
+#define   PIPECONF_INTERLACE_FIELD_0_ONLY      REG_FIELD_PREP(PIPECONF_INTERLACE_MASK, 7) /* gen3 only */
+/*
+ * ilk+: PF/D=progressive fetch/display, IF/D=interlaced fetch/display,
+ * DBL=power saving pixel doubling, PF-ID* requires panel fitter
+ */
+#define   PIPECONF_INTERLACE_MASK_ILK          REG_GENMASK(23, 21) /* ilk+ */
+#define   PIPECONF_INTERLACE_MASK_HSW          REG_GENMASK(22, 21) /* hsw+ */
+#define   PIPECONF_INTERLACE_PF_PD_ILK         REG_FIELD_PREP(PIPECONF_INTERLACE_MASK_ILK, 0)
+#define   PIPECONF_INTERLACE_PF_ID_ILK         REG_FIELD_PREP(PIPECONF_INTERLACE_MASK_ILK, 1)
+#define   PIPECONF_INTERLACE_IF_ID_ILK         REG_FIELD_PREP(PIPECONF_INTERLACE_MASK_ILK, 3)
+#define   PIPECONF_INTERLACE_IF_ID_DBL_ILK     REG_FIELD_PREP(PIPECONF_INTERLACE_MASK_ILK, 4) /* ilk/snb only */
+#define   PIPECONF_INTERLACE_PF_ID_DBL_ILK     REG_FIELD_PREP(PIPECONF_INTERLACE_MASK_ILK, 5) /* ilk/snb only */
+#define   PIPECONF_EDP_RR_MODE_SWITCH          REG_BIT(20)
+#define   PIPECONF_CXSR_DOWNCLOCK              REG_BIT(16)
+#define   PIPECONF_EDP_RR_MODE_SWITCH_VLV      REG_BIT(14)
+#define   PIPECONF_COLOR_RANGE_SELECT          REG_BIT(13)
+#define   PIPECONF_OUTPUT_COLORSPACE_MASK      REG_GENMASK(12, 11) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_RGB       REG_FIELD_PREP(PIPECONF_OUTPUT_COLORSPACE_MASK, 0) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_YUV601    REG_FIELD_PREP(PIPECONF_OUTPUT_COLORSPACE_MASK, 1) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_YUV709    REG_FIELD_PREP(PIPECONF_OUTPUT_COLORSPACE_MASK, 2) /* ilk-ivb */
+#define   PIPECONF_OUTPUT_COLORSPACE_YUV_HSW   REG_BIT(11) /* hsw only */
+#define   PIPECONF_BPC_MASK                    REG_GENMASK(7, 5) /* ctg-ivb */
+#define   PIPECONF_BPC_8                       REG_FIELD_PREP(PIPECONF_BPC_MASK, 0)
+#define   PIPECONF_BPC_10                      REG_FIELD_PREP(PIPECONF_BPC_MASK, 1)
+#define   PIPECONF_BPC_6                       REG_FIELD_PREP(PIPECONF_BPC_MASK, 2)
+#define   PIPECONF_BPC_12                      REG_FIELD_PREP(PIPECONF_BPC_MASK, 3)
+#define   PIPECONF_DITHER_EN                   REG_BIT(4)
+#define   PIPECONF_DITHER_TYPE_MASK            REG_GENMASK(3, 2)
+#define   PIPECONF_DITHER_TYPE_SP              REG_FIELD_PREP(PIPECONF_DITHER_TYPE_MASK, 0)
+#define   PIPECONF_DITHER_TYPE_ST1             REG_FIELD_PREP(PIPECONF_DITHER_TYPE_MASK, 1)
+#define   PIPECONF_DITHER_TYPE_ST2             REG_FIELD_PREP(PIPECONF_DITHER_TYPE_MASK, 2)
+#define   PIPECONF_DITHER_TYPE_TEMP            REG_FIELD_PREP(PIPECONF_DITHER_TYPE_MASK, 3)
 #define _PIPEASTAT             0x70024
 #define   PIPE_FIFO_UNDERRUN_STATUS            (1UL << 31)
 #define   SPRITE1_FLIP_DONE_INT_EN_VLV         (1UL << 30)
@@ -6327,38 +3809,41 @@ enum {
 
 #define _PIPE_MISC_A                   0x70030
 #define _PIPE_MISC_B                   0x71030
-#define   PIPEMISC_YUV420_ENABLE       (1 << 27) /* glk+ */
-#define   PIPEMISC_YUV420_MODE_FULL_BLEND (1 << 26) /* glk+ */
-#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_YUV420_ENABLE               REG_BIT(27) /* glk+ */
+#define   PIPEMISC_YUV420_MODE_FULL_BLEND      REG_BIT(26) /* glk+ */
+#define   PIPEMISC_HDR_MODE_PRECISION          REG_BIT(23) /* icl+ */
+#define   PIPEMISC_OUTPUT_COLORSPACE_YUV       REG_BIT(11)
+#define   PIPEMISC_PIXEL_ROUNDING_TRUNC                REG_BIT(8) /* tgl+ */
 /*
  * 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)
+#define   PIPEMISC_BPC_MASK                    REG_GENMASK(7, 5)
+#define   PIPEMISC_BPC_8                       REG_FIELD_PREP(PIPEMISC_BPC_MASK, 0)
+#define   PIPEMISC_BPC_10                      REG_FIELD_PREP(PIPEMISC_BPC_MASK, 1)
+#define   PIPEMISC_BPC_6                       REG_FIELD_PREP(PIPEMISC_BPC_MASK, 2)
+#define   PIPEMISC_BPC_12_ADLP                 REG_FIELD_PREP(PIPEMISC_BPC_MASK, 4) /* adlp+ */
+#define   PIPEMISC_DITHER_ENABLE               REG_BIT(4)
+#define   PIPEMISC_DITHER_TYPE_MASK            REG_GENMASK(3, 2)
+#define   PIPEMISC_DITHER_TYPE_SP              REG_FIELD_PREP(PIPEMISC_DITHER_TYPE_MASK, 0)
+#define   PIPEMISC_DITHER_TYPE_ST1             REG_FIELD_PREP(PIPEMISC_DITHER_TYPE_MASK, 1)
+#define   PIPEMISC_DITHER_TYPE_ST2             REG_FIELD_PREP(PIPEMISC_DITHER_TYPE_MASK, 2)
+#define   PIPEMISC_DITHER_TYPE_TEMP            REG_FIELD_PREP(PIPEMISC_DITHER_TYPE_MASK, 3)
 #define PIPEMISC(pipe)                 _MMIO_PIPE2(pipe, _PIPE_MISC_A)
 
 #define _PIPE_MISC2_A                                  0x7002C
 #define _PIPE_MISC2_B                                  0x7102C
-#define   PIPE_MISC2_BUBBLE_COUNTER_SCALER_EN          (0x50 << 24)
-#define   PIPE_MISC2_BUBBLE_COUNTER_SCALER_DIS         (0x14 << 24)
-#define   PIPE_MISC2_UNDERRUN_BUBBLE_COUNTER_MASK      (0xff << 24)
+#define   PIPE_MISC2_BUBBLE_COUNTER_MASK       REG_GENMASK(31, 24)
+#define   PIPE_MISC2_BUBBLE_COUNTER_SCALER_EN  REG_FIELD_PREP(PIPE_MISC2_BUBBLE_COUNTER_MASK, 80)
+#define   PIPE_MISC2_BUBBLE_COUNTER_SCALER_DIS REG_FIELD_PREP(PIPE_MISC2_BUBBLE_COUNTER_MASK, 20)
 #define PIPE_MISC2(pipe)                                       _MMIO_PIPE2(pipe, _PIPE_MISC2_A)
 
 /* Skylake+ pipe bottom (background) color */
 #define _SKL_BOTTOM_COLOR_A            0x70034
-#define   SKL_BOTTOM_COLOR_GAMMA_ENABLE        (1 << 31)
-#define   SKL_BOTTOM_COLOR_CSC_ENABLE  (1 << 30)
+#define   SKL_BOTTOM_COLOR_GAMMA_ENABLE                REG_BIT(31)
+#define   SKL_BOTTOM_COLOR_CSC_ENABLE          REG_BIT(30)
 #define SKL_BOTTOM_COLOR(pipe)         _MMIO_PIPE2(pipe, _SKL_BOTTOM_COLOR_A)
 
 #define _ICL_PIPE_A_STATUS                     0x70058
@@ -6699,49 +4184,32 @@ enum {
 #define _WM0_PIPEC_IVB         0x45200
 #define WM0_PIPE_ILK(pipe)     _MMIO_PIPE3((pipe), _WM0_PIPEA_ILK, \
                                            _WM0_PIPEB_ILK, _WM0_PIPEC_IVB)
-#define  WM0_PIPE_PLANE_MASK   (0xffff << 16)
-#define  WM0_PIPE_PLANE_SHIFT  16
-#define  WM0_PIPE_SPRITE_MASK  (0xff << 8)
-#define  WM0_PIPE_SPRITE_SHIFT 8
-#define  WM0_PIPE_CURSOR_MASK  (0xff)
+#define  WM0_PIPE_PRIMARY_MASK REG_GENMASK(31, 16)
+#define  WM0_PIPE_SPRITE_MASK  REG_GENMASK(15, 8)
+#define  WM0_PIPE_CURSOR_MASK  REG_GENMASK(7, 0)
+#define  WM0_PIPE_PRIMARY(x)   REG_FIELD_PREP(WM0_PIPE_PRIMARY_MASK, (x))
+#define  WM0_PIPE_SPRITE(x)    REG_FIELD_PREP(WM0_PIPE_SPRITE_MASK, (x))
+#define  WM0_PIPE_CURSOR(x)    REG_FIELD_PREP(WM0_PIPE_CURSOR_MASK, (x))
 #define WM1_LP_ILK             _MMIO(0x45108)
-#define  WM1_LP_SR_EN          (1 << 31)
-#define  WM1_LP_LATENCY_SHIFT  24
-#define  WM1_LP_LATENCY_MASK   (0x7f << 24)
-#define  WM1_LP_FBC_MASK       (0xf << 20)
-#define  WM1_LP_FBC_SHIFT      20
-#define  WM1_LP_FBC_SHIFT_BDW  19
-#define  WM1_LP_SR_MASK                (0x7ff << 8)
-#define  WM1_LP_SR_SHIFT       8
-#define  WM1_LP_CURSOR_MASK    (0xff)
 #define WM2_LP_ILK             _MMIO(0x4510c)
-#define  WM2_LP_EN             (1 << 31)
 #define WM3_LP_ILK             _MMIO(0x45110)
-#define  WM3_LP_EN             (1 << 31)
+#define  WM_LP_ENABLE          REG_BIT(31)
+#define  WM_LP_LATENCY_MASK    REG_GENMASK(30, 24)
+#define  WM_LP_FBC_MASK_BDW    REG_GENMASK(23, 19)
+#define  WM_LP_FBC_MASK_ILK    REG_GENMASK(23, 20)
+#define  WM_LP_PRIMARY_MASK    REG_GENMASK(18, 8)
+#define  WM_LP_CURSOR_MASK     REG_GENMASK(7, 0)
+#define  WM_LP_LATENCY(x)      REG_FIELD_PREP(WM_LP_LATENCY_MASK, (x))
+#define  WM_LP_FBC_BDW(x)      REG_FIELD_PREP(WM_LP_FBC_MASK_BDW, (x))
+#define  WM_LP_FBC_ILK(x)      REG_FIELD_PREP(WM_LP_FBC_MASK_ILK, (x))
+#define  WM_LP_PRIMARY(x)      REG_FIELD_PREP(WM_LP_PRIMARY_MASK, (x))
+#define  WM_LP_CURSOR(x)       REG_FIELD_PREP(WM_LP_CURSOR_MASK, (x))
 #define WM1S_LP_ILK            _MMIO(0x45120)
 #define WM2S_LP_IVB            _MMIO(0x45124)
 #define WM3S_LP_IVB            _MMIO(0x45128)
-#define  WM1S_LP_EN            (1 << 31)
-
-#define HSW_WM_LP_VAL(lat, fbc, pri, cur) \
-       (WM3_LP_EN | ((lat) << WM1_LP_LATENCY_SHIFT) | \
-        ((fbc) << WM1_LP_FBC_SHIFT) | ((pri) << WM1_LP_SR_SHIFT) | (cur))
-
-/* Memory latency timer register */
-#define MLTR_ILK               _MMIO(0x11222)
-#define  MLTR_WM1_SHIFT                0
-#define  MLTR_WM2_SHIFT                8
-/* the unit of memory self-refresh latency time is 0.5us */
-#define  ILK_SRLT_MASK         0x3f
-
-
-/* the address where we get all kinds of latency value */
-#define SSKPD                  _MMIO(0x5d10)
-#define SSKPD_WM_MASK          0x3f
-#define SSKPD_WM0_SHIFT                0
-#define SSKPD_WM1_SHIFT                8
-#define SSKPD_WM2_SHIFT                16
-#define SSKPD_WM3_SHIFT                24
+#define  WM_LP_SPRITE_ENABLE   REG_BIT(31) /* ilk/snb WM1S only */
+#define  WM_LP_SPRITE_MASK     REG_GENMASK(10, 0)
+#define  WM_LP_SPRITE(x)       REG_FIELD_PREP(WM_LP_SPRITE_MASK, (x))
 
 /*
  * The two pipe frame counter registers are not synchronized, so
@@ -6775,44 +4243,50 @@ enum {
 /* Cursor A & B regs */
 #define _CURACNTR              0x70080
 /* Old style CUR*CNTR flags (desktop 8xx) */
-#define   CURSOR_ENABLE                0x80000000
-#define   CURSOR_GAMMA_ENABLE  0x40000000
-#define   CURSOR_STRIDE_SHIFT  28
-#define   CURSOR_STRIDE(x)     ((ffs(x) - 9) << CURSOR_STRIDE_SHIFT) /* 256,512,1k,2k */
-#define   CURSOR_FORMAT_SHIFT  24
-#define   CURSOR_FORMAT_MASK   (0x07 << CURSOR_FORMAT_SHIFT)
-#define   CURSOR_FORMAT_2C     (0x00 << CURSOR_FORMAT_SHIFT)
-#define   CURSOR_FORMAT_3C     (0x01 << CURSOR_FORMAT_SHIFT)
-#define   CURSOR_FORMAT_4C     (0x02 << CURSOR_FORMAT_SHIFT)
-#define   CURSOR_FORMAT_ARGB   (0x04 << CURSOR_FORMAT_SHIFT)
-#define   CURSOR_FORMAT_XRGB   (0x05 << CURSOR_FORMAT_SHIFT)
+#define   CURSOR_ENABLE                        REG_BIT(31)
+#define   CURSOR_PIPE_GAMMA_ENABLE     REG_BIT(30)
+#define   CURSOR_STRIDE_MASK   REG_GENMASK(29, 28)
+#define   CURSOR_STRIDE(stride)        REG_FIELD_PREP(CURSOR_STRIDE_MASK, ffs(stride) - 9) /* 256,512,1k,2k */
+#define   CURSOR_FORMAT_MASK   REG_GENMASK(26, 24)
+#define   CURSOR_FORMAT_2C     REG_FIELD_PREP(CURSOR_FORMAT_MASK, 0)
+#define   CURSOR_FORMAT_3C     REG_FIELD_PREP(CURSOR_FORMAT_MASK, 1)
+#define   CURSOR_FORMAT_4C     REG_FIELD_PREP(CURSOR_FORMAT_MASK, 2)
+#define   CURSOR_FORMAT_ARGB   REG_FIELD_PREP(CURSOR_FORMAT_MASK, 4)
+#define   CURSOR_FORMAT_XRGB   REG_FIELD_PREP(CURSOR_FORMAT_MASK, 5)
 /* New style CUR*CNTR flags */
-#define   MCURSOR_MODE         0x27
-#define   MCURSOR_MODE_DISABLE   0x00
-#define   MCURSOR_MODE_128_32B_AX 0x02
-#define   MCURSOR_MODE_256_32B_AX 0x03
-#define   MCURSOR_MODE_64_32B_AX 0x07
-#define   MCURSOR_MODE_128_ARGB_AX ((1 << 5) | MCURSOR_MODE_128_32B_AX)
-#define   MCURSOR_MODE_256_ARGB_AX ((1 << 5) | MCURSOR_MODE_256_32B_AX)
-#define   MCURSOR_MODE_64_ARGB_AX ((1 << 5) | MCURSOR_MODE_64_32B_AX)
 #define   MCURSOR_ARB_SLOTS_MASK       REG_GENMASK(30, 28) /* icl+ */
 #define   MCURSOR_ARB_SLOTS(x)         REG_FIELD_PREP(MCURSOR_ARB_SLOTS_MASK, (x)) /* icl+ */
-#define   MCURSOR_PIPE_SELECT_MASK     (0x3 << 28)
-#define   MCURSOR_PIPE_SELECT_SHIFT    28
-#define   MCURSOR_PIPE_SELECT(pipe)    ((pipe) << 28)
-#define   MCURSOR_GAMMA_ENABLE  (1 << 26)
-#define   MCURSOR_PIPE_CSC_ENABLE (1 << 24) /* ilk+ */
-#define   MCURSOR_ROTATE_180   (1 << 15)
-#define   MCURSOR_TRICKLE_FEED_DISABLE (1 << 14)
+#define   MCURSOR_PIPE_SEL_MASK                REG_GENMASK(29, 28)
+#define   MCURSOR_PIPE_SEL(pipe)       REG_FIELD_PREP(MCURSOR_PIPE_SEL_MASK, (pipe))
+#define   MCURSOR_PIPE_GAMMA_ENABLE    REG_BIT(26)
+#define   MCURSOR_PIPE_CSC_ENABLE      REG_BIT(24) /* ilk+ */
+#define   MCURSOR_ROTATE_180           REG_BIT(15)
+#define   MCURSOR_TRICKLE_FEED_DISABLE REG_BIT(14)
+#define   MCURSOR_MODE_MASK            0x27
+#define   MCURSOR_MODE_DISABLE         0x00
+#define   MCURSOR_MODE_128_32B_AX      0x02
+#define   MCURSOR_MODE_256_32B_AX      0x03
+#define   MCURSOR_MODE_64_32B_AX       0x07
+#define   MCURSOR_MODE_128_ARGB_AX     (0x20 | MCURSOR_MODE_128_32B_AX)
+#define   MCURSOR_MODE_256_ARGB_AX     (0x20 | MCURSOR_MODE_256_32B_AX)
+#define   MCURSOR_MODE_64_ARGB_AX      (0x20 | MCURSOR_MODE_64_32B_AX)
 #define _CURABASE              0x70084
 #define _CURAPOS               0x70088
-#define   CURSOR_POS_MASK       0x007FF
-#define   CURSOR_POS_SIGN       0x8000
-#define   CURSOR_X_SHIFT        0
-#define   CURSOR_Y_SHIFT        16
-#define CURSIZE                        _MMIO(0x700a0) /* 845/865 */
+#define   CURSOR_POS_Y_SIGN            REG_BIT(31)
+#define   CURSOR_POS_Y_MASK            REG_GENMASK(30, 16)
+#define   CURSOR_POS_Y(y)              REG_FIELD_PREP(CURSOR_POS_Y_MASK, (y))
+#define   CURSOR_POS_X_SIGN            REG_BIT(15)
+#define   CURSOR_POS_X_MASK            REG_GENMASK(14, 0)
+#define   CURSOR_POS_X(x)              REG_FIELD_PREP(CURSOR_POS_X_MASK, (x))
+#define _CURASIZE              0x700a0 /* 845/865 */
+#define   CURSOR_HEIGHT_MASK           REG_GENMASK(21, 12)
+#define   CURSOR_HEIGHT(h)             REG_FIELD_PREP(CURSOR_HEIGHT_MASK, (h))
+#define   CURSOR_WIDTH_MASK            REG_GENMASK(9, 0)
+#define   CURSOR_WIDTH(w)              REG_FIELD_PREP(CURSOR_WIDTH_MASK, (w))
 #define _CUR_FBC_CTL_A         0x700a0 /* ivb+ */
-#define   CUR_FBC_CTL_EN       (1 << 31)
+#define   CUR_FBC_EN                   REG_BIT(31)
+#define   CUR_FBC_HEIGHT_MASK          REG_GENMASK(7, 0)
+#define   CUR_FBC_HEIGHT(h)            REG_FIELD_PREP(CUR_FBC_HEIGHT_MASK, (h))
 #define _CURASURFLIVE          0x700ac /* g4x+ */
 #define _CURBCNTR              0x700c0
 #define _CURBBASE              0x700c4
@@ -6825,6 +4299,7 @@ enum {
 #define CURCNTR(pipe) _CURSOR2(pipe, _CURACNTR)
 #define CURBASE(pipe) _CURSOR2(pipe, _CURABASE)
 #define CURPOS(pipe) _CURSOR2(pipe, _CURAPOS)
+#define CURSIZE(pipe) _CURSOR2(pipe, _CURASIZE)
 #define CUR_FBC_CTL(pipe) _CURSOR2(pipe, _CUR_FBC_CTL_A)
 #define CURSURFLIVE(pipe) _CURSOR2(pipe, _CURASURFLIVE)
 
@@ -6838,49 +4313,54 @@ enum {
 /* Display A control */
 #define _DSPAADDR_VLV                          0x7017C /* vlv/chv */
 #define _DSPACNTR                              0x70180
-#define   DISPLAY_PLANE_ENABLE                 (1 << 31)
-#define   DISPLAY_PLANE_DISABLE                        0
-#define   DISPPLANE_GAMMA_ENABLE               (1 << 30)
-#define   DISPPLANE_GAMMA_DISABLE              0
-#define   DISPPLANE_PIXFORMAT_MASK             (0xf << 26)
-#define   DISPPLANE_YUV422                     (0x0 << 26)
-#define   DISPPLANE_8BPP                       (0x2 << 26)
-#define   DISPPLANE_BGRA555                    (0x3 << 26)
-#define   DISPPLANE_BGRX555                    (0x4 << 26)
-#define   DISPPLANE_BGRX565                    (0x5 << 26)
-#define   DISPPLANE_BGRX888                    (0x6 << 26)
-#define   DISPPLANE_BGRA888                    (0x7 << 26)
-#define   DISPPLANE_RGBX101010                 (0x8 << 26)
-#define   DISPPLANE_RGBA101010                 (0x9 << 26)
-#define   DISPPLANE_BGRX101010                 (0xa << 26)
-#define   DISPPLANE_BGRA101010                 (0xb << 26)
-#define   DISPPLANE_RGBX161616                 (0xc << 26)
-#define   DISPPLANE_RGBX888                    (0xe << 26)
-#define   DISPPLANE_RGBA888                    (0xf << 26)
-#define   DISPPLANE_STEREO_ENABLE              (1 << 25)
-#define   DISPPLANE_STEREO_DISABLE             0
-#define   DISPPLANE_PIPE_CSC_ENABLE            (1 << 24) /* ilk+ */
-#define   DISPPLANE_SEL_PIPE_SHIFT             24
-#define   DISPPLANE_SEL_PIPE_MASK              (3 << DISPPLANE_SEL_PIPE_SHIFT)
-#define   DISPPLANE_SEL_PIPE(pipe)             ((pipe) << DISPPLANE_SEL_PIPE_SHIFT)
-#define   DISPPLANE_SRC_KEY_ENABLE             (1 << 22)
-#define   DISPPLANE_SRC_KEY_DISABLE            0
-#define   DISPPLANE_LINE_DOUBLE                        (1 << 20)
-#define   DISPPLANE_NO_LINE_DOUBLE             0
-#define   DISPPLANE_STEREO_POLARITY_FIRST      0
-#define   DISPPLANE_STEREO_POLARITY_SECOND     (1 << 18)
-#define   DISPPLANE_ALPHA_PREMULTIPLY          (1 << 16) /* CHV pipe B */
-#define   DISPPLANE_ROTATE_180                 (1 << 15)
-#define   DISPPLANE_TRICKLE_FEED_DISABLE       (1 << 14) /* Ironlake */
-#define   DISPPLANE_TILED                      (1 << 10)
-#define   DISPPLANE_ASYNC_FLIP                 (1 << 9) /* g4x+ */
-#define   DISPPLANE_MIRROR                     (1 << 8) /* CHV pipe B */
+#define   DISP_ENABLE                  REG_BIT(31)
+#define   DISP_PIPE_GAMMA_ENABLE       REG_BIT(30)
+#define   DISP_FORMAT_MASK             REG_GENMASK(29, 26)
+#define   DISP_FORMAT_8BPP             REG_FIELD_PREP(DISP_FORMAT_MASK, 2)
+#define   DISP_FORMAT_BGRA555          REG_FIELD_PREP(DISP_FORMAT_MASK, 3)
+#define   DISP_FORMAT_BGRX555          REG_FIELD_PREP(DISP_FORMAT_MASK, 4)
+#define   DISP_FORMAT_BGRX565          REG_FIELD_PREP(DISP_FORMAT_MASK, 5)
+#define   DISP_FORMAT_BGRX888          REG_FIELD_PREP(DISP_FORMAT_MASK, 6)
+#define   DISP_FORMAT_BGRA888          REG_FIELD_PREP(DISP_FORMAT_MASK, 7)
+#define   DISP_FORMAT_RGBX101010       REG_FIELD_PREP(DISP_FORMAT_MASK, 8)
+#define   DISP_FORMAT_RGBA101010       REG_FIELD_PREP(DISP_FORMAT_MASK, 9)
+#define   DISP_FORMAT_BGRX101010       REG_FIELD_PREP(DISP_FORMAT_MASK, 10)
+#define   DISP_FORMAT_BGRA101010       REG_FIELD_PREP(DISP_FORMAT_MASK, 11)
+#define   DISP_FORMAT_RGBX161616       REG_FIELD_PREP(DISP_FORMAT_MASK, 12)
+#define   DISP_FORMAT_RGBX888          REG_FIELD_PREP(DISP_FORMAT_MASK, 14)
+#define   DISP_FORMAT_RGBA888          REG_FIELD_PREP(DISP_FORMAT_MASK, 15)
+#define   DISP_STEREO_ENABLE           REG_BIT(25)
+#define   DISP_PIPE_CSC_ENABLE         REG_BIT(24) /* ilk+ */
+#define   DISP_PIPE_SEL_MASK           REG_GENMASK(25, 24)
+#define   DISP_PIPE_SEL(pipe)          REG_FIELD_PREP(DISP_PIPE_SEL_MASK, (pipe))
+#define   DISP_SRC_KEY_ENABLE          REG_BIT(22)
+#define   DISP_LINE_DOUBLE             REG_BIT(20)
+#define   DISP_STEREO_POLARITY_SECOND  REG_BIT(18)
+#define   DISP_ALPHA_PREMULTIPLY       REG_BIT(16) /* CHV pipe B */
+#define   DISP_ROTATE_180              REG_BIT(15)
+#define   DISP_TRICKLE_FEED_DISABLE    REG_BIT(14) /* g4x+ */
+#define   DISP_TILED                   REG_BIT(10)
+#define   DISP_ASYNC_FLIP              REG_BIT(9) /* g4x+ */
+#define   DISP_MIRROR                  REG_BIT(8) /* CHV pipe B */
 #define _DSPAADDR                              0x70184
 #define _DSPASTRIDE                            0x70188
 #define _DSPAPOS                               0x7018C /* reserved */
+#define   DISP_POS_Y_MASK              REG_GENMASK(31, 0)
+#define   DISP_POS_Y(y)                        REG_FIELD_PREP(DISP_POS_Y_MASK, (y))
+#define   DISP_POS_X_MASK              REG_GENMASK(15, 0)
+#define   DISP_POS_X(x)                        REG_FIELD_PREP(DISP_POS_X_MASK, (x))
 #define _DSPASIZE                              0x70190
+#define   DISP_HEIGHT_MASK             REG_GENMASK(31, 0)
+#define   DISP_HEIGHT(h)               REG_FIELD_PREP(DISP_HEIGHT_MASK, (h))
+#define   DISP_WIDTH_MASK              REG_GENMASK(15, 0)
+#define   DISP_WIDTH(w)                        REG_FIELD_PREP(DISP_WIDTH_MASK, (w))
 #define _DSPASURF                              0x7019C /* 965+ only */
+#define   DISP_ADDR_MASK               REG_GENMASK(31, 12)
 #define _DSPATILEOFF                           0x701A4 /* 965+ only */
+#define   DISP_OFFSET_Y_MASK           REG_GENMASK(31, 16)
+#define   DISP_OFFSET_Y(y)             REG_FIELD_PREP(DISP_OFFSET_Y_MASK, (y))
+#define   DISP_OFFSET_X_MASK           REG_GENMASK(15, 0)
+#define   DISP_OFFSET_X(x)             REG_FIELD_PREP(DISP_OFFSET_X_MASK, (x))
 #define _DSPAOFFSET                            0x701A4 /* HSW */
 #define _DSPASURFLIVE                          0x701AC
 #define _DSPAGAMC                              0x701E0
@@ -6900,15 +4380,28 @@ enum {
 
 /* CHV pipe B blender and primary plane */
 #define _CHV_BLEND_A           0x60a00
-#define   CHV_BLEND_LEGACY             (0 << 30)
-#define   CHV_BLEND_ANDROID            (1 << 30)
-#define   CHV_BLEND_MPO                        (2 << 30)
-#define   CHV_BLEND_MASK               (3 << 30)
+#define   CHV_BLEND_MASK       REG_GENMASK(31, 30)
+#define   CHV_BLEND_LEGACY     REG_FIELD_PREP(CHV_BLEND_MASK, 0)
+#define   CHV_BLEND_ANDROID    REG_FIELD_PREP(CHV_BLEND_MASK, 1)
+#define   CHV_BLEND_MPO                REG_FIELD_PREP(CHV_BLEND_MASK, 2)
 #define _CHV_CANVAS_A          0x60a04
+#define   CHV_CANVAS_RED_MASK  REG_GENMASK(29, 20)
+#define   CHV_CANVAS_GREEN_MASK        REG_GENMASK(19, 10)
+#define   CHV_CANVAS_BLUE_MASK REG_GENMASK(9, 0)
 #define _PRIMPOS_A             0x60a08
+#define   PRIM_POS_Y_MASK      REG_GENMASK(31, 16)
+#define   PRIM_POS_Y(y)                REG_FIELD_PREP(PRIM_POS_Y_MASK, (y))
+#define   PRIM_POS_X_MASK      REG_GENMASK(15, 0)
+#define   PRIM_POS_X(x)                REG_FIELD_PREP(PRIM_POS_X_MASK, (x))
 #define _PRIMSIZE_A            0x60a0c
+#define   PRIM_HEIGHT_MASK     REG_GENMASK(31, 16)
+#define   PRIM_HEIGHT(h)       REG_FIELD_PREP(PRIM_HEIGHT_MASK, (h))
+#define   PRIM_WIDTH_MASK      REG_GENMASK(15, 0)
+#define   PRIM_WIDTH(w)                REG_FIELD_PREP(PRIM_WIDTH_MASK, (w))
 #define _PRIMCNSTALPHA_A       0x60a10
-#define   PRIM_CONST_ALPHA_ENABLE      (1 << 31)
+#define   PRIM_CONST_ALPHA_ENABLE      REG_BIT(31)
+#define   PRIM_CONST_ALPHA_MASK                REG_GENMASK(7, 0)
+#define   PRIM_CONST_ALPHA(alpha)      REG_FIELD_PREP(PRIM_CONST_ALPHA_MASK, (alpha))
 
 #define CHV_BLEND(pipe)                _MMIO_TRANS2(pipe, _CHV_BLEND_A)
 #define CHV_CANVAS(pipe)       _MMIO_TRANS2(pipe, _CHV_CANVAS_A)
@@ -6949,10 +4442,8 @@ enum {
 
 /* Display B control */
 #define _DSPBCNTR              (DISPLAY_MMIO_BASE(dev_priv) + 0x71180)
-#define   DISPPLANE_ALPHA_TRANS_ENABLE         (1 << 15)
-#define   DISPPLANE_ALPHA_TRANS_DISABLE                0
-#define   DISPPLANE_SPRITE_ABOVE_DISPLAY       0
-#define   DISPPLANE_SPRITE_ABOVE_OVERLAY       (1)
+#define   DISP_ALPHA_TRANS_ENABLE      REG_BIT(15)
+#define   DISP_SPRITE_ABOVE_OVERLAY    REG_BIT(0)
 #define _DSPBADDR              (DISPLAY_MMIO_BASE(dev_priv) + 0x71184)
 #define _DSPBSTRIDE            (DISPLAY_MMIO_BASE(dev_priv) + 0x71188)
 #define _DSPBPOS               (DISPLAY_MMIO_BASE(dev_priv) + 0x7118C)
@@ -6968,46 +4459,63 @@ enum {
 
 /* Sprite A control */
 #define _DVSACNTR              0x72180
-#define   DVS_ENABLE           (1 << 31)
-#define   DVS_GAMMA_ENABLE     (1 << 30)
-#define   DVS_YUV_RANGE_CORRECTION_DISABLE     (1 << 27)
-#define   DVS_PIXFORMAT_MASK   (3 << 25)
-#define   DVS_FORMAT_YUV422    (0 << 25)
-#define   DVS_FORMAT_RGBX101010        (1 << 25)
-#define   DVS_FORMAT_RGBX888   (2 << 25)
-#define   DVS_FORMAT_RGBX161616        (3 << 25)
-#define   DVS_PIPE_CSC_ENABLE   (1 << 24)
-#define   DVS_SOURCE_KEY       (1 << 22)
-#define   DVS_RGB_ORDER_XBGR   (1 << 20)
-#define   DVS_YUV_FORMAT_BT709 (1 << 18)
-#define   DVS_YUV_ORDER_MASK   (3 << 16)
-#define   DVS_YUV_ORDER_YUYV   (0 << 16)
-#define   DVS_YUV_ORDER_UYVY   (1 << 16)
-#define   DVS_YUV_ORDER_YVYU   (2 << 16)
-#define   DVS_YUV_ORDER_VYUY   (3 << 16)
-#define   DVS_ROTATE_180       (1 << 15)
-#define   DVS_DEST_KEY         (1 << 2)
-#define   DVS_TRICKLE_FEED_DISABLE (1 << 14)
-#define   DVS_TILED            (1 << 10)
+#define   DVS_ENABLE                   REG_BIT(31)
+#define   DVS_PIPE_GAMMA_ENABLE                REG_BIT(30)
+#define   DVS_YUV_RANGE_CORRECTION_DISABLE     REG_BIT(27)
+#define   DVS_FORMAT_MASK              REG_GENMASK(26, 25)
+#define   DVS_FORMAT_YUV422            REG_FIELD_PREP(DVS_FORMAT_MASK, 0)
+#define   DVS_FORMAT_RGBX101010                REG_FIELD_PREP(DVS_FORMAT_MASK, 1)
+#define   DVS_FORMAT_RGBX888           REG_FIELD_PREP(DVS_FORMAT_MASK, 2)
+#define   DVS_FORMAT_RGBX161616                REG_FIELD_PREP(DVS_FORMAT_MASK, 3)
+#define   DVS_PIPE_CSC_ENABLE          REG_BIT(24)
+#define   DVS_SOURCE_KEY               REG_BIT(22)
+#define   DVS_RGB_ORDER_XBGR           REG_BIT(20)
+#define   DVS_YUV_FORMAT_BT709         REG_BIT(18)
+#define   DVS_YUV_ORDER_MASK           REG_GENMASK(17, 16)
+#define   DVS_YUV_ORDER_YUYV           REG_FIELD_PREP(DVS_YUV_ORDER_MASK, 0)
+#define   DVS_YUV_ORDER_UYVY           REG_FIELD_PREP(DVS_YUV_ORDER_MASK, 1)
+#define   DVS_YUV_ORDER_YVYU           REG_FIELD_PREP(DVS_YUV_ORDER_MASK, 2)
+#define   DVS_YUV_ORDER_VYUY           REG_FIELD_PREP(DVS_YUV_ORDER_MASK, 3)
+#define   DVS_ROTATE_180               REG_BIT(15)
+#define   DVS_TRICKLE_FEED_DISABLE     REG_BIT(14)
+#define   DVS_TILED                    REG_BIT(10)
+#define   DVS_DEST_KEY                 REG_BIT(2)
 #define _DVSALINOFF            0x72184
 #define _DVSASTRIDE            0x72188
 #define _DVSAPOS               0x7218c
+#define   DVS_POS_Y_MASK               REG_GENMASK(31, 16)
+#define   DVS_POS_Y(y)                 REG_FIELD_PREP(DVS_POS_Y_MASK, (y))
+#define   DVS_POS_X_MASK               REG_GENMASK(15, 0)
+#define   DVS_POS_X(x)                 REG_FIELD_PREP(DVS_POS_X_MASK, (x))
 #define _DVSASIZE              0x72190
+#define   DVS_HEIGHT_MASK              REG_GENMASK(31, 16)
+#define   DVS_HEIGHT(h)                        REG_FIELD_PREP(DVS_HEIGHT_MASK, (h))
+#define   DVS_WIDTH_MASK               REG_GENMASK(15, 0)
+#define   DVS_WIDTH(w)                 REG_FIELD_PREP(DVS_WIDTH_MASK, (w))
 #define _DVSAKEYVAL            0x72194
 #define _DVSAKEYMSK            0x72198
 #define _DVSASURF              0x7219c
+#define   DVS_ADDR_MASK                        REG_GENMASK(31, 12)
 #define _DVSAKEYMAXVAL         0x721a0
 #define _DVSATILEOFF           0x721a4
+#define   DVS_OFFSET_Y_MASK            REG_GENMASK(31, 16)
+#define   DVS_OFFSET_Y(y)              REG_FIELD_PREP(DVS_OFFSET_Y_MASK, (y))
+#define   DVS_OFFSET_X_MASK            REG_GENMASK(15, 0)
+#define   DVS_OFFSET_X(x)              REG_FIELD_PREP(DVS_OFFSET_X_MASK, (x))
 #define _DVSASURFLIVE          0x721ac
 #define _DVSAGAMC_G4X          0x721e0 /* g4x */
 #define _DVSASCALE             0x72204
-#define   DVS_SCALE_ENABLE     (1 << 31)
-#define   DVS_FILTER_MASK      (3 << 29)
-#define   DVS_FILTER_MEDIUM    (0 << 29)
-#define   DVS_FILTER_ENHANCING (1 << 29)
-#define   DVS_FILTER_SOFTENING (2 << 29)
-#define   DVS_VERTICAL_OFFSET_HALF (1 << 28) /* must be enabled below */
-#define   DVS_VERTICAL_OFFSET_ENABLE (1 << 27)
+#define   DVS_SCALE_ENABLE             REG_BIT(31)
+#define   DVS_FILTER_MASK              REG_GENMASK(30, 29)
+#define   DVS_FILTER_MEDIUM            REG_FIELD_PREP(DVS_FILTER_MASK, 0)
+#define   DVS_FILTER_ENHANCING         REG_FIELD_PREP(DVS_FILTER_MASK, 1)
+#define   DVS_FILTER_SOFTENING         REG_FIELD_PREP(DVS_FILTER_MASK, 2)
+#define   DVS_VERTICAL_OFFSET_HALF     REG_BIT(28) /* must be enabled below */
+#define   DVS_VERTICAL_OFFSET_ENABLE   REG_BIT(27)
+#define   DVS_SRC_WIDTH_MASK           REG_GENMASK(26, 16)
+#define   DVS_SRC_WIDTH(w)             REG_FIELD_PREP(DVS_SRC_WIDTH_MASK, (w))
+#define   DVS_SRC_HEIGHT_MASK          REG_GENMASK(10, 0)
+#define   DVS_SRC_HEIGHT(h)            REG_FIELD_PREP(DVS_SRC_HEIGHT_MASK, (h))
 #define _DVSAGAMC_ILK          0x72300 /* ilk/snb */
 #define _DVSAGAMCMAX_ILK       0x72340 /* ilk/snb */
 
@@ -7044,50 +4552,67 @@ enum {
 #define DVSGAMCMAX_ILK(pipe, i) _MMIO(_PIPE(pipe, _DVSAGAMCMAX_ILK, _DVSBGAMCMAX_ILK) + (i) * 4) /* 3 x u1.10 */
 
 #define _SPRA_CTL              0x70280
-#define   SPRITE_ENABLE                        (1 << 31)
-#define   SPRITE_GAMMA_ENABLE          (1 << 30)
-#define   SPRITE_YUV_RANGE_CORRECTION_DISABLE  (1 << 28)
-#define   SPRITE_PIXFORMAT_MASK                (7 << 25)
-#define   SPRITE_FORMAT_YUV422         (0 << 25)
-#define   SPRITE_FORMAT_RGBX101010     (1 << 25)
-#define   SPRITE_FORMAT_RGBX888                (2 << 25)
-#define   SPRITE_FORMAT_RGBX161616     (3 << 25)
-#define   SPRITE_FORMAT_YUV444         (4 << 25)
-#define   SPRITE_FORMAT_XR_BGR101010   (5 << 25) /* Extended range */
-#define   SPRITE_PIPE_CSC_ENABLE       (1 << 24)
-#define   SPRITE_SOURCE_KEY            (1 << 22)
-#define   SPRITE_RGB_ORDER_RGBX                (1 << 20) /* only for 888 and 161616 */
-#define   SPRITE_YUV_TO_RGB_CSC_DISABLE        (1 << 19)
-#define   SPRITE_YUV_TO_RGB_CSC_FORMAT_BT709   (1 << 18) /* 0 is BT601 */
-#define   SPRITE_YUV_ORDER_MASK                (3 << 16)
-#define   SPRITE_YUV_ORDER_YUYV                (0 << 16)
-#define   SPRITE_YUV_ORDER_UYVY                (1 << 16)
-#define   SPRITE_YUV_ORDER_YVYU                (2 << 16)
-#define   SPRITE_YUV_ORDER_VYUY                (3 << 16)
-#define   SPRITE_ROTATE_180            (1 << 15)
-#define   SPRITE_TRICKLE_FEED_DISABLE  (1 << 14)
-#define   SPRITE_INT_GAMMA_DISABLE     (1 << 13)
-#define   SPRITE_TILED                 (1 << 10)
-#define   SPRITE_DEST_KEY              (1 << 2)
+#define   SPRITE_ENABLE                                REG_BIT(31)
+#define   SPRITE_PIPE_GAMMA_ENABLE             REG_BIT(30)
+#define   SPRITE_YUV_RANGE_CORRECTION_DISABLE  REG_BIT(28)
+#define   SPRITE_FORMAT_MASK                   REG_GENMASK(27, 25)
+#define   SPRITE_FORMAT_YUV422                 REG_FIELD_PREP(SPRITE_FORMAT_MASK, 0)
+#define   SPRITE_FORMAT_RGBX101010             REG_FIELD_PREP(SPRITE_FORMAT_MASK, 1)
+#define   SPRITE_FORMAT_RGBX888                        REG_FIELD_PREP(SPRITE_FORMAT_MASK, 2)
+#define   SPRITE_FORMAT_RGBX161616             REG_FIELD_PREP(SPRITE_FORMAT_MASK, 3)
+#define   SPRITE_FORMAT_YUV444                 REG_FIELD_PREP(SPRITE_FORMAT_MASK, 4)
+#define   SPRITE_FORMAT_XR_BGR101010           REG_FIELD_PREP(SPRITE_FORMAT_MASK, 5) /* Extended range */
+#define   SPRITE_PIPE_CSC_ENABLE               REG_BIT(24)
+#define   SPRITE_SOURCE_KEY                    REG_BIT(22)
+#define   SPRITE_RGB_ORDER_RGBX                        REG_BIT(20) /* only for 888 and 161616 */
+#define   SPRITE_YUV_TO_RGB_CSC_DISABLE                REG_BIT(19)
+#define   SPRITE_YUV_TO_RGB_CSC_FORMAT_BT709   REG_BIT(18) /* 0 is BT601 */
+#define   SPRITE_YUV_ORDER_MASK                        REG_GENMASK(17, 16)
+#define   SPRITE_YUV_ORDER_YUYV                        REG_FIELD_PREP(SPRITE_YUV_ORDER_MASK, 0)
+#define   SPRITE_YUV_ORDER_UYVY                        REG_FIELD_PREP(SPRITE_YUV_ORDER_MASK, 1)
+#define   SPRITE_YUV_ORDER_YVYU                        REG_FIELD_PREP(SPRITE_YUV_ORDER_MASK, 2)
+#define   SPRITE_YUV_ORDER_VYUY                        REG_FIELD_PREP(SPRITE_YUV_ORDER_MASK, 3)
+#define   SPRITE_ROTATE_180                    REG_BIT(15)
+#define   SPRITE_TRICKLE_FEED_DISABLE          REG_BIT(14)
+#define   SPRITE_PLANE_GAMMA_DISABLE           REG_BIT(13)
+#define   SPRITE_TILED                         REG_BIT(10)
+#define   SPRITE_DEST_KEY                      REG_BIT(2)
 #define _SPRA_LINOFF           0x70284
 #define _SPRA_STRIDE           0x70288
 #define _SPRA_POS              0x7028c
+#define   SPRITE_POS_Y_MASK    REG_GENMASK(31, 16)
+#define   SPRITE_POS_Y(y)      REG_FIELD_PREP(SPRITE_POS_Y_MASK, (y))
+#define   SPRITE_POS_X_MASK    REG_GENMASK(15, 0)
+#define   SPRITE_POS_X(x)      REG_FIELD_PREP(SPRITE_POS_X_MASK, (x))
 #define _SPRA_SIZE             0x70290
+#define   SPRITE_HEIGHT_MASK   REG_GENMASK(31, 16)
+#define   SPRITE_HEIGHT(h)     REG_FIELD_PREP(SPRITE_HEIGHT_MASK, (h))
+#define   SPRITE_WIDTH_MASK    REG_GENMASK(15, 0)
+#define   SPRITE_WIDTH(w)      REG_FIELD_PREP(SPRITE_WIDTH_MASK, (w))
 #define _SPRA_KEYVAL           0x70294
 #define _SPRA_KEYMSK           0x70298
 #define _SPRA_SURF             0x7029c
+#define   SPRITE_ADDR_MASK     REG_GENMASK(31, 12)
 #define _SPRA_KEYMAX           0x702a0
 #define _SPRA_TILEOFF          0x702a4
+#define   SPRITE_OFFSET_Y_MASK REG_GENMASK(31, 16)
+#define   SPRITE_OFFSET_Y(y)   REG_FIELD_PREP(SPRITE_OFFSET_Y_MASK, (y))
+#define   SPRITE_OFFSET_X_MASK REG_GENMASK(15, 0)
+#define   SPRITE_OFFSET_X(x)   REG_FIELD_PREP(SPRITE_OFFSET_X_MASK, (x))
 #define _SPRA_OFFSET           0x702a4
 #define _SPRA_SURFLIVE         0x702ac
 #define _SPRA_SCALE            0x70304
-#define   SPRITE_SCALE_ENABLE  (1 << 31)
-#define   SPRITE_FILTER_MASK   (3 << 29)
-#define   SPRITE_FILTER_MEDIUM (0 << 29)
-#define   SPRITE_FILTER_ENHANCING      (1 << 29)
-#define   SPRITE_FILTER_SOFTENING      (2 << 29)
-#define   SPRITE_VERTICAL_OFFSET_HALF  (1 << 28) /* must be enabled below */
-#define   SPRITE_VERTICAL_OFFSET_ENABLE        (1 << 27)
+#define   SPRITE_SCALE_ENABLE                  REG_BIT(31)
+#define   SPRITE_FILTER_MASK                   REG_GENMASK(30, 29)
+#define   SPRITE_FILTER_MEDIUM                 REG_FIELD_PREP(SPRITE_FILTER_MASK, 0)
+#define   SPRITE_FILTER_ENHANCING              REG_FIELD_PREP(SPRITE_FILTER_MASK, 1)
+#define   SPRITE_FILTER_SOFTENING              REG_FIELD_PREP(SPRITE_FILTER_MASK, 2)
+#define   SPRITE_VERTICAL_OFFSET_HALF          REG_BIT(28) /* must be enabled below */
+#define   SPRITE_VERTICAL_OFFSET_ENABLE                REG_BIT(27)
+#define   SPRITE_SRC_WIDTH_MASK                        REG_GENMASK(26, 16)
+#define   SPRITE_SRC_WIDTH(w)                  REG_FIELD_PREP(SPRITE_SRC_WIDTH_MASK, (w))
+#define   SPRITE_SRC_HEIGHT_MASK               REG_GENMASK(10, 0)
+#define   SPRITE_SRC_HEIGHT(h)                 REG_FIELD_PREP(SPRITE_SRC_HEIGHT_MASK, (h))
 #define _SPRA_GAMC             0x70400
 #define _SPRA_GAMC16           0x70440
 #define _SPRA_GAMC17           0x7044c
@@ -7127,48 +4652,67 @@ enum {
 #define SPRSURFLIVE(pipe) _MMIO_PIPE(pipe, _SPRA_SURFLIVE, _SPRB_SURFLIVE)
 
 #define _SPACNTR               (VLV_DISPLAY_BASE + 0x72180)
-#define   SP_ENABLE                    (1 << 31)
-#define   SP_GAMMA_ENABLE              (1 << 30)
-#define   SP_PIXFORMAT_MASK            (0xf << 26)
-#define   SP_FORMAT_YUV422             (0x0 << 26)
-#define   SP_FORMAT_8BPP               (0x2 << 26)
-#define   SP_FORMAT_BGR565             (0x5 << 26)
-#define   SP_FORMAT_BGRX8888           (0x6 << 26)
-#define   SP_FORMAT_BGRA8888           (0x7 << 26)
-#define   SP_FORMAT_RGBX1010102                (0x8 << 26)
-#define   SP_FORMAT_RGBA1010102                (0x9 << 26)
-#define   SP_FORMAT_BGRX1010102                (0xa << 26) /* CHV pipe B */
-#define   SP_FORMAT_BGRA1010102                (0xb << 26) /* CHV pipe B */
-#define   SP_FORMAT_RGBX8888           (0xe << 26)
-#define   SP_FORMAT_RGBA8888           (0xf << 26)
-#define   SP_ALPHA_PREMULTIPLY         (1 << 23) /* CHV pipe B */
-#define   SP_SOURCE_KEY                        (1 << 22)
-#define   SP_YUV_FORMAT_BT709          (1 << 18)
-#define   SP_YUV_ORDER_MASK            (3 << 16)
-#define   SP_YUV_ORDER_YUYV            (0 << 16)
-#define   SP_YUV_ORDER_UYVY            (1 << 16)
-#define   SP_YUV_ORDER_YVYU            (2 << 16)
-#define   SP_YUV_ORDER_VYUY            (3 << 16)
-#define   SP_ROTATE_180                        (1 << 15)
-#define   SP_TILED                     (1 << 10)
-#define   SP_MIRROR                    (1 << 8) /* CHV pipe B */
+#define   SP_ENABLE                    REG_BIT(31)
+#define   SP_PIPE_GAMMA_ENABLE         REG_BIT(30)
+#define   SP_FORMAT_MASK               REG_GENMASK(29, 26)
+#define   SP_FORMAT_YUV422             REG_FIELD_PREP(SP_FORMAT_MASK, 0)
+#define   SP_FORMAT_8BPP               REG_FIELD_PREP(SP_FORMAT_MASK, 2)
+#define   SP_FORMAT_BGR565             REG_FIELD_PREP(SP_FORMAT_MASK, 5)
+#define   SP_FORMAT_BGRX8888           REG_FIELD_PREP(SP_FORMAT_MASK, 6)
+#define   SP_FORMAT_BGRA8888           REG_FIELD_PREP(SP_FORMAT_MASK, 7)
+#define   SP_FORMAT_RGBX1010102                REG_FIELD_PREP(SP_FORMAT_MASK, 8)
+#define   SP_FORMAT_RGBA1010102                REG_FIELD_PREP(SP_FORMAT_MASK, 9)
+#define   SP_FORMAT_BGRX1010102                REG_FIELD_PREP(SP_FORMAT_MASK, 10) /* CHV pipe B */
+#define   SP_FORMAT_BGRA1010102                REG_FIELD_PREP(SP_FORMAT_MASK, 11) /* CHV pipe B */
+#define   SP_FORMAT_RGBX8888           REG_FIELD_PREP(SP_FORMAT_MASK, 14)
+#define   SP_FORMAT_RGBA8888           REG_FIELD_PREP(SP_FORMAT_MASK, 15)
+#define   SP_ALPHA_PREMULTIPLY         REG_BIT(23) /* CHV pipe B */
+#define   SP_SOURCE_KEY                        REG_BIT(22)
+#define   SP_YUV_FORMAT_BT709          REG_BIT(18)
+#define   SP_YUV_ORDER_MASK            REG_GENMASK(17, 16)
+#define   SP_YUV_ORDER_YUYV            REG_FIELD_PREP(SP_YUV_ORDER_MASK, 0)
+#define   SP_YUV_ORDER_UYVY            REG_FIELD_PREP(SP_YUV_ORDER_MASK, 1)
+#define   SP_YUV_ORDER_YVYU            REG_FIELD_PREP(SP_YUV_ORDER_MASK, 2)
+#define   SP_YUV_ORDER_VYUY            REG_FIELD_PREP(SP_YUV_ORDER_MASK, 3)
+#define   SP_ROTATE_180                        REG_BIT(15)
+#define   SP_TILED                     REG_BIT(10)
+#define   SP_MIRROR                    REG_BIT(8) /* CHV pipe B */
 #define _SPALINOFF             (VLV_DISPLAY_BASE + 0x72184)
 #define _SPASTRIDE             (VLV_DISPLAY_BASE + 0x72188)
 #define _SPAPOS                        (VLV_DISPLAY_BASE + 0x7218c)
+#define   SP_POS_Y_MASK                        REG_GENMASK(31, 16)
+#define   SP_POS_Y(y)                  REG_FIELD_PREP(SP_POS_Y_MASK, (y))
+#define   SP_POS_X_MASK                        REG_GENMASK(15, 0)
+#define   SP_POS_X(x)                  REG_FIELD_PREP(SP_POS_X_MASK, (x))
 #define _SPASIZE               (VLV_DISPLAY_BASE + 0x72190)
+#define   SP_HEIGHT_MASK               REG_GENMASK(31, 16)
+#define   SP_HEIGHT(h)                 REG_FIELD_PREP(SP_HEIGHT_MASK, (h))
+#define   SP_WIDTH_MASK                        REG_GENMASK(15, 0)
+#define   SP_WIDTH(w)                  REG_FIELD_PREP(SP_WIDTH_MASK, (w))
 #define _SPAKEYMINVAL          (VLV_DISPLAY_BASE + 0x72194)
 #define _SPAKEYMSK             (VLV_DISPLAY_BASE + 0x72198)
 #define _SPASURF               (VLV_DISPLAY_BASE + 0x7219c)
+#define   SP_ADDR_MASK                 REG_GENMASK(31, 12)
 #define _SPAKEYMAXVAL          (VLV_DISPLAY_BASE + 0x721a0)
 #define _SPATILEOFF            (VLV_DISPLAY_BASE + 0x721a4)
+#define   SP_OFFSET_Y_MASK             REG_GENMASK(31, 16)
+#define   SP_OFFSET_Y(y)               REG_FIELD_PREP(SP_OFFSET_Y_MASK, (y))
+#define   SP_OFFSET_X_MASK             REG_GENMASK(15, 0)
+#define   SP_OFFSET_X(x)               REG_FIELD_PREP(SP_OFFSET_X_MASK, (x))
 #define _SPACONSTALPHA         (VLV_DISPLAY_BASE + 0x721a8)
-#define   SP_CONST_ALPHA_ENABLE                (1 << 31)
+#define   SP_CONST_ALPHA_ENABLE                REG_BIT(31)
+#define   SP_CONST_ALPHA_MASK          REG_GENMASK(7, 0)
+#define   SP_CONST_ALPHA(alpha)                REG_FIELD_PREP(SP_CONST_ALPHA_MASK, (alpha))
 #define _SPACLRC0              (VLV_DISPLAY_BASE + 0x721d0)
-#define   SP_CONTRAST(x)               ((x) << 18) /* u3.6 */
-#define   SP_BRIGHTNESS(x)             ((x) & 0xff) /* s8 */
+#define   SP_CONTRAST_MASK             REG_GENMASK(26, 18)
+#define   SP_CONTRAST(x)               REG_FIELD_PREP(SP_CONTRAST_MASK, (x)) /* u3.6 */
+#define   SP_BRIGHTNESS_MASK           REG_GENMASK(7, 0)
+#define   SP_BRIGHTNESS(x)             REG_FIELD_PREP(SP_BRIGHTNESS_MASK, (x)) /* s8 */
 #define _SPACLRC1              (VLV_DISPLAY_BASE + 0x721d4)
-#define   SP_SH_SIN(x)                 (((x) & 0x7ff) << 16) /* s4.7 */
-#define   SP_SH_COS(x)                 (x) /* u3.7 */
+#define   SP_SH_SIN_MASK               REG_GENMASK(26, 16)
+#define   SP_SH_SIN(x)                 REG_FIELD_PREP(SP_SH_SIN_MASK, (x)) /* s4.7 */
+#define   SP_SH_COS_MASK               REG_GENMASK(9, 0)
+#define   SP_SH_COS(x)                 REG_FIELD_PREP(SP_SH_COS_MASK, (x)) /* u3.7 */
 #define _SPAGAMC               (VLV_DISPLAY_BASE + 0x721e0)
 
 #define _SPBCNTR               (VLV_DISPLAY_BASE + 0x72280)
@@ -7219,112 +4763,135 @@ enum {
 #define SPCSCYGOFF(plane_id)   _MMIO_CHV_SPCSC(plane_id, 0x6d900)
 #define SPCSCCBOFF(plane_id)   _MMIO_CHV_SPCSC(plane_id, 0x6d904)
 #define SPCSCCROFF(plane_id)   _MMIO_CHV_SPCSC(plane_id, 0x6d908)
-#define  SPCSC_OOFF(x)         (((x) & 0x7ff) << 16) /* s11 */
-#define  SPCSC_IOFF(x)         (((x) & 0x7ff) << 0) /* s11 */
+#define  SPCSC_OOFF_MASK       REG_GENMASK(26, 16)
+#define  SPCSC_OOFF(x)         REG_FIELD_PREP(SPCSC_OOFF_MASK, (x) & 0x7ff) /* s11 */
+#define  SPCSC_IOFF_MASK       REG_GENMASK(10, 0)
+#define  SPCSC_IOFF(x)         REG_FIELD_PREP(SPCSC_IOFF_MASK, (x) & 0x7ff) /* s11 */
 
 #define SPCSCC01(plane_id)     _MMIO_CHV_SPCSC(plane_id, 0x6d90c)
 #define SPCSCC23(plane_id)     _MMIO_CHV_SPCSC(plane_id, 0x6d910)
 #define SPCSCC45(plane_id)     _MMIO_CHV_SPCSC(plane_id, 0x6d914)
 #define SPCSCC67(plane_id)     _MMIO_CHV_SPCSC(plane_id, 0x6d918)
 #define SPCSCC8(plane_id)      _MMIO_CHV_SPCSC(plane_id, 0x6d91c)
-#define  SPCSC_C1(x)           (((x) & 0x7fff) << 16) /* s3.12 */
-#define  SPCSC_C0(x)           (((x) & 0x7fff) << 0) /* s3.12 */
+#define  SPCSC_C1_MASK         REG_GENMASK(30, 16)
+#define  SPCSC_C1(x)           REG_FIELD_PREP(SPCSC_C1_MASK, (x) & 0x7fff) /* s3.12 */
+#define  SPCSC_C0_MASK         REG_GENMASK(14, 0)
+#define  SPCSC_C0(x)           REG_FIELD_PREP(SPCSC_C0_MASK, (x) & 0x7fff) /* s3.12 */
 
 #define SPCSCYGICLAMP(plane_id)        _MMIO_CHV_SPCSC(plane_id, 0x6d920)
 #define SPCSCCBICLAMP(plane_id)        _MMIO_CHV_SPCSC(plane_id, 0x6d924)
 #define SPCSCCRICLAMP(plane_id)        _MMIO_CHV_SPCSC(plane_id, 0x6d928)
-#define  SPCSC_IMAX(x)         (((x) & 0x7ff) << 16) /* s11 */
-#define  SPCSC_IMIN(x)         (((x) & 0x7ff) << 0) /* s11 */
+#define  SPCSC_IMAX_MASK       REG_GENMASK(26, 16)
+#define  SPCSC_IMAX(x)         REG_FIELD_PREP(SPCSC_IMAX_MASK, (x) & 0x7ff) /* s11 */
+#define  SPCSC_IMIN_MASK       REG_GENMASK(10, 0)
+#define  SPCSC_IMIN(x)         REG_FIELD_PREP(SPCSC_IMIN_MASK, (x) & 0x7ff) /* s11 */
 
 #define SPCSCYGOCLAMP(plane_id)        _MMIO_CHV_SPCSC(plane_id, 0x6d92c)
 #define SPCSCCBOCLAMP(plane_id)        _MMIO_CHV_SPCSC(plane_id, 0x6d930)
 #define SPCSCCROCLAMP(plane_id)        _MMIO_CHV_SPCSC(plane_id, 0x6d934)
-#define  SPCSC_OMAX(x)         ((x) << 16) /* u10 */
-#define  SPCSC_OMIN(x)         ((x) << 0) /* u10 */
+#define  SPCSC_OMAX_MASK       REG_GENMASK(25, 16)
+#define  SPCSC_OMAX(x)         REG_FIELD_PREP(SPCSC_OMAX_MASK, (x)) /* u10 */
+#define  SPCSC_OMIN_MASK       REG_GENMASK(9, 0)
+#define  SPCSC_OMIN(x)         REG_FIELD_PREP(SPCSC_OMIN_MASK, (x)) /* u10 */
 
 /* Skylake plane registers */
 
 #define _PLANE_CTL_1_A                         0x70180
 #define _PLANE_CTL_2_A                         0x70280
 #define _PLANE_CTL_3_A                         0x70380
-#define   PLANE_CTL_ENABLE                     (1 << 31)
+#define   PLANE_CTL_ENABLE                     REG_BIT(31)
 #define   PLANE_CTL_ARB_SLOTS_MASK             REG_GENMASK(30, 28) /* icl+ */
 #define   PLANE_CTL_ARB_SLOTS(x)               REG_FIELD_PREP(PLANE_CTL_ARB_SLOTS_MASK, (x)) /* icl+ */
-#define   PLANE_CTL_PIPE_GAMMA_ENABLE          (1 << 30)   /* Pre-GLK */
-#define   PLANE_CTL_YUV_RANGE_CORRECTION_DISABLE       (1 << 28)
+#define   PLANE_CTL_PIPE_GAMMA_ENABLE          REG_BIT(30) /* Pre-GLK */
+#define   PLANE_CTL_YUV_RANGE_CORRECTION_DISABLE       REG_BIT(28)
 /*
  * ICL+ uses the same PLANE_CTL_FORMAT bits, but the field definition
  * expanded to include bit 23 as well. However, the shift-24 based values
  * correctly map to the same formats in ICL, as long as bit 23 is set to 0
  */
-#define   PLANE_CTL_FORMAT_MASK                        (0xf << 24)
-#define   PLANE_CTL_FORMAT_YUV422              (0 << 24)
-#define   PLANE_CTL_FORMAT_NV12                        (1 << 24)
-#define   PLANE_CTL_FORMAT_XRGB_2101010                (2 << 24)
-#define   PLANE_CTL_FORMAT_P010                        (3 << 24)
-#define   PLANE_CTL_FORMAT_XRGB_8888           (4 << 24)
-#define   PLANE_CTL_FORMAT_P012                        (5 << 24)
-#define   PLANE_CTL_FORMAT_XRGB_16161616F      (6 << 24)
-#define   PLANE_CTL_FORMAT_P016                        (7 << 24)
-#define   PLANE_CTL_FORMAT_XYUV                        (8 << 24)
-#define   PLANE_CTL_FORMAT_INDEXED             (12 << 24)
-#define   PLANE_CTL_FORMAT_RGB_565             (14 << 24)
-#define   ICL_PLANE_CTL_FORMAT_MASK            (0x1f << 23)
-#define   PLANE_CTL_PIPE_CSC_ENABLE            (1 << 23) /* Pre-GLK */
-#define   PLANE_CTL_FORMAT_Y210                 (1 << 23)
-#define   PLANE_CTL_FORMAT_Y212                 (3 << 23)
-#define   PLANE_CTL_FORMAT_Y216                 (5 << 23)
-#define   PLANE_CTL_FORMAT_Y410                 (7 << 23)
-#define   PLANE_CTL_FORMAT_Y412                 (9 << 23)
-#define   PLANE_CTL_FORMAT_Y416                 (0xb << 23)
-#define   PLANE_CTL_KEY_ENABLE_MASK            (0x3 << 21)
-#define   PLANE_CTL_KEY_ENABLE_SOURCE          (1 << 21)
-#define   PLANE_CTL_KEY_ENABLE_DESTINATION     (2 << 21)
-#define   PLANE_CTL_ORDER_BGRX                 (0 << 20)
-#define   PLANE_CTL_ORDER_RGBX                 (1 << 20)
-#define   PLANE_CTL_YUV420_Y_PLANE             (1 << 19)
-#define   PLANE_CTL_YUV_TO_RGB_CSC_FORMAT_BT709        (1 << 18)
-#define   PLANE_CTL_YUV422_ORDER_MASK          (0x3 << 16)
-#define   PLANE_CTL_YUV422_ORDER_YUYV          (0 << 16)
-#define   PLANE_CTL_YUV422_ORDER_UYVY          (1 << 16)
-#define   PLANE_CTL_YUV422_ORDER_YVYU          (2 << 16)
-#define   PLANE_CTL_YUV422_ORDER_VYUY          (3 << 16)
-#define   PLANE_CTL_RENDER_DECOMPRESSION_ENABLE        (1 << 15)
-#define   PLANE_CTL_TRICKLE_FEED_DISABLE       (1 << 14)
-#define   PLANE_CTL_CLEAR_COLOR_DISABLE                (1 << 13) /* TGL+ */
-#define   PLANE_CTL_PLANE_GAMMA_DISABLE                (1 << 13) /* Pre-GLK */
-#define   PLANE_CTL_TILED_MASK                 (0x7 << 10)
-#define   PLANE_CTL_TILED_LINEAR               (0 << 10)
-#define   PLANE_CTL_TILED_X                    (1 << 10)
-#define   PLANE_CTL_TILED_Y                    (4 << 10)
-#define   PLANE_CTL_TILED_YF                   (5 << 10)
-#define   PLANE_CTL_ASYNC_FLIP                 (1 << 9)
-#define   PLANE_CTL_FLIP_HORIZONTAL            (1 << 8)
-#define   PLANE_CTL_MEDIA_DECOMPRESSION_ENABLE (1 << 4) /* TGL+ */
-#define   PLANE_CTL_ALPHA_MASK                 (0x3 << 4) /* Pre-GLK */
-#define   PLANE_CTL_ALPHA_DISABLE              (0 << 4)
-#define   PLANE_CTL_ALPHA_SW_PREMULTIPLY       (2 << 4)
-#define   PLANE_CTL_ALPHA_HW_PREMULTIPLY       (3 << 4)
-#define   PLANE_CTL_ROTATE_MASK                        0x3
-#define   PLANE_CTL_ROTATE_0                   0x0
-#define   PLANE_CTL_ROTATE_90                  0x1
-#define   PLANE_CTL_ROTATE_180                 0x2
-#define   PLANE_CTL_ROTATE_270                 0x3
+#define   PLANE_CTL_FORMAT_MASK_SKL            REG_GENMASK(27, 24) /* pre-icl */
+#define   PLANE_CTL_FORMAT_MASK_ICL            REG_GENMASK(27, 23) /* icl+ */
+#define   PLANE_CTL_FORMAT_YUV422              REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 0)
+#define   PLANE_CTL_FORMAT_NV12                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 1)
+#define   PLANE_CTL_FORMAT_XRGB_2101010                REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 2)
+#define   PLANE_CTL_FORMAT_P010                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 3)
+#define   PLANE_CTL_FORMAT_XRGB_8888           REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 4)
+#define   PLANE_CTL_FORMAT_P012                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 5)
+#define   PLANE_CTL_FORMAT_XRGB_16161616F      REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 6)
+#define   PLANE_CTL_FORMAT_P016                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 7)
+#define   PLANE_CTL_FORMAT_XYUV                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 8)
+#define   PLANE_CTL_FORMAT_INDEXED             REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 12)
+#define   PLANE_CTL_FORMAT_RGB_565             REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_SKL, 14)
+#define   PLANE_CTL_FORMAT_Y210                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_ICL, 1)
+#define   PLANE_CTL_FORMAT_Y212                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_ICL, 3)
+#define   PLANE_CTL_FORMAT_Y216                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_ICL, 5)
+#define   PLANE_CTL_FORMAT_Y410                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_ICL, 7)
+#define   PLANE_CTL_FORMAT_Y412                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_ICL, 9)
+#define   PLANE_CTL_FORMAT_Y416                        REG_FIELD_PREP(PLANE_CTL_FORMAT_MASK_ICL, 11)
+#define   PLANE_CTL_PIPE_CSC_ENABLE            REG_BIT(23) /* Pre-GLK */
+#define   PLANE_CTL_KEY_ENABLE_MASK            REG_GENMASK(22, 21)
+#define   PLANE_CTL_KEY_ENABLE_SOURCE          REG_FIELD_PREP(PLANE_CTL_KEY_ENABLE_MASK, 1)
+#define   PLANE_CTL_KEY_ENABLE_DESTINATION     REG_FIELD_PREP(PLANE_CTL_KEY_ENABLE_MASK, 2)
+#define   PLANE_CTL_ORDER_RGBX                 REG_BIT(20)
+#define   PLANE_CTL_YUV420_Y_PLANE             REG_BIT(19)
+#define   PLANE_CTL_YUV_TO_RGB_CSC_FORMAT_BT709        REG_BIT(18)
+#define   PLANE_CTL_YUV422_ORDER_MASK          REG_GENMASK(17, 16)
+#define   PLANE_CTL_YUV422_ORDER_YUYV          REG_FIELD_PREP(PLANE_CTL_YUV422_ORDER_MASK, 0)
+#define   PLANE_CTL_YUV422_ORDER_UYVY          REG_FIELD_PREP(PLANE_CTL_YUV422_ORDER_MASK, 1)
+#define   PLANE_CTL_YUV422_ORDER_YVYU          REG_FIELD_PREP(PLANE_CTL_YUV422_ORDER_MASK, 2)
+#define   PLANE_CTL_YUV422_ORDER_VYUY          REG_FIELD_PREP(PLANE_CTL_YUV422_ORDER_MASK, 3)
+#define   PLANE_CTL_RENDER_DECOMPRESSION_ENABLE        REG_BIT(15)
+#define   PLANE_CTL_TRICKLE_FEED_DISABLE       REG_BIT(14)
+#define   PLANE_CTL_CLEAR_COLOR_DISABLE                REG_BIT(13) /* TGL+ */
+#define   PLANE_CTL_PLANE_GAMMA_DISABLE                REG_BIT(13) /* Pre-GLK */
+#define   PLANE_CTL_TILED_MASK                 REG_GENMASK(12, 10)
+#define   PLANE_CTL_TILED_LINEAR               REG_FIELD_PREP(PLANE_CTL_TILED_MASK, 0)
+#define   PLANE_CTL_TILED_X                    REG_FIELD_PREP(PLANE_CTL_TILED_MASK, 1)
+#define   PLANE_CTL_TILED_Y                    REG_FIELD_PREP(PLANE_CTL_TILED_MASK, 4)
+#define   PLANE_CTL_TILED_YF                   REG_FIELD_PREP(PLANE_CTL_TILED_MASK, 5)
+#define   PLANE_CTL_ASYNC_FLIP                 REG_BIT(9)
+#define   PLANE_CTL_FLIP_HORIZONTAL            REG_BIT(8)
+#define   PLANE_CTL_MEDIA_DECOMPRESSION_ENABLE REG_BIT(4) /* TGL+ */
+#define   PLANE_CTL_ALPHA_MASK                 REG_GENMASK(5, 4) /* Pre-GLK */
+#define   PLANE_CTL_ALPHA_DISABLE              REG_FIELD_PREP(PLANE_CTL_ALPHA_MASK, 0)
+#define   PLANE_CTL_ALPHA_SW_PREMULTIPLY       REG_FIELD_PREP(PLANE_CTL_ALPHA_MASK, 2)
+#define   PLANE_CTL_ALPHA_HW_PREMULTIPLY       REG_FIELD_PREP(PLANE_CTL_ALPHA_MASK, 3)
+#define   PLANE_CTL_ROTATE_MASK                        REG_GENMASK(1, 0)
+#define   PLANE_CTL_ROTATE_0                   REG_FIELD_PREP(PLANE_CTL_ROTATE_MASK, 0)
+#define   PLANE_CTL_ROTATE_90                  REG_FIELD_PREP(PLANE_CTL_ROTATE_MASK, 1)
+#define   PLANE_CTL_ROTATE_180                 REG_FIELD_PREP(PLANE_CTL_ROTATE_MASK, 2)
+#define   PLANE_CTL_ROTATE_270                 REG_FIELD_PREP(PLANE_CTL_ROTATE_MASK, 3)
 #define _PLANE_STRIDE_1_A                      0x70188
 #define _PLANE_STRIDE_2_A                      0x70288
 #define _PLANE_STRIDE_3_A                      0x70388
+#define   PLANE_STRIDE__MASK                   REG_GENMASK(11, 0)
+#define   PLANE_STRIDE_(stride)                        REG_FIELD_PREP(PLANE_STRIDE__MASK, (stride))
 #define _PLANE_POS_1_A                         0x7018c
 #define _PLANE_POS_2_A                         0x7028c
 #define _PLANE_POS_3_A                         0x7038c
+#define   PLANE_POS_Y_MASK                     REG_GENMASK(31, 16)
+#define   PLANE_POS_Y(y)                       REG_FIELD_PREP(PLANE_POS_Y_MASK, (y))
+#define   PLANE_POS_X_MASK                     REG_GENMASK(15, 0)
+#define   PLANE_POS_X(x)                       REG_FIELD_PREP(PLANE_POS_X_MASK, (x))
 #define _PLANE_SIZE_1_A                                0x70190
 #define _PLANE_SIZE_2_A                                0x70290
 #define _PLANE_SIZE_3_A                                0x70390
+#define   PLANE_HEIGHT_MASK                    REG_GENMASK(31, 16)
+#define   PLANE_HEIGHT(h)                      REG_FIELD_PREP(PLANE_HEIGHT_MASK, (h))
+#define   PLANE_WIDTH_MASK                     REG_GENMASK(15, 0)
+#define   PLANE_WIDTH(w)                       REG_FIELD_PREP(PLANE_WIDTH_MASK, (w))
 #define _PLANE_SURF_1_A                                0x7019c
 #define _PLANE_SURF_2_A                                0x7029c
 #define _PLANE_SURF_3_A                                0x7039c
+#define   PLANE_SURF_ADDR_MASK                 REG_GENMASK(31, 12)
+#define   PLANE_SURF_DECRYPT                   REG_BIT(2)
 #define _PLANE_OFFSET_1_A                      0x701a4
 #define _PLANE_OFFSET_2_A                      0x702a4
 #define _PLANE_OFFSET_3_A                      0x703a4
+#define   PLANE_OFFSET_Y_MASK                  REG_GENMASK(31, 16)
+#define   PLANE_OFFSET_Y(y)                    REG_FIELD_PREP(PLANE_OFFSET_Y_MASK, (y))
+#define   PLANE_OFFSET_X_MASK                  REG_GENMASK(15, 0)
+#define   PLANE_OFFSET_X(x)                    REG_FIELD_PREP(PLANE_OFFSET_X_MASK, (x))
 #define _PLANE_KEYVAL_1_A                      0x70194
 #define _PLANE_KEYVAL_2_A                      0x70294
 #define _PLANE_KEYMSK_1_A                      0x70198
@@ -7336,42 +4903,49 @@ enum {
 #define _PLANE_CC_VAL_1_A                      0x701b4
 #define _PLANE_CC_VAL_2_A                      0x702b4
 #define _PLANE_AUX_DIST_1_A                    0x701c0
+#define   PLANE_AUX_DISTANCE_MASK              REG_GENMASK(31, 12)
+#define   PLANE_AUX_STRIDE_MASK                        REG_GENMASK(11, 0)
+#define   PLANE_AUX_STRIDE(stride)             REG_FIELD_PREP(PLANE_AUX_STRIDE_MASK, (stride))
 #define _PLANE_AUX_DIST_2_A                    0x702c0
 #define _PLANE_AUX_OFFSET_1_A                  0x701c4
 #define _PLANE_AUX_OFFSET_2_A                  0x702c4
 #define _PLANE_CUS_CTL_1_A                     0x701c8
 #define _PLANE_CUS_CTL_2_A                     0x702c8
-#define  PLANE_CUS_ENABLE                      (1 << 31)
-#define  PLANE_CUS_Y_PLANE_4_RKL               (0 << 30)
-#define  PLANE_CUS_Y_PLANE_5_RKL               (1 << 30)
-#define  PLANE_CUS_Y_PLANE_6_ICL               (0 << 30)
-#define  PLANE_CUS_Y_PLANE_7_ICL               (1 << 30)
-#define  PLANE_CUS_HPHASE_SIGN_NEGATIVE                (1 << 19)
-#define  PLANE_CUS_HPHASE_0                    (0 << 16)
-#define  PLANE_CUS_HPHASE_0_25                 (1 << 16)
-#define  PLANE_CUS_HPHASE_0_5                  (2 << 16)
-#define  PLANE_CUS_VPHASE_SIGN_NEGATIVE                (1 << 15)
-#define  PLANE_CUS_VPHASE_0                    (0 << 12)
-#define  PLANE_CUS_VPHASE_0_25                 (1 << 12)
-#define  PLANE_CUS_VPHASE_0_5                  (2 << 12)
+#define   PLANE_CUS_ENABLE                     REG_BIT(31)
+#define   PLANE_CUS_Y_PLANE_MASK                       REG_BIT(30)
+#define   PLANE_CUS_Y_PLANE_4_RKL              REG_FIELD_PREP(PLANE_CUS_Y_PLANE_MASK, 0)
+#define   PLANE_CUS_Y_PLANE_5_RKL              REG_FIELD_PREP(PLANE_CUS_Y_PLANE_MASK, 1)
+#define   PLANE_CUS_Y_PLANE_6_ICL              REG_FIELD_PREP(PLANE_CUS_Y_PLANE_MASK, 0)
+#define   PLANE_CUS_Y_PLANE_7_ICL              REG_FIELD_PREP(PLANE_CUS_Y_PLANE_MASK, 1)
+#define   PLANE_CUS_HPHASE_SIGN_NEGATIVE               REG_BIT(19)
+#define   PLANE_CUS_HPHASE_MASK                        REG_GENMASK(17, 16)
+#define   PLANE_CUS_HPHASE_0                   REG_FIELD_PREP(PLANE_CUS_HPHASE_MASK, 0)
+#define   PLANE_CUS_HPHASE_0_25                        REG_FIELD_PREP(PLANE_CUS_HPHASE_MASK, 1)
+#define   PLANE_CUS_HPHASE_0_5                 REG_FIELD_PREP(PLANE_CUS_HPHASE_MASK, 2)
+#define   PLANE_CUS_VPHASE_SIGN_NEGATIVE               REG_BIT(15)
+#define   PLANE_CUS_VPHASE_MASK                        REG_GENMASK(13, 12)
+#define   PLANE_CUS_VPHASE_0                   REG_FIELD_PREP(PLANE_CUS_VPHASE_MASK, 0)
+#define   PLANE_CUS_VPHASE_0_25                        REG_FIELD_PREP(PLANE_CUS_VPHASE_MASK, 1)
+#define   PLANE_CUS_VPHASE_0_5                 REG_FIELD_PREP(PLANE_CUS_VPHASE_MASK, 2)
 #define _PLANE_COLOR_CTL_1_A                   0x701CC /* GLK+ */
 #define _PLANE_COLOR_CTL_2_A                   0x702CC /* GLK+ */
 #define _PLANE_COLOR_CTL_3_A                   0x703CC /* GLK+ */
-#define   PLANE_COLOR_PIPE_GAMMA_ENABLE                (1 << 30) /* Pre-ICL */
-#define   PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE     (1 << 28)
+#define   PLANE_COLOR_PIPE_GAMMA_ENABLE                        REG_BIT(30) /* Pre-ICL */
+#define   PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE     REG_BIT(28)
+#define   PLANE_COLOR_PIPE_CSC_ENABLE                  REG_BIT(23) /* Pre-ICL */
 #define   PLANE_COLOR_PLANE_CSC_ENABLE                 REG_BIT(21) /* ICL+ */
-#define   PLANE_COLOR_INPUT_CSC_ENABLE         (1 << 20) /* ICL+ */
-#define   PLANE_COLOR_PIPE_CSC_ENABLE          (1 << 23) /* Pre-ICL */
-#define   PLANE_COLOR_CSC_MODE_BYPASS                  (0 << 17)
-#define   PLANE_COLOR_CSC_MODE_YUV601_TO_RGB601                (1 << 17)
-#define   PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709                (2 << 17)
-#define   PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020      (3 << 17)
-#define   PLANE_COLOR_CSC_MODE_RGB709_TO_RGB2020       (4 << 17)
-#define   PLANE_COLOR_PLANE_GAMMA_DISABLE      (1 << 13)
-#define   PLANE_COLOR_ALPHA_MASK               (0x3 << 4)
-#define   PLANE_COLOR_ALPHA_DISABLE            (0 << 4)
-#define   PLANE_COLOR_ALPHA_SW_PREMULTIPLY     (2 << 4)
-#define   PLANE_COLOR_ALPHA_HW_PREMULTIPLY     (3 << 4)
+#define   PLANE_COLOR_INPUT_CSC_ENABLE                 REG_BIT(20) /* ICL+ */
+#define   PLANE_COLOR_CSC_MODE_MASK                    REG_GENMASK(19, 17)
+#define   PLANE_COLOR_CSC_MODE_BYPASS                  REG_FIELD_PREP(PLANE_COLOR_CSC_MODE_MASK, 0)
+#define   PLANE_COLOR_CSC_MODE_YUV601_TO_RGB601                REG_FIELD_PREP(PLANE_COLOR_CSC_MODE_MASK, 1)
+#define   PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709                REG_FIELD_PREP(PLANE_COLOR_CSC_MODE_MASK, 2)
+#define   PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020      REG_FIELD_PREP(PLANE_COLOR_CSC_MODE_MASK, 3)
+#define   PLANE_COLOR_CSC_MODE_RGB709_TO_RGB2020       REG_FIELD_PREP(PLANE_COLOR_CSC_MODE_MASK, 4)
+#define   PLANE_COLOR_PLANE_GAMMA_DISABLE              REG_BIT(13)
+#define   PLANE_COLOR_ALPHA_MASK                       REG_GENMASK(5, 4)
+#define   PLANE_COLOR_ALPHA_DISABLE                    REG_FIELD_PREP(PLANE_COLOR_ALPHA_MASK, 0)
+#define   PLANE_COLOR_ALPHA_SW_PREMULTIPLY             REG_FIELD_PREP(PLANE_COLOR_ALPHA_MASK, 2)
+#define   PLANE_COLOR_ALPHA_HW_PREMULTIPLY             REG_FIELD_PREP(PLANE_COLOR_ALPHA_MASK, 3)
 #define _PLANE_BUF_CFG_1_A                     0x7027c
 #define _PLANE_BUF_CFG_2_A                     0x7037c
 #define _PLANE_NV12_BUF_CFG_1_A                0x70278
@@ -7454,8 +5028,6 @@ enum {
        _PIPE(pipe, _PLANE_STRIDE_3_A, _PLANE_STRIDE_3_B)
 #define PLANE_STRIDE(pipe, plane)      \
        _MMIO_PLANE(plane, _PLANE_STRIDE_1(pipe), _PLANE_STRIDE_2(pipe))
-#define PLANE_STRIDE_MASK              REG_GENMASK(10, 0)
-#define PLANE_STRIDE_MASK_XELPD                REG_GENMASK(11, 0)
 
 #define _PLANE_POS_1_B                         0x7118c
 #define _PLANE_POS_2_B                         0x7128c
@@ -7483,7 +5055,6 @@ enum {
 #define _PLANE_SURF_3(pipe)    _PIPE(pipe, _PLANE_SURF_3_A, _PLANE_SURF_3_B)
 #define PLANE_SURF(pipe, plane)        \
        _MMIO_PLANE(plane, _PLANE_SURF_1(pipe), _PLANE_SURF_2(pipe))
-#define   PLANE_SURF_DECRYPT                   REG_BIT(2)
 
 #define _PLANE_OFFSET_1_B                      0x711a4
 #define _PLANE_OFFSET_2_B                      0x712a4
@@ -7515,8 +5086,11 @@ enum {
 
 #define _PLANE_BUF_CFG_1_B                     0x7127c
 #define _PLANE_BUF_CFG_2_B                     0x7137c
-#define  DDB_ENTRY_MASK                                0xFFF /* skl+: 10 bits, icl+ 11 bits, adlp+ 12 bits */
-#define  DDB_ENTRY_END_SHIFT                   16
+/* skl+: 10 bits, icl+ 11 bits, adlp+ 12 bits */
+#define   PLANE_BUF_END_MASK           REG_GENMASK(27, 16)
+#define   PLANE_BUF_END(end)           REG_FIELD_PREP(PLANE_BUF_END_MASK, (end))
+#define   PLANE_BUF_START_MASK         REG_GENMASK(11, 0)
+#define   PLANE_BUF_START(start)       REG_FIELD_PREP(PLANE_BUF_START_MASK, (start))
 #define _PLANE_BUF_CFG_1(pipe) \
        _PIPE(pipe, _PLANE_BUF_CFG_1_A, _PLANE_BUF_CFG_1_B)
 #define _PLANE_BUF_CFG_2(pipe) \
@@ -7671,24 +5245,13 @@ enum {
 
 
 #define _PIPEA_DATA_M1         0x60030
-#define  PIPE_DATA_M1_OFFSET    0
 #define _PIPEA_DATA_N1         0x60034
-#define  PIPE_DATA_N1_OFFSET    0
-
 #define _PIPEA_DATA_M2         0x60038
-#define  PIPE_DATA_M2_OFFSET    0
 #define _PIPEA_DATA_N2         0x6003c
-#define  PIPE_DATA_N2_OFFSET    0
-
 #define _PIPEA_LINK_M1         0x60040
-#define  PIPE_LINK_M1_OFFSET    0
 #define _PIPEA_LINK_N1         0x60044
-#define  PIPE_LINK_N1_OFFSET    0
-
 #define _PIPEA_LINK_M2         0x60048
-#define  PIPE_LINK_M2_OFFSET    0
 #define _PIPEA_LINK_N2         0x6004c
-#define  PIPE_LINK_N2_OFFSET    0
 
 /* PIPEB timing regs are same start from 0x61000 */
 
@@ -7945,7 +5508,8 @@ enum {
 #define TGL_DMC_DEBUG_DC6_COUNT        _MMIO(0x101088)
 #define DG1_DMC_DEBUG_DC5_COUNT        _MMIO(0x134154)
 
-#define DMC_DEBUG3             _MMIO(0x101090)
+#define TGL_DMC_DEBUG3         _MMIO(0x101090)
+#define DG1_DMC_DEBUG3         _MMIO(0x13415c)
 
 /* Display Internal Timeout Register */
 #define RM_TIMEOUT             _MMIO(0x42060)
@@ -8200,63 +5764,6 @@ enum {
 #define  GEN11_HOTPLUG_CTL_SHORT_DETECT(hpd_pin)       (1 << (_HPD_PIN_TC(hpd_pin) * 4))
 #define  GEN11_HOTPLUG_CTL_NO_DETECT(hpd_pin)          (0 << (_HPD_PIN_TC(hpd_pin) * 4))
 
-#define GEN11_GT_INTR_DW0              _MMIO(0x190018)
-#define  GEN11_CSME                    (31)
-#define  GEN11_GUNIT                   (28)
-#define  GEN11_GUC                     (25)
-#define  GEN11_WDPERF                  (20)
-#define  GEN11_KCR                     (19)
-#define  GEN11_GTPM                    (16)
-#define  GEN11_BCS                     (15)
-#define  GEN11_RCS0                    (0)
-
-#define GEN11_GT_INTR_DW1              _MMIO(0x19001c)
-#define  GEN11_VECS(x)                 (31 - (x))
-#define  GEN11_VCS(x)                  (x)
-
-#define GEN11_GT_INTR_DW(x)            _MMIO(0x190018 + ((x) * 4))
-
-#define GEN11_INTR_IDENTITY_REG0       _MMIO(0x190060)
-#define GEN11_INTR_IDENTITY_REG1       _MMIO(0x190064)
-#define  GEN11_INTR_DATA_VALID         (1 << 31)
-#define  GEN11_INTR_ENGINE_CLASS(x)    (((x) & GENMASK(18, 16)) >> 16)
-#define  GEN11_INTR_ENGINE_INSTANCE(x) (((x) & GENMASK(25, 20)) >> 20)
-#define  GEN11_INTR_ENGINE_INTR(x)     ((x) & 0xffff)
-/* irq instances for OTHER_CLASS */
-#define OTHER_GUC_INSTANCE     0
-#define OTHER_GTPM_INSTANCE    1
-#define OTHER_KCR_INSTANCE     4
-
-#define GEN11_INTR_IDENTITY_REG(x)     _MMIO(0x190060 + ((x) * 4))
-
-#define GEN11_IIR_REG0_SELECTOR                _MMIO(0x190070)
-#define GEN11_IIR_REG1_SELECTOR                _MMIO(0x190074)
-
-#define GEN11_IIR_REG_SELECTOR(x)      _MMIO(0x190070 + ((x) * 4))
-
-#define GEN11_RENDER_COPY_INTR_ENABLE  _MMIO(0x190030)
-#define GEN11_VCS_VECS_INTR_ENABLE     _MMIO(0x190034)
-#define GEN11_GUC_SG_INTR_ENABLE       _MMIO(0x190038)
-#define GEN11_GPM_WGBOXPERF_INTR_ENABLE        _MMIO(0x19003c)
-#define GEN11_CRYPTO_RSVD_INTR_ENABLE  _MMIO(0x190040)
-#define GEN11_GUNIT_CSME_INTR_ENABLE   _MMIO(0x190044)
-
-#define GEN11_RCS0_RSVD_INTR_MASK      _MMIO(0x190090)
-#define GEN11_BCS_RSVD_INTR_MASK       _MMIO(0x1900a0)
-#define GEN11_VCS0_VCS1_INTR_MASK      _MMIO(0x1900a8)
-#define GEN11_VCS2_VCS3_INTR_MASK      _MMIO(0x1900ac)
-#define GEN12_VCS4_VCS5_INTR_MASK      _MMIO(0x1900b0)
-#define GEN12_VCS6_VCS7_INTR_MASK      _MMIO(0x1900b4)
-#define GEN11_VECS0_VECS1_INTR_MASK    _MMIO(0x1900d0)
-#define GEN12_VECS2_VECS3_INTR_MASK    _MMIO(0x1900d4)
-#define GEN11_GUC_SG_INTR_MASK         _MMIO(0x1900e8)
-#define GEN11_GPM_WGBOXPERF_INTR_MASK  _MMIO(0x1900ec)
-#define GEN11_CRYPTO_RSVD_INTR_MASK    _MMIO(0x1900f0)
-#define GEN11_GUNIT_CSME_INTR_MASK     _MMIO(0x1900f4)
-
-#define   ENGINE1_MASK                 REG_GENMASK(31, 16)
-#define   ENGINE0_MASK                 REG_GENMASK(15, 0)
-
 #define ILK_DISPLAY_CHICKEN2   _MMIO(0x42004)
 /* Required on all Ironlake and Sandybridge according to the B-Spec. */
 #define  ILK_ELPIN_409_SELECT  (1 << 25)
@@ -8410,11 +5917,14 @@ enum {
 #define HSW_NDE_RSTWRN_OPT     _MMIO(0x46408)
 #define  RESET_PCH_HANDSHAKE_ENABLE    (1 << 4)
 
-#define GEN8_CHICKEN_DCPR_1            _MMIO(0x46430)
-#define   SKL_SELECT_ALTERNATE_DC_EXIT REG_BIT(30)
-#define   ICL_DELAY_PMRSP              REG_BIT(22)
-#define   DISABLE_FLR_SRC              REG_BIT(15)
-#define   MASK_WAKEMEM                 REG_BIT(13)
+#define GEN8_CHICKEN_DCPR_1                    _MMIO(0x46430)
+#define   SKL_SELECT_ALTERNATE_DC_EXIT         REG_BIT(30)
+#define   LATENCY_REPORTING_REMOVED_PIPE_C     REG_BIT(25)
+#define   LATENCY_REPORTING_REMOVED_PIPE_B     REG_BIT(24)
+#define   LATENCY_REPORTING_REMOVED_PIPE_A     REG_BIT(23)
+#define   ICL_DELAY_PMRSP                      REG_BIT(22)
+#define   DISABLE_FLR_SRC                      REG_BIT(15)
+#define   MASK_WAKEMEM                         REG_BIT(13)
 
 #define GEN11_CHICKEN_DCPR_2                   _MMIO(0x46434)
 #define   DCPR_MASK_MAXLATENCY_MEMUP_CLR       REG_BIT(27)
@@ -8443,142 +5953,6 @@ enum {
 #define ICL_DSSM_CDCLK_PLL_REFCLK_19_2MHz      (1 << 29)
 #define ICL_DSSM_CDCLK_PLL_REFCLK_38_4MHz      (2 << 29)
 
-#define GEN7_FF_SLICE_CS_CHICKEN1      _MMIO(0x20e0)
-#define   GEN9_FFSC_PERCTX_PREEMPT_CTRL        (1 << 14)
-
-#define FF_SLICE_CS_CHICKEN2                   _MMIO(0x20e4)
-#define  GEN9_TSG_BARRIER_ACK_DISABLE          (1 << 8)
-#define  GEN9_POOLED_EU_LOAD_BALANCING_FIX_DISABLE  (1 << 10)
-
-#define GEN9_CS_DEBUG_MODE1            _MMIO(0x20ec)
-#define   FF_DOP_CLOCK_GATE_DISABLE    REG_BIT(1)
-#define GEN9_CTX_PREEMPT_REG           _MMIO(0x2248)
-#define   GEN12_DISABLE_POSH_BUSY_FF_DOP_CG REG_BIT(11)
-
-#define GEN12_CS_DEBUG_MODE1_CCCSUNIT_BE_COMMON                _MMIO(0x20EC)
-#define   GEN12_REPLAY_MODE_GRANULARITY                        REG_BIT(0)
-
-#define GEN8_CS_CHICKEN1               _MMIO(0x2580)
-#define GEN9_PREEMPT_3D_OBJECT_LEVEL           (1 << 0)
-#define GEN9_PREEMPT_GPGPU_LEVEL(hi, lo)       (((hi) << 2) | ((lo) << 1))
-#define GEN9_PREEMPT_GPGPU_MID_THREAD_LEVEL    GEN9_PREEMPT_GPGPU_LEVEL(0, 0)
-#define GEN9_PREEMPT_GPGPU_THREAD_GROUP_LEVEL  GEN9_PREEMPT_GPGPU_LEVEL(0, 1)
-#define GEN9_PREEMPT_GPGPU_COMMAND_LEVEL       GEN9_PREEMPT_GPGPU_LEVEL(1, 0)
-#define GEN9_PREEMPT_GPGPU_LEVEL_MASK          GEN9_PREEMPT_GPGPU_LEVEL(1, 1)
-
-/* GEN7 chicken */
-#define GEN7_COMMON_SLICE_CHICKEN1             _MMIO(0x7010)
-  #define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC    (1 << 10)
-  #define GEN9_RHWO_OPTIMIZATION_DISABLE       (1 << 14)
-
-#define COMMON_SLICE_CHICKEN2                                  _MMIO(0x7014)
-  #define GEN9_PBE_COMPRESSED_HASH_SELECTION                   (1 << 13)
-  #define GEN9_DISABLE_GATHER_AT_SET_SHADER_COMMON_SLICE       (1 << 12)
-  #define GEN8_SBE_DISABLE_REPLAY_BUF_OPTIMIZATION             (1 << 8)
-  #define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE                 (1 << 0)
-
-#define GEN8_L3CNTLREG _MMIO(0x7034)
-  #define GEN8_ERRDETBCTRL (1 << 9)
-
-#define GEN11_COMMON_SLICE_CHICKEN3                    _MMIO(0x7304)
-#define   DG1_FLOAT_POINT_BLEND_OPT_STRICT_MODE_EN     REG_BIT(12)
-#define   XEHP_DUAL_SIMD8_SEQ_MERGE_DISABLE            REG_BIT(12)
-#define   GEN11_BLEND_EMB_FIX_DISABLE_IN_RCC           REG_BIT(11)
-#define   GEN12_DISABLE_CPS_AWARE_COLOR_PIPE           REG_BIT(9)
-
-#define HIZ_CHICKEN                                    _MMIO(0x7018)
-# define CHV_HZ_8X8_MODE_IN_1X                         REG_BIT(15)
-# define DG1_HZ_READ_SUPPRESSION_OPTIMIZATION_DISABLE   REG_BIT(14)
-# define BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE   REG_BIT(3)
-
-#define GEN9_SLICE_COMMON_ECO_CHICKEN0         _MMIO(0x7308)
-#define  DISABLE_PIXEL_MASK_CAMMING            (1 << 14)
-
-#define GEN9_SLICE_COMMON_ECO_CHICKEN1         _MMIO(0x731c)
-#define   GEN11_STATE_CACHE_REDIRECT_TO_CS     (1 << 11)
-
-#define GEN7_SARCHKMD                          _MMIO(0xB000)
-#define GEN7_DISABLE_DEMAND_PREFETCH           (1 << 31)
-#define GEN7_DISABLE_SAMPLER_PREFETCH           (1 << 30)
-
-#define GEN7_L3SQCREG1                         _MMIO(0xB010)
-#define  VLV_B0_WA_L3SQCREG1_VALUE             0x00D30000
-
-#define GEN8_L3SQCREG1                         _MMIO(0xB100)
-/*
- * Note that on CHV the following has an off-by-one error wrt. to BSpec.
- * Using the formula in BSpec leads to a hang, while the formula here works
- * fine and matches the formulas for all other platforms. A BSpec change
- * request has been filed to clarify this.
- */
-#define  L3_GENERAL_PRIO_CREDITS(x)            (((x) >> 1) << 19)
-#define  L3_HIGH_PRIO_CREDITS(x)               (((x) >> 1) << 14)
-#define  L3_PRIO_CREDITS_MASK                  ((0x1f << 19) | (0x1f << 14))
-
-#define GEN7_L3CNTLREG1                                _MMIO(0xB01C)
-#define  GEN7_WA_FOR_GEN7_L3_CONTROL                   0x3C47FF8C
-#define  GEN7_L3AGDIS                          (1 << 19)
-#define GEN7_L3CNTLREG2                                _MMIO(0xB020)
-#define GEN7_L3CNTLREG3                                _MMIO(0xB024)
-
-#define GEN7_L3_CHICKEN_MODE_REGISTER          _MMIO(0xB030)
-#define   GEN7_WA_L3_CHICKEN_MODE              0x20000000
-#define GEN10_L3_CHICKEN_MODE_REGISTER         _MMIO(0xB114)
-#define   GEN11_I2M_WRITE_DISABLE              (1 << 28)
-
-#define GEN7_L3SQCREG4                         _MMIO(0xb034)
-#define  L3SQ_URB_READ_CAM_MATCH_DISABLE       (1 << 27)
-
-#define GEN11_SCRATCH2                                 _MMIO(0xb140)
-#define  GEN11_COHERENT_PARTIAL_WRITE_MERGE_ENABLE     (1 << 19)
-
-#define GEN8_L3SQCREG4                         _MMIO(0xb118)
-#define  GEN11_LQSC_CLEAN_EVICT_DISABLE                (1 << 6)
-#define  GEN8_LQSC_RO_PERF_DIS                 (1 << 27)
-#define  GEN8_LQSC_FLUSH_COHERENT_LINES                (1 << 21)
-#define  GEN8_LQSQ_NONIA_COHERENT_ATOMICS_ENABLE REG_BIT(22)
-
-#define GEN11_L3SQCREG5                                _MMIO(0xb158)
-#define   L3_PWM_TIMER_INIT_VAL_MASK           REG_GENMASK(9, 0)
-
-#define XEHP_L3SCQREG7                         _MMIO(0xb188)
-#define   BLEND_FILL_CACHING_OPT_DIS           REG_BIT(3)
-
-/* GEN8 chicken */
-#define HDC_CHICKEN0                           _MMIO(0x7300)
-#define ICL_HDC_MODE                           _MMIO(0xE5F4)
-#define  HDC_FORCE_CSR_NON_COHERENT_OVR_DISABLE        (1 << 15)
-#define  HDC_FENCE_DEST_SLM_DISABLE            (1 << 14)
-#define  HDC_DONOT_FETCH_MEM_WHEN_MASKED       (1 << 11)
-#define  HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT   (1 << 5)
-#define  HDC_FORCE_NON_COHERENT                        (1 << 4)
-#define  HDC_BARRIER_PERFORMANCE_DISABLE       (1 << 10)
-
-#define GEN12_HDC_CHICKEN0                                     _MMIO(0xE5F0)
-#define   LSC_L1_FLUSH_CTL_3D_DATAPORT_FLUSH_EVENTS_MASK       REG_GENMASK(13, 11)
-
-#define SARB_CHICKEN1                          _MMIO(0xe90c)
-#define   COMP_CKN_IN                          REG_GENMASK(30, 29)
-
-#define GEN8_HDC_CHICKEN1                      _MMIO(0x7304)
-
-/* GEN9 chicken */
-#define SLICE_ECO_CHICKEN0                     _MMIO(0x7308)
-#define   PIXEL_MASK_CAMMING_DISABLE           (1 << 14)
-
-#define GEN9_WM_CHICKEN3                       _MMIO(0x5588)
-#define   GEN9_FACTOR_IN_CLR_VAL_HIZ           (1 << 9)
-
-/* WaCatErrorRejectionIssue */
-#define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG         _MMIO(0x9030)
-#define  GEN7_SQ_CHICKEN_MBCUNIT_SQINTMOB      (1 << 11)
-
-#define HSW_SCRATCH1                           _MMIO(0xb038)
-#define  HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE  (1 << 27)
-
-#define BDW_SCRATCH1                                   _MMIO(0xb11c)
-#define  GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE     (1 << 2)
-
 /*GEN11 chicken */
 #define _PIPEA_CHICKEN                         0x70038
 #define _PIPEB_CHICKEN                         0x71038
@@ -8591,16 +5965,6 @@ enum {
 #define   DG2_RENDER_CCSTAG_4_3_EN             REG_BIT(12)
 #define   PER_PIXEL_ALPHA_BYPASS_EN            REG_BIT(7)
 
-#define VFLSKPD                                _MMIO(0x62a8)
-#define   DIS_OVER_FETCH_CACHE         REG_BIT(1)
-#define   DIS_MULT_MISS_RD_SQUASH      REG_BIT(0)
-
-#define FF_MODE2                       _MMIO(0x6604)
-#define   FF_MODE2_GS_TIMER_MASK       REG_GENMASK(31, 24)
-#define   FF_MODE2_GS_TIMER_224                REG_FIELD_PREP(FF_MODE2_GS_TIMER_MASK, 224)
-#define   FF_MODE2_TDS_TIMER_MASK      REG_GENMASK(23, 16)
-#define   FF_MODE2_TDS_TIMER_128       REG_FIELD_PREP(FF_MODE2_TDS_TIMER_MASK, 4)
-
 /* PCH */
 
 #define PCH_DISPLAY_BASE       0xc0000u
@@ -8697,6 +6061,7 @@ enum {
 /* south display engine interrupt: ICP/TGP */
 #define SDE_GMBUS_ICP                  (1 << 23)
 #define SDE_TC_HOTPLUG_ICP(hpd_pin)    REG_BIT(24 + _HPD_PIN_TC(hpd_pin))
+#define SDE_TC_HOTPLUG_DG2(hpd_pin)    REG_BIT(25 + _HPD_PIN_TC(hpd_pin)) /* sigh */
 #define SDE_DDI_HOTPLUG_ICP(hpd_pin)   REG_BIT(16 + _HPD_PIN_DDI(hpd_pin))
 #define SDE_DDI_HOTPLUG_MASK_ICP       (SDE_DDI_HOTPLUG_ICP(HPD_PORT_D) | \
                                         SDE_DDI_HOTPLUG_ICP(HPD_PORT_C) | \
@@ -9015,22 +6380,19 @@ enum {
 #define _PCH_TRANSBCONF              0xf1008
 #define PCH_TRANSCONF(pipe)    _MMIO_PIPE(pipe, _PCH_TRANSACONF, _PCH_TRANSBCONF)
 #define LPT_TRANSCONF          PCH_TRANSCONF(PIPE_A) /* lpt has only one transcoder */
-#define  TRANS_DISABLE          (0 << 31)
-#define  TRANS_ENABLE           (1 << 31)
-#define  TRANS_STATE_MASK       (1 << 30)
-#define  TRANS_STATE_DISABLE    (0 << 30)
-#define  TRANS_STATE_ENABLE     (1 << 30)
-#define  TRANS_FRAME_START_DELAY_MASK  (3 << 27) /* ibx */
-#define  TRANS_FRAME_START_DELAY(x)    ((x) << 27) /* ibx: 0-3 */
-#define  TRANS_INTERLACE_MASK   (7 << 21)
-#define  TRANS_PROGRESSIVE      (0 << 21)
-#define  TRANS_INTERLACED       (3 << 21)
-#define  TRANS_LEGACY_INTERLACED_ILK (2 << 21)
-#define  TRANS_8BPC             (0 << 5)
-#define  TRANS_10BPC            (1 << 5)
-#define  TRANS_6BPC             (2 << 5)
-#define  TRANS_12BPC            (3 << 5)
-
+#define  TRANS_ENABLE                  REG_BIT(31)
+#define  TRANS_STATE_ENABLE            REG_BIT(30)
+#define  TRANS_FRAME_START_DELAY_MASK  REG_GENMASK(28, 27) /* ibx */
+#define  TRANS_FRAME_START_DELAY(x)    REG_FIELD_PREP(TRANS_FRAME_START_DELAY_MASK, (x)) /* ibx: 0-3 */
+#define  TRANS_INTERLACE_MASK          REG_GENMASK(23, 21)
+#define  TRANS_INTERLACE_PROGRESSIVE   REG_FIELD_PREP(TRANS_INTERLACE_MASK, 0)
+#define  TRANS_INTERLACE_LEGACY_VSYNC_IBX      REG_FIELD_PREP(TRANS_INTERLACE_MASK, 2) /* ibx */
+#define  TRANS_INTERLACE_INTERLACED    REG_FIELD_PREP(TRANS_INTERLACE_MASK, 3)
+#define  TRANS_BPC_MASK                        REG_GENMASK(7, 5) /* ibx */
+#define  TRANS_BPC_8                   REG_FIELD_PREP(TRANS_BPC_MASK, 0)
+#define  TRANS_BPC_10                  REG_FIELD_PREP(TRANS_BPC_MASK, 1)
+#define  TRANS_BPC_6                   REG_FIELD_PREP(TRANS_BPC_MASK, 2)
+#define  TRANS_BPC_12                  REG_FIELD_PREP(TRANS_BPC_MASK, 3)
 #define _TRANSA_CHICKEN1        0xf0060
 #define _TRANSB_CHICKEN1        0xf1060
 #define TRANS_CHICKEN1(pipe)   _MMIO_PIPE(pipe, _TRANSA_CHICKEN1, _TRANSB_CHICKEN1)
@@ -9240,22 +6602,19 @@ enum {
 #define _TRANS_DP_CTL_B                0xe1300
 #define _TRANS_DP_CTL_C                0xe2300
 #define TRANS_DP_CTL(pipe)     _MMIO_PIPE(pipe, _TRANS_DP_CTL_A, _TRANS_DP_CTL_B)
-#define  TRANS_DP_OUTPUT_ENABLE        (1 << 31)
-#define  TRANS_DP_PORT_SEL_MASK                (3 << 29)
-#define  TRANS_DP_PORT_SEL_NONE                (3 << 29)
-#define  TRANS_DP_PORT_SEL(port)       (((port) - PORT_B) << 29)
-#define  TRANS_DP_AUDIO_ONLY   (1 << 26)
-#define  TRANS_DP_ENH_FRAMING  (1 << 18)
-#define  TRANS_DP_8BPC         (0 << 9)
-#define  TRANS_DP_10BPC                (1 << 9)
-#define  TRANS_DP_6BPC         (2 << 9)
-#define  TRANS_DP_12BPC                (3 << 9)
-#define  TRANS_DP_BPC_MASK     (3 << 9)
-#define  TRANS_DP_VSYNC_ACTIVE_HIGH    (1 << 4)
-#define  TRANS_DP_VSYNC_ACTIVE_LOW     0
-#define  TRANS_DP_HSYNC_ACTIVE_HIGH    (1 << 3)
-#define  TRANS_DP_HSYNC_ACTIVE_LOW     0
-#define  TRANS_DP_SYNC_MASK    (3 << 3)
+#define  TRANS_DP_OUTPUT_ENABLE                REG_BIT(31)
+#define  TRANS_DP_PORT_SEL_MASK                REG_GENMASK(30, 29)
+#define  TRANS_DP_PORT_SEL_NONE                REG_FIELD_PREP(TRANS_DP_PORT_SEL_MASK, 3)
+#define  TRANS_DP_PORT_SEL(port)       REG_FIELD_PREP(TRANS_DP_PORT_SEL_MASK, (port) - PORT_B)
+#define  TRANS_DP_AUDIO_ONLY           REG_BIT(26)
+#define  TRANS_DP_ENH_FRAMING          REG_BIT(18)
+#define  TRANS_DP_BPC_MASK             REG_GENMASK(10, 9)
+#define  TRANS_DP_BPC_8                        REG_FIELD_PREP(TRANS_DP_BPC_MASK, 0)
+#define  TRANS_DP_BPC_10               REG_FIELD_PREP(TRANS_DP_BPC_MASK, 1)
+#define  TRANS_DP_BPC_6                        REG_FIELD_PREP(TRANS_DP_BPC_MASK, 2)
+#define  TRANS_DP_BPC_12               REG_FIELD_PREP(TRANS_DP_BPC_MASK, 3)
+#define  TRANS_DP_VSYNC_ACTIVE_HIGH    REG_BIT(4)
+#define  TRANS_DP_HSYNC_ACTIVE_HIGH    REG_BIT(3)
 
 #define _TRANS_DP2_CTL_A                       0x600a0
 #define _TRANS_DP2_CTL_B                       0x610a0
@@ -9314,261 +6673,16 @@ enum {
 
 #define  VLV_PMWGICZ                           _MMIO(0x1300a4)
 
-#define  RC6_LOCATION                          _MMIO(0xD40)
-#define           RC6_CTX_IN_DRAM                      (1 << 0)
-#define  RC6_CTX_BASE                          _MMIO(0xD48)
-#define    RC6_CTX_BASE_MASK                   0xFFFFFFF0
-#define  PWRCTX_MAXCNT_RCSUNIT                 _MMIO(0x2054)
-#define  PWRCTX_MAXCNT_VCSUNIT0                        _MMIO(0x12054)
-#define  PWRCTX_MAXCNT_BCSUNIT                 _MMIO(0x22054)
-#define  PWRCTX_MAXCNT_VECSUNIT                        _MMIO(0x1A054)
-#define  PWRCTX_MAXCNT_VCSUNIT1                        _MMIO(0x1C054)
-#define    IDLE_TIME_MASK                      0xFFFFF
-#define  FORCEWAKE                             _MMIO(0xA18C)
-#define  FORCEWAKE_VLV                         _MMIO(0x1300b0)
-#define  FORCEWAKE_ACK_VLV                     _MMIO(0x1300b4)
-#define  FORCEWAKE_MEDIA_VLV                   _MMIO(0x1300b8)
-#define  FORCEWAKE_ACK_MEDIA_VLV               _MMIO(0x1300bc)
-#define  FORCEWAKE_ACK_HSW                     _MMIO(0x130044)
-#define  FORCEWAKE_ACK                         _MMIO(0x130090)
-#define  VLV_GTLC_WAKE_CTRL                    _MMIO(0x130090)
-#define   VLV_GTLC_RENDER_CTX_EXISTS           (1 << 25)
-#define   VLV_GTLC_MEDIA_CTX_EXISTS            (1 << 24)
-#define   VLV_GTLC_ALLOWWAKEREQ                        (1 << 0)
-
-#define  VLV_GTLC_PW_STATUS                    _MMIO(0x130094)
-#define   VLV_GTLC_ALLOWWAKEACK                        (1 << 0)
-#define   VLV_GTLC_ALLOWWAKEERR                        (1 << 1)
-#define   VLV_GTLC_PW_MEDIA_STATUS_MASK                (1 << 5)
-#define   VLV_GTLC_PW_RENDER_STATUS_MASK       (1 << 7)
-#define  FORCEWAKE_MT                          _MMIO(0xa188) /* multi-threaded */
-#define  FORCEWAKE_MEDIA_GEN9                  _MMIO(0xa270)
-#define  FORCEWAKE_MEDIA_VDBOX_GEN11(n)                _MMIO(0xa540 + (n) * 4)
-#define  FORCEWAKE_MEDIA_VEBOX_GEN11(n)                _MMIO(0xa560 + (n) * 4)
-#define  FORCEWAKE_RENDER_GEN9                 _MMIO(0xa278)
-#define  FORCEWAKE_GT_GEN9                     _MMIO(0xa188)
-#define  FORCEWAKE_ACK_MEDIA_GEN9              _MMIO(0x0D88)
-#define  FORCEWAKE_ACK_MEDIA_VDBOX_GEN11(n)    _MMIO(0x0D50 + (n) * 4)
-#define  FORCEWAKE_ACK_MEDIA_VEBOX_GEN11(n)    _MMIO(0x0D70 + (n) * 4)
-#define  FORCEWAKE_ACK_RENDER_GEN9             _MMIO(0x0D84)
-#define  FORCEWAKE_ACK_GT_GEN9                 _MMIO(0x130044)
-#define   FORCEWAKE_KERNEL                     BIT(0)
-#define   FORCEWAKE_USER                       BIT(1)
-#define   FORCEWAKE_KERNEL_FALLBACK            BIT(15)
-#define  FORCEWAKE_MT_ACK                      _MMIO(0x130040)
-#define  ECOBUS                                        _MMIO(0xa180)
-#define    FORCEWAKE_MT_ENABLE                 (1 << 5)
-#define  VLV_SPAREG2H                          _MMIO(0xA194)
-#define  GEN9_PWRGT_DOMAIN_STATUS              _MMIO(0xA2A0)
-#define   GEN9_PWRGT_MEDIA_STATUS_MASK         (1 << 0)
-#define   GEN9_PWRGT_RENDER_STATUS_MASK                (1 << 1)
-
-#define  GTFIFODBG                             _MMIO(0x120000)
-#define    GT_FIFO_SBDEDICATE_FREE_ENTRY_CHV   (0x1f << 20)
-#define    GT_FIFO_FREE_ENTRIES_CHV            (0x7f << 13)
-#define    GT_FIFO_SBDROPERR                   (1 << 6)
-#define    GT_FIFO_BLOBDROPERR                 (1 << 5)
-#define    GT_FIFO_SB_READ_ABORTERR            (1 << 4)
-#define    GT_FIFO_DROPERR                     (1 << 3)
-#define    GT_FIFO_OVFERR                      (1 << 2)
-#define    GT_FIFO_IAWRERR                     (1 << 1)
-#define    GT_FIFO_IARDERR                     (1 << 0)
-
-#define  GTFIFOCTL                             _MMIO(0x120008)
-#define    GT_FIFO_FREE_ENTRIES_MASK           0x7f
-#define    GT_FIFO_NUM_RESERVED_ENTRIES                20
-#define    GT_FIFO_CTL_BLOCK_ALL_POLICY_STALL  (1 << 12)
-#define    GT_FIFO_CTL_RC6_POLICY_STALL                (1 << 11)
-
-#define  HSW_IDICR                             _MMIO(0x9008)
-#define    IDIHASHMSK(x)                       (((x) & 0x3f) << 16)
 #define  HSW_EDRAM_CAP                         _MMIO(0x120010)
 #define    EDRAM_ENABLED                       0x1
 #define    EDRAM_NUM_BANKS(cap)                        (((cap) >> 1) & 0xf)
 #define    EDRAM_WAYS_IDX(cap)                 (((cap) >> 5) & 0x7)
 #define    EDRAM_SETS_IDX(cap)                 (((cap) >> 8) & 0x3)
 
-#define GEN6_UCGCTL1                           _MMIO(0x9400)
-# define GEN6_GAMUNIT_CLOCK_GATE_DISABLE               (1 << 22)
-# define GEN6_EU_TCUNIT_CLOCK_GATE_DISABLE             (1 << 16)
-# define GEN6_BLBUNIT_CLOCK_GATE_DISABLE               (1 << 5)
-# define GEN6_CSUNIT_CLOCK_GATE_DISABLE                        (1 << 7)
-
-#define GEN6_UCGCTL2                           _MMIO(0x9404)
-# define GEN6_VFUNIT_CLOCK_GATE_DISABLE                        (1 << 31)
-# define GEN7_VDSUNIT_CLOCK_GATE_DISABLE               (1 << 30)
-# define GEN7_TDLUNIT_CLOCK_GATE_DISABLE               (1 << 22)
-# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE               (1 << 13)
-# define GEN6_RCPBUNIT_CLOCK_GATE_DISABLE              (1 << 12)
-# define GEN6_RCCUNIT_CLOCK_GATE_DISABLE               (1 << 11)
-
-#define GEN6_UCGCTL3                           _MMIO(0x9408)
-# define GEN6_OACSUNIT_CLOCK_GATE_DISABLE              (1 << 20)
-
-#define GEN7_UCGCTL4                           _MMIO(0x940c)
-#define  GEN7_L3BANK2X_CLOCK_GATE_DISABLE      (1 << 25)
-#define  GEN8_EU_GAUNIT_CLOCK_GATE_DISABLE     (1 << 14)
-
-#define GEN6_RCGCTL1                           _MMIO(0x9410)
-#define GEN6_RCGCTL2                           _MMIO(0x9414)
-#define GEN6_RSTCTL                            _MMIO(0x9420)
-
-#define GEN8_UCGCTL6                           _MMIO(0x9430)
-#define   GEN8_GAPSUNIT_CLOCK_GATE_DISABLE     (1 << 24)
-#define   GEN8_SDEUNIT_CLOCK_GATE_DISABLE      (1 << 14)
-#define   GEN8_HDCUNIT_CLOCK_GATE_DISABLE_HDCREQ (1 << 28)
-
-#define UNSLCGCTL9430                          _MMIO(0x9430)
-#define   MSQDUNIT_CLKGATE_DIS                 REG_BIT(3)
-
-#define GEN6_GFXPAUSE                          _MMIO(0xA000)
-#define GEN6_RPNSWREQ                          _MMIO(0xA008)
-#define   GEN6_TURBO_DISABLE                   (1 << 31)
-#define   GEN6_FREQUENCY(x)                    ((x) << 25)
-#define   HSW_FREQUENCY(x)                     ((x) << 24)
-#define   GEN9_FREQUENCY(x)                    ((x) << 23)
-#define   GEN6_OFFSET(x)                       ((x) << 19)
-#define   GEN6_AGGRESSIVE_TURBO                        (0 << 15)
-#define   GEN9_SW_REQ_UNSLICE_RATIO_SHIFT      23
-#define   GEN9_IGNORE_SLICE_RATIO              (0 << 0)
-
-#define GEN6_RC_VIDEO_FREQ                     _MMIO(0xA00C)
-#define GEN6_RC_CONTROL                                _MMIO(0xA090)
-#define   GEN6_RC_CTL_RC6pp_ENABLE             (1 << 16)
-#define   GEN6_RC_CTL_RC6p_ENABLE              (1 << 17)
-#define   GEN6_RC_CTL_RC6_ENABLE               (1 << 18)
-#define   GEN6_RC_CTL_RC1e_ENABLE              (1 << 20)
-#define   GEN6_RC_CTL_RC7_ENABLE               (1 << 22)
-#define   VLV_RC_CTL_CTX_RST_PARALLEL          (1 << 24)
-#define   GEN7_RC_CTL_TO_MODE                  (1 << 28)
-#define   GEN6_RC_CTL_EI_MODE(x)               ((x) << 27)
-#define   GEN6_RC_CTL_HW_ENABLE                        (1 << 31)
-#define GEN6_RP_DOWN_TIMEOUT                   _MMIO(0xA010)
-#define GEN6_RP_INTERRUPT_LIMITS               _MMIO(0xA014)
-#define GEN6_RPSTAT1                           _MMIO(0xA01C)
-#define   GEN6_CAGF_SHIFT                      8
-#define   HSW_CAGF_SHIFT                       7
-#define   GEN9_CAGF_SHIFT                      23
-#define   GEN6_CAGF_MASK                       (0x7f << GEN6_CAGF_SHIFT)
-#define   HSW_CAGF_MASK                                (0x7f << HSW_CAGF_SHIFT)
-#define   GEN9_CAGF_MASK                       (0x1ff << GEN9_CAGF_SHIFT)
-#define GEN6_RP_CONTROL                                _MMIO(0xA024)
-#define   GEN6_RP_MEDIA_TURBO                  (1 << 11)
-#define   GEN6_RP_MEDIA_MODE_MASK              (3 << 9)
-#define   GEN6_RP_MEDIA_HW_TURBO_MODE          (3 << 9)
-#define   GEN6_RP_MEDIA_HW_NORMAL_MODE         (2 << 9)
-#define   GEN6_RP_MEDIA_HW_MODE                        (1 << 9)
-#define   GEN6_RP_MEDIA_SW_MODE                        (0 << 9)
-#define   GEN6_RP_MEDIA_IS_GFX                 (1 << 8)
-#define   GEN6_RP_ENABLE                       (1 << 7)
-#define   GEN6_RP_UP_IDLE_MIN                  (0x1 << 3)
-#define   GEN6_RP_UP_BUSY_AVG                  (0x2 << 3)
-#define   GEN6_RP_UP_BUSY_CONT                 (0x4 << 3)
-#define   GEN6_RP_DOWN_IDLE_AVG                        (0x2 << 0)
-#define   GEN6_RP_DOWN_IDLE_CONT               (0x1 << 0)
-#define   GEN6_RPSWCTL_SHIFT                   9
-#define   GEN9_RPSWCTL_ENABLE                  (0x2 << GEN6_RPSWCTL_SHIFT)
-#define   GEN9_RPSWCTL_DISABLE                 (0x0 << GEN6_RPSWCTL_SHIFT)
-#define GEN6_RP_UP_THRESHOLD                   _MMIO(0xA02C)
-#define GEN6_RP_DOWN_THRESHOLD                 _MMIO(0xA030)
-#define GEN6_RP_CUR_UP_EI                      _MMIO(0xA050)
-#define   GEN6_RP_EI_MASK                      0xffffff
-#define   GEN6_CURICONT_MASK                   GEN6_RP_EI_MASK
-#define GEN6_RP_CUR_UP                         _MMIO(0xA054)
-#define   GEN6_CURBSYTAVG_MASK                 GEN6_RP_EI_MASK
-#define GEN6_RP_PREV_UP                                _MMIO(0xA058)
-#define GEN6_RP_CUR_DOWN_EI                    _MMIO(0xA05C)
-#define   GEN6_CURIAVG_MASK                    GEN6_RP_EI_MASK
-#define GEN6_RP_CUR_DOWN                       _MMIO(0xA060)
-#define GEN6_RP_PREV_DOWN                      _MMIO(0xA064)
-#define GEN6_RP_UP_EI                          _MMIO(0xA068)
-#define GEN6_RP_DOWN_EI                                _MMIO(0xA06C)
-#define GEN6_RP_IDLE_HYSTERSIS                 _MMIO(0xA070)
-#define GEN6_RPDEUHWTC                         _MMIO(0xA080)
-#define GEN6_RPDEUC                            _MMIO(0xA084)
-#define GEN6_RPDEUCSW                          _MMIO(0xA088)
-#define GEN6_RC_STATE                          _MMIO(0xA094)
-#define   RC_SW_TARGET_STATE_SHIFT             16
-#define   RC_SW_TARGET_STATE_MASK              (7 << RC_SW_TARGET_STATE_SHIFT)
-#define GEN6_RC1_WAKE_RATE_LIMIT               _MMIO(0xA098)
-#define GEN6_RC6_WAKE_RATE_LIMIT               _MMIO(0xA09C)
-#define GEN6_RC6pp_WAKE_RATE_LIMIT             _MMIO(0xA0A0)
-#define GEN10_MEDIA_WAKE_RATE_LIMIT            _MMIO(0xA0A0)
-#define GEN6_RC_EVALUATION_INTERVAL            _MMIO(0xA0A8)
-#define GEN6_RC_IDLE_HYSTERSIS                 _MMIO(0xA0AC)
-#define GEN6_RC_SLEEP                          _MMIO(0xA0B0)
-#define GEN6_RCUBMABDTMR                       _MMIO(0xA0B0)
-#define GEN6_RC1e_THRESHOLD                    _MMIO(0xA0B4)
-#define GEN6_RC6_THRESHOLD                     _MMIO(0xA0B8)
-#define GEN6_RC6p_THRESHOLD                    _MMIO(0xA0BC)
-#define VLV_RCEDATA                            _MMIO(0xA0BC)
-#define GEN6_RC6pp_THRESHOLD                   _MMIO(0xA0C0)
-#define GEN6_PMINTRMSK                         _MMIO(0xA168)
-#define   GEN8_PMINTR_DISABLE_REDIRECT_TO_GUC  (1 << 31)
-#define   ARAT_EXPIRED_INTRMSK                 (1 << 9)
-#define GEN8_MISC_CTRL0                                _MMIO(0xA180)
-#define VLV_PWRDWNUPCTL                                _MMIO(0xA294)
-#define GEN9_MEDIA_PG_IDLE_HYSTERESIS          _MMIO(0xA0C4)
-#define GEN9_RENDER_PG_IDLE_HYSTERESIS         _MMIO(0xA0C8)
-#define GEN9_PG_ENABLE                         _MMIO(0xA210)
-#define   GEN9_RENDER_PG_ENABLE                        REG_BIT(0)
-#define   GEN9_MEDIA_PG_ENABLE                 REG_BIT(1)
-#define   GEN11_MEDIA_SAMPLER_PG_ENABLE                REG_BIT(2)
-#define   VDN_HCP_POWERGATE_ENABLE(n)          REG_BIT(3 + 2 * (n))
-#define   VDN_MFX_POWERGATE_ENABLE(n)          REG_BIT(4 + 2 * (n))
-#define GEN8_PUSHBUS_CONTROL                   _MMIO(0xA248)
-#define GEN8_PUSHBUS_ENABLE                    _MMIO(0xA250)
-#define GEN8_PUSHBUS_SHIFT                     _MMIO(0xA25C)
-
 #define VLV_CHICKEN_3                          _MMIO(VLV_DISPLAY_BASE + 0x7040C)
 #define  PIXEL_OVERLAP_CNT_MASK                        (3 << 30)
 #define  PIXEL_OVERLAP_CNT_SHIFT               30
 
-#define GEN6_PMISR                             _MMIO(0x44020)
-#define GEN6_PMIMR                             _MMIO(0x44024) /* rps_lock */
-#define GEN6_PMIIR                             _MMIO(0x44028)
-#define GEN6_PMIER                             _MMIO(0x4402C)
-#define  GEN6_PM_MBOX_EVENT                    (1 << 25)
-#define  GEN6_PM_THERMAL_EVENT                 (1 << 24)
-
-/*
- * For Gen11 these are in the upper word of the GPM_WGBOXPERF
- * registers. Shifting is handled on accessing the imr and ier.
- */
-#define  GEN6_PM_RP_DOWN_TIMEOUT               (1 << 6)
-#define  GEN6_PM_RP_UP_THRESHOLD               (1 << 5)
-#define  GEN6_PM_RP_DOWN_THRESHOLD             (1 << 4)
-#define  GEN6_PM_RP_UP_EI_EXPIRED              (1 << 2)
-#define  GEN6_PM_RP_DOWN_EI_EXPIRED            (1 << 1)
-#define  GEN6_PM_RPS_EVENTS                    (GEN6_PM_RP_UP_EI_EXPIRED   | \
-                                                GEN6_PM_RP_UP_THRESHOLD    | \
-                                                GEN6_PM_RP_DOWN_EI_EXPIRED | \
-                                                GEN6_PM_RP_DOWN_THRESHOLD  | \
-                                                GEN6_PM_RP_DOWN_TIMEOUT)
-
-#define GEN7_GT_SCRATCH(i)                     _MMIO(0x4F100 + (i) * 4)
-#define GEN7_GT_SCRATCH_REG_NUM                        8
-
-#define VLV_GTLC_SURVIVABILITY_REG              _MMIO(0x130098)
-#define VLV_GFX_CLK_STATUS_BIT                 (1 << 3)
-#define VLV_GFX_CLK_FORCE_ON_BIT               (1 << 2)
-
-#define GEN6_GT_GFX_RC6_LOCKED                 _MMIO(0x138104)
-#define VLV_COUNTER_CONTROL                    _MMIO(0x138104)
-#define   VLV_COUNT_RANGE_HIGH                 (1 << 15)
-#define   VLV_MEDIA_RC0_COUNT_EN               (1 << 5)
-#define   VLV_RENDER_RC0_COUNT_EN              (1 << 4)
-#define   VLV_MEDIA_RC6_COUNT_EN               (1 << 1)
-#define   VLV_RENDER_RC6_COUNT_EN              (1 << 0)
-#define GEN6_GT_GFX_RC6                                _MMIO(0x138108)
-#define VLV_GT_RENDER_RC6                      _MMIO(0x138108)
-#define VLV_GT_MEDIA_RC6                       _MMIO(0x13810C)
-
-#define GEN6_GT_GFX_RC6p                       _MMIO(0x13810C)
-#define GEN6_GT_GFX_RC6pp                      _MMIO(0x138110)
-#define VLV_RENDER_C0_COUNT                    _MMIO(0x138118)
-#define VLV_MEDIA_C0_COUNT                     _MMIO(0x13811C)
-
 #define GEN6_PCODE_MAILBOX                     _MMIO(0x138124)
 #define   GEN6_PCODE_READY                     (1 << 31)
 #define   GEN6_PCODE_ERROR_MASK                        0xFF
@@ -9635,82 +6749,6 @@ enum {
 #define   GEN6_PCODE_FREQ_RING_RATIO_SHIFT     16
 #define GEN6_PCODE_DATA1                       _MMIO(0x13812C)
 
-#define GEN6_GT_CORE_STATUS            _MMIO(0x138060)
-#define   GEN6_CORE_CPD_STATE_MASK     (7 << 4)
-#define   GEN6_RCn_MASK                        7
-#define   GEN6_RC0                     0
-#define   GEN6_RC3                     2
-#define   GEN6_RC6                     3
-#define   GEN6_RC7                     4
-
-#define GEN8_GT_SLICE_INFO             _MMIO(0x138064)
-#define   GEN8_LSLICESTAT_MASK         0x7
-
-#define CHV_POWER_SS0_SIG1             _MMIO(0xa720)
-#define CHV_POWER_SS1_SIG1             _MMIO(0xa728)
-#define   CHV_SS_PG_ENABLE             (1 << 1)
-#define   CHV_EU08_PG_ENABLE           (1 << 9)
-#define   CHV_EU19_PG_ENABLE           (1 << 17)
-#define   CHV_EU210_PG_ENABLE          (1 << 25)
-
-#define CHV_POWER_SS0_SIG2             _MMIO(0xa724)
-#define CHV_POWER_SS1_SIG2             _MMIO(0xa72c)
-#define   CHV_EU311_PG_ENABLE          (1 << 1)
-
-#define GEN9_SLICE_PGCTL_ACK(slice)    _MMIO(0x804c + (slice) * 0x4)
-#define GEN10_SLICE_PGCTL_ACK(slice)   _MMIO(0x804c + ((slice) / 3) * 0x34 + \
-                                             ((slice) % 3) * 0x4)
-#define   GEN9_PGCTL_SLICE_ACK         (1 << 0)
-#define   GEN9_PGCTL_SS_ACK(subslice)  (1 << (2 + (subslice) * 2))
-#define   GEN10_PGCTL_VALID_SS_MASK(slice) ((slice) == 0 ? 0x7F : 0x1F)
-
-#define GEN9_SS01_EU_PGCTL_ACK(slice)  _MMIO(0x805c + (slice) * 0x8)
-#define GEN10_SS01_EU_PGCTL_ACK(slice) _MMIO(0x805c + ((slice) / 3) * 0x30 + \
-                                             ((slice) % 3) * 0x8)
-#define GEN9_SS23_EU_PGCTL_ACK(slice)  _MMIO(0x8060 + (slice) * 0x8)
-#define GEN10_SS23_EU_PGCTL_ACK(slice) _MMIO(0x8060 + ((slice) / 3) * 0x30 + \
-                                             ((slice) % 3) * 0x8)
-#define   GEN9_PGCTL_SSA_EU08_ACK      (1 << 0)
-#define   GEN9_PGCTL_SSA_EU19_ACK      (1 << 2)
-#define   GEN9_PGCTL_SSA_EU210_ACK     (1 << 4)
-#define   GEN9_PGCTL_SSA_EU311_ACK     (1 << 6)
-#define   GEN9_PGCTL_SSB_EU08_ACK      (1 << 8)
-#define   GEN9_PGCTL_SSB_EU19_ACK      (1 << 10)
-#define   GEN9_PGCTL_SSB_EU210_ACK     (1 << 12)
-#define   GEN9_PGCTL_SSB_EU311_ACK     (1 << 14)
-
-#define GEN7_MISCCPCTL                         _MMIO(0x9424)
-#define   GEN7_DOP_CLOCK_GATE_ENABLE           (1 << 0)
-#define   GEN8_DOP_CLOCK_GATE_CFCLK_ENABLE     (1 << 2)
-#define   GEN8_DOP_CLOCK_GATE_GUC_ENABLE       (1 << 4)
-#define   GEN8_DOP_CLOCK_GATE_MEDIA_ENABLE     (1 << 6)
-
-#define GEN8_GARBCNTL                          _MMIO(0xB004)
-#define   GEN9_GAPS_TSV_CREDIT_DISABLE         (1 << 7)
-#define   GEN11_ARBITRATION_PRIO_ORDER_MASK    (0x3f << 22)
-#define   GEN11_HASH_CTRL_EXCL_MASK            (0x7f << 0)
-#define   GEN11_HASH_CTRL_EXCL_BIT0            (1 << 0)
-
-#define GEN11_GLBLINVL                         _MMIO(0xB404)
-#define   GEN11_BANK_HASH_ADDR_EXCL_MASK       (0x7f << 5)
-#define   GEN11_BANK_HASH_ADDR_EXCL_BIT0       (1 << 5)
-
-#define GEN10_DFR_RATIO_EN_AND_CHICKEN _MMIO(0x9550)
-#define   DFR_DISABLE                  (1 << 9)
-
-#define GEN11_GACB_PERF_CTRL                   _MMIO(0x4B80)
-#define   GEN11_HASH_CTRL_MASK                 (0x3 << 12 | 0xf << 0)
-#define   GEN11_HASH_CTRL_BIT0                 (1 << 0)
-#define   GEN11_HASH_CTRL_BIT4                 (1 << 12)
-
-#define GEN11_LSN_UNSLCVC                              _MMIO(0xB43C)
-#define   GEN11_LSN_UNSLCVC_GAFS_HALF_CL2_MAXALLOC     (1 << 9)
-#define   GEN11_LSN_UNSLCVC_GAFS_HALF_SF_MAXALLOC      (1 << 7)
-
-#define GEN10_SAMPLER_MODE             _MMIO(0xE18C)
-#define   ENABLE_SMALLPL                       REG_BIT(15)
-#define   GEN11_SAMPLER_ENABLE_HEADLESS_MSG    REG_BIT(5)
-
 /* IVYBRIDGE DPF */
 #define GEN7_L3CDERRST1(slice)         _MMIO(0xB008 + (slice) * 0x200) /* L3CD Error Status 1 */
 #define   GEN7_L3CDERRST1_ROW_MASK     (0x7ff << 14)
@@ -9725,73 +6763,6 @@ enum {
                (((reg) & GEN7_L3CDERRST1_SUBBANK_MASK) >> 8)
 #define   GEN7_L3CDERRST1_ENABLE       (1 << 7)
 
-#define GEN7_L3LOG(slice, i)           _MMIO(0xB070 + (slice) * 0x200 + (i) * 4)
-#define GEN7_L3LOG_SIZE                        0x80
-
-#define GEN7_HALF_SLICE_CHICKEN1       _MMIO(0xe100) /* IVB GT1 + VLV */
-#define GEN7_HALF_SLICE_CHICKEN1_GT2   _MMIO(0xf100)
-#define   GEN7_MAX_PS_THREAD_DEP               (8 << 12)
-#define   GEN7_SINGLE_SUBSCAN_DISPATCH_ENABLE  (1 << 10)
-#define   GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE      (1 << 4)
-#define   GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE (1 << 3)
-
-#define GEN9_HALF_SLICE_CHICKEN5       _MMIO(0xe188)
-#define   GEN9_DG_MIRROR_FIX_ENABLE    (1 << 5)
-#define   GEN9_CCS_TLB_PREFETCH_ENABLE (1 << 3)
-
-#define GEN8_ROW_CHICKEN               _MMIO(0xe4f0)
-#define   FLOW_CONTROL_ENABLE                  REG_BIT(15)
-#define   UGM_BACKUP_MODE                      REG_BIT(13)
-#define   MDQ_ARBITRATION_MODE                 REG_BIT(12)
-#define   PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE        REG_BIT(8)
-#define   STALL_DOP_GATING_DISABLE             REG_BIT(5)
-#define   THROTTLE_12_5                                REG_GENMASK(4, 2)
-#define   DISABLE_EARLY_EOT                    REG_BIT(1)
-
-#define GEN7_ROW_CHICKEN2                      _MMIO(0xe4f4)
-#define   GEN12_DISABLE_READ_SUPPRESSION       REG_BIT(15)
-#define   GEN12_DISABLE_EARLY_READ             REG_BIT(14)
-#define   GEN12_ENABLE_LARGE_GRF_MODE          REG_BIT(12)
-#define   GEN12_PUSH_CONST_DEREF_HOLD_DIS      REG_BIT(8)
-
-#define LSC_CHICKEN_BIT_0                      _MMIO(0xe7c8)
-#define   FORCE_1_SUB_MESSAGE_PER_FRAGMENT     REG_BIT(15)
-#define LSC_CHICKEN_BIT_0_UDW                  _MMIO(0xe7c8 + 4)
-#define   DIS_CHAIN_2XSIMD8                    REG_BIT(55 - 32)
-#define   FORCE_SLM_FENCE_SCOPE_TO_TILE                REG_BIT(42 - 32)
-#define   FORCE_UGM_FENCE_SCOPE_TO_TILE                REG_BIT(41 - 32)
-#define   MAXREQS_PER_BANK                     REG_GENMASK(39 - 32, 37 - 32)
-#define   DISABLE_128B_EVICTION_COMMAND_UDW    REG_BIT(36 - 32)
-
-#define GEN7_ROW_CHICKEN2_GT2          _MMIO(0xf4f4)
-#define   DOP_CLOCK_GATING_DISABLE     (1 << 0)
-#define   PUSH_CONSTANT_DEREF_DISABLE  (1 << 8)
-#define   GEN11_TDL_CLOCK_GATING_FIX_DISABLE   (1 << 1)
-
-#define GEN9_ROW_CHICKEN4                              _MMIO(0xe48c)
-#define   GEN12_DISABLE_GRF_CLEAR                      REG_BIT(13)
-#define   GEN12_DISABLE_TDL_PUSH                       REG_BIT(9)
-#define   GEN11_DIS_PICK_2ND_EU                                REG_BIT(7)
-#define   GEN12_DISABLE_HDR_PAST_PAYLOAD_HOLD_FIX      REG_BIT(4)
-
-#define HSW_ROW_CHICKEN3               _MMIO(0xe49c)
-#define  HSW_ROW_CHICKEN3_L3_GLOBAL_ATOMICS_DISABLE    (1 << 6)
-
-#define HALF_SLICE_CHICKEN2            _MMIO(0xe180)
-#define   GEN8_ST_PO_DISABLE           (1 << 13)
-
-#define HALF_SLICE_CHICKEN3            _MMIO(0xe184)
-#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   GEN8_SAMPLER_POWER_BYPASS_DIS        (1 << 1)
-
-#define GEN9_HALF_SLICE_CHICKEN7       _MMIO(0xe194)
-#define   DG2_DISABLE_ROUND_ENABLE_ALLOW_FOR_SSLA      REG_BIT(15)
-#define   GEN9_SAMPLER_HASH_COMPRESSED_READ_ADDR       REG_BIT(8)
-#define   GEN9_ENABLE_YV12_BUGFIX                      REG_BIT(4)
-#define   GEN9_ENABLE_GPGPU_PREEMPTION                 REG_BIT(2)
-
 /* Audio */
 #define G4X_AUD_VID_DID                        _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x62020)
 #define   INTEL_AUDIO_DEVCL            0x808629FB
@@ -10840,149 +7811,6 @@ enum skl_power_gate {
                                                            PORTTC1_PLL_ENABLE, \
                                                            PORTTC2_PLL_ENABLE)
 
-#define _MG_REFCLKIN_CTL_PORT1                         0x16892C
-#define _MG_REFCLKIN_CTL_PORT2                         0x16992C
-#define _MG_REFCLKIN_CTL_PORT3                         0x16A92C
-#define _MG_REFCLKIN_CTL_PORT4                         0x16B92C
-#define   MG_REFCLKIN_CTL_OD_2_MUX(x)                  ((x) << 8)
-#define   MG_REFCLKIN_CTL_OD_2_MUX_MASK                        (0x7 << 8)
-#define MG_REFCLKIN_CTL(tc_port) _MMIO_PORT((tc_port), \
-                                           _MG_REFCLKIN_CTL_PORT1, \
-                                           _MG_REFCLKIN_CTL_PORT2)
-
-#define _MG_CLKTOP2_CORECLKCTL1_PORT1                  0x1688D8
-#define _MG_CLKTOP2_CORECLKCTL1_PORT2                  0x1698D8
-#define _MG_CLKTOP2_CORECLKCTL1_PORT3                  0x16A8D8
-#define _MG_CLKTOP2_CORECLKCTL1_PORT4                  0x16B8D8
-#define   MG_CLKTOP2_CORECLKCTL1_B_DIVRATIO(x)         ((x) << 16)
-#define   MG_CLKTOP2_CORECLKCTL1_B_DIVRATIO_MASK       (0xff << 16)
-#define   MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO(x)         ((x) << 8)
-#define   MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO_MASK       (0xff << 8)
-#define MG_CLKTOP2_CORECLKCTL1(tc_port) _MMIO_PORT((tc_port), \
-                                                  _MG_CLKTOP2_CORECLKCTL1_PORT1, \
-                                                  _MG_CLKTOP2_CORECLKCTL1_PORT2)
-
-#define _MG_CLKTOP2_HSCLKCTL_PORT1                     0x1688D4
-#define _MG_CLKTOP2_HSCLKCTL_PORT2                     0x1698D4
-#define _MG_CLKTOP2_HSCLKCTL_PORT3                     0x16A8D4
-#define _MG_CLKTOP2_HSCLKCTL_PORT4                     0x16B8D4
-#define   MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL(x)         ((x) << 16)
-#define   MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL_MASK       (0x1 << 16)
-#define   MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL(x)       ((x) << 14)
-#define   MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL_MASK     (0x3 << 14)
-#define   MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_MASK         (0x3 << 12)
-#define   MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_2            (0 << 12)
-#define   MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_3            (1 << 12)
-#define   MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_5            (2 << 12)
-#define   MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_7            (3 << 12)
-#define   MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO(x)           ((x) << 8)
-#define   MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_SHIFT                8
-#define   MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_MASK         (0xf << 8)
-#define MG_CLKTOP2_HSCLKCTL(tc_port) _MMIO_PORT((tc_port), \
-                                               _MG_CLKTOP2_HSCLKCTL_PORT1, \
-                                               _MG_CLKTOP2_HSCLKCTL_PORT2)
-
-#define _MG_PLL_DIV0_PORT1                             0x168A00
-#define _MG_PLL_DIV0_PORT2                             0x169A00
-#define _MG_PLL_DIV0_PORT3                             0x16AA00
-#define _MG_PLL_DIV0_PORT4                             0x16BA00
-#define   MG_PLL_DIV0_FRACNEN_H                                (1 << 30)
-#define   MG_PLL_DIV0_FBDIV_FRAC_MASK                  (0x3fffff << 8)
-#define   MG_PLL_DIV0_FBDIV_FRAC_SHIFT                 8
-#define   MG_PLL_DIV0_FBDIV_FRAC(x)                    ((x) << 8)
-#define   MG_PLL_DIV0_FBDIV_INT_MASK                   (0xff << 0)
-#define   MG_PLL_DIV0_FBDIV_INT(x)                     ((x) << 0)
-#define MG_PLL_DIV0(tc_port) _MMIO_PORT((tc_port), _MG_PLL_DIV0_PORT1, \
-                                       _MG_PLL_DIV0_PORT2)
-
-#define _MG_PLL_DIV1_PORT1                             0x168A04
-#define _MG_PLL_DIV1_PORT2                             0x169A04
-#define _MG_PLL_DIV1_PORT3                             0x16AA04
-#define _MG_PLL_DIV1_PORT4                             0x16BA04
-#define   MG_PLL_DIV1_IREF_NDIVRATIO(x)                        ((x) << 16)
-#define   MG_PLL_DIV1_DITHER_DIV_1                     (0 << 12)
-#define   MG_PLL_DIV1_DITHER_DIV_2                     (1 << 12)
-#define   MG_PLL_DIV1_DITHER_DIV_4                     (2 << 12)
-#define   MG_PLL_DIV1_DITHER_DIV_8                     (3 << 12)
-#define   MG_PLL_DIV1_NDIVRATIO(x)                     ((x) << 4)
-#define   MG_PLL_DIV1_FBPREDIV_MASK                    (0xf << 0)
-#define   MG_PLL_DIV1_FBPREDIV(x)                      ((x) << 0)
-#define MG_PLL_DIV1(tc_port) _MMIO_PORT((tc_port), _MG_PLL_DIV1_PORT1, \
-                                       _MG_PLL_DIV1_PORT2)
-
-#define _MG_PLL_LF_PORT1                               0x168A08
-#define _MG_PLL_LF_PORT2                               0x169A08
-#define _MG_PLL_LF_PORT3                               0x16AA08
-#define _MG_PLL_LF_PORT4                               0x16BA08
-#define   MG_PLL_LF_TDCTARGETCNT(x)                    ((x) << 24)
-#define   MG_PLL_LF_AFCCNTSEL_256                      (0 << 20)
-#define   MG_PLL_LF_AFCCNTSEL_512                      (1 << 20)
-#define   MG_PLL_LF_GAINCTRL(x)                                ((x) << 16)
-#define   MG_PLL_LF_INT_COEFF(x)                       ((x) << 8)
-#define   MG_PLL_LF_PROP_COEFF(x)                      ((x) << 0)
-#define MG_PLL_LF(tc_port) _MMIO_PORT((tc_port), _MG_PLL_LF_PORT1, \
-                                     _MG_PLL_LF_PORT2)
-
-#define _MG_PLL_FRAC_LOCK_PORT1                                0x168A0C
-#define _MG_PLL_FRAC_LOCK_PORT2                                0x169A0C
-#define _MG_PLL_FRAC_LOCK_PORT3                                0x16AA0C
-#define _MG_PLL_FRAC_LOCK_PORT4                                0x16BA0C
-#define   MG_PLL_FRAC_LOCK_TRUELOCK_CRIT_32            (1 << 18)
-#define   MG_PLL_FRAC_LOCK_EARLYLOCK_CRIT_32           (1 << 16)
-#define   MG_PLL_FRAC_LOCK_LOCKTHRESH(x)               ((x) << 11)
-#define   MG_PLL_FRAC_LOCK_DCODITHEREN                 (1 << 10)
-#define   MG_PLL_FRAC_LOCK_FEEDFWRDCAL_EN              (1 << 8)
-#define   MG_PLL_FRAC_LOCK_FEEDFWRDGAIN(x)             ((x) << 0)
-#define MG_PLL_FRAC_LOCK(tc_port) _MMIO_PORT((tc_port), \
-                                            _MG_PLL_FRAC_LOCK_PORT1, \
-                                            _MG_PLL_FRAC_LOCK_PORT2)
-
-#define _MG_PLL_SSC_PORT1                              0x168A10
-#define _MG_PLL_SSC_PORT2                              0x169A10
-#define _MG_PLL_SSC_PORT3                              0x16AA10
-#define _MG_PLL_SSC_PORT4                              0x16BA10
-#define   MG_PLL_SSC_EN                                        (1 << 28)
-#define   MG_PLL_SSC_TYPE(x)                           ((x) << 26)
-#define   MG_PLL_SSC_STEPLENGTH(x)                     ((x) << 16)
-#define   MG_PLL_SSC_STEPNUM(x)                                ((x) << 10)
-#define   MG_PLL_SSC_FLLEN                             (1 << 9)
-#define   MG_PLL_SSC_STEPSIZE(x)                       ((x) << 0)
-#define MG_PLL_SSC(tc_port) _MMIO_PORT((tc_port), _MG_PLL_SSC_PORT1, \
-                                      _MG_PLL_SSC_PORT2)
-
-#define _MG_PLL_BIAS_PORT1                             0x168A14
-#define _MG_PLL_BIAS_PORT2                             0x169A14
-#define _MG_PLL_BIAS_PORT3                             0x16AA14
-#define _MG_PLL_BIAS_PORT4                             0x16BA14
-#define   MG_PLL_BIAS_BIAS_GB_SEL(x)                   ((x) << 30)
-#define   MG_PLL_BIAS_BIAS_GB_SEL_MASK                 (0x3 << 30)
-#define   MG_PLL_BIAS_INIT_DCOAMP(x)                   ((x) << 24)
-#define   MG_PLL_BIAS_INIT_DCOAMP_MASK                 (0x3f << 24)
-#define   MG_PLL_BIAS_BIAS_BONUS(x)                    ((x) << 16)
-#define   MG_PLL_BIAS_BIAS_BONUS_MASK                  (0xff << 16)
-#define   MG_PLL_BIAS_BIASCAL_EN                       (1 << 15)
-#define   MG_PLL_BIAS_CTRIM(x)                         ((x) << 8)
-#define   MG_PLL_BIAS_CTRIM_MASK                       (0x1f << 8)
-#define   MG_PLL_BIAS_VREF_RDAC(x)                     ((x) << 5)
-#define   MG_PLL_BIAS_VREF_RDAC_MASK                   (0x7 << 5)
-#define   MG_PLL_BIAS_IREFTRIM(x)                      ((x) << 0)
-#define   MG_PLL_BIAS_IREFTRIM_MASK                    (0x1f << 0)
-#define MG_PLL_BIAS(tc_port) _MMIO_PORT((tc_port), _MG_PLL_BIAS_PORT1, \
-                                       _MG_PLL_BIAS_PORT2)
-
-#define _MG_PLL_TDC_COLDST_BIAS_PORT1                  0x168A18
-#define _MG_PLL_TDC_COLDST_BIAS_PORT2                  0x169A18
-#define _MG_PLL_TDC_COLDST_BIAS_PORT3                  0x16AA18
-#define _MG_PLL_TDC_COLDST_BIAS_PORT4                  0x16BA18
-#define   MG_PLL_TDC_COLDST_IREFINT_EN                 (1 << 27)
-#define   MG_PLL_TDC_COLDST_REFBIAS_START_PULSE_W(x)   ((x) << 17)
-#define   MG_PLL_TDC_COLDST_COLDSTART                  (1 << 16)
-#define   MG_PLL_TDC_TDCOVCCORR_EN                     (1 << 2)
-#define   MG_PLL_TDC_TDCSEL(x)                         ((x) << 0)
-#define MG_PLL_TDC_COLDST_BIAS(tc_port) _MMIO_PORT((tc_port), \
-                                                  _MG_PLL_TDC_COLDST_BIAS_PORT1, \
-                                                  _MG_PLL_TDC_COLDST_BIAS_PORT2)
-
 #define _ICL_DPLL0_CFGCR0              0x164000
 #define _ICL_DPLL1_CFGCR0              0x164080
 #define ICL_DPLL_CFGCR0(pll)           _MMIO_PLL(pll, _ICL_DPLL0_CFGCR0, \
@@ -11039,6 +7867,12 @@ enum skl_power_gate {
 #define RKL_DPLL_CFGCR0(pll)           _MMIO_PLL(pll, _TGL_DPLL0_CFGCR0, \
                                                  _TGL_DPLL1_CFGCR0)
 
+#define _TGL_DPLL0_DIV0                                        0x164B00
+#define _TGL_DPLL1_DIV0                                        0x164C00
+#define TGL_DPLL0_DIV0(pll)                            _MMIO_PLL(pll, _TGL_DPLL0_DIV0, _TGL_DPLL1_DIV0)
+#define   TGL_DPLL0_DIV0_AFC_STARTUP_MASK              REG_GENMASK(27, 25)
+#define   TGL_DPLL0_DIV0_AFC_STARTUP(val)              REG_FIELD_PREP(TGL_DPLL0_DIV0_AFC_STARTUP_MASK, (val))
+
 #define _TGL_DPLL0_CFGCR1              0x164288
 #define _TGL_DPLL1_CFGCR1              0x164290
 #define _TGL_TBTPLL_CFGCR1             0x1642A0
@@ -11085,7 +7919,15 @@ enum skl_power_gate {
 #define _DKL_PHY6_BASE                 0x16D000
 
 /* DEKEL PHY MMIO Address = Phy base + (internal address & ~index_mask) */
+#define _DKL_PCS_DW5                   0x14
+#define DKL_PCS_DW5(tc_port)           _MMIO(_PORT(tc_port, _DKL_PHY1_BASE, \
+                                                   _DKL_PHY2_BASE) + \
+                                                   _DKL_PCS_DW5)
+#define   DKL_PCS_DW5_CORE_SOFTRESET   REG_BIT(11)
+
 #define _DKL_PLL_DIV0                  0x200
+#define   DKL_PLL_DIV0_AFC_STARTUP_MASK        REG_GENMASK(27, 25)
+#define   DKL_PLL_DIV0_AFC_STARTUP(val)        REG_FIELD_PREP(DKL_PLL_DIV0_AFC_STARTUP_MASK, (val))
 #define   DKL_PLL_DIV0_INTEG_COEFF(x)  ((x) << 16)
 #define   DKL_PLL_DIV0_INTEG_COEFF_MASK        (0x1F << 16)
 #define   DKL_PLL_DIV0_PROP_COEFF(x)   ((x) << 12)
@@ -11095,6 +7937,10 @@ enum skl_power_gate {
 #define   DKL_PLL_DIV0_FBPREDIV_MASK   (0xF << DKL_PLL_DIV0_FBPREDIV_SHIFT)
 #define   DKL_PLL_DIV0_FBDIV_INT(x)    ((x) << 0)
 #define   DKL_PLL_DIV0_FBDIV_INT_MASK  (0xFF << 0)
+#define   DKL_PLL_DIV0_MASK            (DKL_PLL_DIV0_INTEG_COEFF_MASK | \
+                                        DKL_PLL_DIV0_PROP_COEFF_MASK | \
+                                        DKL_PLL_DIV0_FBPREDIV_MASK | \
+                                        DKL_PLL_DIV0_FBDIV_INT_MASK)
 #define DKL_PLL_DIV0(tc_port)          _MMIO(_PORT(tc_port, _DKL_PHY1_BASE, \
                                                    _DKL_PHY2_BASE) + \
                                                    _DKL_PLL_DIV0)
@@ -11268,93 +8114,7 @@ enum skl_power_gate {
 #define  DC_STATE_DEBUG_MASK_CORES     (1 << 0)
 #define  DC_STATE_DEBUG_MASK_MEMORY_UP (1 << 1)
 
-#define BXT_D_CR_DRP0_DUNIT8                   0x1000
-#define BXT_D_CR_DRP0_DUNIT9                   0x1200
-#define  BXT_D_CR_DRP0_DUNIT_START             8
-#define  BXT_D_CR_DRP0_DUNIT_END               11
-#define BXT_D_CR_DRP0_DUNIT(x) _MMIO(MCHBAR_MIRROR_BASE_SNB + \
-                                     _PICK_EVEN((x) - 8, BXT_D_CR_DRP0_DUNIT8,\
-                                                BXT_D_CR_DRP0_DUNIT9))
-#define  BXT_DRAM_RANK_MASK                    0x3
-#define  BXT_DRAM_RANK_SINGLE                  0x1
-#define  BXT_DRAM_RANK_DUAL                    0x3
-#define  BXT_DRAM_WIDTH_MASK                   (0x3 << 4)
-#define  BXT_DRAM_WIDTH_SHIFT                  4
-#define  BXT_DRAM_WIDTH_X8                     (0x0 << 4)
-#define  BXT_DRAM_WIDTH_X16                    (0x1 << 4)
-#define  BXT_DRAM_WIDTH_X32                    (0x2 << 4)
-#define  BXT_DRAM_WIDTH_X64                    (0x3 << 4)
-#define  BXT_DRAM_SIZE_MASK                    (0x7 << 6)
-#define  BXT_DRAM_SIZE_SHIFT                   6
-#define  BXT_DRAM_SIZE_4GBIT                   (0x0 << 6)
-#define  BXT_DRAM_SIZE_6GBIT                   (0x1 << 6)
-#define  BXT_DRAM_SIZE_8GBIT                   (0x2 << 6)
-#define  BXT_DRAM_SIZE_12GBIT                  (0x3 << 6)
-#define  BXT_DRAM_SIZE_16GBIT                  (0x4 << 6)
-#define  BXT_DRAM_TYPE_MASK                    (0x7 << 22)
-#define  BXT_DRAM_TYPE_SHIFT                   22
-#define  BXT_DRAM_TYPE_DDR3                    (0x0 << 22)
-#define  BXT_DRAM_TYPE_LPDDR3                  (0x1 << 22)
-#define  BXT_DRAM_TYPE_LPDDR4                  (0x2 << 22)
-#define  BXT_DRAM_TYPE_DDR4                    (0x4 << 22)
-
-#define SKL_MC_BIOS_DATA_0_0_0_MCHBAR_PCU      _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5E04)
-#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)
-#define  SKL_DRAM_DDR_TYPE_DDR4                        (0 << 0)
-#define  SKL_DRAM_DDR_TYPE_DDR3                        (1 << 0)
-#define  SKL_DRAM_DDR_TYPE_LPDDR3              (2 << 0)
-#define  SKL_DRAM_DDR_TYPE_LPDDR4              (3 << 0)
-
-#define SKL_MAD_DIMM_CH0_0_0_0_MCHBAR_MCMAIN   _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x500C)
-#define SKL_MAD_DIMM_CH1_0_0_0_MCHBAR_MCMAIN   _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5010)
-#define  SKL_DRAM_S_SHIFT                      16
-#define  SKL_DRAM_SIZE_MASK                    0x3F
-#define  SKL_DRAM_WIDTH_MASK                   (0x3 << 8)
-#define  SKL_DRAM_WIDTH_SHIFT                  8
-#define  SKL_DRAM_WIDTH_X8                     (0x0 << 8)
-#define  SKL_DRAM_WIDTH_X16                    (0x1 << 8)
-#define  SKL_DRAM_WIDTH_X32                    (0x2 << 8)
-#define  SKL_DRAM_RANK_MASK                    (0x1 << 10)
-#define  SKL_DRAM_RANK_SHIFT                   10
-#define  SKL_DRAM_RANK_1                       (0x0 << 10)
-#define  SKL_DRAM_RANK_2                       (0x1 << 10)
-#define  SKL_DRAM_RANK_MASK                    (0x1 << 10)
-#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,
- * since on HSW we can't write to it using intel_uncore_write.
- */
-#define D_COMP_HSW                     _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5F0C)
 #define D_COMP_BDW                     _MMIO(0x138144)
-#define  D_COMP_RCOMP_IN_PROGRESS      (1 << 9)
-#define  D_COMP_COMP_FORCE             (1 << 8)
-#define  D_COMP_COMP_DISABLE           (1 << 0)
 
 /* Pipe WM_LINETIME - watermark line time */
 #define _WM_LINETIME_A         0x45270
@@ -11644,93 +8404,6 @@ enum skl_power_gate {
 #define CGM_PIPE_GAMMA(pipe, i, w)     _MMIO(_PIPE(pipe, _CGM_PIPE_A_GAMMA, _CGM_PIPE_B_GAMMA) + (i) * 8 + (w) * 4)
 #define CGM_PIPE_MODE(pipe)            _MMIO_PIPE(pipe, _CGM_PIPE_A_MODE, _CGM_PIPE_B_MODE)
 
-/* MIPI DSI registers */
-
-#define _MIPI_PORT(port, a, c) (((port) == PORT_A) ? a : c)    /* ports A and C only */
-#define _MMIO_MIPI(port, a, c) _MMIO(_MIPI_PORT(port, a, c))
-
-/* Gen11 DSI */
-#define _MMIO_DSI(tc, dsi0, dsi1)      _MMIO_TRANS((tc) - TRANSCODER_DSI_0, \
-                                                   dsi0, dsi1)
-
-#define MIPIO_TXESC_CLK_DIV1                   _MMIO(0x160004)
-#define  GLK_TX_ESC_CLK_DIV1_MASK                      0x3FF
-#define MIPIO_TXESC_CLK_DIV2                   _MMIO(0x160008)
-#define  GLK_TX_ESC_CLK_DIV2_MASK                      0x3FF
-
-#define _ICL_DSI_ESC_CLK_DIV0          0x6b090
-#define _ICL_DSI_ESC_CLK_DIV1          0x6b890
-#define ICL_DSI_ESC_CLK_DIV(port)      _MMIO_PORT((port),      \
-                                                       _ICL_DSI_ESC_CLK_DIV0, \
-                                                       _ICL_DSI_ESC_CLK_DIV1)
-#define _ICL_DPHY_ESC_CLK_DIV0         0x162190
-#define _ICL_DPHY_ESC_CLK_DIV1         0x6C190
-#define ICL_DPHY_ESC_CLK_DIV(port)     _MMIO_PORT((port),      \
-                                               _ICL_DPHY_ESC_CLK_DIV0, \
-                                               _ICL_DPHY_ESC_CLK_DIV1)
-#define  ICL_BYTE_CLK_PER_ESC_CLK_MASK         (0x1f << 16)
-#define  ICL_BYTE_CLK_PER_ESC_CLK_SHIFT        16
-#define  ICL_ESC_CLK_DIV_MASK                  0x1ff
-#define  ICL_ESC_CLK_DIV_SHIFT                 0
-#define DSI_MAX_ESC_CLK                        20000           /* in KHz */
-
-#define _ADL_MIPIO_REG                 0x180
-#define ADL_MIPIO_DW(port, dw)         _MMIO(_ICL_COMBOPHY(port) + _ADL_MIPIO_REG + 4 * (dw))
-#define   TX_ESC_CLK_DIV_PHY_SEL       REGBIT(16)
-#define   TX_ESC_CLK_DIV_PHY_MASK      REG_GENMASK(23, 16)
-#define   TX_ESC_CLK_DIV_PHY           REG_FIELD_PREP(TX_ESC_CLK_DIV_PHY_MASK, 0x7f)
-
-#define _DSI_CMD_FRMCTL_0              0x6b034
-#define _DSI_CMD_FRMCTL_1              0x6b834
-#define DSI_CMD_FRMCTL(port)           _MMIO_PORT(port,        \
-                                                  _DSI_CMD_FRMCTL_0,\
-                                                  _DSI_CMD_FRMCTL_1)
-#define   DSI_FRAME_UPDATE_REQUEST             (1 << 31)
-#define   DSI_PERIODIC_FRAME_UPDATE_ENABLE     (1 << 29)
-#define   DSI_NULL_PACKET_ENABLE               (1 << 28)
-#define   DSI_FRAME_IN_PROGRESS                        (1 << 0)
-
-#define _DSI_INTR_MASK_REG_0           0x6b070
-#define _DSI_INTR_MASK_REG_1           0x6b870
-#define DSI_INTR_MASK_REG(port)                _MMIO_PORT(port,        \
-                                                  _DSI_INTR_MASK_REG_0,\
-                                                  _DSI_INTR_MASK_REG_1)
-
-#define _DSI_INTR_IDENT_REG_0          0x6b074
-#define _DSI_INTR_IDENT_REG_1          0x6b874
-#define DSI_INTR_IDENT_REG(port)       _MMIO_PORT(port,        \
-                                                  _DSI_INTR_IDENT_REG_0,\
-                                                  _DSI_INTR_IDENT_REG_1)
-#define   DSI_TE_EVENT                         (1 << 31)
-#define   DSI_RX_DATA_OR_BTA_TERMINATED                (1 << 30)
-#define   DSI_TX_DATA                          (1 << 29)
-#define   DSI_ULPS_ENTRY_DONE                  (1 << 28)
-#define   DSI_NON_TE_TRIGGER_RECEIVED          (1 << 27)
-#define   DSI_HOST_CHKSUM_ERROR                        (1 << 26)
-#define   DSI_HOST_MULTI_ECC_ERROR             (1 << 25)
-#define   DSI_HOST_SINGL_ECC_ERROR             (1 << 24)
-#define   DSI_HOST_CONTENTION_DETECTED         (1 << 23)
-#define   DSI_HOST_FALSE_CONTROL_ERROR         (1 << 22)
-#define   DSI_HOST_TIMEOUT_ERROR               (1 << 21)
-#define   DSI_HOST_LOW_POWER_TX_SYNC_ERROR     (1 << 20)
-#define   DSI_HOST_ESCAPE_MODE_ENTRY_ERROR     (1 << 19)
-#define   DSI_FRAME_UPDATE_DONE                        (1 << 16)
-#define   DSI_PROTOCOL_VIOLATION_REPORTED      (1 << 15)
-#define   DSI_INVALID_TX_LENGTH                        (1 << 13)
-#define   DSI_INVALID_VC                       (1 << 12)
-#define   DSI_INVALID_DATA_TYPE                        (1 << 11)
-#define   DSI_PERIPHERAL_CHKSUM_ERROR          (1 << 10)
-#define   DSI_PERIPHERAL_MULTI_ECC_ERROR       (1 << 9)
-#define   DSI_PERIPHERAL_SINGLE_ECC_ERROR      (1 << 8)
-#define   DSI_PERIPHERAL_CONTENTION_DETECTED   (1 << 7)
-#define   DSI_PERIPHERAL_FALSE_CTRL_ERROR      (1 << 6)
-#define   DSI_PERIPHERAL_TIMEOUT_ERROR         (1 << 5)
-#define   DSI_PERIPHERAL_LP_TX_SYNC_ERROR      (1 << 4)
-#define   DSI_PERIPHERAL_ESC_MODE_ENTRY_CMD_ERR        (1 << 3)
-#define   DSI_EOT_SYNC_ERROR                   (1 << 2)
-#define   DSI_SOT_SYNC_ERROR                   (1 << 1)
-#define   DSI_SOT_ERROR                                (1 << 0)
-
 /* Gen4+ Timestamp and Pipe Frame time stamp registers */
 #define GEN4_TIMESTAMP         _MMIO(0x2358)
 #define ILK_TIMESTAMP_HI       _MMIO(0x70070)
@@ -11746,143 +8419,6 @@ enum skl_power_gate {
 #define PIPE_FRMTMSTMP(pipe)           \
                        _MMIO_PIPE2(pipe, _PIPE_FRMTMSTMP_A)
 
-/* BXT MIPI clock controls */
-#define BXT_MAX_VAR_OUTPUT_KHZ                 39500
-
-#define BXT_MIPI_CLOCK_CTL                     _MMIO(0x46090)
-#define  BXT_MIPI1_DIV_SHIFT                   26
-#define  BXT_MIPI2_DIV_SHIFT                   10
-#define  BXT_MIPI_DIV_SHIFT(port)              \
-                       _MIPI_PORT(port, BXT_MIPI1_DIV_SHIFT, \
-                                       BXT_MIPI2_DIV_SHIFT)
-
-/* TX control divider to select actual TX clock output from (8x/var) */
-#define  BXT_MIPI1_TX_ESCLK_SHIFT              26
-#define  BXT_MIPI2_TX_ESCLK_SHIFT              10
-#define  BXT_MIPI_TX_ESCLK_SHIFT(port)         \
-                       _MIPI_PORT(port, BXT_MIPI1_TX_ESCLK_SHIFT, \
-                                       BXT_MIPI2_TX_ESCLK_SHIFT)
-#define  BXT_MIPI1_TX_ESCLK_FIXDIV_MASK                (0x3F << 26)
-#define  BXT_MIPI2_TX_ESCLK_FIXDIV_MASK                (0x3F << 10)
-#define  BXT_MIPI_TX_ESCLK_FIXDIV_MASK(port)   \
-                       _MIPI_PORT(port, BXT_MIPI1_TX_ESCLK_FIXDIV_MASK, \
-                                       BXT_MIPI2_TX_ESCLK_FIXDIV_MASK)
-#define  BXT_MIPI_TX_ESCLK_DIVIDER(port, val)  \
-               (((val) & 0x3F) << BXT_MIPI_TX_ESCLK_SHIFT(port))
-/* RX upper control divider to select actual RX clock output from 8x */
-#define  BXT_MIPI1_RX_ESCLK_UPPER_SHIFT                21
-#define  BXT_MIPI2_RX_ESCLK_UPPER_SHIFT                5
-#define  BXT_MIPI_RX_ESCLK_UPPER_SHIFT(port)           \
-                       _MIPI_PORT(port, BXT_MIPI1_RX_ESCLK_UPPER_SHIFT, \
-                                       BXT_MIPI2_RX_ESCLK_UPPER_SHIFT)
-#define  BXT_MIPI1_RX_ESCLK_UPPER_FIXDIV_MASK          (3 << 21)
-#define  BXT_MIPI2_RX_ESCLK_UPPER_FIXDIV_MASK          (3 << 5)
-#define  BXT_MIPI_RX_ESCLK_UPPER_FIXDIV_MASK(port)     \
-                       _MIPI_PORT(port, BXT_MIPI1_RX_ESCLK_UPPER_FIXDIV_MASK, \
-                                       BXT_MIPI2_RX_ESCLK_UPPER_FIXDIV_MASK)
-#define  BXT_MIPI_RX_ESCLK_UPPER_DIVIDER(port, val)    \
-               (((val) & 3) << BXT_MIPI_RX_ESCLK_UPPER_SHIFT(port))
-/* 8/3X divider to select the actual 8/3X clock output from 8x */
-#define  BXT_MIPI1_8X_BY3_SHIFT                19
-#define  BXT_MIPI2_8X_BY3_SHIFT                3
-#define  BXT_MIPI_8X_BY3_SHIFT(port)          \
-                       _MIPI_PORT(port, BXT_MIPI1_8X_BY3_SHIFT, \
-                                       BXT_MIPI2_8X_BY3_SHIFT)
-#define  BXT_MIPI1_8X_BY3_DIVIDER_MASK         (3 << 19)
-#define  BXT_MIPI2_8X_BY3_DIVIDER_MASK         (3 << 3)
-#define  BXT_MIPI_8X_BY3_DIVIDER_MASK(port)    \
-                       _MIPI_PORT(port, BXT_MIPI1_8X_BY3_DIVIDER_MASK, \
-                                               BXT_MIPI2_8X_BY3_DIVIDER_MASK)
-#define  BXT_MIPI_8X_BY3_DIVIDER(port, val)    \
-                       (((val) & 3) << BXT_MIPI_8X_BY3_SHIFT(port))
-/* RX lower control divider to select actual RX clock output from 8x */
-#define  BXT_MIPI1_RX_ESCLK_LOWER_SHIFT                16
-#define  BXT_MIPI2_RX_ESCLK_LOWER_SHIFT                0
-#define  BXT_MIPI_RX_ESCLK_LOWER_SHIFT(port)           \
-                       _MIPI_PORT(port, BXT_MIPI1_RX_ESCLK_LOWER_SHIFT, \
-                                       BXT_MIPI2_RX_ESCLK_LOWER_SHIFT)
-#define  BXT_MIPI1_RX_ESCLK_LOWER_FIXDIV_MASK          (3 << 16)
-#define  BXT_MIPI2_RX_ESCLK_LOWER_FIXDIV_MASK          (3 << 0)
-#define  BXT_MIPI_RX_ESCLK_LOWER_FIXDIV_MASK(port)     \
-                       _MIPI_PORT(port, BXT_MIPI1_RX_ESCLK_LOWER_FIXDIV_MASK, \
-                                       BXT_MIPI2_RX_ESCLK_LOWER_FIXDIV_MASK)
-#define  BXT_MIPI_RX_ESCLK_LOWER_DIVIDER(port, val)    \
-               (((val) & 3) << BXT_MIPI_RX_ESCLK_LOWER_SHIFT(port))
-
-#define RX_DIVIDER_BIT_1_2                     0x3
-#define RX_DIVIDER_BIT_3_4                     0xC
-
-/* BXT MIPI mode configure */
-#define  _BXT_MIPIA_TRANS_HACTIVE                      0x6B0F8
-#define  _BXT_MIPIC_TRANS_HACTIVE                      0x6B8F8
-#define  BXT_MIPI_TRANS_HACTIVE(tc)    _MMIO_MIPI(tc, \
-               _BXT_MIPIA_TRANS_HACTIVE, _BXT_MIPIC_TRANS_HACTIVE)
-
-#define  _BXT_MIPIA_TRANS_VACTIVE                      0x6B0FC
-#define  _BXT_MIPIC_TRANS_VACTIVE                      0x6B8FC
-#define  BXT_MIPI_TRANS_VACTIVE(tc)    _MMIO_MIPI(tc, \
-               _BXT_MIPIA_TRANS_VACTIVE, _BXT_MIPIC_TRANS_VACTIVE)
-
-#define  _BXT_MIPIA_TRANS_VTOTAL                       0x6B100
-#define  _BXT_MIPIC_TRANS_VTOTAL                       0x6B900
-#define  BXT_MIPI_TRANS_VTOTAL(tc)     _MMIO_MIPI(tc, \
-               _BXT_MIPIA_TRANS_VTOTAL, _BXT_MIPIC_TRANS_VTOTAL)
-
-#define BXT_DSI_PLL_CTL                        _MMIO(0x161000)
-#define  BXT_DSI_PLL_PVD_RATIO_SHIFT   16
-#define  BXT_DSI_PLL_PVD_RATIO_MASK    (3 << BXT_DSI_PLL_PVD_RATIO_SHIFT)
-#define  BXT_DSI_PLL_PVD_RATIO_1       (1 << BXT_DSI_PLL_PVD_RATIO_SHIFT)
-#define  BXT_DSIC_16X_BY1              (0 << 10)
-#define  BXT_DSIC_16X_BY2              (1 << 10)
-#define  BXT_DSIC_16X_BY3              (2 << 10)
-#define  BXT_DSIC_16X_BY4              (3 << 10)
-#define  BXT_DSIC_16X_MASK             (3 << 10)
-#define  BXT_DSIA_16X_BY1              (0 << 8)
-#define  BXT_DSIA_16X_BY2              (1 << 8)
-#define  BXT_DSIA_16X_BY3              (2 << 8)
-#define  BXT_DSIA_16X_BY4              (3 << 8)
-#define  BXT_DSIA_16X_MASK             (3 << 8)
-#define  BXT_DSI_FREQ_SEL_SHIFT                8
-#define  BXT_DSI_FREQ_SEL_MASK         (0xF << BXT_DSI_FREQ_SEL_SHIFT)
-
-#define BXT_DSI_PLL_RATIO_MAX          0x7D
-#define BXT_DSI_PLL_RATIO_MIN          0x22
-#define GLK_DSI_PLL_RATIO_MAX          0x6F
-#define GLK_DSI_PLL_RATIO_MIN          0x22
-#define BXT_DSI_PLL_RATIO_MASK         0xFF
-#define BXT_REF_CLOCK_KHZ              19200
-
-#define BXT_DSI_PLL_ENABLE             _MMIO(0x46080)
-#define  BXT_DSI_PLL_DO_ENABLE         (1 << 31)
-#define  BXT_DSI_PLL_LOCKED            (1 << 30)
-
-#define _MIPIA_PORT_CTRL                       (VLV_DISPLAY_BASE + 0x61190)
-#define _MIPIC_PORT_CTRL                       (VLV_DISPLAY_BASE + 0x61700)
-#define MIPI_PORT_CTRL(port)   _MMIO_MIPI(port, _MIPIA_PORT_CTRL, _MIPIC_PORT_CTRL)
-
- /* BXT port control */
-#define _BXT_MIPIA_PORT_CTRL                           0x6B0C0
-#define _BXT_MIPIC_PORT_CTRL                           0x6B8C0
-#define BXT_MIPI_PORT_CTRL(tc) _MMIO_MIPI(tc, _BXT_MIPIA_PORT_CTRL, _BXT_MIPIC_PORT_CTRL)
-
-/* ICL DSI MODE control */
-#define _ICL_DSI_IO_MODECTL_0                          0x6B094
-#define _ICL_DSI_IO_MODECTL_1                          0x6B894
-#define ICL_DSI_IO_MODECTL(port)       _MMIO_PORT(port,        \
-                                                   _ICL_DSI_IO_MODECTL_0, \
-                                                   _ICL_DSI_IO_MODECTL_1)
-#define  COMBO_PHY_MODE_DSI                            (1 << 0)
-
-/* TGL DSI Chicken register */
-#define _TGL_DSI_CHKN_REG_0                    0x6B0C0
-#define _TGL_DSI_CHKN_REG_1                    0x6B8C0
-#define TGL_DSI_CHKN_REG(port)         _MMIO_PORT(port,        \
-                                                   _TGL_DSI_CHKN_REG_0, \
-                                                   _TGL_DSI_CHKN_REG_1)
-#define TGL_DSI_CHKN_LSHS_GB_MASK              REG_GENMASK(15, 12)
-#define TGL_DSI_CHKN_LSHS_GB(byte_clocks)      REG_FIELD_PREP(TGL_DSI_CHKN_LSHS_GB_MASK, \
-                                                              (byte_clocks))
-
 /* Display Stream Splitter Control */
 #define DSS_CTL1                               _MMIO(0x67400)
 #define  SPLITTER_ENABLE                       (1 << 31)
@@ -11921,718 +8457,6 @@ enum skl_power_gate {
                                                           _ICL_PIPE_DSS_CTL2_PB, \
                                                           _ICL_PIPE_DSS_CTL2_PC)
 
-#define BXT_P_DSI_REGULATOR_CFG                        _MMIO(0x160020)
-#define  STAP_SELECT                                   (1 << 0)
-
-#define BXT_P_DSI_REGULATOR_TX_CTRL            _MMIO(0x160054)
-#define  HS_IO_CTRL_SELECT                             (1 << 0)
-
-#define  DPI_ENABLE                                    (1 << 31) /* A + C */
-#define  MIPIA_MIPI4DPHY_DELAY_COUNT_SHIFT             27
-#define  MIPIA_MIPI4DPHY_DELAY_COUNT_MASK              (0xf << 27)
-#define  DUAL_LINK_MODE_SHIFT                          26
-#define  DUAL_LINK_MODE_MASK                           (1 << 26)
-#define  DUAL_LINK_MODE_FRONT_BACK                     (0 << 26)
-#define  DUAL_LINK_MODE_PIXEL_ALTERNATIVE              (1 << 26)
-#define  DITHERING_ENABLE                              (1 << 25) /* A + C */
-#define  FLOPPED_HSTX                                  (1 << 23)
-#define  DE_INVERT                                     (1 << 19) /* XXX */
-#define  MIPIA_FLISDSI_DELAY_COUNT_SHIFT               18
-#define  MIPIA_FLISDSI_DELAY_COUNT_MASK                        (0xf << 18)
-#define  AFE_LATCHOUT                                  (1 << 17)
-#define  LP_OUTPUT_HOLD                                        (1 << 16)
-#define  MIPIC_FLISDSI_DELAY_COUNT_HIGH_SHIFT          15
-#define  MIPIC_FLISDSI_DELAY_COUNT_HIGH_MASK           (1 << 15)
-#define  MIPIC_MIPI4DPHY_DELAY_COUNT_SHIFT             11
-#define  MIPIC_MIPI4DPHY_DELAY_COUNT_MASK              (0xf << 11)
-#define  CSB_SHIFT                                     9
-#define  CSB_MASK                                      (3 << 9)
-#define  CSB_20MHZ                                     (0 << 9)
-#define  CSB_10MHZ                                     (1 << 9)
-#define  CSB_40MHZ                                     (2 << 9)
-#define  BANDGAP_MASK                                  (1 << 8)
-#define  BANDGAP_PNW_CIRCUIT                           (0 << 8)
-#define  BANDGAP_LNC_CIRCUIT                           (1 << 8)
-#define  MIPIC_FLISDSI_DELAY_COUNT_LOW_SHIFT           5
-#define  MIPIC_FLISDSI_DELAY_COUNT_LOW_MASK            (7 << 5)
-#define  TEARING_EFFECT_DELAY                          (1 << 4) /* A + C */
-#define  TEARING_EFFECT_SHIFT                          2 /* A + C */
-#define  TEARING_EFFECT_MASK                           (3 << 2)
-#define  TEARING_EFFECT_OFF                            (0 << 2)
-#define  TEARING_EFFECT_DSI                            (1 << 2)
-#define  TEARING_EFFECT_GPIO                           (2 << 2)
-#define  LANE_CONFIGURATION_SHIFT                      0
-#define  LANE_CONFIGURATION_MASK                       (3 << 0)
-#define  LANE_CONFIGURATION_4LANE                      (0 << 0)
-#define  LANE_CONFIGURATION_DUAL_LINK_A                        (1 << 0)
-#define  LANE_CONFIGURATION_DUAL_LINK_B                        (2 << 0)
-
-#define _MIPIA_TEARING_CTRL                    (VLV_DISPLAY_BASE + 0x61194)
-#define _MIPIC_TEARING_CTRL                    (VLV_DISPLAY_BASE + 0x61704)
-#define MIPI_TEARING_CTRL(port)                        _MMIO_MIPI(port, _MIPIA_TEARING_CTRL, _MIPIC_TEARING_CTRL)
-#define  TEARING_EFFECT_DELAY_SHIFT                    0
-#define  TEARING_EFFECT_DELAY_MASK                     (0xffff << 0)
-
-/* XXX: all bits reserved */
-#define _MIPIA_AUTOPWG                 (VLV_DISPLAY_BASE + 0x611a0)
-
-/* MIPI DSI Controller and D-PHY registers */
-
-#define _MIPIA_DEVICE_READY            (dev_priv->mipi_mmio_base + 0xb000)
-#define _MIPIC_DEVICE_READY            (dev_priv->mipi_mmio_base + 0xb800)
-#define MIPI_DEVICE_READY(port)                _MMIO_MIPI(port, _MIPIA_DEVICE_READY, _MIPIC_DEVICE_READY)
-#define  BUS_POSSESSION                                        (1 << 3) /* set to give bus to receiver */
-#define  ULPS_STATE_MASK                               (3 << 1)
-#define  ULPS_STATE_ENTER                              (2 << 1)
-#define  ULPS_STATE_EXIT                               (1 << 1)
-#define  ULPS_STATE_NORMAL_OPERATION                   (0 << 1)
-#define  DEVICE_READY                                  (1 << 0)
-
-#define _MIPIA_INTR_STAT               (dev_priv->mipi_mmio_base + 0xb004)
-#define _MIPIC_INTR_STAT               (dev_priv->mipi_mmio_base + 0xb804)
-#define MIPI_INTR_STAT(port)           _MMIO_MIPI(port, _MIPIA_INTR_STAT, _MIPIC_INTR_STAT)
-#define _MIPIA_INTR_EN                 (dev_priv->mipi_mmio_base + 0xb008)
-#define _MIPIC_INTR_EN                 (dev_priv->mipi_mmio_base + 0xb808)
-#define MIPI_INTR_EN(port)             _MMIO_MIPI(port, _MIPIA_INTR_EN, _MIPIC_INTR_EN)
-#define  TEARING_EFFECT                                        (1 << 31)
-#define  SPL_PKT_SENT_INTERRUPT                                (1 << 30)
-#define  GEN_READ_DATA_AVAIL                           (1 << 29)
-#define  LP_GENERIC_WR_FIFO_FULL                       (1 << 28)
-#define  HS_GENERIC_WR_FIFO_FULL                       (1 << 27)
-#define  RX_PROT_VIOLATION                             (1 << 26)
-#define  RX_INVALID_TX_LENGTH                          (1 << 25)
-#define  ACK_WITH_NO_ERROR                             (1 << 24)
-#define  TURN_AROUND_ACK_TIMEOUT                       (1 << 23)
-#define  LP_RX_TIMEOUT                                 (1 << 22)
-#define  HS_TX_TIMEOUT                                 (1 << 21)
-#define  DPI_FIFO_UNDERRUN                             (1 << 20)
-#define  LOW_CONTENTION                                        (1 << 19)
-#define  HIGH_CONTENTION                               (1 << 18)
-#define  TXDSI_VC_ID_INVALID                           (1 << 17)
-#define  TXDSI_DATA_TYPE_NOT_RECOGNISED                        (1 << 16)
-#define  TXCHECKSUM_ERROR                              (1 << 15)
-#define  TXECC_MULTIBIT_ERROR                          (1 << 14)
-#define  TXECC_SINGLE_BIT_ERROR                                (1 << 13)
-#define  TXFALSE_CONTROL_ERROR                         (1 << 12)
-#define  RXDSI_VC_ID_INVALID                           (1 << 11)
-#define  RXDSI_DATA_TYPE_NOT_REGOGNISED                        (1 << 10)
-#define  RXCHECKSUM_ERROR                              (1 << 9)
-#define  RXECC_MULTIBIT_ERROR                          (1 << 8)
-#define  RXECC_SINGLE_BIT_ERROR                                (1 << 7)
-#define  RXFALSE_CONTROL_ERROR                         (1 << 6)
-#define  RXHS_RECEIVE_TIMEOUT_ERROR                    (1 << 5)
-#define  RX_LP_TX_SYNC_ERROR                           (1 << 4)
-#define  RXEXCAPE_MODE_ENTRY_ERROR                     (1 << 3)
-#define  RXEOT_SYNC_ERROR                              (1 << 2)
-#define  RXSOT_SYNC_ERROR                              (1 << 1)
-#define  RXSOT_ERROR                                   (1 << 0)
-
-#define _MIPIA_DSI_FUNC_PRG            (dev_priv->mipi_mmio_base + 0xb00c)
-#define _MIPIC_DSI_FUNC_PRG            (dev_priv->mipi_mmio_base + 0xb80c)
-#define MIPI_DSI_FUNC_PRG(port)                _MMIO_MIPI(port, _MIPIA_DSI_FUNC_PRG, _MIPIC_DSI_FUNC_PRG)
-#define  CMD_MODE_DATA_WIDTH_MASK                      (7 << 13)
-#define  CMD_MODE_NOT_SUPPORTED                                (0 << 13)
-#define  CMD_MODE_DATA_WIDTH_16_BIT                    (1 << 13)
-#define  CMD_MODE_DATA_WIDTH_9_BIT                     (2 << 13)
-#define  CMD_MODE_DATA_WIDTH_8_BIT                     (3 << 13)
-#define  CMD_MODE_DATA_WIDTH_OPTION1                   (4 << 13)
-#define  CMD_MODE_DATA_WIDTH_OPTION2                   (5 << 13)
-#define  VID_MODE_FORMAT_MASK                          (0xf << 7)
-#define  VID_MODE_NOT_SUPPORTED                                (0 << 7)
-#define  VID_MODE_FORMAT_RGB565                                (1 << 7)
-#define  VID_MODE_FORMAT_RGB666_PACKED                 (2 << 7)
-#define  VID_MODE_FORMAT_RGB666                                (3 << 7)
-#define  VID_MODE_FORMAT_RGB888                                (4 << 7)
-#define  CMD_MODE_CHANNEL_NUMBER_SHIFT                 5
-#define  CMD_MODE_CHANNEL_NUMBER_MASK                  (3 << 5)
-#define  VID_MODE_CHANNEL_NUMBER_SHIFT                 3
-#define  VID_MODE_CHANNEL_NUMBER_MASK                  (3 << 3)
-#define  DATA_LANES_PRG_REG_SHIFT                      0
-#define  DATA_LANES_PRG_REG_MASK                       (7 << 0)
-
-#define _MIPIA_HS_TX_TIMEOUT           (dev_priv->mipi_mmio_base + 0xb010)
-#define _MIPIC_HS_TX_TIMEOUT           (dev_priv->mipi_mmio_base + 0xb810)
-#define MIPI_HS_TX_TIMEOUT(port)       _MMIO_MIPI(port, _MIPIA_HS_TX_TIMEOUT, _MIPIC_HS_TX_TIMEOUT)
-#define  HIGH_SPEED_TX_TIMEOUT_COUNTER_MASK            0xffffff
-
-#define _MIPIA_LP_RX_TIMEOUT           (dev_priv->mipi_mmio_base + 0xb014)
-#define _MIPIC_LP_RX_TIMEOUT           (dev_priv->mipi_mmio_base + 0xb814)
-#define MIPI_LP_RX_TIMEOUT(port)       _MMIO_MIPI(port, _MIPIA_LP_RX_TIMEOUT, _MIPIC_LP_RX_TIMEOUT)
-#define  LOW_POWER_RX_TIMEOUT_COUNTER_MASK             0xffffff
-
-#define _MIPIA_TURN_AROUND_TIMEOUT     (dev_priv->mipi_mmio_base + 0xb018)
-#define _MIPIC_TURN_AROUND_TIMEOUT     (dev_priv->mipi_mmio_base + 0xb818)
-#define MIPI_TURN_AROUND_TIMEOUT(port) _MMIO_MIPI(port, _MIPIA_TURN_AROUND_TIMEOUT, _MIPIC_TURN_AROUND_TIMEOUT)
-#define  TURN_AROUND_TIMEOUT_MASK                      0x3f
-
-#define _MIPIA_DEVICE_RESET_TIMER      (dev_priv->mipi_mmio_base + 0xb01c)
-#define _MIPIC_DEVICE_RESET_TIMER      (dev_priv->mipi_mmio_base + 0xb81c)
-#define MIPI_DEVICE_RESET_TIMER(port)  _MMIO_MIPI(port, _MIPIA_DEVICE_RESET_TIMER, _MIPIC_DEVICE_RESET_TIMER)
-#define  DEVICE_RESET_TIMER_MASK                       0xffff
-
-#define _MIPIA_DPI_RESOLUTION          (dev_priv->mipi_mmio_base + 0xb020)
-#define _MIPIC_DPI_RESOLUTION          (dev_priv->mipi_mmio_base + 0xb820)
-#define MIPI_DPI_RESOLUTION(port)      _MMIO_MIPI(port, _MIPIA_DPI_RESOLUTION, _MIPIC_DPI_RESOLUTION)
-#define  VERTICAL_ADDRESS_SHIFT                                16
-#define  VERTICAL_ADDRESS_MASK                         (0xffff << 16)
-#define  HORIZONTAL_ADDRESS_SHIFT                      0
-#define  HORIZONTAL_ADDRESS_MASK                       0xffff
-
-#define _MIPIA_DBI_FIFO_THROTTLE       (dev_priv->mipi_mmio_base + 0xb024)
-#define _MIPIC_DBI_FIFO_THROTTLE       (dev_priv->mipi_mmio_base + 0xb824)
-#define MIPI_DBI_FIFO_THROTTLE(port)   _MMIO_MIPI(port, _MIPIA_DBI_FIFO_THROTTLE, _MIPIC_DBI_FIFO_THROTTLE)
-#define  DBI_FIFO_EMPTY_HALF                           (0 << 0)
-#define  DBI_FIFO_EMPTY_QUARTER                                (1 << 0)
-#define  DBI_FIFO_EMPTY_7_LOCATIONS                    (2 << 0)
-
-/* regs below are bits 15:0 */
-#define _MIPIA_HSYNC_PADDING_COUNT     (dev_priv->mipi_mmio_base + 0xb028)
-#define _MIPIC_HSYNC_PADDING_COUNT     (dev_priv->mipi_mmio_base + 0xb828)
-#define MIPI_HSYNC_PADDING_COUNT(port) _MMIO_MIPI(port, _MIPIA_HSYNC_PADDING_COUNT, _MIPIC_HSYNC_PADDING_COUNT)
-
-#define _MIPIA_HBP_COUNT               (dev_priv->mipi_mmio_base + 0xb02c)
-#define _MIPIC_HBP_COUNT               (dev_priv->mipi_mmio_base + 0xb82c)
-#define MIPI_HBP_COUNT(port)           _MMIO_MIPI(port, _MIPIA_HBP_COUNT, _MIPIC_HBP_COUNT)
-
-#define _MIPIA_HFP_COUNT               (dev_priv->mipi_mmio_base + 0xb030)
-#define _MIPIC_HFP_COUNT               (dev_priv->mipi_mmio_base + 0xb830)
-#define MIPI_HFP_COUNT(port)           _MMIO_MIPI(port, _MIPIA_HFP_COUNT, _MIPIC_HFP_COUNT)
-
-#define _MIPIA_HACTIVE_AREA_COUNT      (dev_priv->mipi_mmio_base + 0xb034)
-#define _MIPIC_HACTIVE_AREA_COUNT      (dev_priv->mipi_mmio_base + 0xb834)
-#define MIPI_HACTIVE_AREA_COUNT(port)  _MMIO_MIPI(port, _MIPIA_HACTIVE_AREA_COUNT, _MIPIC_HACTIVE_AREA_COUNT)
-
-#define _MIPIA_VSYNC_PADDING_COUNT     (dev_priv->mipi_mmio_base + 0xb038)
-#define _MIPIC_VSYNC_PADDING_COUNT     (dev_priv->mipi_mmio_base + 0xb838)
-#define MIPI_VSYNC_PADDING_COUNT(port) _MMIO_MIPI(port, _MIPIA_VSYNC_PADDING_COUNT, _MIPIC_VSYNC_PADDING_COUNT)
-
-#define _MIPIA_VBP_COUNT               (dev_priv->mipi_mmio_base + 0xb03c)
-#define _MIPIC_VBP_COUNT               (dev_priv->mipi_mmio_base + 0xb83c)
-#define MIPI_VBP_COUNT(port)           _MMIO_MIPI(port, _MIPIA_VBP_COUNT, _MIPIC_VBP_COUNT)
-
-#define _MIPIA_VFP_COUNT               (dev_priv->mipi_mmio_base + 0xb040)
-#define _MIPIC_VFP_COUNT               (dev_priv->mipi_mmio_base + 0xb840)
-#define MIPI_VFP_COUNT(port)           _MMIO_MIPI(port, _MIPIA_VFP_COUNT, _MIPIC_VFP_COUNT)
-
-#define _MIPIA_HIGH_LOW_SWITCH_COUNT   (dev_priv->mipi_mmio_base + 0xb044)
-#define _MIPIC_HIGH_LOW_SWITCH_COUNT   (dev_priv->mipi_mmio_base + 0xb844)
-#define MIPI_HIGH_LOW_SWITCH_COUNT(port)       _MMIO_MIPI(port,        _MIPIA_HIGH_LOW_SWITCH_COUNT, _MIPIC_HIGH_LOW_SWITCH_COUNT)
-
-/* regs above are bits 15:0 */
-
-#define _MIPIA_DPI_CONTROL             (dev_priv->mipi_mmio_base + 0xb048)
-#define _MIPIC_DPI_CONTROL             (dev_priv->mipi_mmio_base + 0xb848)
-#define MIPI_DPI_CONTROL(port)         _MMIO_MIPI(port, _MIPIA_DPI_CONTROL, _MIPIC_DPI_CONTROL)
-#define  DPI_LP_MODE                                   (1 << 6)
-#define  BACKLIGHT_OFF                                 (1 << 5)
-#define  BACKLIGHT_ON                                  (1 << 4)
-#define  COLOR_MODE_OFF                                        (1 << 3)
-#define  COLOR_MODE_ON                                 (1 << 2)
-#define  TURN_ON                                       (1 << 1)
-#define  SHUTDOWN                                      (1 << 0)
-
-#define _MIPIA_DPI_DATA                        (dev_priv->mipi_mmio_base + 0xb04c)
-#define _MIPIC_DPI_DATA                        (dev_priv->mipi_mmio_base + 0xb84c)
-#define MIPI_DPI_DATA(port)            _MMIO_MIPI(port, _MIPIA_DPI_DATA, _MIPIC_DPI_DATA)
-#define  COMMAND_BYTE_SHIFT                            0
-#define  COMMAND_BYTE_MASK                             (0x3f << 0)
-
-#define _MIPIA_INIT_COUNT              (dev_priv->mipi_mmio_base + 0xb050)
-#define _MIPIC_INIT_COUNT              (dev_priv->mipi_mmio_base + 0xb850)
-#define MIPI_INIT_COUNT(port)          _MMIO_MIPI(port, _MIPIA_INIT_COUNT, _MIPIC_INIT_COUNT)
-#define  MASTER_INIT_TIMER_SHIFT                       0
-#define  MASTER_INIT_TIMER_MASK                                (0xffff << 0)
-
-#define _MIPIA_MAX_RETURN_PKT_SIZE     (dev_priv->mipi_mmio_base + 0xb054)
-#define _MIPIC_MAX_RETURN_PKT_SIZE     (dev_priv->mipi_mmio_base + 0xb854)
-#define MIPI_MAX_RETURN_PKT_SIZE(port) _MMIO_MIPI(port, \
-                       _MIPIA_MAX_RETURN_PKT_SIZE, _MIPIC_MAX_RETURN_PKT_SIZE)
-#define  MAX_RETURN_PKT_SIZE_SHIFT                     0
-#define  MAX_RETURN_PKT_SIZE_MASK                      (0x3ff << 0)
-
-#define _MIPIA_VIDEO_MODE_FORMAT       (dev_priv->mipi_mmio_base + 0xb058)
-#define _MIPIC_VIDEO_MODE_FORMAT       (dev_priv->mipi_mmio_base + 0xb858)
-#define MIPI_VIDEO_MODE_FORMAT(port)   _MMIO_MIPI(port, _MIPIA_VIDEO_MODE_FORMAT, _MIPIC_VIDEO_MODE_FORMAT)
-#define  RANDOM_DPI_DISPLAY_RESOLUTION                 (1 << 4)
-#define  DISABLE_VIDEO_BTA                             (1 << 3)
-#define  IP_TG_CONFIG                                  (1 << 2)
-#define  VIDEO_MODE_NON_BURST_WITH_SYNC_PULSE          (1 << 0)
-#define  VIDEO_MODE_NON_BURST_WITH_SYNC_EVENTS         (2 << 0)
-#define  VIDEO_MODE_BURST                              (3 << 0)
-
-#define _MIPIA_EOT_DISABLE             (dev_priv->mipi_mmio_base + 0xb05c)
-#define _MIPIC_EOT_DISABLE             (dev_priv->mipi_mmio_base + 0xb85c)
-#define MIPI_EOT_DISABLE(port)         _MMIO_MIPI(port, _MIPIA_EOT_DISABLE, _MIPIC_EOT_DISABLE)
-#define  BXT_DEFEATURE_DPI_FIFO_CTR                    (1 << 9)
-#define  BXT_DPHY_DEFEATURE_EN                         (1 << 8)
-#define  LP_RX_TIMEOUT_ERROR_RECOVERY_DISABLE          (1 << 7)
-#define  HS_RX_TIMEOUT_ERROR_RECOVERY_DISABLE          (1 << 6)
-#define  LOW_CONTENTION_RECOVERY_DISABLE               (1 << 5)
-#define  HIGH_CONTENTION_RECOVERY_DISABLE              (1 << 4)
-#define  TXDSI_TYPE_NOT_RECOGNISED_ERROR_RECOVERY_DISABLE (1 << 3)
-#define  TXECC_MULTIBIT_ERROR_RECOVERY_DISABLE         (1 << 2)
-#define  CLOCKSTOP                                     (1 << 1)
-#define  EOT_DISABLE                                   (1 << 0)
-
-#define _MIPIA_LP_BYTECLK              (dev_priv->mipi_mmio_base + 0xb060)
-#define _MIPIC_LP_BYTECLK              (dev_priv->mipi_mmio_base + 0xb860)
-#define MIPI_LP_BYTECLK(port)          _MMIO_MIPI(port, _MIPIA_LP_BYTECLK, _MIPIC_LP_BYTECLK)
-#define  LP_BYTECLK_SHIFT                              0
-#define  LP_BYTECLK_MASK                               (0xffff << 0)
-
-#define _MIPIA_TLPX_TIME_COUNT         (dev_priv->mipi_mmio_base + 0xb0a4)
-#define _MIPIC_TLPX_TIME_COUNT         (dev_priv->mipi_mmio_base + 0xb8a4)
-#define MIPI_TLPX_TIME_COUNT(port)      _MMIO_MIPI(port, _MIPIA_TLPX_TIME_COUNT, _MIPIC_TLPX_TIME_COUNT)
-
-#define _MIPIA_CLK_LANE_TIMING         (dev_priv->mipi_mmio_base + 0xb098)
-#define _MIPIC_CLK_LANE_TIMING         (dev_priv->mipi_mmio_base + 0xb898)
-#define MIPI_CLK_LANE_TIMING(port)      _MMIO_MIPI(port, _MIPIA_CLK_LANE_TIMING, _MIPIC_CLK_LANE_TIMING)
-
-/* bits 31:0 */
-#define _MIPIA_LP_GEN_DATA             (dev_priv->mipi_mmio_base + 0xb064)
-#define _MIPIC_LP_GEN_DATA             (dev_priv->mipi_mmio_base + 0xb864)
-#define MIPI_LP_GEN_DATA(port)         _MMIO_MIPI(port, _MIPIA_LP_GEN_DATA, _MIPIC_LP_GEN_DATA)
-
-/* bits 31:0 */
-#define _MIPIA_HS_GEN_DATA             (dev_priv->mipi_mmio_base + 0xb068)
-#define _MIPIC_HS_GEN_DATA             (dev_priv->mipi_mmio_base + 0xb868)
-#define MIPI_HS_GEN_DATA(port)         _MMIO_MIPI(port, _MIPIA_HS_GEN_DATA, _MIPIC_HS_GEN_DATA)
-
-#define _MIPIA_LP_GEN_CTRL             (dev_priv->mipi_mmio_base + 0xb06c)
-#define _MIPIC_LP_GEN_CTRL             (dev_priv->mipi_mmio_base + 0xb86c)
-#define MIPI_LP_GEN_CTRL(port)         _MMIO_MIPI(port, _MIPIA_LP_GEN_CTRL, _MIPIC_LP_GEN_CTRL)
-#define _MIPIA_HS_GEN_CTRL             (dev_priv->mipi_mmio_base + 0xb070)
-#define _MIPIC_HS_GEN_CTRL             (dev_priv->mipi_mmio_base + 0xb870)
-#define MIPI_HS_GEN_CTRL(port)         _MMIO_MIPI(port, _MIPIA_HS_GEN_CTRL, _MIPIC_HS_GEN_CTRL)
-#define  LONG_PACKET_WORD_COUNT_SHIFT                  8
-#define  LONG_PACKET_WORD_COUNT_MASK                   (0xffff << 8)
-#define  SHORT_PACKET_PARAM_SHIFT                      8
-#define  SHORT_PACKET_PARAM_MASK                       (0xffff << 8)
-#define  VIRTUAL_CHANNEL_SHIFT                         6
-#define  VIRTUAL_CHANNEL_MASK                          (3 << 6)
-#define  DATA_TYPE_SHIFT                               0
-#define  DATA_TYPE_MASK                                        (0x3f << 0)
-/* data type values, see include/video/mipi_display.h */
-
-#define _MIPIA_GEN_FIFO_STAT           (dev_priv->mipi_mmio_base + 0xb074)
-#define _MIPIC_GEN_FIFO_STAT           (dev_priv->mipi_mmio_base + 0xb874)
-#define MIPI_GEN_FIFO_STAT(port)       _MMIO_MIPI(port, _MIPIA_GEN_FIFO_STAT, _MIPIC_GEN_FIFO_STAT)
-#define  DPI_FIFO_EMPTY                                        (1 << 28)
-#define  DBI_FIFO_EMPTY                                        (1 << 27)
-#define  LP_CTRL_FIFO_EMPTY                            (1 << 26)
-#define  LP_CTRL_FIFO_HALF_EMPTY                       (1 << 25)
-#define  LP_CTRL_FIFO_FULL                             (1 << 24)
-#define  HS_CTRL_FIFO_EMPTY                            (1 << 18)
-#define  HS_CTRL_FIFO_HALF_EMPTY                       (1 << 17)
-#define  HS_CTRL_FIFO_FULL                             (1 << 16)
-#define  LP_DATA_FIFO_EMPTY                            (1 << 10)
-#define  LP_DATA_FIFO_HALF_EMPTY                       (1 << 9)
-#define  LP_DATA_FIFO_FULL                             (1 << 8)
-#define  HS_DATA_FIFO_EMPTY                            (1 << 2)
-#define  HS_DATA_FIFO_HALF_EMPTY                       (1 << 1)
-#define  HS_DATA_FIFO_FULL                             (1 << 0)
-
-#define _MIPIA_HS_LS_DBI_ENABLE                (dev_priv->mipi_mmio_base + 0xb078)
-#define _MIPIC_HS_LS_DBI_ENABLE                (dev_priv->mipi_mmio_base + 0xb878)
-#define MIPI_HS_LP_DBI_ENABLE(port)    _MMIO_MIPI(port, _MIPIA_HS_LS_DBI_ENABLE, _MIPIC_HS_LS_DBI_ENABLE)
-#define  DBI_HS_LP_MODE_MASK                           (1 << 0)
-#define  DBI_LP_MODE                                   (1 << 0)
-#define  DBI_HS_MODE                                   (0 << 0)
-
-#define _MIPIA_DPHY_PARAM              (dev_priv->mipi_mmio_base + 0xb080)
-#define _MIPIC_DPHY_PARAM              (dev_priv->mipi_mmio_base + 0xb880)
-#define MIPI_DPHY_PARAM(port)          _MMIO_MIPI(port, _MIPIA_DPHY_PARAM, _MIPIC_DPHY_PARAM)
-#define  EXIT_ZERO_COUNT_SHIFT                         24
-#define  EXIT_ZERO_COUNT_MASK                          (0x3f << 24)
-#define  TRAIL_COUNT_SHIFT                             16
-#define  TRAIL_COUNT_MASK                              (0x1f << 16)
-#define  CLK_ZERO_COUNT_SHIFT                          8
-#define  CLK_ZERO_COUNT_MASK                           (0xff << 8)
-#define  PREPARE_COUNT_SHIFT                           0
-#define  PREPARE_COUNT_MASK                            (0x3f << 0)
-
-#define _ICL_DSI_T_INIT_MASTER_0       0x6b088
-#define _ICL_DSI_T_INIT_MASTER_1       0x6b888
-#define ICL_DSI_T_INIT_MASTER(port)    _MMIO_PORT(port,        \
-                                                  _ICL_DSI_T_INIT_MASTER_0,\
-                                                  _ICL_DSI_T_INIT_MASTER_1)
-
-#define _DPHY_CLK_TIMING_PARAM_0       0x162180
-#define _DPHY_CLK_TIMING_PARAM_1       0x6c180
-#define DPHY_CLK_TIMING_PARAM(port)    _MMIO_PORT(port,        \
-                                                  _DPHY_CLK_TIMING_PARAM_0,\
-                                                  _DPHY_CLK_TIMING_PARAM_1)
-#define _DSI_CLK_TIMING_PARAM_0                0x6b080
-#define _DSI_CLK_TIMING_PARAM_1                0x6b880
-#define DSI_CLK_TIMING_PARAM(port)     _MMIO_PORT(port,        \
-                                                  _DSI_CLK_TIMING_PARAM_0,\
-                                                  _DSI_CLK_TIMING_PARAM_1)
-#define  CLK_PREPARE_OVERRIDE          (1 << 31)
-#define  CLK_PREPARE(x)                ((x) << 28)
-#define  CLK_PREPARE_MASK              (0x7 << 28)
-#define  CLK_PREPARE_SHIFT             28
-#define  CLK_ZERO_OVERRIDE             (1 << 27)
-#define  CLK_ZERO(x)                   ((x) << 20)
-#define  CLK_ZERO_MASK                 (0xf << 20)
-#define  CLK_ZERO_SHIFT                20
-#define  CLK_PRE_OVERRIDE              (1 << 19)
-#define  CLK_PRE(x)                    ((x) << 16)
-#define  CLK_PRE_MASK                  (0x3 << 16)
-#define  CLK_PRE_SHIFT                 16
-#define  CLK_POST_OVERRIDE             (1 << 15)
-#define  CLK_POST(x)                   ((x) << 8)
-#define  CLK_POST_MASK                 (0x7 << 8)
-#define  CLK_POST_SHIFT                8
-#define  CLK_TRAIL_OVERRIDE            (1 << 7)
-#define  CLK_TRAIL(x)                  ((x) << 0)
-#define  CLK_TRAIL_MASK                (0xf << 0)
-#define  CLK_TRAIL_SHIFT               0
-
-#define _DPHY_DATA_TIMING_PARAM_0      0x162184
-#define _DPHY_DATA_TIMING_PARAM_1      0x6c184
-#define DPHY_DATA_TIMING_PARAM(port)   _MMIO_PORT(port,        \
-                                                  _DPHY_DATA_TIMING_PARAM_0,\
-                                                  _DPHY_DATA_TIMING_PARAM_1)
-#define _DSI_DATA_TIMING_PARAM_0       0x6B084
-#define _DSI_DATA_TIMING_PARAM_1       0x6B884
-#define DSI_DATA_TIMING_PARAM(port)    _MMIO_PORT(port,        \
-                                                  _DSI_DATA_TIMING_PARAM_0,\
-                                                  _DSI_DATA_TIMING_PARAM_1)
-#define  HS_PREPARE_OVERRIDE           (1 << 31)
-#define  HS_PREPARE(x)                 ((x) << 24)
-#define  HS_PREPARE_MASK               (0x7 << 24)
-#define  HS_PREPARE_SHIFT              24
-#define  HS_ZERO_OVERRIDE              (1 << 23)
-#define  HS_ZERO(x)                    ((x) << 16)
-#define  HS_ZERO_MASK                  (0xf << 16)
-#define  HS_ZERO_SHIFT                 16
-#define  HS_TRAIL_OVERRIDE             (1 << 15)
-#define  HS_TRAIL(x)                   ((x) << 8)
-#define  HS_TRAIL_MASK                 (0x7 << 8)
-#define  HS_TRAIL_SHIFT                8
-#define  HS_EXIT_OVERRIDE              (1 << 7)
-#define  HS_EXIT(x)                    ((x) << 0)
-#define  HS_EXIT_MASK                  (0x7 << 0)
-#define  HS_EXIT_SHIFT                 0
-
-#define _DPHY_TA_TIMING_PARAM_0                0x162188
-#define _DPHY_TA_TIMING_PARAM_1                0x6c188
-#define DPHY_TA_TIMING_PARAM(port)     _MMIO_PORT(port,        \
-                                                  _DPHY_TA_TIMING_PARAM_0,\
-                                                  _DPHY_TA_TIMING_PARAM_1)
-#define _DSI_TA_TIMING_PARAM_0         0x6b098
-#define _DSI_TA_TIMING_PARAM_1         0x6b898
-#define DSI_TA_TIMING_PARAM(port)      _MMIO_PORT(port,        \
-                                                  _DSI_TA_TIMING_PARAM_0,\
-                                                  _DSI_TA_TIMING_PARAM_1)
-#define  TA_SURE_OVERRIDE              (1 << 31)
-#define  TA_SURE(x)                    ((x) << 16)
-#define  TA_SURE_MASK                  (0x1f << 16)
-#define  TA_SURE_SHIFT                 16
-#define  TA_GO_OVERRIDE                (1 << 15)
-#define  TA_GO(x)                      ((x) << 8)
-#define  TA_GO_MASK                    (0xf << 8)
-#define  TA_GO_SHIFT                   8
-#define  TA_GET_OVERRIDE               (1 << 7)
-#define  TA_GET(x)                     ((x) << 0)
-#define  TA_GET_MASK                   (0xf << 0)
-#define  TA_GET_SHIFT                  0
-
-/* DSI transcoder configuration */
-#define _DSI_TRANS_FUNC_CONF_0         0x6b030
-#define _DSI_TRANS_FUNC_CONF_1         0x6b830
-#define DSI_TRANS_FUNC_CONF(tc)                _MMIO_DSI(tc,   \
-                                                 _DSI_TRANS_FUNC_CONF_0,\
-                                                 _DSI_TRANS_FUNC_CONF_1)
-#define  OP_MODE_MASK                  (0x3 << 28)
-#define  OP_MODE_SHIFT                 28
-#define  CMD_MODE_NO_GATE              (0x0 << 28)
-#define  CMD_MODE_TE_GATE              (0x1 << 28)
-#define  VIDEO_MODE_SYNC_EVENT         (0x2 << 28)
-#define  VIDEO_MODE_SYNC_PULSE         (0x3 << 28)
-#define  TE_SOURCE_GPIO                        (1 << 27)
-#define  LINK_READY                    (1 << 20)
-#define  PIX_FMT_MASK                  (0x3 << 16)
-#define  PIX_FMT_SHIFT                 16
-#define  PIX_FMT_RGB565                        (0x0 << 16)
-#define  PIX_FMT_RGB666_PACKED         (0x1 << 16)
-#define  PIX_FMT_RGB666_LOOSE          (0x2 << 16)
-#define  PIX_FMT_RGB888                        (0x3 << 16)
-#define  PIX_FMT_RGB101010             (0x4 << 16)
-#define  PIX_FMT_RGB121212             (0x5 << 16)
-#define  PIX_FMT_COMPRESSED            (0x6 << 16)
-#define  BGR_TRANSMISSION              (1 << 15)
-#define  PIX_VIRT_CHAN(x)              ((x) << 12)
-#define  PIX_VIRT_CHAN_MASK            (0x3 << 12)
-#define  PIX_VIRT_CHAN_SHIFT           12
-#define  PIX_BUF_THRESHOLD_MASK                (0x3 << 10)
-#define  PIX_BUF_THRESHOLD_SHIFT       10
-#define  PIX_BUF_THRESHOLD_1_4         (0x0 << 10)
-#define  PIX_BUF_THRESHOLD_1_2         (0x1 << 10)
-#define  PIX_BUF_THRESHOLD_3_4         (0x2 << 10)
-#define  PIX_BUF_THRESHOLD_FULL                (0x3 << 10)
-#define  CONTINUOUS_CLK_MASK           (0x3 << 8)
-#define  CONTINUOUS_CLK_SHIFT          8
-#define  CLK_ENTER_LP_AFTER_DATA       (0x0 << 8)
-#define  CLK_HS_OR_LP                  (0x2 << 8)
-#define  CLK_HS_CONTINUOUS             (0x3 << 8)
-#define  LINK_CALIBRATION_MASK         (0x3 << 4)
-#define  LINK_CALIBRATION_SHIFT                4
-#define  CALIBRATION_DISABLED          (0x0 << 4)
-#define  CALIBRATION_ENABLED_INITIAL_ONLY      (0x2 << 4)
-#define  CALIBRATION_ENABLED_INITIAL_PERIODIC  (0x3 << 4)
-#define  BLANKING_PACKET_ENABLE                (1 << 2)
-#define  S3D_ORIENTATION_LANDSCAPE     (1 << 1)
-#define  EOTP_DISABLED                 (1 << 0)
-
-#define _DSI_CMD_RXCTL_0               0x6b0d4
-#define _DSI_CMD_RXCTL_1               0x6b8d4
-#define DSI_CMD_RXCTL(tc)              _MMIO_DSI(tc,   \
-                                                 _DSI_CMD_RXCTL_0,\
-                                                 _DSI_CMD_RXCTL_1)
-#define  READ_UNLOADS_DW               (1 << 16)
-#define  RECEIVED_UNASSIGNED_TRIGGER   (1 << 15)
-#define  RECEIVED_ACKNOWLEDGE_TRIGGER  (1 << 14)
-#define  RECEIVED_TEAR_EFFECT_TRIGGER  (1 << 13)
-#define  RECEIVED_RESET_TRIGGER                (1 << 12)
-#define  RECEIVED_PAYLOAD_WAS_LOST     (1 << 11)
-#define  RECEIVED_CRC_WAS_LOST         (1 << 10)
-#define  NUMBER_RX_PLOAD_DW_MASK       (0xff << 0)
-#define  NUMBER_RX_PLOAD_DW_SHIFT      0
-
-#define _DSI_CMD_TXCTL_0               0x6b0d0
-#define _DSI_CMD_TXCTL_1               0x6b8d0
-#define DSI_CMD_TXCTL(tc)              _MMIO_DSI(tc,   \
-                                                 _DSI_CMD_TXCTL_0,\
-                                                 _DSI_CMD_TXCTL_1)
-#define  KEEP_LINK_IN_HS               (1 << 24)
-#define  FREE_HEADER_CREDIT_MASK       (0x1f << 8)
-#define  FREE_HEADER_CREDIT_SHIFT      0x8
-#define  FREE_PLOAD_CREDIT_MASK                (0xff << 0)
-#define  FREE_PLOAD_CREDIT_SHIFT       0
-#define  MAX_HEADER_CREDIT             0x10
-#define  MAX_PLOAD_CREDIT              0x40
-
-#define _DSI_CMD_TXHDR_0               0x6b100
-#define _DSI_CMD_TXHDR_1               0x6b900
-#define DSI_CMD_TXHDR(tc)              _MMIO_DSI(tc,   \
-                                                 _DSI_CMD_TXHDR_0,\
-                                                 _DSI_CMD_TXHDR_1)
-#define  PAYLOAD_PRESENT               (1 << 31)
-#define  LP_DATA_TRANSFER              (1 << 30)
-#define  VBLANK_FENCE                  (1 << 29)
-#define  PARAM_WC_MASK                 (0xffff << 8)
-#define  PARAM_WC_LOWER_SHIFT          8
-#define  PARAM_WC_UPPER_SHIFT          16
-#define  VC_MASK                       (0x3 << 6)
-#define  VC_SHIFT                      6
-#define  DT_MASK                       (0x3f << 0)
-#define  DT_SHIFT                      0
-
-#define _DSI_CMD_TXPYLD_0              0x6b104
-#define _DSI_CMD_TXPYLD_1              0x6b904
-#define DSI_CMD_TXPYLD(tc)             _MMIO_DSI(tc,   \
-                                                 _DSI_CMD_TXPYLD_0,\
-                                                 _DSI_CMD_TXPYLD_1)
-
-#define _DSI_LP_MSG_0                  0x6b0d8
-#define _DSI_LP_MSG_1                  0x6b8d8
-#define DSI_LP_MSG(tc)                 _MMIO_DSI(tc,   \
-                                                 _DSI_LP_MSG_0,\
-                                                 _DSI_LP_MSG_1)
-#define  LPTX_IN_PROGRESS              (1 << 17)
-#define  LINK_IN_ULPS                  (1 << 16)
-#define  LINK_ULPS_TYPE_LP11           (1 << 8)
-#define  LINK_ENTER_ULPS               (1 << 0)
-
-/* DSI timeout registers */
-#define _DSI_HSTX_TO_0                 0x6b044
-#define _DSI_HSTX_TO_1                 0x6b844
-#define DSI_HSTX_TO(tc)                        _MMIO_DSI(tc,   \
-                                                 _DSI_HSTX_TO_0,\
-                                                 _DSI_HSTX_TO_1)
-#define  HSTX_TIMEOUT_VALUE_MASK       (0xffff << 16)
-#define  HSTX_TIMEOUT_VALUE_SHIFT      16
-#define  HSTX_TIMEOUT_VALUE(x)         ((x) << 16)
-#define  HSTX_TIMED_OUT                        (1 << 0)
-
-#define _DSI_LPRX_HOST_TO_0            0x6b048
-#define _DSI_LPRX_HOST_TO_1            0x6b848
-#define DSI_LPRX_HOST_TO(tc)           _MMIO_DSI(tc,   \
-                                                 _DSI_LPRX_HOST_TO_0,\
-                                                 _DSI_LPRX_HOST_TO_1)
-#define  LPRX_TIMED_OUT                        (1 << 16)
-#define  LPRX_TIMEOUT_VALUE_MASK       (0xffff << 0)
-#define  LPRX_TIMEOUT_VALUE_SHIFT      0
-#define  LPRX_TIMEOUT_VALUE(x)         ((x) << 0)
-
-#define _DSI_PWAIT_TO_0                        0x6b040
-#define _DSI_PWAIT_TO_1                        0x6b840
-#define DSI_PWAIT_TO(tc)               _MMIO_DSI(tc,   \
-                                                 _DSI_PWAIT_TO_0,\
-                                                 _DSI_PWAIT_TO_1)
-#define  PRESET_TIMEOUT_VALUE_MASK     (0xffff << 16)
-#define  PRESET_TIMEOUT_VALUE_SHIFT    16
-#define  PRESET_TIMEOUT_VALUE(x)       ((x) << 16)
-#define  PRESPONSE_TIMEOUT_VALUE_MASK  (0xffff << 0)
-#define  PRESPONSE_TIMEOUT_VALUE_SHIFT 0
-#define  PRESPONSE_TIMEOUT_VALUE(x)    ((x) << 0)
-
-#define _DSI_TA_TO_0                   0x6b04c
-#define _DSI_TA_TO_1                   0x6b84c
-#define DSI_TA_TO(tc)                  _MMIO_DSI(tc,   \
-                                                 _DSI_TA_TO_0,\
-                                                 _DSI_TA_TO_1)
-#define  TA_TIMED_OUT                  (1 << 16)
-#define  TA_TIMEOUT_VALUE_MASK         (0xffff << 0)
-#define  TA_TIMEOUT_VALUE_SHIFT                0
-#define  TA_TIMEOUT_VALUE(x)           ((x) << 0)
-
-/* bits 31:0 */
-#define _MIPIA_DBI_BW_CTRL             (dev_priv->mipi_mmio_base + 0xb084)
-#define _MIPIC_DBI_BW_CTRL             (dev_priv->mipi_mmio_base + 0xb884)
-#define MIPI_DBI_BW_CTRL(port)         _MMIO_MIPI(port, _MIPIA_DBI_BW_CTRL, _MIPIC_DBI_BW_CTRL)
-
-#define _MIPIA_CLK_LANE_SWITCH_TIME_CNT                (dev_priv->mipi_mmio_base + 0xb088)
-#define _MIPIC_CLK_LANE_SWITCH_TIME_CNT                (dev_priv->mipi_mmio_base + 0xb888)
-#define MIPI_CLK_LANE_SWITCH_TIME_CNT(port)    _MMIO_MIPI(port, _MIPIA_CLK_LANE_SWITCH_TIME_CNT, _MIPIC_CLK_LANE_SWITCH_TIME_CNT)
-#define  LP_HS_SSW_CNT_SHIFT                           16
-#define  LP_HS_SSW_CNT_MASK                            (0xffff << 16)
-#define  HS_LP_PWR_SW_CNT_SHIFT                                0
-#define  HS_LP_PWR_SW_CNT_MASK                         (0xffff << 0)
-
-#define _MIPIA_STOP_STATE_STALL                (dev_priv->mipi_mmio_base + 0xb08c)
-#define _MIPIC_STOP_STATE_STALL                (dev_priv->mipi_mmio_base + 0xb88c)
-#define MIPI_STOP_STATE_STALL(port)    _MMIO_MIPI(port, _MIPIA_STOP_STATE_STALL, _MIPIC_STOP_STATE_STALL)
-#define  STOP_STATE_STALL_COUNTER_SHIFT                        0
-#define  STOP_STATE_STALL_COUNTER_MASK                 (0xff << 0)
-
-#define _MIPIA_INTR_STAT_REG_1         (dev_priv->mipi_mmio_base + 0xb090)
-#define _MIPIC_INTR_STAT_REG_1         (dev_priv->mipi_mmio_base + 0xb890)
-#define MIPI_INTR_STAT_REG_1(port)     _MMIO_MIPI(port, _MIPIA_INTR_STAT_REG_1, _MIPIC_INTR_STAT_REG_1)
-#define _MIPIA_INTR_EN_REG_1           (dev_priv->mipi_mmio_base + 0xb094)
-#define _MIPIC_INTR_EN_REG_1           (dev_priv->mipi_mmio_base + 0xb894)
-#define MIPI_INTR_EN_REG_1(port)       _MMIO_MIPI(port, _MIPIA_INTR_EN_REG_1, _MIPIC_INTR_EN_REG_1)
-#define  RX_CONTENTION_DETECTED                                (1 << 0)
-
-/* XXX: only pipe A ?!? */
-#define MIPIA_DBI_TYPEC_CTRL           (dev_priv->mipi_mmio_base + 0xb100)
-#define  DBI_TYPEC_ENABLE                              (1 << 31)
-#define  DBI_TYPEC_WIP                                 (1 << 30)
-#define  DBI_TYPEC_OPTION_SHIFT                                28
-#define  DBI_TYPEC_OPTION_MASK                         (3 << 28)
-#define  DBI_TYPEC_FREQ_SHIFT                          24
-#define  DBI_TYPEC_FREQ_MASK                           (0xf << 24)
-#define  DBI_TYPEC_OVERRIDE                            (1 << 8)
-#define  DBI_TYPEC_OVERRIDE_COUNTER_SHIFT              0
-#define  DBI_TYPEC_OVERRIDE_COUNTER_MASK               (0xff << 0)
-
-
-/* MIPI adapter registers */
-
-#define _MIPIA_CTRL                    (dev_priv->mipi_mmio_base + 0xb104)
-#define _MIPIC_CTRL                    (dev_priv->mipi_mmio_base + 0xb904)
-#define MIPI_CTRL(port)                        _MMIO_MIPI(port, _MIPIA_CTRL, _MIPIC_CTRL)
-#define  ESCAPE_CLOCK_DIVIDER_SHIFT                    5 /* A only */
-#define  ESCAPE_CLOCK_DIVIDER_MASK                     (3 << 5)
-#define  ESCAPE_CLOCK_DIVIDER_1                                (0 << 5)
-#define  ESCAPE_CLOCK_DIVIDER_2                                (1 << 5)
-#define  ESCAPE_CLOCK_DIVIDER_4                                (2 << 5)
-#define  READ_REQUEST_PRIORITY_SHIFT                   3
-#define  READ_REQUEST_PRIORITY_MASK                    (3 << 3)
-#define  READ_REQUEST_PRIORITY_LOW                     (0 << 3)
-#define  READ_REQUEST_PRIORITY_HIGH                    (3 << 3)
-#define  RGB_FLIP_TO_BGR                               (1 << 2)
-
-#define  BXT_PIPE_SELECT_SHIFT                         7
-#define  BXT_PIPE_SELECT_MASK                          (7 << 7)
-#define  BXT_PIPE_SELECT(pipe)                         ((pipe) << 7)
-#define  GLK_PHY_STATUS_PORT_READY                     (1 << 31) /* RO */
-#define  GLK_ULPS_NOT_ACTIVE                           (1 << 30) /* RO */
-#define  GLK_MIPIIO_RESET_RELEASED                     (1 << 28)
-#define  GLK_CLOCK_LANE_STOP_STATE                     (1 << 27) /* RO */
-#define  GLK_DATA_LANE_STOP_STATE                      (1 << 26) /* RO */
-#define  GLK_LP_WAKE                                   (1 << 22)
-#define  GLK_LP11_LOW_PWR_MODE                         (1 << 21)
-#define  GLK_LP00_LOW_PWR_MODE                         (1 << 20)
-#define  GLK_FIREWALL_ENABLE                           (1 << 16)
-#define  BXT_PIXEL_OVERLAP_CNT_MASK                    (0xf << 10)
-#define  BXT_PIXEL_OVERLAP_CNT_SHIFT                   10
-#define  BXT_DSC_ENABLE                                        (1 << 3)
-#define  BXT_RGB_FLIP                                  (1 << 2)
-#define  GLK_MIPIIO_PORT_POWERED                       (1 << 1) /* RO */
-#define  GLK_MIPIIO_ENABLE                             (1 << 0)
-
-#define _MIPIA_DATA_ADDRESS            (dev_priv->mipi_mmio_base + 0xb108)
-#define _MIPIC_DATA_ADDRESS            (dev_priv->mipi_mmio_base + 0xb908)
-#define MIPI_DATA_ADDRESS(port)                _MMIO_MIPI(port, _MIPIA_DATA_ADDRESS, _MIPIC_DATA_ADDRESS)
-#define  DATA_MEM_ADDRESS_SHIFT                                5
-#define  DATA_MEM_ADDRESS_MASK                         (0x7ffffff << 5)
-#define  DATA_VALID                                    (1 << 0)
-
-#define _MIPIA_DATA_LENGTH             (dev_priv->mipi_mmio_base + 0xb10c)
-#define _MIPIC_DATA_LENGTH             (dev_priv->mipi_mmio_base + 0xb90c)
-#define MIPI_DATA_LENGTH(port)         _MMIO_MIPI(port, _MIPIA_DATA_LENGTH, _MIPIC_DATA_LENGTH)
-#define  DATA_LENGTH_SHIFT                             0
-#define  DATA_LENGTH_MASK                              (0xfffff << 0)
-
-#define _MIPIA_COMMAND_ADDRESS         (dev_priv->mipi_mmio_base + 0xb110)
-#define _MIPIC_COMMAND_ADDRESS         (dev_priv->mipi_mmio_base + 0xb910)
-#define MIPI_COMMAND_ADDRESS(port)     _MMIO_MIPI(port, _MIPIA_COMMAND_ADDRESS, _MIPIC_COMMAND_ADDRESS)
-#define  COMMAND_MEM_ADDRESS_SHIFT                     5
-#define  COMMAND_MEM_ADDRESS_MASK                      (0x7ffffff << 5)
-#define  AUTO_PWG_ENABLE                               (1 << 2)
-#define  MEMORY_WRITE_DATA_FROM_PIPE_RENDERING         (1 << 1)
-#define  COMMAND_VALID                                 (1 << 0)
-
-#define _MIPIA_COMMAND_LENGTH          (dev_priv->mipi_mmio_base + 0xb114)
-#define _MIPIC_COMMAND_LENGTH          (dev_priv->mipi_mmio_base + 0xb914)
-#define MIPI_COMMAND_LENGTH(port)      _MMIO_MIPI(port, _MIPIA_COMMAND_LENGTH, _MIPIC_COMMAND_LENGTH)
-#define  COMMAND_LENGTH_SHIFT(n)                       (8 * (n)) /* n: 0...3 */
-#define  COMMAND_LENGTH_MASK(n)                                (0xff << (8 * (n)))
-
-#define _MIPIA_READ_DATA_RETURN0       (dev_priv->mipi_mmio_base + 0xb118)
-#define _MIPIC_READ_DATA_RETURN0       (dev_priv->mipi_mmio_base + 0xb918)
-#define MIPI_READ_DATA_RETURN(port, n) _MMIO(_MIPI(port, _MIPIA_READ_DATA_RETURN0, _MIPIC_READ_DATA_RETURN0) + 4 * (n)) /* n: 0...7 */
-
-#define _MIPIA_READ_DATA_VALID         (dev_priv->mipi_mmio_base + 0xb138)
-#define _MIPIC_READ_DATA_VALID         (dev_priv->mipi_mmio_base + 0xb938)
-#define MIPI_READ_DATA_VALID(port)     _MMIO_MIPI(port, _MIPIA_READ_DATA_VALID, _MIPIC_READ_DATA_VALID)
-#define  READ_DATA_VALID(n)                            (1 << (n))
-
-/* MOCS (Memory Object Control State) registers */
-#define GEN9_LNCFCMOCS(i)      _MMIO(0xb020 + (i) * 4) /* L3 Cache Control */
-#define GEN9_LNCFCMOCS_REG_COUNT       32
-
-#define __GEN9_RCS0_MOCS0      0xc800
-#define GEN9_GFX_MOCS(i)       _MMIO(__GEN9_RCS0_MOCS0 + (i) * 4)
-#define __GEN9_VCS0_MOCS0      0xc900
-#define GEN9_MFX0_MOCS(i)      _MMIO(__GEN9_VCS0_MOCS0 + (i) * 4)
-#define __GEN9_VCS1_MOCS0      0xca00
-#define GEN9_MFX1_MOCS(i)      _MMIO(__GEN9_VCS1_MOCS0 + (i) * 4)
-#define __GEN9_VECS0_MOCS0     0xcb00
-#define GEN9_VEBOX_MOCS(i)     _MMIO(__GEN9_VECS0_MOCS0 + (i) * 4)
-#define __GEN9_BCS0_MOCS0      0xcc00
-#define GEN9_BLT_MOCS(i)       _MMIO(__GEN9_BCS0_MOCS0 + (i) * 4)
-#define __GEN11_VCS2_MOCS0     0x10000
-#define GEN11_MFX2_MOCS(i)     _MMIO(__GEN11_VCS2_MOCS0 + (i) * 4)
-
-#define GEN9_SCRATCH_LNCF1             _MMIO(0xb008)
-#define   GEN9_LNCF_NONIA_COHERENT_ATOMICS_ENABLE REG_BIT(0)
-
-#define GEN9_SCRATCH1                  _MMIO(0xb11c)
-#define   EVICTION_PERF_FIX_ENABLE     REG_BIT(8)
-
-#define GEN10_SCRATCH_LNCF2            _MMIO(0xb0a0)
-#define   PMFLUSHDONE_LNICRSDROP       (1 << 20)
-#define   PMFLUSH_GAPL3UNBLOCK         (1 << 21)
-#define   PMFLUSHDONE_LNEBLK           (1 << 22)
-
-#define XEHP_L3NODEARBCFG              _MMIO(0xb0b4)
-#define   XEHP_LNESPARE                        REG_BIT(19)
-
-#define GEN12_GLOBAL_MOCS(i)   _MMIO(0x4000 + (i) * 4) /* Global MOCS regs */
-
 #define GEN12_GSMBASE                  _MMIO(0x108100)
 #define GEN12_DSMBASE                  _MMIO(0x1080C0)
 
@@ -12641,6 +8465,9 @@ enum skl_power_gate {
 #define   SGGI_DIS                     REG_BIT(15)
 #define   SGR_DIS                      REG_BIT(13)
 
+#define XEHPSDV_FLAT_CCS_BASE_ADDR     _MMIO(0x4910)
+#define   XEHPSDV_CCS_BASE_SHIFT       8
+
 /* gamt regs */
 #define GEN8_L3_LRA_1_GPGPU _MMIO(0x4dd4)
 #define   GEN8_L3_LRA_1_GPGPU_DEFAULT_VALUE_BDW  0x67F1427F /* max/min for LRA1/2 */
@@ -12654,8 +8481,10 @@ enum skl_power_gate {
 
 #define _ICL_PHY_MISC_A                0x64C00
 #define _ICL_PHY_MISC_B                0x64C04
-#define ICL_PHY_MISC(port)     _MMIO_PORT(port, _ICL_PHY_MISC_A, \
-                                                _ICL_PHY_MISC_B)
+#define _DG2_PHY_MISC_TC1      0x64C14 /* TC1="PHY E" but offset as if "PHY F" */
+#define ICL_PHY_MISC(port)     _MMIO_PORT(port, _ICL_PHY_MISC_A, _ICL_PHY_MISC_B)
+#define DG2_PHY_MISC(port)     ((port) == PHY_E ? _MMIO(_DG2_PHY_MISC_TC1) : \
+                                ICL_PHY_MISC(port))
 #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)
@@ -12995,6 +8824,14 @@ enum skl_power_gate {
 #define  TCSS_DDI_STATUS_HPD_LIVE_STATUS_TBT   REG_BIT(1)
 #define  TCSS_DDI_STATUS_HPD_LIVE_STATUS_ALT   REG_BIT(0)
 
+#define PRIMARY_SPI_TRIGGER                    _MMIO(0x102040)
+#define PRIMARY_SPI_ADDRESS                    _MMIO(0x102080)
+#define PRIMARY_SPI_REGIONID                   _MMIO(0x102084)
+#define SPI_STATIC_REGIONS                     _MMIO(0x102090)
+#define   OPTIONROM_SPI_REGIONID_MASK          REG_GENMASK(7, 0)
+#define OROM_OFFSET                            _MMIO(0x1020c0)
+#define   OROM_OFFSET_MASK                     REG_GENMASK(20, 16)
+
 /* This register controls the Display State Buffer (DSB) engines. */
 #define _DSBSL_INSTANCE_BASE           0x70B00
 #define DSBSL_INSTANCE(pipe, id)       (_DSBSL_INSTANCE_BASE + \
@@ -13005,19 +8842,14 @@ enum skl_power_gate {
 #define   DSB_ENABLE                   (1 << 31)
 #define   DSB_STATUS                   (1 << 0)
 
-#define TGL_ROOT_DEVICE_ID             0x9A00
-#define TGL_ROOT_DEVICE_MASK           0xFF00
-#define TGL_ROOT_DEVICE_SKU_MASK       0xF
-#define TGL_ROOT_DEVICE_SKU_ULX                0x2
-#define TGL_ROOT_DEVICE_SKU_ULT                0x4
-
 #define CLKREQ_POLICY                  _MMIO(0x101038)
 #define  CLKREQ_POLICY_MEM_UP_OVRD     REG_BIT(1)
 
 #define CLKGATE_DIS_MISC                       _MMIO(0x46534)
 #define  CLKGATE_DIS_MISC_DMASC_GATING_DIS     REG_BIT(21)
 
-#define SLICE_COMMON_ECO_CHICKEN1              _MMIO(0x731C)
-#define   MSC_MSAA_REODER_BUF_BYPASS_DISABLE   REG_BIT(14)
+#define GEN12_CULLBIT1                 _MMIO(0x6100)
+#define GEN12_CULLBIT2                 _MMIO(0x7030)
+#define GEN12_STATE_ACK_DEBUG          _MMIO(0x20BC)
 
 #endif /* _I915_REG_H_ */