{
        struct drm_i915_private *i915 = arg;
        unsigned int supported = RUNTIME_INFO(i915)->page_sizes;
-       bool has_pte64 = GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50);
+       bool has_pte64 = GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55);
        struct i915_address_space *vm;
        struct i915_gem_context *ctx;
        unsigned long max_pages;
 static int igt_ppgtt_64K(void *arg)
 {
        struct drm_i915_private *i915 = arg;
-       bool has_pte64 = GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50);
+       bool has_pte64 = GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55);
        struct drm_i915_gem_object *obj;
        struct i915_address_space *vm;
        struct i915_gem_context *ctx;
 
        if (gen < 12)
                return true;
 
-       if (GRAPHICS_VER_FULL(i915) < IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(i915) < IP_VER(12, 55))
                return false;
 
        return HAS_DISPLAY(i915);
                src_pitch = t->width; /* in dwords */
                if (src->tiling == CLIENT_TILING_Y) {
                        src_tiles = XY_FAST_COPY_BLT_D0_SRC_TILE_MODE(YMAJOR);
-                       if (GRAPHICS_VER_FULL(to_i915(batch->base.dev)) >= IP_VER(12, 50))
+                       if (GRAPHICS_VER_FULL(to_i915(batch->base.dev)) >= IP_VER(12, 55))
                                src_4t = XY_FAST_COPY_BLT_D1_SRC_TILE4;
                } else if (src->tiling == CLIENT_TILING_X) {
                        src_tiles = XY_FAST_COPY_BLT_D0_SRC_TILE_MODE(TILE_X);
                dst_pitch = t->width; /* in dwords */
                if (dst->tiling == CLIENT_TILING_Y) {
                        dst_tiles = XY_FAST_COPY_BLT_D0_DST_TILE_MODE(YMAJOR);
-                       if (GRAPHICS_VER_FULL(to_i915(batch->base.dev)) >= IP_VER(12, 50))
+                       if (GRAPHICS_VER_FULL(to_i915(batch->base.dev)) >= IP_VER(12, 55))
                                dst_4t = XY_FAST_COPY_BLT_D1_DST_TILE4;
                } else if (dst->tiling == CLIENT_TILING_X) {
                        dst_tiles = XY_FAST_COPY_BLT_D0_DST_TILE_MODE(TILE_X);
                v += x;
 
                swizzle = gt->ggtt->bit_6_swizzle_x;
-       } else if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 50)) {
+       } else if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 55)) {
                /* Y-major tiling layout is Tile4 for Xe_HP and beyond */
                v = linear_x_y_to_ftiled_pos(x_pos, y_pos, stride, 32);
 
 
                cs = gen12_emit_pipe_control(cs, 0,
                                             PIPE_CONTROL_DEPTH_CACHE_FLUSH, 0);
 
-       if (GRAPHICS_VER(i915) == 12 && GRAPHICS_VER_FULL(i915) < IP_VER(12, 50))
+       if (GRAPHICS_VER(i915) == 12 && GRAPHICS_VER_FULL(i915) < IP_VER(12, 55))
                /* Wa_1409600907 */
                flags |= PIPE_CONTROL_DEPTH_STALL;
 
 
         * and bits have disable semantices.
         */
        media_fuse = intel_uncore_read(gt->uncore, GEN11_GT_VEBOX_VDBOX_DISABLE);
-       if (MEDIA_VER_FULL(i915) < IP_VER(12, 50))
+       if (MEDIA_VER_FULL(i915) < IP_VER(12, 55))
                media_fuse = ~media_fuse;
 
        vdbox_mask = media_fuse & GEN11_GT_VDBOX_DISABLE_MASK;
        vebox_mask = (media_fuse & GEN11_GT_VEBOX_DISABLE_MASK) >>
                      GEN11_GT_VEBOX_DISABLE_SHIFT;
 
-       if (MEDIA_VER_FULL(i915) >= IP_VER(12, 50)) {
+       if (MEDIA_VER_FULL(i915) >= IP_VER(12, 55)) {
                fuse1 = intel_uncore_read(gt->uncore, HSW_PAVP_FUSE1);
                gt->info.sfc_mask = REG_FIELD_GET(XEHP_SFC_ENABLE_MASK, fuse1);
        } else {
                if (GRAPHICS_VER_FULL(i915) == IP_VER(12, 74) ||
                    GRAPHICS_VER_FULL(i915) == IP_VER(12, 71) ||
                    GRAPHICS_VER_FULL(i915) == IP_VER(12, 70) ||
-                   GRAPHICS_VER_FULL(i915) == IP_VER(12, 50) ||
                    GRAPHICS_VER_FULL(i915) == IP_VER(12, 55)) {
                        regs = xehp_regs;
                        num = ARRAY_SIZE(xehp_regs);
 
                /* Use a fixed tag for OA and friends */
                GEM_BUG_ON(ce->tag <= BITS_PER_LONG);
                ce->lrc.ccid = ce->tag;
-       } else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50)) {
+       } else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55)) {
                /* We don't need a strict matching tag, just different values */
                unsigned int tag = ffs(READ_ONCE(engine->context_tag));
 
                intel_engine_add_retire(engine, ce->timeline);
 
        ccid = ce->lrc.ccid;
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50)) {
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55)) {
                ccid >>= XEHP_SW_CTX_ID_SHIFT - 32;
                ccid &= XEHP_MAX_CONTEXT_HW_ID;
        } else {
                ENGINE_TRACE(engine, "csb[%d]: status=0x%08x:0x%08x\n",
                             head, upper_32_bits(csb), lower_32_bits(csb));
 
-               if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+               if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                        promote = xehp_csb_parse(csb);
                else if (GRAPHICS_VER(engine->i915) >= 12)
                        promote = gen12_csb_parse(csb);
                }
        }
 
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50)) {
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55)) {
                if (intel_engine_has_preemption(engine))
                        engine->emit_bb_start = xehp_emit_bb_start;
                else
 
        engine->context_tag = GENMASK(BITS_PER_LONG - 2, 0);
        if (GRAPHICS_VER(engine->i915) >= 11 &&
-           GRAPHICS_VER_FULL(engine->i915) < IP_VER(12, 50)) {
+           GRAPHICS_VER_FULL(engine->i915) < IP_VER(12, 55)) {
                execlists->ccid |= engine->instance << (GEN11_ENGINE_INSTANCE_SHIFT - 32);
                execlists->ccid |= engine->class << (GEN11_ENGINE_CLASS_SHIFT - 32);
        }
 
                intel_uncore_posting_read(uncore,
                                          XELPMP_RING_FAULT_REG);
 
-       } else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50)) {
+       } else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55)) {
                intel_gt_mcr_multicast_rmw(gt, XEHP_RING_FAULT_REG,
                                           RING_FAULT_VALID, 0);
                intel_gt_mcr_read_any(gt, XEHP_RING_FAULT_REG);
        struct drm_i915_private *i915 = gt->i915;
 
        /* From GEN8 onwards we only have one 'All Engine Fault Register' */
-       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                xehp_check_faults(gt);
        else if (GRAPHICS_VER(i915) >= 8)
                gen8_check_faults(gt);
 
                 * steering.
                 */
        } else if (GRAPHICS_VER(i915) >= 11 &&
-                  GRAPHICS_VER_FULL(i915) < IP_VER(12, 50)) {
+                  GRAPHICS_VER_FULL(i915) < IP_VER(12, 55)) {
                gt->steering_table[L3BANK] = icl_l3bank_steering_table;
                gt->info.l3bank_mask =
                        ~intel_uncore_read(gt->uncore, GEN10_MIRROR_FUSE3) &
        if (IS_PONTEVECCHIO(gt->i915)) {
                *group = dss / GEN_DSS_PER_CSLICE;
                *instance = dss % GEN_DSS_PER_CSLICE;
-       } else if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 50)) {
+       } else if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 55)) {
                *group = dss / GEN_DSS_PER_GSLICE;
                *instance = dss % GEN_DSS_PER_GSLICE;
        } else {
 
  * the topology, so we lookup the DSS ID directly in "slice 0."
  */
 #define _HAS_SS(ss_, gt_, group_, instance_) ( \
-       GRAPHICS_VER_FULL(gt_->i915) >= IP_VER(12, 50) ? \
+       GRAPHICS_VER_FULL(gt_->i915) >= IP_VER(12, 55) ? \
                intel_sseu_has_subslice(&(gt_)->info.sseu, 0, ss_) : \
                intel_sseu_has_subslice(&(gt_)->info.sseu, group_, instance_))
 
 
 
        if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 70))
                xelpg_setup_private_ppat(gt);
-       else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+       else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                xehp_setup_private_ppat(gt);
        else if (GRAPHICS_VER(i915) >= 12)
                tgl_setup_private_ppat(uncore);
 
 
 static int lrc_ring_mi_mode(const struct intel_engine_cs *engine)
 {
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                return 0x70;
        else if (GRAPHICS_VER(engine->i915) >= 12)
                return 0x60;
 
 static int lrc_ring_bb_offset(const struct intel_engine_cs *engine)
 {
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                return 0x80;
        else if (GRAPHICS_VER(engine->i915) >= 12)
                return 0x70;
 
 static int lrc_ring_gpr0(const struct intel_engine_cs *engine)
 {
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                return 0x84;
        else if (GRAPHICS_VER(engine->i915) >= 12)
                return 0x74;
 static int lrc_ring_cmd_buf_cctl(const struct intel_engine_cs *engine)
 {
 
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                /*
                 * Note that the CSFE context has a dummy slot for CMD_BUF_CCTL
                 * simply to match the RCS context image layout.
 
 
        GEM_BUG_ON(size >> PAGE_SHIFT > S16_MAX);
 
-       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                ring_sz = XY_FAST_COLOR_BLT_DW;
        else if (ver >= 8)
                ring_sz = 8;
        if (IS_ERR(cs))
                return PTR_ERR(cs);
 
-       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50)) {
+       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55)) {
                *cs++ = XY_FAST_COLOR_BLT_CMD | XY_FAST_COLOR_BLT_DEPTH_32 |
                        (XY_FAST_COLOR_BLT_DW - 2);
                *cs++ = FIELD_PREP(XY_FAST_COLOR_BLT_MOCS_MASK, mocs) |
 
 
        intel_gt_mcr_lock(gt, &flags);
        for_each_l3cc(l3cc, table, i)
-               if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 50))
+               if (GRAPHICS_VER_FULL(gt->i915) >= IP_VER(12, 55))
                        intel_gt_mcr_multicast_write_fw(gt, XEHP_LNCFCMOCS(i), l3cc);
                else
                        intel_uncore_write_fw(gt->uncore, GEN9_LNCFCMOCS(i), l3cc);
 
 {
        struct drm_i915_private *i915 = gt->i915;
 
-       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                xehp_sseu_info_init(gt);
        else if (GRAPHICS_VER(i915) >= 12)
                gen12_sseu_info_init(gt);
 {
        if (sseu->max_slices == 0)
                drm_printf(p, "Unavailable\n");
-       else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+       else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                sseu_print_xehp_topology(sseu, p);
        else
                sseu_print_hsw_topology(sseu, p);
 
                wa_mcr_masked_field_set(wal, GEN9_ROW_CHICKEN4, THREAD_EX_ARB_MODE,
                                        THREAD_EX_ARB_MODE_RR_AFTER_DEP);
 
-       if (GRAPHICS_VER(i915) == 12 && GRAPHICS_VER_FULL(i915) < IP_VER(12, 50))
+       if (GRAPHICS_VER(i915) == 12 && GRAPHICS_VER_FULL(i915) < IP_VER(12, 55))
                wa_write_clr(wal, GEN8_GARBCNTL, GEN12_BUS_HASH_CTL_BIT_EXC);
 }
 
        const struct i915_range *mcr_ranges;
        int i;
 
-       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                mcr_ranges = mcr_ranges_xehp;
        else if (GRAPHICS_VER(i915) >= 12)
                mcr_ranges = mcr_ranges_gen12;
 
 
        /* Wa_22012773006:gen11,gen12 < XeHP */
        if (GRAPHICS_VER(gt->i915) >= 11 &&
-           GRAPHICS_VER_FULL(gt->i915) < IP_VER(12, 50))
+           GRAPHICS_VER_FULL(gt->i915) < IP_VER(12, 55))
                flags |= GUC_WA_POLLCS;
 
        /* Wa_14014475959 */
 
 
        /* add in local MOCS registers */
        for (i = 0; i < LNCFCMOCS_REG_COUNT; i++)
-               if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+               if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                        ret |= GUC_MCR_REG_ADD(gt, regset, XEHP_LNCFCMOCS(i), false);
                else
                        ret |= GUC_MMIO_REG_ADD(gt, regset, GEN9_LNCFCMOCS(i), false);
 
 #define LR_HW_CONTEXT_SIZE (80 * sizeof(u32))
 #define XEHP_LR_HW_CONTEXT_SIZE (96 * sizeof(u32))
-#define LR_HW_CONTEXT_SZ(i915) (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50) ? \
+#define LR_HW_CONTEXT_SZ(i915) (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55) ? \
                                    XEHP_LR_HW_CONTEXT_SIZE : \
                                    LR_HW_CONTEXT_SIZE)
 #define LRC_SKIP_SIZE(i915) (LRC_PPHWSP_SZ * PAGE_SIZE + LR_HW_CONTEXT_SZ(i915))
 
                         GUC_ENABLE_READ_CACHE_FOR_WOPCM_DATA |
                         GUC_ENABLE_MIA_CLOCK_GATING;
 
-       if (GRAPHICS_VER_FULL(uncore->i915) < IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(uncore->i915) < IP_VER(12, 55))
                shim_flags |= GUC_DISABLE_SRAM_INIT_TO_ZEROES |
                              GUC_ENABLE_MIA_CACHING;
 
 
         */
 
        engine->emit_bb_start = gen8_emit_bb_start;
-       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
                engine->emit_bb_start = xehp_emit_bb_start;
 }
 
 
                break;
        case I915_PARAM_SLICE_MASK:
                /* Not supported from Xe_HP onward; use topology queries */
-               if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+               if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                        return -EINVAL;
 
                value = sseu->slice_mask;
                break;
        case I915_PARAM_SUBSLICE_MASK:
                /* Not supported from Xe_HP onward; use topology queries */
-               if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+               if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                        return -EINVAL;
 
                /* Only copy bits from the first slice */
 
                if (MEDIA_VER(i915) >= 13 && engine->gt->type == GT_MEDIA)
                        ee->fault_reg = intel_uncore_read(engine->uncore,
                                                          XELPMP_RING_FAULT_REG);
-
-               else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+               else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
                        ee->fault_reg = intel_gt_mcr_read_any(engine->gt,
                                                              XEHP_RING_FAULT_REG);
                else if (GRAPHICS_VER(i915) >= 12)
        if (GRAPHICS_VER(i915) == 7)
                gt->err_int = intel_uncore_read(uncore, GEN7_ERR_INT);
 
-       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50)) {
+       if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55)) {
                gt->fault_data0 = intel_gt_mcr_read_any((struct intel_gt *)gt->_gt,
                                                        XEHP_FAULT_TLB_DATA0);
                gt->fault_data1 = intel_gt_mcr_read_any((struct intel_gt *)gt->_gt,
 
 #define OAREPORT_REASON_CTX_SWITCH     (1<<3)
 #define OAREPORT_REASON_CLK_RATIO      (1<<5)
 
-#define HAS_MI_SET_PREDICATE(i915) (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+#define HAS_MI_SET_PREDICATE(i915) (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 55))
 
 /* For sysctl proc_dointvec_minmax of i915_oa_max_sample_rate
  *
                 */
 
                if (oa_report_ctx_invalid(stream, report) &&
-                   GRAPHICS_VER_FULL(stream->engine->i915) < IP_VER(12, 50)) {
+                   GRAPHICS_VER_FULL(stream->engine->i915) < IP_VER(12, 55)) {
                        ctx_id = INVALID_CTX_ID;
                        oa_context_id_squash(stream, report32);
                }
 
                mask = ((1U << GEN12_GUC_SW_CTX_ID_WIDTH) - 1) <<
                        (GEN12_GUC_SW_CTX_ID_SHIFT - 32);
-       } else if (GRAPHICS_VER_FULL(stream->engine->i915) >= IP_VER(12, 50)) {
+       } else if (GRAPHICS_VER_FULL(stream->engine->i915) >= IP_VER(12, 55)) {
                ctx_id = (XEHP_MAX_CONTEXT_HW_ID - 1) <<
                        (XEHP_SW_CTX_ID_SHIFT - 32);
 
                        props->hold_preemption = !!value;
                        break;
                case DRM_I915_PERF_PROP_GLOBAL_SSEU: {
-                       if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 50)) {
+                       if (GRAPHICS_VER_FULL(perf->i915) >= IP_VER(12, 55)) {
                                drm_dbg(&perf->i915->drm,
                                        "SSEU config not supported on gfx %x\n",
                                        GRAPHICS_VER_FULL(perf->i915));
 
        struct intel_engine_cs *engine;
        struct i915_engine_class_instance classinstance;
 
-       if (GRAPHICS_VER_FULL(i915) < IP_VER(12, 50))
+       if (GRAPHICS_VER_FULL(i915) < IP_VER(12, 55))
                return -ENODEV;
 
        classinstance = *((struct i915_engine_class_instance *)&query_item->flags);
 
                 * the forcewake domain if any of the other engines
                 * in the same media slice are present.
                 */
-               if (GRAPHICS_VER_FULL(uncore->i915) >= IP_VER(12, 50) && i % 2 == 0) {
+               if (GRAPHICS_VER_FULL(uncore->i915) >= IP_VER(12, 55) && i % 2 == 0) {
                        if ((i + 1 < I915_MAX_VCS) && HAS_ENGINE(gt, _VCS(i + 1)))
                                continue;