diff mbox series

[2/5] drm/i915: Drop dead code for xehpsdv

Message ID 20240306193643.1897026-3-lucas.demarchi@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: cleanup dead code | expand

Commit Message

Lucas De Marchi March 6, 2024, 7:36 p.m. UTC
PCI IDs for XEHPSDV were never added and platform always marked with
force_probe. Drop what's not used and rename some places to either be
xehp or dg2, depending on the platform/IP checks.

The registers not used anymore are also removed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---

Potential problem here that needs a deeper look, the changes in
__gen12_fw_ranges. Some ranges had comments saying they were XEHPSDV so
I removed them, but it needs to be double checked with spec and CI
results.

 Documentation/gpu/rfc/i915_vm_bind.h          | 11 +--
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c          | 40 ++++----
 drivers/gpu/drm/i915/gt/intel_gsc.c           | 15 ---
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c        | 20 +---
 drivers/gpu/drm/i915/gt/intel_gt_regs.h       | 50 ----------
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   | 21 ++--
 drivers/gpu/drm/i915/gt/intel_lrc.c           | 43 ---------
 drivers/gpu/drm/i915/gt/intel_migrate.c       | 18 ++--
 drivers/gpu/drm/i915/gt/intel_mocs.c          | 31 ------
 drivers/gpu/drm/i915/gt/intel_rps.c           |  2 -
 drivers/gpu/drm/i915/gt/intel_workarounds.c   | 95 -------------------
 drivers/gpu/drm/i915/gt/uc/intel_uc.c         |  4 +-
 drivers/gpu/drm/i915/i915_drv.h               |  4 -
 drivers/gpu/drm/i915/i915_hwmon.c             |  6 --
 drivers/gpu/drm/i915/i915_pci.c               | 17 ----
 drivers/gpu/drm/i915/i915_perf.c              | 11 +--
 drivers/gpu/drm/i915/i915_reg.h               |  3 +-
 drivers/gpu/drm/i915/intel_clock_gating.c     | 10 --
 drivers/gpu/drm/i915/intel_device_info.c      |  1 -
 drivers/gpu/drm/i915/intel_device_info.h      |  1 -
 drivers/gpu/drm/i915/intel_step.c             | 10 --
 drivers/gpu/drm/i915/intel_uncore.c           | 15 +--
 drivers/gpu/drm/i915/selftests/intel_uncore.c |  1 -
 .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  2 -
 24 files changed, 51 insertions(+), 380 deletions(-)

Comments

Rodrigo Vivi March 11, 2024, 3:16 p.m. UTC | #1
On Wed, Mar 06, 2024 at 11:36:40AM -0800, Lucas De Marchi wrote:
> PCI IDs for XEHPSDV were never added and platform always marked with
> force_probe. Drop what's not used and rename some places to either be
> xehp or dg2, depending on the platform/IP checks.
> 
> The registers not used anymore are also removed.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
> 
> Potential problem here that needs a deeper look, the changes in
> __gen12_fw_ranges. Some ranges had comments saying they were XEHPSDV so
> I removed them, but it needs to be double checked with spec and CI
> results.

I have checked the specs and your patch looks right because those
bits should be reserved for DG2.

But the main issue I see is that we were using that (wrongly?) for
DG2 so far. So it probably deserves a separate patch anyway.

With this patch only removing the comments and a separate patch
to remove that for DG2 (and standalone CI run on that patch by itself):

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> 
>  Documentation/gpu/rfc/i915_vm_bind.h          | 11 +--
>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c          | 40 ++++----
>  drivers/gpu/drm/i915/gt/intel_gsc.c           | 15 ---
>  drivers/gpu/drm/i915/gt/intel_gt_mcr.c        | 20 +---
>  drivers/gpu/drm/i915/gt/intel_gt_regs.h       | 50 ----------
>  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   | 21 ++--
>  drivers/gpu/drm/i915/gt/intel_lrc.c           | 43 ---------
>  drivers/gpu/drm/i915/gt/intel_migrate.c       | 18 ++--
>  drivers/gpu/drm/i915/gt/intel_mocs.c          | 31 ------
>  drivers/gpu/drm/i915/gt/intel_rps.c           |  2 -
>  drivers/gpu/drm/i915/gt/intel_workarounds.c   | 95 -------------------
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c         |  4 +-
>  drivers/gpu/drm/i915/i915_drv.h               |  4 -
>  drivers/gpu/drm/i915/i915_hwmon.c             |  6 --
>  drivers/gpu/drm/i915/i915_pci.c               | 17 ----
>  drivers/gpu/drm/i915/i915_perf.c              | 11 +--
>  drivers/gpu/drm/i915/i915_reg.h               |  3 +-
>  drivers/gpu/drm/i915/intel_clock_gating.c     | 10 --
>  drivers/gpu/drm/i915/intel_device_info.c      |  1 -
>  drivers/gpu/drm/i915/intel_device_info.h      |  1 -
>  drivers/gpu/drm/i915/intel_step.c             | 10 --
>  drivers/gpu/drm/i915/intel_uncore.c           | 15 +--
>  drivers/gpu/drm/i915/selftests/intel_uncore.c |  1 -
>  .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  2 -
>  24 files changed, 51 insertions(+), 380 deletions(-)
> 
> diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
> index 8a8fcd4fceac..bc26dc126104 100644
> --- a/Documentation/gpu/rfc/i915_vm_bind.h
> +++ b/Documentation/gpu/rfc/i915_vm_bind.h
> @@ -93,12 +93,11 @@ struct drm_i915_gem_timeline_fence {
>   * Multiple VA mappings can be created to the same section of the object
>   * (aliasing).
>   *
> - * The @start, @offset and @length must be 4K page aligned. However the DG2
> - * and XEHPSDV has 64K page size for device local memory and has compact page
> - * table. On those platforms, for binding device local-memory objects, the
> - * @start, @offset and @length must be 64K aligned. Also, UMDs should not mix
> - * the local memory 64K page and the system memory 4K page bindings in the same
> - * 2M range.
> + * The @start, @offset and @length must be 4K page aligned. However the DG2 has
> + * 64K page size for device local memory and has compact page table. On that
> + * platform, for binding device local-memory objects, the @start, @offset and
> + * @length must be 64K aligned. Also, UMDs should not mix the local memory 64K
> + * page and the system memory 4K page bindings in the same 2M range.
>   *
>   * Error code -EINVAL will be returned if @start, @offset and @length are not
>   * properly aligned. In version 1 (See I915_PARAM_VM_BIND_VERSION), error code
> diff --git a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
> index fa46d2308b0e..1bd0e041e15c 100644
> --- a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
> +++ b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
> @@ -500,11 +500,11 @@ gen8_ppgtt_insert_pte(struct i915_ppgtt *ppgtt,
>  }
>  
>  static void
> -xehpsdv_ppgtt_insert_huge(struct i915_address_space *vm,
> -			  struct i915_vma_resource *vma_res,
> -			  struct sgt_dma *iter,
> -			  unsigned int pat_index,
> -			  u32 flags)
> +xehp_ppgtt_insert_huge(struct i915_address_space *vm,
> +		       struct i915_vma_resource *vma_res,
> +		       struct sgt_dma *iter,
> +		       unsigned int pat_index,
> +		       u32 flags)
>  {
>  	const gen8_pte_t pte_encode = vm->pte_encode(0, pat_index, flags);
>  	unsigned int rem = sg_dma_len(iter->sg);
> @@ -741,8 +741,8 @@ static void gen8_ppgtt_insert(struct i915_address_space *vm,
>  	struct sgt_dma iter = sgt_dma(vma_res);
>  
>  	if (vma_res->bi.page_sizes.sg > I915_GTT_PAGE_SIZE) {
> -		if (GRAPHICS_VER_FULL(vm->i915) >= IP_VER(12, 50))
> -			xehpsdv_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
> +		if (GRAPHICS_VER_FULL(vm->i915) >= IP_VER(12, 55))
> +			xehp_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
>  		else
>  			gen8_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
>  	} else  {
> @@ -781,11 +781,11 @@ static void gen8_ppgtt_insert_entry(struct i915_address_space *vm,
>  	drm_clflush_virt_range(&vaddr[gen8_pd_index(idx, 0)], sizeof(*vaddr));
>  }
>  
> -static void __xehpsdv_ppgtt_insert_entry_lm(struct i915_address_space *vm,
> -					    dma_addr_t addr,
> -					    u64 offset,
> -					    unsigned int pat_index,
> -					    u32 flags)
> +static void xehp_ppgtt_insert_entry_lm(struct i915_address_space *vm,
> +				       dma_addr_t addr,
> +				       u64 offset,
> +				       unsigned int pat_index,
> +				       u32 flags)
>  {
>  	u64 idx = offset >> GEN8_PTE_SHIFT;
>  	struct i915_page_directory * const pdp =
> @@ -810,15 +810,15 @@ static void __xehpsdv_ppgtt_insert_entry_lm(struct i915_address_space *vm,
>  	vaddr[gen8_pd_index(idx, 0) / 16] = vm->pte_encode(addr, pat_index, flags);
>  }
>  
> -static void xehpsdv_ppgtt_insert_entry(struct i915_address_space *vm,
> -				       dma_addr_t addr,
> -				       u64 offset,
> -				       unsigned int pat_index,
> -				       u32 flags)
> +static void xehp_ppgtt_insert_entry(struct i915_address_space *vm,
> +				    dma_addr_t addr,
> +				    u64 offset,
> +				    unsigned int pat_index,
> +				    u32 flags)
>  {
>  	if (flags & PTE_LM)
> -		return __xehpsdv_ppgtt_insert_entry_lm(vm, addr, offset,
> -						       pat_index, flags);
> +		return xehp_ppgtt_insert_entry_lm(vm, addr, offset,
> +						  pat_index, flags);
>  
>  	return gen8_ppgtt_insert_entry(vm, addr, offset, pat_index, flags);
>  }
> @@ -1042,7 +1042,7 @@ struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt,
>  	ppgtt->vm.bind_async_flags = I915_VMA_LOCAL_BIND;
>  	ppgtt->vm.insert_entries = gen8_ppgtt_insert;
>  	if (HAS_64K_PAGES(gt->i915))
> -		ppgtt->vm.insert_page = xehpsdv_ppgtt_insert_entry;
> +		ppgtt->vm.insert_page = xehp_ppgtt_insert_entry;
>  	else
>  		ppgtt->vm.insert_page = gen8_ppgtt_insert_entry;
>  	ppgtt->vm.allocate_va_range = gen8_ppgtt_alloc;
> diff --git a/drivers/gpu/drm/i915/gt/intel_gsc.c b/drivers/gpu/drm/i915/gt/intel_gsc.c
> index 6d440de8ba01..1e925c75fb08 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gsc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gsc.c
> @@ -103,19 +103,6 @@ static const struct gsc_def gsc_def_dg1[] = {
>  	}
>  };
>  
> -static const struct gsc_def gsc_def_xehpsdv[] = {
> -	{
> -		/* HECI1 not enabled on the device. */
> -	},
> -	{
> -		.name = "mei-gscfi",
> -		.bar = DG1_GSC_HECI2_BASE,
> -		.bar_size = GSC_BAR_LENGTH,
> -		.use_polling = true,
> -		.slow_firmware = true,
> -	}
> -};
> -
>  static const struct gsc_def gsc_def_dg2[] = {
>  	{
>  		.name = "mei-gsc",
> @@ -188,8 +175,6 @@ static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc,
>  
>  	if (IS_DG1(i915)) {
>  		def = &gsc_def_dg1[intf_id];
> -	} else if (IS_XEHPSDV(i915)) {
> -		def = &gsc_def_xehpsdv[intf_id];
>  	} else if (IS_DG2(i915)) {
>  		def = &gsc_def_dg2[intf_id];
>  	} else {
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
> index e253750a51c5..5a2bd8de155a 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
> @@ -57,24 +57,12 @@ static const struct intel_mmio_range icl_l3bank_steering_table[] = {
>   * are of a "GAM" subclass that has special rules.  Thus we use a separate
>   * GAM table farther down for those.
>   */
> -static const struct intel_mmio_range xehpsdv_mslice_steering_table[] = {
> +static const struct intel_mmio_range dg2_mslice_steering_table[] = {
>  	{ 0x00DD00, 0x00DDFF },
>  	{ 0x00E900, 0x00FFFF }, /* 0xEA00 - OxEFFF is unused */
>  	{},
>  };
>  
> -static const struct intel_mmio_range xehpsdv_gam_steering_table[] = {
> -	{ 0x004000, 0x004AFF },
> -	{ 0x00C800, 0x00CFFF },
> -	{},
> -};
> -
> -static const struct intel_mmio_range xehpsdv_lncf_steering_table[] = {
> -	{ 0x00B000, 0x00B0FF },
> -	{ 0x00D800, 0x00D8FF },
> -	{},
> -};
> -
>  static const struct intel_mmio_range dg2_lncf_steering_table[] = {
>  	{ 0x00B000, 0x00B0FF },
>  	{ 0x00D880, 0x00D8FF },
> @@ -188,17 +176,13 @@ void intel_gt_mcr_init(struct intel_gt *gt)
>  	} else if (IS_PONTEVECCHIO(i915)) {
>  		gt->steering_table[INSTANCE0] = pvc_instance0_steering_table;
>  	} else if (IS_DG2(i915)) {
> -		gt->steering_table[MSLICE] = xehpsdv_mslice_steering_table;
> +		gt->steering_table[MSLICE] = dg2_mslice_steering_table;
>  		gt->steering_table[LNCF] = dg2_lncf_steering_table;
>  		/*
>  		 * No need to hook up the GAM table since it has a dedicated
>  		 * steering control register on DG2 and can use implicit
>  		 * steering.
>  		 */
> -	} else if (IS_XEHPSDV(i915)) {
> -		gt->steering_table[MSLICE] = xehpsdv_mslice_steering_table;
> -		gt->steering_table[LNCF] = xehpsdv_lncf_steering_table;
> -		gt->steering_table[GAM] = xehpsdv_gam_steering_table;
>  	} else if (GRAPHICS_VER(i915) >= 11 &&
>  		   GRAPHICS_VER_FULL(i915) < IP_VER(12, 50)) {
>  		gt->steering_table[L3BANK] = icl_l3bank_steering_table;
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> index 50962cfd1353..919c07903767 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> @@ -718,44 +718,11 @@
>  
>  #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 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 GEN11_SLICE_UNIT_LEVEL_CLKGATE		_MMIO(0x94d4)
>  #define XEHP_SLICE_UNIT_LEVEL_CLKGATE		MCR_REG(0x94d4)
>  #define   SARBUNIT_CLKGATE_DIS			(1 << 5)
> @@ -765,9 +732,6 @@
>  #define   L3_CLKGATE_DIS			REG_BIT(16)
>  #define   L3_CR2X_CLKGATE_DIS			REG_BIT(17)
>  
> -#define SCCGCTL94DC				MCR_REG(0x94dc)
> -#define   CG3DDISURB				REG_BIT(14)
> -
>  #define UNSLICE_UNIT_LEVEL_CLKGATE2		_MMIO(0x94e4)
>  #define   VSUNIT_CLKGATE_DIS_TGL		REG_BIT(19)
>  #define   PSDUNIT_CLKGATE_DIS			REG_BIT(5)
> @@ -1046,9 +1010,6 @@
>  #define XEHP_L3SQCREG5				MCR_REG(0xb158)
>  #define   L3_PWM_TIMER_INIT_VAL_MASK		REG_GENMASK(9, 0)
>  
> -#define MLTICTXCTL				MCR_REG(0xb170)
> -#define   TDONRENDER				REG_BIT(2)
> -
>  #define XEHP_L3SCQREG7				MCR_REG(0xb188)
>  #define   BLEND_FILL_CACHING_OPT_DIS		REG_BIT(3)
>  
> @@ -1057,9 +1018,6 @@
>  #define   SCRUB_RATE_PER_BANK_MASK		REG_GENMASK(2, 0)
>  #define   SCRUB_RATE_4B_PER_CLK			REG_FIELD_PREP(SCRUB_RATE_PER_BANK_MASK, 0x6)
>  
> -#define L3SQCREG1_CCS0				MCR_REG(0xb200)
> -#define   FLUSHALLNONCOH			REG_BIT(5)
> -
>  #define GEN11_GLBLINVL				_MMIO(0xb404)
>  #define   GEN11_BANK_HASH_ADDR_EXCL_MASK	(0x7f << 5)
>  #define   GEN11_BANK_HASH_ADDR_EXCL_BIT0	(1 << 5)
> @@ -1109,7 +1067,6 @@
>  #define XEHP_COMPCTX_TLB_INV_CR			MCR_REG(0xcf04)
>  #define XELPMP_GSC_TLB_INV_CR			_MMIO(0xcf04)   /* media GT only */
>  
> -#define XEHP_MERT_MOD_CTRL			MCR_REG(0xcf28)
>  #define RENDER_MOD_CTRL				MCR_REG(0xcf2c)
>  #define COMP_MOD_CTRL				MCR_REG(0xcf30)
>  #define XELPMP_GSC_MOD_CTRL			_MMIO(0xcf30)	/* media GT only */
> @@ -1185,7 +1142,6 @@
>  #define EU_PERF_CNTL4				PERF_REG(0xe45c)
>  
>  #define GEN9_ROW_CHICKEN4			MCR_REG(0xe48c)
> -#define   GEN12_DISABLE_GRF_CLEAR		REG_BIT(13)
>  #define   XEHP_DIS_BBL_SYSPIPE			REG_BIT(11)
>  #define   GEN12_DISABLE_TDL_PUSH		REG_BIT(9)
>  #define   GEN11_DIS_PICK_2ND_EU			REG_BIT(7)
> @@ -1202,7 +1158,6 @@
>  #define   FLOW_CONTROL_ENABLE			REG_BIT(15)
>  #define   UGM_BACKUP_MODE			REG_BIT(13)
>  #define   MDQ_ARBITRATION_MODE			REG_BIT(12)
> -#define   SYSTOLIC_DOP_CLOCK_GATING_DIS		REG_BIT(10)
>  #define   PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE	REG_BIT(8)
>  #define   STALL_DOP_GATING_DISABLE		REG_BIT(5)
>  #define   THROTTLE_12_5				REG_GENMASK(4, 2)
> @@ -1679,11 +1634,6 @@
>  
>  #define GEN12_SFC_DONE(n)			_MMIO(0x1cc000 + (n) * 0x1000)
>  
> -#define GT0_PACKAGE_ENERGY_STATUS		_MMIO(0x250004)
> -#define GT0_PACKAGE_RAPL_LIMIT			_MMIO(0x250008)
> -#define GT0_PACKAGE_POWER_SKU_UNIT		_MMIO(0x250068)
> -#define GT0_PLATFORM_ENERGY_STATUS		_MMIO(0x25006c)
> -
>  /*
>   * Standalone Media's non-engine GT registers are located at their regular GT
>   * offsets plus 0x380000.  This extra offset is stored inside the intel_uncore
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> index eca4a6a65556..d7784650e4d9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
> @@ -573,7 +573,6 @@ static ssize_t media_freq_factor_show(struct kobject *kobj,
>  				      char *buff)
>  {
>  	struct intel_gt *gt = intel_gt_sysfs_get_drvdata(kobj, attr->attr.name);
> -	struct intel_guc_slpc *slpc = &gt_to_guc(gt)->slpc;
>  	intel_wakeref_t wakeref;
>  	u32 mode;
>  
> @@ -581,20 +580,12 @@ static ssize_t media_freq_factor_show(struct kobject *kobj,
>  	 * Retrieve media_ratio_mode from GEN6_RPNSWREQ bit 13 set by
>  	 * GuC. GEN6_RPNSWREQ:13 value 0 represents 1:2 and 1 represents 1:1
>  	 */
> -	if (IS_XEHPSDV(gt->i915) &&
> -	    slpc->media_ratio_mode == SLPC_MEDIA_RATIO_MODE_DYNAMIC_CONTROL) {
> -		/*
> -		 * For XEHPSDV dynamic mode GEN6_RPNSWREQ:13 does not contain
> -		 * the media_ratio_mode, just return the cached media ratio
> -		 */
> -		mode = slpc->media_ratio_mode;
> -	} else {
> -		with_intel_runtime_pm(gt->uncore->rpm, wakeref)
> -			mode = intel_uncore_read(gt->uncore, GEN6_RPNSWREQ);
> -		mode = REG_FIELD_GET(GEN12_MEDIA_FREQ_RATIO, mode) ?
> -			SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_ONE :
> -			SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_TWO;
> -	}
> +	with_intel_runtime_pm(gt->uncore->rpm, wakeref)
> +		mode = intel_uncore_read(gt->uncore, GEN6_RPNSWREQ);
> +
> +	mode = REG_FIELD_GET(GEN12_MEDIA_FREQ_RATIO, mode) ?
> +		SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_ONE :
> +		SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_TWO;
>  
>  	return sysfs_emit(buff, "%u\n", media_ratio_mode_to_factor(mode));
>  }
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index 7c367ba8d9dc..7f1b00cb9924 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -546,47 +546,6 @@ static const u8 gen12_rcs_offsets[] = {
>  	END
>  };
>  
> -static const u8 xehp_rcs_offsets[] = {
> -	NOP(1),
> -	LRI(13, POSTED),
> -	REG16(0x244),
> -	REG(0x034),
> -	REG(0x030),
> -	REG(0x038),
> -	REG(0x03c),
> -	REG(0x168),
> -	REG(0x140),
> -	REG(0x110),
> -	REG(0x1c0),
> -	REG(0x1c4),
> -	REG(0x1c8),
> -	REG(0x180),
> -	REG16(0x2b4),
> -
> -	NOP(5),
> -	LRI(9, POSTED),
> -	REG16(0x3a8),
> -	REG16(0x28c),
> -	REG16(0x288),
> -	REG16(0x284),
> -	REG16(0x280),
> -	REG16(0x27c),
> -	REG16(0x278),
> -	REG16(0x274),
> -	REG16(0x270),
> -
> -	LRI(3, POSTED),
> -	REG(0x1b0),
> -	REG16(0x5a8),
> -	REG16(0x5ac),
> -
> -	NOP(6),
> -	LRI(1, 0),
> -	REG(0x0c8),
> -
> -	END
> -};
> -
>  static const u8 dg2_rcs_offsets[] = {
>  	NOP(1),
>  	LRI(15, POSTED),
> @@ -695,8 +654,6 @@ static const u8 *reg_offsets(const struct intel_engine_cs *engine)
>  			return mtl_rcs_offsets;
>  		else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
>  			return dg2_rcs_offsets;
> -		else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
> -			return xehp_rcs_offsets;
>  		else if (GRAPHICS_VER(engine->i915) >= 12)
>  			return gen12_rcs_offsets;
>  		else if (GRAPHICS_VER(engine->i915) >= 11)
> diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migrate.c
> index 576e5ef0289b..86ba2f2e485c 100644
> --- a/drivers/gpu/drm/i915/gt/intel_migrate.c
> +++ b/drivers/gpu/drm/i915/gt/intel_migrate.c
> @@ -35,9 +35,9 @@ static bool engine_supports_migration(struct intel_engine_cs *engine)
>  	return true;
>  }
>  
> -static void xehpsdv_toggle_pdes(struct i915_address_space *vm,
> -				struct i915_page_table *pt,
> -				void *data)
> +static void xehp_toggle_pdes(struct i915_address_space *vm,
> +			     struct i915_page_table *pt,
> +			     void *data)
>  {
>  	struct insert_pte_data *d = data;
>  
> @@ -52,9 +52,9 @@ static void xehpsdv_toggle_pdes(struct i915_address_space *vm,
>  	d->offset += SZ_2M;
>  }
>  
> -static void xehpsdv_insert_pte(struct i915_address_space *vm,
> -			       struct i915_page_table *pt,
> -			       void *data)
> +static void xehp_insert_pte(struct i915_address_space *vm,
> +			    struct i915_page_table *pt,
> +			    void *data)
>  {
>  	struct insert_pte_data *d = data;
>  
> @@ -120,7 +120,7 @@ static struct i915_address_space *migrate_vm(struct intel_gt *gt)
>  	 * 512 entry layout using 4K GTT pages. The other two windows just map
>  	 * lmem pages and must use the new compact 32 entry layout using 64K GTT
>  	 * pages, which ensures we can address any lmem object that the user
> -	 * throws at us. We then also use the xehpsdv_toggle_pdes as a way of
> +	 * throws at us. We then also use the xehp_toggle_pdes as a way of
>  	 * just toggling the PDE bit(GEN12_PDE_64K) for us, to enable the
>  	 * compact layout for each of these page-tables, that fall within the
>  	 * [CHUNK_SIZE, 3 * CHUNK_SIZE) range.
> @@ -209,12 +209,12 @@ static struct i915_address_space *migrate_vm(struct intel_gt *gt)
>  		/* Now allow the GPU to rewrite the PTE via its own ppGTT */
>  		if (HAS_64K_PAGES(gt->i915)) {
>  			vm->vm.foreach(&vm->vm, base, d.offset - base,
> -				       xehpsdv_insert_pte, &d);
> +				       xehp_insert_pte, &d);
>  			d.offset = base + CHUNK_SZ;
>  			vm->vm.foreach(&vm->vm,
>  				       d.offset,
>  				       2 * CHUNK_SZ,
> -				       xehpsdv_toggle_pdes, &d);
> +				       xehp_toggle_pdes, &d);
>  		} else {
>  			vm->vm.foreach(&vm->vm, base, d.offset - base,
>  				       insert_pte, &d);
> diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c
> index 25c1023eb5f9..c931c56945bd 100644
> --- a/drivers/gpu/drm/i915/gt/intel_mocs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
> @@ -367,31 +367,6 @@ static const struct drm_i915_mocs_entry gen12_mocs_table[] = {
>  		   L3_3_WB),
>  };
>  
> -static const struct drm_i915_mocs_entry xehpsdv_mocs_table[] = {
> -	/* wa_1608975824 */
> -	MOCS_ENTRY(0, 0, L3_3_WB | L3_LKUP(1)),
> -
> -	/* UC - Coherent; GO:L3 */
> -	MOCS_ENTRY(1, 0, L3_1_UC | L3_LKUP(1)),
> -	/* UC - Coherent; GO:Memory */
> -	MOCS_ENTRY(2, 0, L3_1_UC | L3_GLBGO(1) | L3_LKUP(1)),
> -	/* UC - Non-Coherent; GO:Memory */
> -	MOCS_ENTRY(3, 0, L3_1_UC | L3_GLBGO(1)),
> -	/* UC - Non-Coherent; GO:L3 */
> -	MOCS_ENTRY(4, 0, L3_1_UC),
> -
> -	/* WB */
> -	MOCS_ENTRY(5, 0, L3_3_WB | L3_LKUP(1)),
> -
> -	/* HW Reserved - SW program but never use. */
> -	MOCS_ENTRY(48, 0, L3_3_WB | L3_LKUP(1)),
> -	MOCS_ENTRY(49, 0, L3_1_UC | L3_LKUP(1)),
> -	MOCS_ENTRY(60, 0, L3_1_UC),
> -	MOCS_ENTRY(61, 0, L3_1_UC),
> -	MOCS_ENTRY(62, 0, L3_1_UC),
> -	MOCS_ENTRY(63, 0, L3_1_UC),
> -};
> -
>  static const struct drm_i915_mocs_entry dg2_mocs_table[] = {
>  	/* UC - Coherent; GO:L3 */
>  	MOCS_ENTRY(0, 0, L3_1_UC | L3_LKUP(1)),
> @@ -514,12 +489,6 @@ static unsigned int get_mocs_settings(struct drm_i915_private *i915,
>  		table->uc_index = 1;
>  		table->n_entries = GEN9_NUM_MOCS_ENTRIES;
>  		table->unused_entries_index = 3;
> -	} else if (IS_XEHPSDV(i915)) {
> -		table->size = ARRAY_SIZE(xehpsdv_mocs_table);
> -		table->table = xehpsdv_mocs_table;
> -		table->uc_index = 2;
> -		table->n_entries = GEN9_NUM_MOCS_ENTRIES;
> -		table->unused_entries_index = 5;
>  	} else if (IS_DG1(i915)) {
>  		table->size = ARRAY_SIZE(dg1_mocs_table);
>  		table->table = dg1_mocs_table;
> diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c
> index 9c6812257ac2..2a6a8134782d 100644
> --- a/drivers/gpu/drm/i915/gt/intel_rps.c
> +++ b/drivers/gpu/drm/i915/gt/intel_rps.c
> @@ -1088,8 +1088,6 @@ static u32 intel_rps_read_state_cap(struct intel_rps *rps)
>  
>  	if (IS_PONTEVECCHIO(i915))
>  		return intel_uncore_read(uncore, PVC_RP_STATE_CAP);
> -	else if (IS_XEHPSDV(i915))
> -		return intel_uncore_read(uncore, XEHPSDV_RP_STATE_CAP);
>  	else if (IS_GEN9_LP(i915))
>  		return intel_uncore_read(uncore, BXT_RP_STATE_CAP);
>  	else
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index 7f812409c30a..33d543d9bf44 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -922,8 +922,6 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine,
>  		; /* noop; none at this time */
>  	else if (IS_DG2(i915))
>  		dg2_ctx_workarounds_init(engine, wal);
> -	else if (IS_XEHPSDV(i915))
> -		; /* noop; none at this time */
>  	else if (IS_DG1(i915))
>  		dg1_ctx_workarounds_init(engine, wal);
>  	else if (GRAPHICS_VER(i915) == 12)
> @@ -1350,9 +1348,6 @@ xehp_init_mcr(struct intel_gt *gt, struct i915_wa_list *wal)
>  		gt->steering_table[MSLICE] = NULL;
>  	}
>  
> -	if (IS_XEHPSDV(gt->i915) && slice_mask & BIT(0))
> -		gt->steering_table[GAM] = NULL;
> -
>  	slice = __ffs(slice_mask);
>  	subslice = intel_sseu_find_first_xehp_dss(sseu, GEN_DSS_PER_GSLICE, slice) %
>  		GEN_DSS_PER_GSLICE;
> @@ -1519,76 +1514,6 @@ dg1_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
>  	wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE2, VSUNIT_CLKGATE_DIS_TGL);
>  }
>  
> -static void
> -xehpsdv_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
> -{
> -	struct drm_i915_private *i915 = gt->i915;
> -
> -	xehp_init_mcr(gt, wal);
> -
> -	/* Wa_1409757795:xehpsdv */
> -	wa_mcr_write_or(wal, SCCGCTL94DC, CG3DDISURB);
> -
> -	/* Wa_18011725039:xehpsdv */
> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A1, STEP_B0)) {
> -		wa_mcr_masked_dis(wal, MLTICTXCTL, TDONRENDER);
> -		wa_mcr_write_or(wal, L3SQCREG1_CCS0, FLUSHALLNONCOH);
> -	}
> -
> -	/* Wa_16011155590:xehpsdv */
> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A0, STEP_B0))
> -		wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE,
> -			    TSGUNIT_CLKGATE_DIS);
> -
> -	/* Wa_14011780169:xehpsdv */
> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_B0, STEP_FOREVER)) {
> -		wa_write_or(wal, UNSLCGCTL9440, GAMTLBOACS_CLKGATE_DIS |
> -			    GAMTLBVDBOX7_CLKGATE_DIS |
> -			    GAMTLBVDBOX6_CLKGATE_DIS |
> -			    GAMTLBVDBOX5_CLKGATE_DIS |
> -			    GAMTLBVDBOX4_CLKGATE_DIS |
> -			    GAMTLBVDBOX3_CLKGATE_DIS |
> -			    GAMTLBVDBOX2_CLKGATE_DIS |
> -			    GAMTLBVDBOX1_CLKGATE_DIS |
> -			    GAMTLBVDBOX0_CLKGATE_DIS |
> -			    GAMTLBKCR_CLKGATE_DIS |
> -			    GAMTLBGUC_CLKGATE_DIS |
> -			    GAMTLBBLT_CLKGATE_DIS);
> -		wa_write_or(wal, UNSLCGCTL9444, GAMTLBGFXA0_CLKGATE_DIS |
> -			    GAMTLBGFXA1_CLKGATE_DIS |
> -			    GAMTLBCOMPA0_CLKGATE_DIS |
> -			    GAMTLBCOMPA1_CLKGATE_DIS |
> -			    GAMTLBCOMPB0_CLKGATE_DIS |
> -			    GAMTLBCOMPB1_CLKGATE_DIS |
> -			    GAMTLBCOMPC0_CLKGATE_DIS |
> -			    GAMTLBCOMPC1_CLKGATE_DIS |
> -			    GAMTLBCOMPD0_CLKGATE_DIS |
> -			    GAMTLBCOMPD1_CLKGATE_DIS |
> -			    GAMTLBMERT_CLKGATE_DIS   |
> -			    GAMTLBVEBOX3_CLKGATE_DIS |
> -			    GAMTLBVEBOX2_CLKGATE_DIS |
> -			    GAMTLBVEBOX1_CLKGATE_DIS |
> -			    GAMTLBVEBOX0_CLKGATE_DIS);
> -	}
> -
> -	/* Wa_16012725990:xehpsdv */
> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A1, STEP_FOREVER))
> -		wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE, VFUNIT_CLKGATE_DIS);
> -
> -	/* Wa_14011060649:xehpsdv */
> -	wa_14011060649(gt, wal);
> -
> -	/* Wa_14012362059:xehpsdv */
> -	wa_mcr_write_or(wal, XEHP_MERT_MOD_CTRL, FORCE_MISS_FTLB);
> -
> -	/* Wa_14014368820:xehpsdv */
> -	wa_mcr_write_or(wal, XEHP_GAMCNTRL_CTRL,
> -			INVALIDATION_BROADCAST_MODE_DIS | GLOBAL_INVALIDATION_MODE);
> -
> -	/* Wa_14010670810:xehpsdv */
> -	wa_mcr_write_or(wal, XEHP_L3NODEARBCFG, XEHP_LNESPARE);
> -}
> -
>  static void
>  dg2_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
>  {
> @@ -1758,8 +1683,6 @@ gt_init_workarounds(struct intel_gt *gt, struct i915_wa_list *wal)
>  		pvc_gt_workarounds_init(gt, wal);
>  	else if (IS_DG2(i915))
>  		dg2_gt_workarounds_init(gt, wal);
> -	else if (IS_XEHPSDV(i915))
> -		xehpsdv_gt_workarounds_init(gt, wal);
>  	else if (IS_DG1(i915))
>  		dg1_gt_workarounds_init(gt, wal);
>  	else if (GRAPHICS_VER(i915) == 12)
> @@ -2231,8 +2154,6 @@ void intel_engine_init_whitelist(struct intel_engine_cs *engine)
>  		pvc_whitelist_build(engine);
>  	else if (IS_DG2(i915))
>  		dg2_whitelist_build(engine);
> -	else if (IS_XEHPSDV(i915))
> -		; /* none needed */
>  	else if (GRAPHICS_VER(i915) == 12)
>  		tgl_whitelist_build(engine);
>  	else if (GRAPHICS_VER(i915) == 11)
> @@ -2968,22 +2889,6 @@ general_render_compute_wa_init(struct intel_engine_cs *engine, struct i915_wa_li
>  			   0 /* write-only, so skip validation */,
>  			   true);
>  	}
> -
> -	if (IS_XEHPSDV(i915)) {
> -		/* Wa_1409954639 */
> -		wa_mcr_masked_en(wal,
> -				 GEN8_ROW_CHICKEN,
> -				 SYSTOLIC_DOP_CLOCK_GATING_DIS);
> -
> -		/* Wa_1607196519 */
> -		wa_mcr_masked_en(wal,
> -				 GEN9_ROW_CHICKEN4,
> -				 GEN12_DISABLE_GRF_CLEAR);
> -
> -		/* Wa_14010449647:xehpsdv */
> -		wa_mcr_masked_en(wal, GEN8_HALF_SLICE_CHICKEN1,
> -				 GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE);
> -	}
>  }
>  
>  static void
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 6dfe5d9456c6..28277321d9ca 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -51,8 +51,8 @@ static void uc_expand_default_options(struct intel_uc *uc)
>  	/* Default: enable HuC authentication and GuC submission */
>  	i915->params.enable_guc = ENABLE_GUC_LOAD_HUC | ENABLE_GUC_SUBMISSION;
>  
> -	/* XEHPSDV and PVC do not use HuC */
> -	if (IS_XEHPSDV(i915) || IS_PONTEVECCHIO(i915))
> +	/* PVC does not use HuC */
> +	if (IS_PONTEVECCHIO(i915))
>  		i915->params.enable_guc &= ~ENABLE_GUC_LOAD_HUC;
>  }
>  
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index e81b3b2858ac..dff056587459 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -544,7 +544,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>  #define IS_DG1(i915)        IS_PLATFORM(i915, INTEL_DG1)
>  #define IS_ALDERLAKE_S(i915) IS_PLATFORM(i915, INTEL_ALDERLAKE_S)
>  #define IS_ALDERLAKE_P(i915) IS_PLATFORM(i915, INTEL_ALDERLAKE_P)
> -#define IS_XEHPSDV(i915) IS_PLATFORM(i915, INTEL_XEHPSDV)
>  #define IS_DG2(i915)	IS_PLATFORM(i915, INTEL_DG2)
>  #define IS_PONTEVECCHIO(i915) IS_PLATFORM(i915, INTEL_PONTEVECCHIO)
>  #define IS_METEORLAKE(i915) IS_PLATFORM(i915, INTEL_METEORLAKE)
> @@ -621,9 +620,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>  #define IS_TIGERLAKE_UY(i915) \
>  	IS_SUBPLATFORM(i915, INTEL_TIGERLAKE, INTEL_SUBPLATFORM_UY)
>  
> -#define IS_XEHPSDV_GRAPHICS_STEP(__i915, since, until) \
> -	(IS_XEHPSDV(__i915) && IS_GRAPHICS_STEP(__i915, since, until))
> -
>  #define IS_PVC_BD_STEP(__i915, since, until) \
>  	(IS_PONTEVECCHIO(__i915) && \
>  	 IS_BASEDIE_STEP(__i915, since, until))
> diff --git a/drivers/gpu/drm/i915/i915_hwmon.c b/drivers/gpu/drm/i915/i915_hwmon.c
> index 8c3f443c8347..11bd42e03b73 100644
> --- a/drivers/gpu/drm/i915/i915_hwmon.c
> +++ b/drivers/gpu/drm/i915/i915_hwmon.c
> @@ -738,12 +738,6 @@ hwm_get_preregistration_info(struct drm_i915_private *i915)
>  		hwmon->rg.pkg_rapl_limit = PCU_PACKAGE_RAPL_LIMIT;
>  		hwmon->rg.energy_status_all = PCU_PACKAGE_ENERGY_STATUS;
>  		hwmon->rg.energy_status_tile = INVALID_MMIO_REG;
> -	} else if (IS_XEHPSDV(i915)) {
> -		hwmon->rg.pkg_power_sku_unit = GT0_PACKAGE_POWER_SKU_UNIT;
> -		hwmon->rg.pkg_power_sku = INVALID_MMIO_REG;
> -		hwmon->rg.pkg_rapl_limit = GT0_PACKAGE_RAPL_LIMIT;
> -		hwmon->rg.energy_status_all = GT0_PLATFORM_ENERGY_STATUS;
> -		hwmon->rg.energy_status_tile = GT0_PACKAGE_ENERGY_STATUS;
>  	} else {
>  		hwmon->rg.pkg_power_sku_unit = INVALID_MMIO_REG;
>  		hwmon->rg.pkg_power_sku = INVALID_MMIO_REG;
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 8b4fdeabb12a..b318b7c6bf73 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -734,23 +734,6 @@ static const struct intel_device_info adl_p_info = {
>  	.__runtime.media.ip.ver = 12, \
>  	.__runtime.media.ip.rel = 50
>  
> -__maybe_unused
> -static const struct intel_device_info xehpsdv_info = {
> -	XE_HP_FEATURES,
> -	XE_HPM_FEATURES,
> -	DGFX_FEATURES,
> -	PLATFORM(INTEL_XEHPSDV),
> -	.has_64k_pages = 1,
> -	.has_media_ratio_mode = 1,
> -	.platform_engine_mask =
> -		BIT(RCS0) | BIT(BCS0) |
> -		BIT(VECS0) | BIT(VECS1) | BIT(VECS2) | BIT(VECS3) |
> -		BIT(VCS0) | BIT(VCS1) | BIT(VCS2) | BIT(VCS3) |
> -		BIT(VCS4) | BIT(VCS5) | BIT(VCS6) | BIT(VCS7) |
> -		BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3),
> -	.require_force_probe = 1,
> -};
> -
>  #define DG2_FEATURES \
>  	XE_HP_FEATURES, \
>  	XE_HPM_FEATURES, \
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index bd9d812b1afa..1637c1d235e9 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -2881,11 +2881,11 @@ gen12_enable_metric_set(struct i915_perf_stream *stream,
>  	int ret;
>  
>  	/*
> -	 * Wa_1508761755:xehpsdv, dg2
> +	 * Wa_1508761755
>  	 * EU NOA signals behave incorrectly if EU clock gating is enabled.
>  	 * Disable thread stall DOP gating and EU DOP gating.
>  	 */
> -	if (IS_XEHPSDV(i915) || IS_DG2(i915)) {
> +	if (IS_DG2(i915)) {
>  		intel_gt_mcr_multicast_write(uncore->gt, GEN8_ROW_CHICKEN,
>  					     _MASKED_BIT_ENABLE(STALL_DOP_GATING_DISABLE));
>  		intel_uncore_write(uncore, GEN7_ROW_CHICKEN2,
> @@ -2911,7 +2911,7 @@ gen12_enable_metric_set(struct i915_perf_stream *stream,
>  	/*
>  	 * Initialize Super Queue Internal Cnt Register
>  	 * Set PMON Enable in order to collect valid metrics.
> -	 * Enable byets per clock reporting in OA for XEHPSDV onward.
> +	 * Enable byets per clock reporting in OA.
>  	 */
>  	sqcnt1 = GEN12_SQCNT1_PMON_ENABLE |
>  		 (HAS_OA_BPC_REPORTING(i915) ? GEN12_SQCNT1_OABPC : 0);
> @@ -2971,10 +2971,9 @@ static void gen12_disable_metric_set(struct i915_perf_stream *stream)
>  	u32 sqcnt1;
>  
>  	/*
> -	 * Wa_1508761755:xehpsdv, dg2
> -	 * Enable thread stall DOP gating and EU DOP gating.
> +	 * Wa_1508761755: Enable thread stall DOP gating and EU DOP gating.
>  	 */
> -	if (IS_XEHPSDV(i915) || IS_DG2(i915)) {
> +	if (IS_DG2(i915)) {
>  		intel_gt_mcr_multicast_write(uncore->gt, GEN8_ROW_CHICKEN,
>  					     _MASKED_BIT_DISABLE(STALL_DOP_GATING_DISABLE));
>  		intel_uncore_write(uncore, GEN7_ROW_CHICKEN2,
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index e00557e1a57f..a120c17aafcc 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1750,7 +1750,6 @@
>  
>  #define BXT_RP_STATE_CAP        _MMIO(0x138170)
>  #define GEN9_RP_STATE_LIMITS	_MMIO(0x138148)
> -#define XEHPSDV_RP_STATE_CAP	_MMIO(0x250014)
>  #define PVC_RP_STATE_CAP	_MMIO(0x281014)
>  
>  #define MTL_RP_STATE_CAP	_MMIO(0x138000)
> @@ -5401,7 +5400,7 @@
>  #define	    POWER_SETUP_I1_SHIFT		6	/* 10.6 fixed point format */
>  #define	    POWER_SETUP_I1_DATA_MASK		REG_GENMASK(15, 0)
>  #define GEN12_PCODE_READ_SAGV_BLOCK_TIME_US	0x23
> -#define   XEHP_PCODE_FREQUENCY_CONFIG		0x6e	/* xehpsdv, pvc */
> +#define   XEHP_PCODE_FREQUENCY_CONFIG		0x6e	/* pvc */
>  /* XEHP_PCODE_FREQUENCY_CONFIG sub-commands (param1) */
>  #define     PCODE_MBOX_FC_SC_READ_FUSED_P0	0x0
>  #define     PCODE_MBOX_FC_SC_READ_FUSED_PN	0x1
> diff --git a/drivers/gpu/drm/i915/intel_clock_gating.c b/drivers/gpu/drm/i915/intel_clock_gating.c
> index 9c21ce69bd98..93ab44190a47 100644
> --- a/drivers/gpu/drm/i915/intel_clock_gating.c
> +++ b/drivers/gpu/drm/i915/intel_clock_gating.c
> @@ -349,13 +349,6 @@ static void gen8_set_l3sqc_credits(struct drm_i915_private *i915,
>  	intel_uncore_write(&i915->uncore, GEN7_MISCCPCTL, misccpctl);
>  }
>  
> -static void xehpsdv_init_clock_gating(struct drm_i915_private *i915)
> -{
> -	/* Wa_22010146351:xehpsdv */
> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A0, STEP_B0))
> -		intel_uncore_rmw(&i915->uncore, XEHP_CLOCK_GATE_DIS, 0, SGR_DIS);
> -}
> -
>  static void dg2_init_clock_gating(struct drm_i915_private *i915)
>  {
>  	/* Wa_22010954014:dg2 */
> @@ -764,7 +757,6 @@ static const struct drm_i915_clock_gating_funcs platform##_clock_gating_funcs =
>  
>  CG_FUNCS(pvc);
>  CG_FUNCS(dg2);
> -CG_FUNCS(xehpsdv);
>  CG_FUNCS(cfl);
>  CG_FUNCS(skl);
>  CG_FUNCS(kbl);
> @@ -801,8 +793,6 @@ void intel_clock_gating_hooks_init(struct drm_i915_private *i915)
>  		i915->clock_gating_funcs = &pvc_clock_gating_funcs;
>  	else if (IS_DG2(i915))
>  		i915->clock_gating_funcs = &dg2_clock_gating_funcs;
> -	else if (IS_XEHPSDV(i915))
> -		i915->clock_gating_funcs = &xehpsdv_clock_gating_funcs;
>  	else if (IS_COFFEELAKE(i915) || IS_COMETLAKE(i915))
>  		i915->clock_gating_funcs = &cfl_clock_gating_funcs;
>  	else if (IS_SKYLAKE(i915))
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 59bea1398c91..de28cbe758f7 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -70,7 +70,6 @@ static const char * const platform_names[] = {
>  	PLATFORM_NAME(DG1),
>  	PLATFORM_NAME(ALDERLAKE_S),
>  	PLATFORM_NAME(ALDERLAKE_P),
> -	PLATFORM_NAME(XEHPSDV),
>  	PLATFORM_NAME(DG2),
>  	PLATFORM_NAME(PONTEVECCHIO),
>  	PLATFORM_NAME(METEORLAKE),
> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
> index eba2f0b919c8..2299327e59f0 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.h
> +++ b/drivers/gpu/drm/i915/intel_device_info.h
> @@ -87,7 +87,6 @@ enum intel_platform {
>  	INTEL_DG1,
>  	INTEL_ALDERLAKE_S,
>  	INTEL_ALDERLAKE_P,
> -	INTEL_XEHPSDV,
>  	INTEL_DG2,
>  	INTEL_PONTEVECCHIO,
>  	INTEL_METEORLAKE,
> diff --git a/drivers/gpu/drm/i915/intel_step.c b/drivers/gpu/drm/i915/intel_step.c
> index b4162f1be765..d524bfe17c27 100644
> --- a/drivers/gpu/drm/i915/intel_step.c
> +++ b/drivers/gpu/drm/i915/intel_step.c
> @@ -102,13 +102,6 @@ static const struct intel_step_info adlp_revids[] = {
>  	[0xC] = { COMMON_GT_MEDIA_STEP(C0), .display_step = STEP_D0 },
>  };
>  
> -static const struct intel_step_info xehpsdv_revids[] = {
> -	[0x0] = { COMMON_GT_MEDIA_STEP(A0) },
> -	[0x1] = { COMMON_GT_MEDIA_STEP(A1) },
> -	[0x4] = { COMMON_GT_MEDIA_STEP(B0) },
> -	[0x8] = { COMMON_GT_MEDIA_STEP(C0) },
> -};
> -
>  static const struct intel_step_info dg2_g10_revid_step_tbl[] = {
>  	[0x0] = { COMMON_GT_MEDIA_STEP(A0), .display_step = STEP_A0 },
>  	[0x1] = { COMMON_GT_MEDIA_STEP(A1), .display_step = STEP_A0 },
> @@ -190,9 +183,6 @@ void intel_step_init(struct drm_i915_private *i915)
>  	} else if (IS_DG2_G12(i915)) {
>  		revids = dg2_g12_revid_step_tbl;
>  		size = ARRAY_SIZE(dg2_g12_revid_step_tbl);
> -	} else if (IS_XEHPSDV(i915)) {
> -		revids = xehpsdv_revids;
> -		size = ARRAY_SIZE(xehpsdv_revids);
>  	} else if (IS_ALDERLAKE_P_N(i915)) {
>  		revids = adlp_n_revids;
>  		size = ARRAY_SIZE(adlp_n_revids);
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index 76400e9c40f0..4f1e56187442 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -1536,17 +1536,12 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>  	GEN_FW_RANGE(0x13200, 0x13fff, FORCEWAKE_MEDIA_VDBOX2), /*		\
>  		0x13200 - 0x133ff: VD2 (DG2 only)				\
>  		0x13400 - 0x13fff: reserved */					\
> -	GEN_FW_RANGE(0x14000, 0x141ff, FORCEWAKE_MEDIA_VDBOX0), /* XEHPSDV only */	\
> -	GEN_FW_RANGE(0x14200, 0x143ff, FORCEWAKE_MEDIA_VDBOX2), /* XEHPSDV only */	\
> -	GEN_FW_RANGE(0x14400, 0x145ff, FORCEWAKE_MEDIA_VDBOX4), /* XEHPSDV only */	\
> -	GEN_FW_RANGE(0x14600, 0x147ff, FORCEWAKE_MEDIA_VDBOX6), /* XEHPSDV only */	\
>  	GEN_FW_RANGE(0x14800, 0x14fff, FORCEWAKE_RENDER),			\
>  	GEN_FW_RANGE(0x15000, 0x16dff, FORCEWAKE_GT), /*			\
>  		0x15000 - 0x15fff: gt (DG2 only)				\
>  		0x16000 - 0x16dff: reserved */					\
>  	GEN_FW_RANGE(0x16e00, 0x1ffff, FORCEWAKE_RENDER),			\
> -	GEN_FW_RANGE(0x20000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
> -		0x20000 - 0x20fff: VD0 (XEHPSDV only)				\
> +	GEN_FW_RANGE(0x21000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
>  		0x21000 - 0x21fff: reserved */					\
>  	GEN_FW_RANGE(0x22000, 0x23fff, FORCEWAKE_GT),				\
>  	GEN_FW_RANGE(0x24000, 0x2417f, 0), /*					\
> @@ -1627,10 +1622,6 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>  		0x1f6e00 - 0x1f7fff: reserved */				\
>  	GEN_FW_RANGE(0x1f8000, 0x1fa0ff, FORCEWAKE_MEDIA_VEBOX3),
>  
> -static const struct intel_forcewake_range __xehp_fw_ranges[] = {
> -	XEHP_FWRANGES(FORCEWAKE_GT)
> -};
> -
>  static const struct intel_forcewake_range __dg2_fw_ranges[] = {
>  	XEHP_FWRANGES(FORCEWAKE_RENDER)
>  };
> @@ -2584,10 +2575,6 @@ static int uncore_forcewake_init(struct intel_uncore *uncore)
>  		ASSIGN_FW_DOMAINS_TABLE(uncore, __dg2_fw_ranges);
>  		ASSIGN_SHADOW_TABLE(uncore, dg2_shadowed_regs);
>  		ASSIGN_WRITE_MMIO_VFUNCS(uncore, fwtable);
> -	} else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50)) {
> -		ASSIGN_FW_DOMAINS_TABLE(uncore, __xehp_fw_ranges);
> -		ASSIGN_SHADOW_TABLE(uncore, gen12_shadowed_regs);
> -		ASSIGN_WRITE_MMIO_VFUNCS(uncore, fwtable);
>  	} else if (GRAPHICS_VER(i915) >= 12) {
>  		ASSIGN_FW_DOMAINS_TABLE(uncore, __gen12_fw_ranges);
>  		ASSIGN_SHADOW_TABLE(uncore, gen12_shadowed_regs);
> diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
> index 4f98aa8a861e..502bcadc5f39 100644
> --- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
> @@ -119,7 +119,6 @@ int intel_uncore_mock_selftests(void)
>  		{ __gen9_fw_ranges, ARRAY_SIZE(__gen9_fw_ranges), true },
>  		{ __gen11_fw_ranges, ARRAY_SIZE(__gen11_fw_ranges), true },
>  		{ __gen12_fw_ranges, ARRAY_SIZE(__gen12_fw_ranges), true },
> -		{ __xehp_fw_ranges, ARRAY_SIZE(__xehp_fw_ranges), true },
>  		{ __pvc_fw_ranges, ARRAY_SIZE(__pvc_fw_ranges), true },
>  		{ __mtl_fw_ranges, ARRAY_SIZE(__mtl_fw_ranges), true },
>  		{ __xelpmp_fw_ranges, ARRAY_SIZE(__xelpmp_fw_ranges), true },
> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> index fef969112b1d..a7e7ec3b5db9 100644
> --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> @@ -85,7 +85,6 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
>  #define IS_DG1(dev_priv)        IS_PLATFORM(dev_priv, XE_DG1)
>  #define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_S)
>  #define IS_ALDERLAKE_P(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_P)
> -#define IS_XEHPSDV(dev_priv) (dev_priv && 0)
>  #define IS_DG2(dev_priv)	IS_PLATFORM(dev_priv, XE_DG2)
>  #define IS_PONTEVECCHIO(dev_priv) IS_PLATFORM(dev_priv, XE_PVC)
>  #define IS_METEORLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_METEORLAKE)
> @@ -130,7 +129,6 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
>  #define IS_DG2_GRAPHICS_STEP(xe, variant, first, last) \
>  	((xe)->info.subplatform == XE_SUBPLATFORM_DG2_ ## variant && \
>  	 IS_GRAPHICS_STEP(xe, first, last))
> -#define IS_XEHPSDV_GRAPHICS_STEP(xe, first, last) (IS_XEHPSDV(xe) && IS_GRAPHICS_STEP(xe, first, last))
>  
>  /* XXX: No basedie stepping support yet */
>  #define IS_PVC_BD_STEP(xe, first, last) (!WARN_ON(1) && IS_PONTEVECCHIO(xe))
> -- 
> 2.43.0
>
Lucas De Marchi March 12, 2024, 4:29 p.m. UTC | #2
On Mon, Mar 11, 2024 at 11:16:06AM -0400, Rodrigo Vivi wrote:
>On Wed, Mar 06, 2024 at 11:36:40AM -0800, Lucas De Marchi wrote:
>> PCI IDs for XEHPSDV were never added and platform always marked with
>> force_probe. Drop what's not used and rename some places to either be
>> xehp or dg2, depending on the platform/IP checks.
>>
>> The registers not used anymore are also removed.
>>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> ---
>>
>> Potential problem here that needs a deeper look, the changes in
>> __gen12_fw_ranges. Some ranges had comments saying they were XEHPSDV so
>> I removed them, but it needs to be double checked with spec and CI
>> results.
>
>I have checked the specs and your patch looks right because those
>bits should be reserved for DG2.
>
>But the main issue I see is that we were using that (wrongly?) for
>DG2 so far. So it probably deserves a separate patch anyway.
>
>With this patch only removing the comments and a separate patch
>to remove that for DG2 (and standalone CI run on that patch by itself):

After double checking I think the main issue is that the changed table
became wrong since it poke holes. From the docs:

  * All platforms' forcewake tables below must be sorted by offset ranges.
  * Furthermore, new forcewake tables added should be "watertight" and hav
  * no gaps between ranges.


I *think* this would be the more correct change:

@@ -1533,21 +1533,16 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
  		0x12000 - 0x127ff: always on					\
  		0x12800 - 0x12fff: reserved */					\
  	GEN_FW_RANGE(0x13000, 0x131ff, FORCEWAKE_MEDIA_VDBOX0), /* DG2 only */	\
-	GEN_FW_RANGE(0x13200, 0x13fff, FORCEWAKE_MEDIA_VDBOX2), /*		\
+	GEN_FW_RANGE(0x13200, 0x147ff, FORCEWAKE_MEDIA_VDBOX2), /*		\
  		0x13200 - 0x133ff: VD2 (DG2 only)				\
-		0x13400 - 0x13fff: reserved */					\
-	GEN_FW_RANGE(0x14000, 0x141ff, FORCEWAKE_MEDIA_VDBOX0), /* XEHPSDV only */	\
-	GEN_FW_RANGE(0x14200, 0x143ff, FORCEWAKE_MEDIA_VDBOX2), /* XEHPSDV only */	\
-	GEN_FW_RANGE(0x14400, 0x145ff, FORCEWAKE_MEDIA_VDBOX4), /* XEHPSDV only */	\
-	GEN_FW_RANGE(0x14600, 0x147ff, FORCEWAKE_MEDIA_VDBOX6), /* XEHPSDV only */	\
+		0x13400 - 0x147ff: reserved */					\
  	GEN_FW_RANGE(0x14800, 0x14fff, FORCEWAKE_RENDER),			\
  	GEN_FW_RANGE(0x15000, 0x16dff, FORCEWAKE_GT), /*			\
  		0x15000 - 0x15fff: gt (DG2 only)				\
  		0x16000 - 0x16dff: reserved */					\
-	GEN_FW_RANGE(0x16e00, 0x1ffff, FORCEWAKE_RENDER),			\
-	GEN_FW_RANGE(0x20000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
-		0x20000 - 0x20fff: VD0 (XEHPSDV only)				\
-		0x21000 - 0x21fff: reserved */					\
+	GEN_FW_RANGE(0x16e00, 0x21fff, FORCEWAKE_RENDER), /*			\
+		0x16e00 - 0x1ffff: render					\
+		0x20000 - 0x21fff: reserved */					\
  	GEN_FW_RANGE(0x22000, 0x23fff, FORCEWAKE_GT),				\
  	GEN_FW_RANGE(0x24000, 0x2417f, 0), /*					\
  		0x24000 - 0x2407f: always on					\

did you find any access on DG2 within the reserved ranges?

Lucas De Marchi

>
>Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
>>
>>  Documentation/gpu/rfc/i915_vm_bind.h          | 11 +--
>>  drivers/gpu/drm/i915/gt/gen8_ppgtt.c          | 40 ++++----
>>  drivers/gpu/drm/i915/gt/intel_gsc.c           | 15 ---
>>  drivers/gpu/drm/i915/gt/intel_gt_mcr.c        | 20 +---
>>  drivers/gpu/drm/i915/gt/intel_gt_regs.h       | 50 ----------
>>  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   | 21 ++--
>>  drivers/gpu/drm/i915/gt/intel_lrc.c           | 43 ---------
>>  drivers/gpu/drm/i915/gt/intel_migrate.c       | 18 ++--
>>  drivers/gpu/drm/i915/gt/intel_mocs.c          | 31 ------
>>  drivers/gpu/drm/i915/gt/intel_rps.c           |  2 -
>>  drivers/gpu/drm/i915/gt/intel_workarounds.c   | 95 -------------------
>>  drivers/gpu/drm/i915/gt/uc/intel_uc.c         |  4 +-
>>  drivers/gpu/drm/i915/i915_drv.h               |  4 -
>>  drivers/gpu/drm/i915/i915_hwmon.c             |  6 --
>>  drivers/gpu/drm/i915/i915_pci.c               | 17 ----
>>  drivers/gpu/drm/i915/i915_perf.c              | 11 +--
>>  drivers/gpu/drm/i915/i915_reg.h               |  3 +-
>>  drivers/gpu/drm/i915/intel_clock_gating.c     | 10 --
>>  drivers/gpu/drm/i915/intel_device_info.c      |  1 -
>>  drivers/gpu/drm/i915/intel_device_info.h      |  1 -
>>  drivers/gpu/drm/i915/intel_step.c             | 10 --
>>  drivers/gpu/drm/i915/intel_uncore.c           | 15 +--
>>  drivers/gpu/drm/i915/selftests/intel_uncore.c |  1 -
>>  .../gpu/drm/xe/compat-i915-headers/i915_drv.h |  2 -
>>  24 files changed, 51 insertions(+), 380 deletions(-)
>>
>> diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
>> index 8a8fcd4fceac..bc26dc126104 100644
>> --- a/Documentation/gpu/rfc/i915_vm_bind.h
>> +++ b/Documentation/gpu/rfc/i915_vm_bind.h
>> @@ -93,12 +93,11 @@ struct drm_i915_gem_timeline_fence {
>>   * Multiple VA mappings can be created to the same section of the object
>>   * (aliasing).
>>   *
>> - * The @start, @offset and @length must be 4K page aligned. However the DG2
>> - * and XEHPSDV has 64K page size for device local memory and has compact page
>> - * table. On those platforms, for binding device local-memory objects, the
>> - * @start, @offset and @length must be 64K aligned. Also, UMDs should not mix
>> - * the local memory 64K page and the system memory 4K page bindings in the same
>> - * 2M range.
>> + * The @start, @offset and @length must be 4K page aligned. However the DG2 has
>> + * 64K page size for device local memory and has compact page table. On that
>> + * platform, for binding device local-memory objects, the @start, @offset and
>> + * @length must be 64K aligned. Also, UMDs should not mix the local memory 64K
>> + * page and the system memory 4K page bindings in the same 2M range.
>>   *
>>   * Error code -EINVAL will be returned if @start, @offset and @length are not
>>   * properly aligned. In version 1 (See I915_PARAM_VM_BIND_VERSION), error code
>> diff --git a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
>> index fa46d2308b0e..1bd0e041e15c 100644
>> --- a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
>> +++ b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
>> @@ -500,11 +500,11 @@ gen8_ppgtt_insert_pte(struct i915_ppgtt *ppgtt,
>>  }
>>
>>  static void
>> -xehpsdv_ppgtt_insert_huge(struct i915_address_space *vm,
>> -			  struct i915_vma_resource *vma_res,
>> -			  struct sgt_dma *iter,
>> -			  unsigned int pat_index,
>> -			  u32 flags)
>> +xehp_ppgtt_insert_huge(struct i915_address_space *vm,
>> +		       struct i915_vma_resource *vma_res,
>> +		       struct sgt_dma *iter,
>> +		       unsigned int pat_index,
>> +		       u32 flags)
>>  {
>>  	const gen8_pte_t pte_encode = vm->pte_encode(0, pat_index, flags);
>>  	unsigned int rem = sg_dma_len(iter->sg);
>> @@ -741,8 +741,8 @@ static void gen8_ppgtt_insert(struct i915_address_space *vm,
>>  	struct sgt_dma iter = sgt_dma(vma_res);
>>
>>  	if (vma_res->bi.page_sizes.sg > I915_GTT_PAGE_SIZE) {
>> -		if (GRAPHICS_VER_FULL(vm->i915) >= IP_VER(12, 50))
>> -			xehpsdv_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
>> +		if (GRAPHICS_VER_FULL(vm->i915) >= IP_VER(12, 55))
>> +			xehp_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
>>  		else
>>  			gen8_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
>>  	} else  {
>> @@ -781,11 +781,11 @@ static void gen8_ppgtt_insert_entry(struct i915_address_space *vm,
>>  	drm_clflush_virt_range(&vaddr[gen8_pd_index(idx, 0)], sizeof(*vaddr));
>>  }
>>
>> -static void __xehpsdv_ppgtt_insert_entry_lm(struct i915_address_space *vm,
>> -					    dma_addr_t addr,
>> -					    u64 offset,
>> -					    unsigned int pat_index,
>> -					    u32 flags)
>> +static void xehp_ppgtt_insert_entry_lm(struct i915_address_space *vm,
>> +				       dma_addr_t addr,
>> +				       u64 offset,
>> +				       unsigned int pat_index,
>> +				       u32 flags)
>>  {
>>  	u64 idx = offset >> GEN8_PTE_SHIFT;
>>  	struct i915_page_directory * const pdp =
>> @@ -810,15 +810,15 @@ static void __xehpsdv_ppgtt_insert_entry_lm(struct i915_address_space *vm,
>>  	vaddr[gen8_pd_index(idx, 0) / 16] = vm->pte_encode(addr, pat_index, flags);
>>  }
>>
>> -static void xehpsdv_ppgtt_insert_entry(struct i915_address_space *vm,
>> -				       dma_addr_t addr,
>> -				       u64 offset,
>> -				       unsigned int pat_index,
>> -				       u32 flags)
>> +static void xehp_ppgtt_insert_entry(struct i915_address_space *vm,
>> +				    dma_addr_t addr,
>> +				    u64 offset,
>> +				    unsigned int pat_index,
>> +				    u32 flags)
>>  {
>>  	if (flags & PTE_LM)
>> -		return __xehpsdv_ppgtt_insert_entry_lm(vm, addr, offset,
>> -						       pat_index, flags);
>> +		return xehp_ppgtt_insert_entry_lm(vm, addr, offset,
>> +						  pat_index, flags);
>>
>>  	return gen8_ppgtt_insert_entry(vm, addr, offset, pat_index, flags);
>>  }
>> @@ -1042,7 +1042,7 @@ struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt,
>>  	ppgtt->vm.bind_async_flags = I915_VMA_LOCAL_BIND;
>>  	ppgtt->vm.insert_entries = gen8_ppgtt_insert;
>>  	if (HAS_64K_PAGES(gt->i915))
>> -		ppgtt->vm.insert_page = xehpsdv_ppgtt_insert_entry;
>> +		ppgtt->vm.insert_page = xehp_ppgtt_insert_entry;
>>  	else
>>  		ppgtt->vm.insert_page = gen8_ppgtt_insert_entry;
>>  	ppgtt->vm.allocate_va_range = gen8_ppgtt_alloc;
>> diff --git a/drivers/gpu/drm/i915/gt/intel_gsc.c b/drivers/gpu/drm/i915/gt/intel_gsc.c
>> index 6d440de8ba01..1e925c75fb08 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_gsc.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_gsc.c
>> @@ -103,19 +103,6 @@ static const struct gsc_def gsc_def_dg1[] = {
>>  	}
>>  };
>>
>> -static const struct gsc_def gsc_def_xehpsdv[] = {
>> -	{
>> -		/* HECI1 not enabled on the device. */
>> -	},
>> -	{
>> -		.name = "mei-gscfi",
>> -		.bar = DG1_GSC_HECI2_BASE,
>> -		.bar_size = GSC_BAR_LENGTH,
>> -		.use_polling = true,
>> -		.slow_firmware = true,
>> -	}
>> -};
>> -
>>  static const struct gsc_def gsc_def_dg2[] = {
>>  	{
>>  		.name = "mei-gsc",
>> @@ -188,8 +175,6 @@ static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc,
>>
>>  	if (IS_DG1(i915)) {
>>  		def = &gsc_def_dg1[intf_id];
>> -	} else if (IS_XEHPSDV(i915)) {
>> -		def = &gsc_def_xehpsdv[intf_id];
>>  	} else if (IS_DG2(i915)) {
>>  		def = &gsc_def_dg2[intf_id];
>>  	} else {
>> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
>> index e253750a51c5..5a2bd8de155a 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
>> @@ -57,24 +57,12 @@ static const struct intel_mmio_range icl_l3bank_steering_table[] = {
>>   * are of a "GAM" subclass that has special rules.  Thus we use a separate
>>   * GAM table farther down for those.
>>   */
>> -static const struct intel_mmio_range xehpsdv_mslice_steering_table[] = {
>> +static const struct intel_mmio_range dg2_mslice_steering_table[] = {
>>  	{ 0x00DD00, 0x00DDFF },
>>  	{ 0x00E900, 0x00FFFF }, /* 0xEA00 - OxEFFF is unused */
>>  	{},
>>  };
>>
>> -static const struct intel_mmio_range xehpsdv_gam_steering_table[] = {
>> -	{ 0x004000, 0x004AFF },
>> -	{ 0x00C800, 0x00CFFF },
>> -	{},
>> -};
>> -
>> -static const struct intel_mmio_range xehpsdv_lncf_steering_table[] = {
>> -	{ 0x00B000, 0x00B0FF },
>> -	{ 0x00D800, 0x00D8FF },
>> -	{},
>> -};
>> -
>>  static const struct intel_mmio_range dg2_lncf_steering_table[] = {
>>  	{ 0x00B000, 0x00B0FF },
>>  	{ 0x00D880, 0x00D8FF },
>> @@ -188,17 +176,13 @@ void intel_gt_mcr_init(struct intel_gt *gt)
>>  	} else if (IS_PONTEVECCHIO(i915)) {
>>  		gt->steering_table[INSTANCE0] = pvc_instance0_steering_table;
>>  	} else if (IS_DG2(i915)) {
>> -		gt->steering_table[MSLICE] = xehpsdv_mslice_steering_table;
>> +		gt->steering_table[MSLICE] = dg2_mslice_steering_table;
>>  		gt->steering_table[LNCF] = dg2_lncf_steering_table;
>>  		/*
>>  		 * No need to hook up the GAM table since it has a dedicated
>>  		 * steering control register on DG2 and can use implicit
>>  		 * steering.
>>  		 */
>> -	} else if (IS_XEHPSDV(i915)) {
>> -		gt->steering_table[MSLICE] = xehpsdv_mslice_steering_table;
>> -		gt->steering_table[LNCF] = xehpsdv_lncf_steering_table;
>> -		gt->steering_table[GAM] = xehpsdv_gam_steering_table;
>>  	} else if (GRAPHICS_VER(i915) >= 11 &&
>>  		   GRAPHICS_VER_FULL(i915) < IP_VER(12, 50)) {
>>  		gt->steering_table[L3BANK] = icl_l3bank_steering_table;
>> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
>> index 50962cfd1353..919c07903767 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
>> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
>> @@ -718,44 +718,11 @@
>>
>>  #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 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 GEN11_SLICE_UNIT_LEVEL_CLKGATE		_MMIO(0x94d4)
>>  #define XEHP_SLICE_UNIT_LEVEL_CLKGATE		MCR_REG(0x94d4)
>>  #define   SARBUNIT_CLKGATE_DIS			(1 << 5)
>> @@ -765,9 +732,6 @@
>>  #define   L3_CLKGATE_DIS			REG_BIT(16)
>>  #define   L3_CR2X_CLKGATE_DIS			REG_BIT(17)
>>
>> -#define SCCGCTL94DC				MCR_REG(0x94dc)
>> -#define   CG3DDISURB				REG_BIT(14)
>> -
>>  #define UNSLICE_UNIT_LEVEL_CLKGATE2		_MMIO(0x94e4)
>>  #define   VSUNIT_CLKGATE_DIS_TGL		REG_BIT(19)
>>  #define   PSDUNIT_CLKGATE_DIS			REG_BIT(5)
>> @@ -1046,9 +1010,6 @@
>>  #define XEHP_L3SQCREG5				MCR_REG(0xb158)
>>  #define   L3_PWM_TIMER_INIT_VAL_MASK		REG_GENMASK(9, 0)
>>
>> -#define MLTICTXCTL				MCR_REG(0xb170)
>> -#define   TDONRENDER				REG_BIT(2)
>> -
>>  #define XEHP_L3SCQREG7				MCR_REG(0xb188)
>>  #define   BLEND_FILL_CACHING_OPT_DIS		REG_BIT(3)
>>
>> @@ -1057,9 +1018,6 @@
>>  #define   SCRUB_RATE_PER_BANK_MASK		REG_GENMASK(2, 0)
>>  #define   SCRUB_RATE_4B_PER_CLK			REG_FIELD_PREP(SCRUB_RATE_PER_BANK_MASK, 0x6)
>>
>> -#define L3SQCREG1_CCS0				MCR_REG(0xb200)
>> -#define   FLUSHALLNONCOH			REG_BIT(5)
>> -
>>  #define GEN11_GLBLINVL				_MMIO(0xb404)
>>  #define   GEN11_BANK_HASH_ADDR_EXCL_MASK	(0x7f << 5)
>>  #define   GEN11_BANK_HASH_ADDR_EXCL_BIT0	(1 << 5)
>> @@ -1109,7 +1067,6 @@
>>  #define XEHP_COMPCTX_TLB_INV_CR			MCR_REG(0xcf04)
>>  #define XELPMP_GSC_TLB_INV_CR			_MMIO(0xcf04)   /* media GT only */
>>
>> -#define XEHP_MERT_MOD_CTRL			MCR_REG(0xcf28)
>>  #define RENDER_MOD_CTRL				MCR_REG(0xcf2c)
>>  #define COMP_MOD_CTRL				MCR_REG(0xcf30)
>>  #define XELPMP_GSC_MOD_CTRL			_MMIO(0xcf30)	/* media GT only */
>> @@ -1185,7 +1142,6 @@
>>  #define EU_PERF_CNTL4				PERF_REG(0xe45c)
>>
>>  #define GEN9_ROW_CHICKEN4			MCR_REG(0xe48c)
>> -#define   GEN12_DISABLE_GRF_CLEAR		REG_BIT(13)
>>  #define   XEHP_DIS_BBL_SYSPIPE			REG_BIT(11)
>>  #define   GEN12_DISABLE_TDL_PUSH		REG_BIT(9)
>>  #define   GEN11_DIS_PICK_2ND_EU			REG_BIT(7)
>> @@ -1202,7 +1158,6 @@
>>  #define   FLOW_CONTROL_ENABLE			REG_BIT(15)
>>  #define   UGM_BACKUP_MODE			REG_BIT(13)
>>  #define   MDQ_ARBITRATION_MODE			REG_BIT(12)
>> -#define   SYSTOLIC_DOP_CLOCK_GATING_DIS		REG_BIT(10)
>>  #define   PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE	REG_BIT(8)
>>  #define   STALL_DOP_GATING_DISABLE		REG_BIT(5)
>>  #define   THROTTLE_12_5				REG_GENMASK(4, 2)
>> @@ -1679,11 +1634,6 @@
>>
>>  #define GEN12_SFC_DONE(n)			_MMIO(0x1cc000 + (n) * 0x1000)
>>
>> -#define GT0_PACKAGE_ENERGY_STATUS		_MMIO(0x250004)
>> -#define GT0_PACKAGE_RAPL_LIMIT			_MMIO(0x250008)
>> -#define GT0_PACKAGE_POWER_SKU_UNIT		_MMIO(0x250068)
>> -#define GT0_PLATFORM_ENERGY_STATUS		_MMIO(0x25006c)
>> -
>>  /*
>>   * Standalone Media's non-engine GT registers are located at their regular GT
>>   * offsets plus 0x380000.  This extra offset is stored inside the intel_uncore
>> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
>> index eca4a6a65556..d7784650e4d9 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
>> @@ -573,7 +573,6 @@ static ssize_t media_freq_factor_show(struct kobject *kobj,
>>  				      char *buff)
>>  {
>>  	struct intel_gt *gt = intel_gt_sysfs_get_drvdata(kobj, attr->attr.name);
>> -	struct intel_guc_slpc *slpc = &gt_to_guc(gt)->slpc;
>>  	intel_wakeref_t wakeref;
>>  	u32 mode;
>>
>> @@ -581,20 +580,12 @@ static ssize_t media_freq_factor_show(struct kobject *kobj,
>>  	 * Retrieve media_ratio_mode from GEN6_RPNSWREQ bit 13 set by
>>  	 * GuC. GEN6_RPNSWREQ:13 value 0 represents 1:2 and 1 represents 1:1
>>  	 */
>> -	if (IS_XEHPSDV(gt->i915) &&
>> -	    slpc->media_ratio_mode == SLPC_MEDIA_RATIO_MODE_DYNAMIC_CONTROL) {
>> -		/*
>> -		 * For XEHPSDV dynamic mode GEN6_RPNSWREQ:13 does not contain
>> -		 * the media_ratio_mode, just return the cached media ratio
>> -		 */
>> -		mode = slpc->media_ratio_mode;
>> -	} else {
>> -		with_intel_runtime_pm(gt->uncore->rpm, wakeref)
>> -			mode = intel_uncore_read(gt->uncore, GEN6_RPNSWREQ);
>> -		mode = REG_FIELD_GET(GEN12_MEDIA_FREQ_RATIO, mode) ?
>> -			SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_ONE :
>> -			SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_TWO;
>> -	}
>> +	with_intel_runtime_pm(gt->uncore->rpm, wakeref)
>> +		mode = intel_uncore_read(gt->uncore, GEN6_RPNSWREQ);
>> +
>> +	mode = REG_FIELD_GET(GEN12_MEDIA_FREQ_RATIO, mode) ?
>> +		SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_ONE :
>> +		SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_TWO;
>>
>>  	return sysfs_emit(buff, "%u\n", media_ratio_mode_to_factor(mode));
>>  }
>> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
>> index 7c367ba8d9dc..7f1b00cb9924 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
>> @@ -546,47 +546,6 @@ static const u8 gen12_rcs_offsets[] = {
>>  	END
>>  };
>>
>> -static const u8 xehp_rcs_offsets[] = {
>> -	NOP(1),
>> -	LRI(13, POSTED),
>> -	REG16(0x244),
>> -	REG(0x034),
>> -	REG(0x030),
>> -	REG(0x038),
>> -	REG(0x03c),
>> -	REG(0x168),
>> -	REG(0x140),
>> -	REG(0x110),
>> -	REG(0x1c0),
>> -	REG(0x1c4),
>> -	REG(0x1c8),
>> -	REG(0x180),
>> -	REG16(0x2b4),
>> -
>> -	NOP(5),
>> -	LRI(9, POSTED),
>> -	REG16(0x3a8),
>> -	REG16(0x28c),
>> -	REG16(0x288),
>> -	REG16(0x284),
>> -	REG16(0x280),
>> -	REG16(0x27c),
>> -	REG16(0x278),
>> -	REG16(0x274),
>> -	REG16(0x270),
>> -
>> -	LRI(3, POSTED),
>> -	REG(0x1b0),
>> -	REG16(0x5a8),
>> -	REG16(0x5ac),
>> -
>> -	NOP(6),
>> -	LRI(1, 0),
>> -	REG(0x0c8),
>> -
>> -	END
>> -};
>> -
>>  static const u8 dg2_rcs_offsets[] = {
>>  	NOP(1),
>>  	LRI(15, POSTED),
>> @@ -695,8 +654,6 @@ static const u8 *reg_offsets(const struct intel_engine_cs *engine)
>>  			return mtl_rcs_offsets;
>>  		else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
>>  			return dg2_rcs_offsets;
>> -		else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
>> -			return xehp_rcs_offsets;
>>  		else if (GRAPHICS_VER(engine->i915) >= 12)
>>  			return gen12_rcs_offsets;
>>  		else if (GRAPHICS_VER(engine->i915) >= 11)
>> diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migrate.c
>> index 576e5ef0289b..86ba2f2e485c 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_migrate.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_migrate.c
>> @@ -35,9 +35,9 @@ static bool engine_supports_migration(struct intel_engine_cs *engine)
>>  	return true;
>>  }
>>
>> -static void xehpsdv_toggle_pdes(struct i915_address_space *vm,
>> -				struct i915_page_table *pt,
>> -				void *data)
>> +static void xehp_toggle_pdes(struct i915_address_space *vm,
>> +			     struct i915_page_table *pt,
>> +			     void *data)
>>  {
>>  	struct insert_pte_data *d = data;
>>
>> @@ -52,9 +52,9 @@ static void xehpsdv_toggle_pdes(struct i915_address_space *vm,
>>  	d->offset += SZ_2M;
>>  }
>>
>> -static void xehpsdv_insert_pte(struct i915_address_space *vm,
>> -			       struct i915_page_table *pt,
>> -			       void *data)
>> +static void xehp_insert_pte(struct i915_address_space *vm,
>> +			    struct i915_page_table *pt,
>> +			    void *data)
>>  {
>>  	struct insert_pte_data *d = data;
>>
>> @@ -120,7 +120,7 @@ static struct i915_address_space *migrate_vm(struct intel_gt *gt)
>>  	 * 512 entry layout using 4K GTT pages. The other two windows just map
>>  	 * lmem pages and must use the new compact 32 entry layout using 64K GTT
>>  	 * pages, which ensures we can address any lmem object that the user
>> -	 * throws at us. We then also use the xehpsdv_toggle_pdes as a way of
>> +	 * throws at us. We then also use the xehp_toggle_pdes as a way of
>>  	 * just toggling the PDE bit(GEN12_PDE_64K) for us, to enable the
>>  	 * compact layout for each of these page-tables, that fall within the
>>  	 * [CHUNK_SIZE, 3 * CHUNK_SIZE) range.
>> @@ -209,12 +209,12 @@ static struct i915_address_space *migrate_vm(struct intel_gt *gt)
>>  		/* Now allow the GPU to rewrite the PTE via its own ppGTT */
>>  		if (HAS_64K_PAGES(gt->i915)) {
>>  			vm->vm.foreach(&vm->vm, base, d.offset - base,
>> -				       xehpsdv_insert_pte, &d);
>> +				       xehp_insert_pte, &d);
>>  			d.offset = base + CHUNK_SZ;
>>  			vm->vm.foreach(&vm->vm,
>>  				       d.offset,
>>  				       2 * CHUNK_SZ,
>> -				       xehpsdv_toggle_pdes, &d);
>> +				       xehp_toggle_pdes, &d);
>>  		} else {
>>  			vm->vm.foreach(&vm->vm, base, d.offset - base,
>>  				       insert_pte, &d);
>> diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c
>> index 25c1023eb5f9..c931c56945bd 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_mocs.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
>> @@ -367,31 +367,6 @@ static const struct drm_i915_mocs_entry gen12_mocs_table[] = {
>>  		   L3_3_WB),
>>  };
>>
>> -static const struct drm_i915_mocs_entry xehpsdv_mocs_table[] = {
>> -	/* wa_1608975824 */
>> -	MOCS_ENTRY(0, 0, L3_3_WB | L3_LKUP(1)),
>> -
>> -	/* UC - Coherent; GO:L3 */
>> -	MOCS_ENTRY(1, 0, L3_1_UC | L3_LKUP(1)),
>> -	/* UC - Coherent; GO:Memory */
>> -	MOCS_ENTRY(2, 0, L3_1_UC | L3_GLBGO(1) | L3_LKUP(1)),
>> -	/* UC - Non-Coherent; GO:Memory */
>> -	MOCS_ENTRY(3, 0, L3_1_UC | L3_GLBGO(1)),
>> -	/* UC - Non-Coherent; GO:L3 */
>> -	MOCS_ENTRY(4, 0, L3_1_UC),
>> -
>> -	/* WB */
>> -	MOCS_ENTRY(5, 0, L3_3_WB | L3_LKUP(1)),
>> -
>> -	/* HW Reserved - SW program but never use. */
>> -	MOCS_ENTRY(48, 0, L3_3_WB | L3_LKUP(1)),
>> -	MOCS_ENTRY(49, 0, L3_1_UC | L3_LKUP(1)),
>> -	MOCS_ENTRY(60, 0, L3_1_UC),
>> -	MOCS_ENTRY(61, 0, L3_1_UC),
>> -	MOCS_ENTRY(62, 0, L3_1_UC),
>> -	MOCS_ENTRY(63, 0, L3_1_UC),
>> -};
>> -
>>  static const struct drm_i915_mocs_entry dg2_mocs_table[] = {
>>  	/* UC - Coherent; GO:L3 */
>>  	MOCS_ENTRY(0, 0, L3_1_UC | L3_LKUP(1)),
>> @@ -514,12 +489,6 @@ static unsigned int get_mocs_settings(struct drm_i915_private *i915,
>>  		table->uc_index = 1;
>>  		table->n_entries = GEN9_NUM_MOCS_ENTRIES;
>>  		table->unused_entries_index = 3;
>> -	} else if (IS_XEHPSDV(i915)) {
>> -		table->size = ARRAY_SIZE(xehpsdv_mocs_table);
>> -		table->table = xehpsdv_mocs_table;
>> -		table->uc_index = 2;
>> -		table->n_entries = GEN9_NUM_MOCS_ENTRIES;
>> -		table->unused_entries_index = 5;
>>  	} else if (IS_DG1(i915)) {
>>  		table->size = ARRAY_SIZE(dg1_mocs_table);
>>  		table->table = dg1_mocs_table;
>> diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c
>> index 9c6812257ac2..2a6a8134782d 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_rps.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_rps.c
>> @@ -1088,8 +1088,6 @@ static u32 intel_rps_read_state_cap(struct intel_rps *rps)
>>
>>  	if (IS_PONTEVECCHIO(i915))
>>  		return intel_uncore_read(uncore, PVC_RP_STATE_CAP);
>> -	else if (IS_XEHPSDV(i915))
>> -		return intel_uncore_read(uncore, XEHPSDV_RP_STATE_CAP);
>>  	else if (IS_GEN9_LP(i915))
>>  		return intel_uncore_read(uncore, BXT_RP_STATE_CAP);
>>  	else
>> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
>> index 7f812409c30a..33d543d9bf44 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
>> @@ -922,8 +922,6 @@ __intel_engine_init_ctx_wa(struct intel_engine_cs *engine,
>>  		; /* noop; none at this time */
>>  	else if (IS_DG2(i915))
>>  		dg2_ctx_workarounds_init(engine, wal);
>> -	else if (IS_XEHPSDV(i915))
>> -		; /* noop; none at this time */
>>  	else if (IS_DG1(i915))
>>  		dg1_ctx_workarounds_init(engine, wal);
>>  	else if (GRAPHICS_VER(i915) == 12)
>> @@ -1350,9 +1348,6 @@ xehp_init_mcr(struct intel_gt *gt, struct i915_wa_list *wal)
>>  		gt->steering_table[MSLICE] = NULL;
>>  	}
>>
>> -	if (IS_XEHPSDV(gt->i915) && slice_mask & BIT(0))
>> -		gt->steering_table[GAM] = NULL;
>> -
>>  	slice = __ffs(slice_mask);
>>  	subslice = intel_sseu_find_first_xehp_dss(sseu, GEN_DSS_PER_GSLICE, slice) %
>>  		GEN_DSS_PER_GSLICE;
>> @@ -1519,76 +1514,6 @@ dg1_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
>>  	wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE2, VSUNIT_CLKGATE_DIS_TGL);
>>  }
>>
>> -static void
>> -xehpsdv_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
>> -{
>> -	struct drm_i915_private *i915 = gt->i915;
>> -
>> -	xehp_init_mcr(gt, wal);
>> -
>> -	/* Wa_1409757795:xehpsdv */
>> -	wa_mcr_write_or(wal, SCCGCTL94DC, CG3DDISURB);
>> -
>> -	/* Wa_18011725039:xehpsdv */
>> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A1, STEP_B0)) {
>> -		wa_mcr_masked_dis(wal, MLTICTXCTL, TDONRENDER);
>> -		wa_mcr_write_or(wal, L3SQCREG1_CCS0, FLUSHALLNONCOH);
>> -	}
>> -
>> -	/* Wa_16011155590:xehpsdv */
>> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A0, STEP_B0))
>> -		wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE,
>> -			    TSGUNIT_CLKGATE_DIS);
>> -
>> -	/* Wa_14011780169:xehpsdv */
>> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_B0, STEP_FOREVER)) {
>> -		wa_write_or(wal, UNSLCGCTL9440, GAMTLBOACS_CLKGATE_DIS |
>> -			    GAMTLBVDBOX7_CLKGATE_DIS |
>> -			    GAMTLBVDBOX6_CLKGATE_DIS |
>> -			    GAMTLBVDBOX5_CLKGATE_DIS |
>> -			    GAMTLBVDBOX4_CLKGATE_DIS |
>> -			    GAMTLBVDBOX3_CLKGATE_DIS |
>> -			    GAMTLBVDBOX2_CLKGATE_DIS |
>> -			    GAMTLBVDBOX1_CLKGATE_DIS |
>> -			    GAMTLBVDBOX0_CLKGATE_DIS |
>> -			    GAMTLBKCR_CLKGATE_DIS |
>> -			    GAMTLBGUC_CLKGATE_DIS |
>> -			    GAMTLBBLT_CLKGATE_DIS);
>> -		wa_write_or(wal, UNSLCGCTL9444, GAMTLBGFXA0_CLKGATE_DIS |
>> -			    GAMTLBGFXA1_CLKGATE_DIS |
>> -			    GAMTLBCOMPA0_CLKGATE_DIS |
>> -			    GAMTLBCOMPA1_CLKGATE_DIS |
>> -			    GAMTLBCOMPB0_CLKGATE_DIS |
>> -			    GAMTLBCOMPB1_CLKGATE_DIS |
>> -			    GAMTLBCOMPC0_CLKGATE_DIS |
>> -			    GAMTLBCOMPC1_CLKGATE_DIS |
>> -			    GAMTLBCOMPD0_CLKGATE_DIS |
>> -			    GAMTLBCOMPD1_CLKGATE_DIS |
>> -			    GAMTLBMERT_CLKGATE_DIS   |
>> -			    GAMTLBVEBOX3_CLKGATE_DIS |
>> -			    GAMTLBVEBOX2_CLKGATE_DIS |
>> -			    GAMTLBVEBOX1_CLKGATE_DIS |
>> -			    GAMTLBVEBOX0_CLKGATE_DIS);
>> -	}
>> -
>> -	/* Wa_16012725990:xehpsdv */
>> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A1, STEP_FOREVER))
>> -		wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE, VFUNIT_CLKGATE_DIS);
>> -
>> -	/* Wa_14011060649:xehpsdv */
>> -	wa_14011060649(gt, wal);
>> -
>> -	/* Wa_14012362059:xehpsdv */
>> -	wa_mcr_write_or(wal, XEHP_MERT_MOD_CTRL, FORCE_MISS_FTLB);
>> -
>> -	/* Wa_14014368820:xehpsdv */
>> -	wa_mcr_write_or(wal, XEHP_GAMCNTRL_CTRL,
>> -			INVALIDATION_BROADCAST_MODE_DIS | GLOBAL_INVALIDATION_MODE);
>> -
>> -	/* Wa_14010670810:xehpsdv */
>> -	wa_mcr_write_or(wal, XEHP_L3NODEARBCFG, XEHP_LNESPARE);
>> -}
>> -
>>  static void
>>  dg2_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
>>  {
>> @@ -1758,8 +1683,6 @@ gt_init_workarounds(struct intel_gt *gt, struct i915_wa_list *wal)
>>  		pvc_gt_workarounds_init(gt, wal);
>>  	else if (IS_DG2(i915))
>>  		dg2_gt_workarounds_init(gt, wal);
>> -	else if (IS_XEHPSDV(i915))
>> -		xehpsdv_gt_workarounds_init(gt, wal);
>>  	else if (IS_DG1(i915))
>>  		dg1_gt_workarounds_init(gt, wal);
>>  	else if (GRAPHICS_VER(i915) == 12)
>> @@ -2231,8 +2154,6 @@ void intel_engine_init_whitelist(struct intel_engine_cs *engine)
>>  		pvc_whitelist_build(engine);
>>  	else if (IS_DG2(i915))
>>  		dg2_whitelist_build(engine);
>> -	else if (IS_XEHPSDV(i915))
>> -		; /* none needed */
>>  	else if (GRAPHICS_VER(i915) == 12)
>>  		tgl_whitelist_build(engine);
>>  	else if (GRAPHICS_VER(i915) == 11)
>> @@ -2968,22 +2889,6 @@ general_render_compute_wa_init(struct intel_engine_cs *engine, struct i915_wa_li
>>  			   0 /* write-only, so skip validation */,
>>  			   true);
>>  	}
>> -
>> -	if (IS_XEHPSDV(i915)) {
>> -		/* Wa_1409954639 */
>> -		wa_mcr_masked_en(wal,
>> -				 GEN8_ROW_CHICKEN,
>> -				 SYSTOLIC_DOP_CLOCK_GATING_DIS);
>> -
>> -		/* Wa_1607196519 */
>> -		wa_mcr_masked_en(wal,
>> -				 GEN9_ROW_CHICKEN4,
>> -				 GEN12_DISABLE_GRF_CLEAR);
>> -
>> -		/* Wa_14010449647:xehpsdv */
>> -		wa_mcr_masked_en(wal, GEN8_HALF_SLICE_CHICKEN1,
>> -				 GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE);
>> -	}
>>  }
>>
>>  static void
>> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
>> index 6dfe5d9456c6..28277321d9ca 100644
>> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
>> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
>> @@ -51,8 +51,8 @@ static void uc_expand_default_options(struct intel_uc *uc)
>>  	/* Default: enable HuC authentication and GuC submission */
>>  	i915->params.enable_guc = ENABLE_GUC_LOAD_HUC | ENABLE_GUC_SUBMISSION;
>>
>> -	/* XEHPSDV and PVC do not use HuC */
>> -	if (IS_XEHPSDV(i915) || IS_PONTEVECCHIO(i915))
>> +	/* PVC does not use HuC */
>> +	if (IS_PONTEVECCHIO(i915))
>>  		i915->params.enable_guc &= ~ENABLE_GUC_LOAD_HUC;
>>  }
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index e81b3b2858ac..dff056587459 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -544,7 +544,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>>  #define IS_DG1(i915)        IS_PLATFORM(i915, INTEL_DG1)
>>  #define IS_ALDERLAKE_S(i915) IS_PLATFORM(i915, INTEL_ALDERLAKE_S)
>>  #define IS_ALDERLAKE_P(i915) IS_PLATFORM(i915, INTEL_ALDERLAKE_P)
>> -#define IS_XEHPSDV(i915) IS_PLATFORM(i915, INTEL_XEHPSDV)
>>  #define IS_DG2(i915)	IS_PLATFORM(i915, INTEL_DG2)
>>  #define IS_PONTEVECCHIO(i915) IS_PLATFORM(i915, INTEL_PONTEVECCHIO)
>>  #define IS_METEORLAKE(i915) IS_PLATFORM(i915, INTEL_METEORLAKE)
>> @@ -621,9 +620,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>>  #define IS_TIGERLAKE_UY(i915) \
>>  	IS_SUBPLATFORM(i915, INTEL_TIGERLAKE, INTEL_SUBPLATFORM_UY)
>>
>> -#define IS_XEHPSDV_GRAPHICS_STEP(__i915, since, until) \
>> -	(IS_XEHPSDV(__i915) && IS_GRAPHICS_STEP(__i915, since, until))
>> -
>>  #define IS_PVC_BD_STEP(__i915, since, until) \
>>  	(IS_PONTEVECCHIO(__i915) && \
>>  	 IS_BASEDIE_STEP(__i915, since, until))
>> diff --git a/drivers/gpu/drm/i915/i915_hwmon.c b/drivers/gpu/drm/i915/i915_hwmon.c
>> index 8c3f443c8347..11bd42e03b73 100644
>> --- a/drivers/gpu/drm/i915/i915_hwmon.c
>> +++ b/drivers/gpu/drm/i915/i915_hwmon.c
>> @@ -738,12 +738,6 @@ hwm_get_preregistration_info(struct drm_i915_private *i915)
>>  		hwmon->rg.pkg_rapl_limit = PCU_PACKAGE_RAPL_LIMIT;
>>  		hwmon->rg.energy_status_all = PCU_PACKAGE_ENERGY_STATUS;
>>  		hwmon->rg.energy_status_tile = INVALID_MMIO_REG;
>> -	} else if (IS_XEHPSDV(i915)) {
>> -		hwmon->rg.pkg_power_sku_unit = GT0_PACKAGE_POWER_SKU_UNIT;
>> -		hwmon->rg.pkg_power_sku = INVALID_MMIO_REG;
>> -		hwmon->rg.pkg_rapl_limit = GT0_PACKAGE_RAPL_LIMIT;
>> -		hwmon->rg.energy_status_all = GT0_PLATFORM_ENERGY_STATUS;
>> -		hwmon->rg.energy_status_tile = GT0_PACKAGE_ENERGY_STATUS;
>>  	} else {
>>  		hwmon->rg.pkg_power_sku_unit = INVALID_MMIO_REG;
>>  		hwmon->rg.pkg_power_sku = INVALID_MMIO_REG;
>> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>> index 8b4fdeabb12a..b318b7c6bf73 100644
>> --- a/drivers/gpu/drm/i915/i915_pci.c
>> +++ b/drivers/gpu/drm/i915/i915_pci.c
>> @@ -734,23 +734,6 @@ static const struct intel_device_info adl_p_info = {
>>  	.__runtime.media.ip.ver = 12, \
>>  	.__runtime.media.ip.rel = 50
>>
>> -__maybe_unused
>> -static const struct intel_device_info xehpsdv_info = {
>> -	XE_HP_FEATURES,
>> -	XE_HPM_FEATURES,
>> -	DGFX_FEATURES,
>> -	PLATFORM(INTEL_XEHPSDV),
>> -	.has_64k_pages = 1,
>> -	.has_media_ratio_mode = 1,
>> -	.platform_engine_mask =
>> -		BIT(RCS0) | BIT(BCS0) |
>> -		BIT(VECS0) | BIT(VECS1) | BIT(VECS2) | BIT(VECS3) |
>> -		BIT(VCS0) | BIT(VCS1) | BIT(VCS2) | BIT(VCS3) |
>> -		BIT(VCS4) | BIT(VCS5) | BIT(VCS6) | BIT(VCS7) |
>> -		BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3),
>> -	.require_force_probe = 1,
>> -};
>> -
>>  #define DG2_FEATURES \
>>  	XE_HP_FEATURES, \
>>  	XE_HPM_FEATURES, \
>> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
>> index bd9d812b1afa..1637c1d235e9 100644
>> --- a/drivers/gpu/drm/i915/i915_perf.c
>> +++ b/drivers/gpu/drm/i915/i915_perf.c
>> @@ -2881,11 +2881,11 @@ gen12_enable_metric_set(struct i915_perf_stream *stream,
>>  	int ret;
>>
>>  	/*
>> -	 * Wa_1508761755:xehpsdv, dg2
>> +	 * Wa_1508761755
>>  	 * EU NOA signals behave incorrectly if EU clock gating is enabled.
>>  	 * Disable thread stall DOP gating and EU DOP gating.
>>  	 */
>> -	if (IS_XEHPSDV(i915) || IS_DG2(i915)) {
>> +	if (IS_DG2(i915)) {
>>  		intel_gt_mcr_multicast_write(uncore->gt, GEN8_ROW_CHICKEN,
>>  					     _MASKED_BIT_ENABLE(STALL_DOP_GATING_DISABLE));
>>  		intel_uncore_write(uncore, GEN7_ROW_CHICKEN2,
>> @@ -2911,7 +2911,7 @@ gen12_enable_metric_set(struct i915_perf_stream *stream,
>>  	/*
>>  	 * Initialize Super Queue Internal Cnt Register
>>  	 * Set PMON Enable in order to collect valid metrics.
>> -	 * Enable byets per clock reporting in OA for XEHPSDV onward.
>> +	 * Enable byets per clock reporting in OA.
>>  	 */
>>  	sqcnt1 = GEN12_SQCNT1_PMON_ENABLE |
>>  		 (HAS_OA_BPC_REPORTING(i915) ? GEN12_SQCNT1_OABPC : 0);
>> @@ -2971,10 +2971,9 @@ static void gen12_disable_metric_set(struct i915_perf_stream *stream)
>>  	u32 sqcnt1;
>>
>>  	/*
>> -	 * Wa_1508761755:xehpsdv, dg2
>> -	 * Enable thread stall DOP gating and EU DOP gating.
>> +	 * Wa_1508761755: Enable thread stall DOP gating and EU DOP gating.
>>  	 */
>> -	if (IS_XEHPSDV(i915) || IS_DG2(i915)) {
>> +	if (IS_DG2(i915)) {
>>  		intel_gt_mcr_multicast_write(uncore->gt, GEN8_ROW_CHICKEN,
>>  					     _MASKED_BIT_DISABLE(STALL_DOP_GATING_DISABLE));
>>  		intel_uncore_write(uncore, GEN7_ROW_CHICKEN2,
>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>> index e00557e1a57f..a120c17aafcc 100644
>> --- a/drivers/gpu/drm/i915/i915_reg.h
>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>> @@ -1750,7 +1750,6 @@
>>
>>  #define BXT_RP_STATE_CAP        _MMIO(0x138170)
>>  #define GEN9_RP_STATE_LIMITS	_MMIO(0x138148)
>> -#define XEHPSDV_RP_STATE_CAP	_MMIO(0x250014)
>>  #define PVC_RP_STATE_CAP	_MMIO(0x281014)
>>
>>  #define MTL_RP_STATE_CAP	_MMIO(0x138000)
>> @@ -5401,7 +5400,7 @@
>>  #define	    POWER_SETUP_I1_SHIFT		6	/* 10.6 fixed point format */
>>  #define	    POWER_SETUP_I1_DATA_MASK		REG_GENMASK(15, 0)
>>  #define GEN12_PCODE_READ_SAGV_BLOCK_TIME_US	0x23
>> -#define   XEHP_PCODE_FREQUENCY_CONFIG		0x6e	/* xehpsdv, pvc */
>> +#define   XEHP_PCODE_FREQUENCY_CONFIG		0x6e	/* pvc */
>>  /* XEHP_PCODE_FREQUENCY_CONFIG sub-commands (param1) */
>>  #define     PCODE_MBOX_FC_SC_READ_FUSED_P0	0x0
>>  #define     PCODE_MBOX_FC_SC_READ_FUSED_PN	0x1
>> diff --git a/drivers/gpu/drm/i915/intel_clock_gating.c b/drivers/gpu/drm/i915/intel_clock_gating.c
>> index 9c21ce69bd98..93ab44190a47 100644
>> --- a/drivers/gpu/drm/i915/intel_clock_gating.c
>> +++ b/drivers/gpu/drm/i915/intel_clock_gating.c
>> @@ -349,13 +349,6 @@ static void gen8_set_l3sqc_credits(struct drm_i915_private *i915,
>>  	intel_uncore_write(&i915->uncore, GEN7_MISCCPCTL, misccpctl);
>>  }
>>
>> -static void xehpsdv_init_clock_gating(struct drm_i915_private *i915)
>> -{
>> -	/* Wa_22010146351:xehpsdv */
>> -	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A0, STEP_B0))
>> -		intel_uncore_rmw(&i915->uncore, XEHP_CLOCK_GATE_DIS, 0, SGR_DIS);
>> -}
>> -
>>  static void dg2_init_clock_gating(struct drm_i915_private *i915)
>>  {
>>  	/* Wa_22010954014:dg2 */
>> @@ -764,7 +757,6 @@ static const struct drm_i915_clock_gating_funcs platform##_clock_gating_funcs =
>>
>>  CG_FUNCS(pvc);
>>  CG_FUNCS(dg2);
>> -CG_FUNCS(xehpsdv);
>>  CG_FUNCS(cfl);
>>  CG_FUNCS(skl);
>>  CG_FUNCS(kbl);
>> @@ -801,8 +793,6 @@ void intel_clock_gating_hooks_init(struct drm_i915_private *i915)
>>  		i915->clock_gating_funcs = &pvc_clock_gating_funcs;
>>  	else if (IS_DG2(i915))
>>  		i915->clock_gating_funcs = &dg2_clock_gating_funcs;
>> -	else if (IS_XEHPSDV(i915))
>> -		i915->clock_gating_funcs = &xehpsdv_clock_gating_funcs;
>>  	else if (IS_COFFEELAKE(i915) || IS_COMETLAKE(i915))
>>  		i915->clock_gating_funcs = &cfl_clock_gating_funcs;
>>  	else if (IS_SKYLAKE(i915))
>> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>> index 59bea1398c91..de28cbe758f7 100644
>> --- a/drivers/gpu/drm/i915/intel_device_info.c
>> +++ b/drivers/gpu/drm/i915/intel_device_info.c
>> @@ -70,7 +70,6 @@ static const char * const platform_names[] = {
>>  	PLATFORM_NAME(DG1),
>>  	PLATFORM_NAME(ALDERLAKE_S),
>>  	PLATFORM_NAME(ALDERLAKE_P),
>> -	PLATFORM_NAME(XEHPSDV),
>>  	PLATFORM_NAME(DG2),
>>  	PLATFORM_NAME(PONTEVECCHIO),
>>  	PLATFORM_NAME(METEORLAKE),
>> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
>> index eba2f0b919c8..2299327e59f0 100644
>> --- a/drivers/gpu/drm/i915/intel_device_info.h
>> +++ b/drivers/gpu/drm/i915/intel_device_info.h
>> @@ -87,7 +87,6 @@ enum intel_platform {
>>  	INTEL_DG1,
>>  	INTEL_ALDERLAKE_S,
>>  	INTEL_ALDERLAKE_P,
>> -	INTEL_XEHPSDV,
>>  	INTEL_DG2,
>>  	INTEL_PONTEVECCHIO,
>>  	INTEL_METEORLAKE,
>> diff --git a/drivers/gpu/drm/i915/intel_step.c b/drivers/gpu/drm/i915/intel_step.c
>> index b4162f1be765..d524bfe17c27 100644
>> --- a/drivers/gpu/drm/i915/intel_step.c
>> +++ b/drivers/gpu/drm/i915/intel_step.c
>> @@ -102,13 +102,6 @@ static const struct intel_step_info adlp_revids[] = {
>>  	[0xC] = { COMMON_GT_MEDIA_STEP(C0), .display_step = STEP_D0 },
>>  };
>>
>> -static const struct intel_step_info xehpsdv_revids[] = {
>> -	[0x0] = { COMMON_GT_MEDIA_STEP(A0) },
>> -	[0x1] = { COMMON_GT_MEDIA_STEP(A1) },
>> -	[0x4] = { COMMON_GT_MEDIA_STEP(B0) },
>> -	[0x8] = { COMMON_GT_MEDIA_STEP(C0) },
>> -};
>> -
>>  static const struct intel_step_info dg2_g10_revid_step_tbl[] = {
>>  	[0x0] = { COMMON_GT_MEDIA_STEP(A0), .display_step = STEP_A0 },
>>  	[0x1] = { COMMON_GT_MEDIA_STEP(A1), .display_step = STEP_A0 },
>> @@ -190,9 +183,6 @@ void intel_step_init(struct drm_i915_private *i915)
>>  	} else if (IS_DG2_G12(i915)) {
>>  		revids = dg2_g12_revid_step_tbl;
>>  		size = ARRAY_SIZE(dg2_g12_revid_step_tbl);
>> -	} else if (IS_XEHPSDV(i915)) {
>> -		revids = xehpsdv_revids;
>> -		size = ARRAY_SIZE(xehpsdv_revids);
>>  	} else if (IS_ALDERLAKE_P_N(i915)) {
>>  		revids = adlp_n_revids;
>>  		size = ARRAY_SIZE(adlp_n_revids);
>> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
>> index 76400e9c40f0..4f1e56187442 100644
>> --- a/drivers/gpu/drm/i915/intel_uncore.c
>> +++ b/drivers/gpu/drm/i915/intel_uncore.c
>> @@ -1536,17 +1536,12 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>>  	GEN_FW_RANGE(0x13200, 0x13fff, FORCEWAKE_MEDIA_VDBOX2), /*		\
>>  		0x13200 - 0x133ff: VD2 (DG2 only)				\
>>  		0x13400 - 0x13fff: reserved */					\
>> -	GEN_FW_RANGE(0x14000, 0x141ff, FORCEWAKE_MEDIA_VDBOX0), /* XEHPSDV only */	\
>> -	GEN_FW_RANGE(0x14200, 0x143ff, FORCEWAKE_MEDIA_VDBOX2), /* XEHPSDV only */	\
>> -	GEN_FW_RANGE(0x14400, 0x145ff, FORCEWAKE_MEDIA_VDBOX4), /* XEHPSDV only */	\
>> -	GEN_FW_RANGE(0x14600, 0x147ff, FORCEWAKE_MEDIA_VDBOX6), /* XEHPSDV only */	\
>>  	GEN_FW_RANGE(0x14800, 0x14fff, FORCEWAKE_RENDER),			\
>>  	GEN_FW_RANGE(0x15000, 0x16dff, FORCEWAKE_GT), /*			\
>>  		0x15000 - 0x15fff: gt (DG2 only)				\
>>  		0x16000 - 0x16dff: reserved */					\
>>  	GEN_FW_RANGE(0x16e00, 0x1ffff, FORCEWAKE_RENDER),			\
>> -	GEN_FW_RANGE(0x20000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
>> -		0x20000 - 0x20fff: VD0 (XEHPSDV only)				\
>> +	GEN_FW_RANGE(0x21000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
>>  		0x21000 - 0x21fff: reserved */					\
>>  	GEN_FW_RANGE(0x22000, 0x23fff, FORCEWAKE_GT),				\
>>  	GEN_FW_RANGE(0x24000, 0x2417f, 0), /*					\
>> @@ -1627,10 +1622,6 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>>  		0x1f6e00 - 0x1f7fff: reserved */				\
>>  	GEN_FW_RANGE(0x1f8000, 0x1fa0ff, FORCEWAKE_MEDIA_VEBOX3),
>>
>> -static const struct intel_forcewake_range __xehp_fw_ranges[] = {
>> -	XEHP_FWRANGES(FORCEWAKE_GT)
>> -};
>> -
>>  static const struct intel_forcewake_range __dg2_fw_ranges[] = {
>>  	XEHP_FWRANGES(FORCEWAKE_RENDER)
>>  };
>> @@ -2584,10 +2575,6 @@ static int uncore_forcewake_init(struct intel_uncore *uncore)
>>  		ASSIGN_FW_DOMAINS_TABLE(uncore, __dg2_fw_ranges);
>>  		ASSIGN_SHADOW_TABLE(uncore, dg2_shadowed_regs);
>>  		ASSIGN_WRITE_MMIO_VFUNCS(uncore, fwtable);
>> -	} else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50)) {
>> -		ASSIGN_FW_DOMAINS_TABLE(uncore, __xehp_fw_ranges);
>> -		ASSIGN_SHADOW_TABLE(uncore, gen12_shadowed_regs);
>> -		ASSIGN_WRITE_MMIO_VFUNCS(uncore, fwtable);
>>  	} else if (GRAPHICS_VER(i915) >= 12) {
>>  		ASSIGN_FW_DOMAINS_TABLE(uncore, __gen12_fw_ranges);
>>  		ASSIGN_SHADOW_TABLE(uncore, gen12_shadowed_regs);
>> diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
>> index 4f98aa8a861e..502bcadc5f39 100644
>> --- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
>> +++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
>> @@ -119,7 +119,6 @@ int intel_uncore_mock_selftests(void)
>>  		{ __gen9_fw_ranges, ARRAY_SIZE(__gen9_fw_ranges), true },
>>  		{ __gen11_fw_ranges, ARRAY_SIZE(__gen11_fw_ranges), true },
>>  		{ __gen12_fw_ranges, ARRAY_SIZE(__gen12_fw_ranges), true },
>> -		{ __xehp_fw_ranges, ARRAY_SIZE(__xehp_fw_ranges), true },
>>  		{ __pvc_fw_ranges, ARRAY_SIZE(__pvc_fw_ranges), true },
>>  		{ __mtl_fw_ranges, ARRAY_SIZE(__mtl_fw_ranges), true },
>>  		{ __xelpmp_fw_ranges, ARRAY_SIZE(__xelpmp_fw_ranges), true },
>> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>> index fef969112b1d..a7e7ec3b5db9 100644
>> --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>> +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>> @@ -85,7 +85,6 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
>>  #define IS_DG1(dev_priv)        IS_PLATFORM(dev_priv, XE_DG1)
>>  #define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_S)
>>  #define IS_ALDERLAKE_P(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_P)
>> -#define IS_XEHPSDV(dev_priv) (dev_priv && 0)
>>  #define IS_DG2(dev_priv)	IS_PLATFORM(dev_priv, XE_DG2)
>>  #define IS_PONTEVECCHIO(dev_priv) IS_PLATFORM(dev_priv, XE_PVC)
>>  #define IS_METEORLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_METEORLAKE)
>> @@ -130,7 +129,6 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
>>  #define IS_DG2_GRAPHICS_STEP(xe, variant, first, last) \
>>  	((xe)->info.subplatform == XE_SUBPLATFORM_DG2_ ## variant && \
>>  	 IS_GRAPHICS_STEP(xe, first, last))
>> -#define IS_XEHPSDV_GRAPHICS_STEP(xe, first, last) (IS_XEHPSDV(xe) && IS_GRAPHICS_STEP(xe, first, last))
>>
>>  /* XXX: No basedie stepping support yet */
>>  #define IS_PVC_BD_STEP(xe, first, last) (!WARN_ON(1) && IS_PONTEVECCHIO(xe))
>> --
>> 2.43.0
>>
Matt Roper March 12, 2024, 10:58 p.m. UTC | #3
On Wed, Mar 06, 2024 at 11:36:40AM -0800, Lucas De Marchi wrote:
> PCI IDs for XEHPSDV were never added and platform always marked with
> force_probe. Drop what's not used and rename some places to either be
> xehp or dg2, depending on the platform/IP checks.
> 
> The registers not used anymore are also removed.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
> 
> Potential problem here that needs a deeper look, the changes in
> __gen12_fw_ranges. Some ranges had comments saying they were XEHPSDV so
> I removed them, but it needs to be double checked with spec and CI
> results.
> 
...
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index 76400e9c40f0..4f1e56187442 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -1536,17 +1536,12 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>  	GEN_FW_RANGE(0x13200, 0x13fff, FORCEWAKE_MEDIA_VDBOX2), /*		\
>  		0x13200 - 0x133ff: VD2 (DG2 only)				\
>  		0x13400 - 0x13fff: reserved */					\
> -	GEN_FW_RANGE(0x14000, 0x141ff, FORCEWAKE_MEDIA_VDBOX0), /* XEHPSDV only */	\
> -	GEN_FW_RANGE(0x14200, 0x143ff, FORCEWAKE_MEDIA_VDBOX2), /* XEHPSDV only */	\
> -	GEN_FW_RANGE(0x14400, 0x145ff, FORCEWAKE_MEDIA_VDBOX4), /* XEHPSDV only */	\
> -	GEN_FW_RANGE(0x14600, 0x147ff, FORCEWAKE_MEDIA_VDBOX6), /* XEHPSDV only */	\

We can't just remove ranges in the middle of the table since that breaks
the "watertight" table requirement that our selftests check for.  We
need to either roll the now-unused ranges into an adjacent range, or add
a new "reserved" range.

>  	GEN_FW_RANGE(0x14800, 0x14fff, FORCEWAKE_RENDER),			\
>  	GEN_FW_RANGE(0x15000, 0x16dff, FORCEWAKE_GT), /*			\
>  		0x15000 - 0x15fff: gt (DG2 only)				\
>  		0x16000 - 0x16dff: reserved */					\
>  	GEN_FW_RANGE(0x16e00, 0x1ffff, FORCEWAKE_RENDER),			\
> -	GEN_FW_RANGE(0x20000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
> -		0x20000 - 0x20fff: VD0 (XEHPSDV only)				\
> +	GEN_FW_RANGE(0x21000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
>  		0x21000 - 0x21fff: reserved */					\
>  	GEN_FW_RANGE(0x22000, 0x23fff, FORCEWAKE_GT),				\
>  	GEN_FW_RANGE(0x24000, 0x2417f, 0), /*					\
> @@ -1627,10 +1622,6 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>  		0x1f6e00 - 0x1f7fff: reserved */				\
>  	GEN_FW_RANGE(0x1f8000, 0x1fa0ff, FORCEWAKE_MEDIA_VEBOX3),
>  
> -static const struct intel_forcewake_range __xehp_fw_ranges[] = {
> -	XEHP_FWRANGES(FORCEWAKE_GT)
> -};
> -
>  static const struct intel_forcewake_range __dg2_fw_ranges[] = {
>  	XEHP_FWRANGES(FORCEWAKE_RENDER)

We can drop the macro here now and just make this a normal table like
everything else.


Matt
Lucas De Marchi March 12, 2024, 11:07 p.m. UTC | #4
On Tue, Mar 12, 2024 at 03:58:19PM -0700, Matt Roper wrote:
>On Wed, Mar 06, 2024 at 11:36:40AM -0800, Lucas De Marchi wrote:
>> PCI IDs for XEHPSDV were never added and platform always marked with
>> force_probe. Drop what's not used and rename some places to either be
>> xehp or dg2, depending on the platform/IP checks.
>>
>> The registers not used anymore are also removed.
>>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> ---
>>
>> Potential problem here that needs a deeper look, the changes in
>> __gen12_fw_ranges. Some ranges had comments saying they were XEHPSDV so
>> I removed them, but it needs to be double checked with spec and CI
>> results.
>>
>...
>> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
>> index 76400e9c40f0..4f1e56187442 100644
>> --- a/drivers/gpu/drm/i915/intel_uncore.c
>> +++ b/drivers/gpu/drm/i915/intel_uncore.c
>> @@ -1536,17 +1536,12 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>>  	GEN_FW_RANGE(0x13200, 0x13fff, FORCEWAKE_MEDIA_VDBOX2), /*		\
>>  		0x13200 - 0x133ff: VD2 (DG2 only)				\
>>  		0x13400 - 0x13fff: reserved */					\
>> -	GEN_FW_RANGE(0x14000, 0x141ff, FORCEWAKE_MEDIA_VDBOX0), /* XEHPSDV only */	\
>> -	GEN_FW_RANGE(0x14200, 0x143ff, FORCEWAKE_MEDIA_VDBOX2), /* XEHPSDV only */	\
>> -	GEN_FW_RANGE(0x14400, 0x145ff, FORCEWAKE_MEDIA_VDBOX4), /* XEHPSDV only */	\
>> -	GEN_FW_RANGE(0x14600, 0x147ff, FORCEWAKE_MEDIA_VDBOX6), /* XEHPSDV only */	\
>
>We can't just remove ranges in the middle of the table since that breaks
>the "watertight" table requirement that our selftests check for.  We
>need to either roll the now-unused ranges into an adjacent range, or add
>a new "reserved" range.

see 23n224gu57lfd4wbroqflav4pih6usrkf53q2ve4ntekhueylb@eqigxyktri6b


>
>>  	GEN_FW_RANGE(0x14800, 0x14fff, FORCEWAKE_RENDER),			\
>>  	GEN_FW_RANGE(0x15000, 0x16dff, FORCEWAKE_GT), /*			\
>>  		0x15000 - 0x15fff: gt (DG2 only)				\
>>  		0x16000 - 0x16dff: reserved */					\
>>  	GEN_FW_RANGE(0x16e00, 0x1ffff, FORCEWAKE_RENDER),			\
>> -	GEN_FW_RANGE(0x20000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
>> -		0x20000 - 0x20fff: VD0 (XEHPSDV only)				\
>> +	GEN_FW_RANGE(0x21000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
>>  		0x21000 - 0x21fff: reserved */					\
>>  	GEN_FW_RANGE(0x22000, 0x23fff, FORCEWAKE_GT),				\
>>  	GEN_FW_RANGE(0x24000, 0x2417f, 0), /*					\
>> @@ -1627,10 +1622,6 @@ static const struct intel_forcewake_range __gen12_fw_ranges[] = {
>>  		0x1f6e00 - 0x1f7fff: reserved */				\
>>  	GEN_FW_RANGE(0x1f8000, 0x1fa0ff, FORCEWAKE_MEDIA_VEBOX3),
>>
>> -static const struct intel_forcewake_range __xehp_fw_ranges[] = {
>> -	XEHP_FWRANGES(FORCEWAKE_GT)
>> -};
>> -
>>  static const struct intel_forcewake_range __dg2_fw_ranges[] = {
>>  	XEHP_FWRANGES(FORCEWAKE_RENDER)
>
>We can drop the macro here now and just make this a normal table like
>everything else.

will add that in v2 too, thanks

Lucas De Marchi
diff mbox series

Patch

diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
index 8a8fcd4fceac..bc26dc126104 100644
--- a/Documentation/gpu/rfc/i915_vm_bind.h
+++ b/Documentation/gpu/rfc/i915_vm_bind.h
@@ -93,12 +93,11 @@  struct drm_i915_gem_timeline_fence {
  * Multiple VA mappings can be created to the same section of the object
  * (aliasing).
  *
- * The @start, @offset and @length must be 4K page aligned. However the DG2
- * and XEHPSDV has 64K page size for device local memory and has compact page
- * table. On those platforms, for binding device local-memory objects, the
- * @start, @offset and @length must be 64K aligned. Also, UMDs should not mix
- * the local memory 64K page and the system memory 4K page bindings in the same
- * 2M range.
+ * The @start, @offset and @length must be 4K page aligned. However the DG2 has
+ * 64K page size for device local memory and has compact page table. On that
+ * platform, for binding device local-memory objects, the @start, @offset and
+ * @length must be 64K aligned. Also, UMDs should not mix the local memory 64K
+ * page and the system memory 4K page bindings in the same 2M range.
  *
  * Error code -EINVAL will be returned if @start, @offset and @length are not
  * properly aligned. In version 1 (See I915_PARAM_VM_BIND_VERSION), error code
diff --git a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
index fa46d2308b0e..1bd0e041e15c 100644
--- a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
+++ b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
@@ -500,11 +500,11 @@  gen8_ppgtt_insert_pte(struct i915_ppgtt *ppgtt,
 }
 
 static void
-xehpsdv_ppgtt_insert_huge(struct i915_address_space *vm,
-			  struct i915_vma_resource *vma_res,
-			  struct sgt_dma *iter,
-			  unsigned int pat_index,
-			  u32 flags)
+xehp_ppgtt_insert_huge(struct i915_address_space *vm,
+		       struct i915_vma_resource *vma_res,
+		       struct sgt_dma *iter,
+		       unsigned int pat_index,
+		       u32 flags)
 {
 	const gen8_pte_t pte_encode = vm->pte_encode(0, pat_index, flags);
 	unsigned int rem = sg_dma_len(iter->sg);
@@ -741,8 +741,8 @@  static void gen8_ppgtt_insert(struct i915_address_space *vm,
 	struct sgt_dma iter = sgt_dma(vma_res);
 
 	if (vma_res->bi.page_sizes.sg > I915_GTT_PAGE_SIZE) {
-		if (GRAPHICS_VER_FULL(vm->i915) >= IP_VER(12, 50))
-			xehpsdv_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
+		if (GRAPHICS_VER_FULL(vm->i915) >= IP_VER(12, 55))
+			xehp_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
 		else
 			gen8_ppgtt_insert_huge(vm, vma_res, &iter, pat_index, flags);
 	} else  {
@@ -781,11 +781,11 @@  static void gen8_ppgtt_insert_entry(struct i915_address_space *vm,
 	drm_clflush_virt_range(&vaddr[gen8_pd_index(idx, 0)], sizeof(*vaddr));
 }
 
-static void __xehpsdv_ppgtt_insert_entry_lm(struct i915_address_space *vm,
-					    dma_addr_t addr,
-					    u64 offset,
-					    unsigned int pat_index,
-					    u32 flags)
+static void xehp_ppgtt_insert_entry_lm(struct i915_address_space *vm,
+				       dma_addr_t addr,
+				       u64 offset,
+				       unsigned int pat_index,
+				       u32 flags)
 {
 	u64 idx = offset >> GEN8_PTE_SHIFT;
 	struct i915_page_directory * const pdp =
@@ -810,15 +810,15 @@  static void __xehpsdv_ppgtt_insert_entry_lm(struct i915_address_space *vm,
 	vaddr[gen8_pd_index(idx, 0) / 16] = vm->pte_encode(addr, pat_index, flags);
 }
 
-static void xehpsdv_ppgtt_insert_entry(struct i915_address_space *vm,
-				       dma_addr_t addr,
-				       u64 offset,
-				       unsigned int pat_index,
-				       u32 flags)
+static void xehp_ppgtt_insert_entry(struct i915_address_space *vm,
+				    dma_addr_t addr,
+				    u64 offset,
+				    unsigned int pat_index,
+				    u32 flags)
 {
 	if (flags & PTE_LM)
-		return __xehpsdv_ppgtt_insert_entry_lm(vm, addr, offset,
-						       pat_index, flags);
+		return xehp_ppgtt_insert_entry_lm(vm, addr, offset,
+						  pat_index, flags);
 
 	return gen8_ppgtt_insert_entry(vm, addr, offset, pat_index, flags);
 }
@@ -1042,7 +1042,7 @@  struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt,
 	ppgtt->vm.bind_async_flags = I915_VMA_LOCAL_BIND;
 	ppgtt->vm.insert_entries = gen8_ppgtt_insert;
 	if (HAS_64K_PAGES(gt->i915))
-		ppgtt->vm.insert_page = xehpsdv_ppgtt_insert_entry;
+		ppgtt->vm.insert_page = xehp_ppgtt_insert_entry;
 	else
 		ppgtt->vm.insert_page = gen8_ppgtt_insert_entry;
 	ppgtt->vm.allocate_va_range = gen8_ppgtt_alloc;
diff --git a/drivers/gpu/drm/i915/gt/intel_gsc.c b/drivers/gpu/drm/i915/gt/intel_gsc.c
index 6d440de8ba01..1e925c75fb08 100644
--- a/drivers/gpu/drm/i915/gt/intel_gsc.c
+++ b/drivers/gpu/drm/i915/gt/intel_gsc.c
@@ -103,19 +103,6 @@  static const struct gsc_def gsc_def_dg1[] = {
 	}
 };
 
-static const struct gsc_def gsc_def_xehpsdv[] = {
-	{
-		/* HECI1 not enabled on the device. */
-	},
-	{
-		.name = "mei-gscfi",
-		.bar = DG1_GSC_HECI2_BASE,
-		.bar_size = GSC_BAR_LENGTH,
-		.use_polling = true,
-		.slow_firmware = true,
-	}
-};
-
 static const struct gsc_def gsc_def_dg2[] = {
 	{
 		.name = "mei-gsc",
@@ -188,8 +175,6 @@  static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc,
 
 	if (IS_DG1(i915)) {
 		def = &gsc_def_dg1[intf_id];
-	} else if (IS_XEHPSDV(i915)) {
-		def = &gsc_def_xehpsdv[intf_id];
 	} else if (IS_DG2(i915)) {
 		def = &gsc_def_dg2[intf_id];
 	} else {
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
index e253750a51c5..5a2bd8de155a 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_mcr.c
@@ -57,24 +57,12 @@  static const struct intel_mmio_range icl_l3bank_steering_table[] = {
  * are of a "GAM" subclass that has special rules.  Thus we use a separate
  * GAM table farther down for those.
  */
-static const struct intel_mmio_range xehpsdv_mslice_steering_table[] = {
+static const struct intel_mmio_range dg2_mslice_steering_table[] = {
 	{ 0x00DD00, 0x00DDFF },
 	{ 0x00E900, 0x00FFFF }, /* 0xEA00 - OxEFFF is unused */
 	{},
 };
 
-static const struct intel_mmio_range xehpsdv_gam_steering_table[] = {
-	{ 0x004000, 0x004AFF },
-	{ 0x00C800, 0x00CFFF },
-	{},
-};
-
-static const struct intel_mmio_range xehpsdv_lncf_steering_table[] = {
-	{ 0x00B000, 0x00B0FF },
-	{ 0x00D800, 0x00D8FF },
-	{},
-};
-
 static const struct intel_mmio_range dg2_lncf_steering_table[] = {
 	{ 0x00B000, 0x00B0FF },
 	{ 0x00D880, 0x00D8FF },
@@ -188,17 +176,13 @@  void intel_gt_mcr_init(struct intel_gt *gt)
 	} else if (IS_PONTEVECCHIO(i915)) {
 		gt->steering_table[INSTANCE0] = pvc_instance0_steering_table;
 	} else if (IS_DG2(i915)) {
-		gt->steering_table[MSLICE] = xehpsdv_mslice_steering_table;
+		gt->steering_table[MSLICE] = dg2_mslice_steering_table;
 		gt->steering_table[LNCF] = dg2_lncf_steering_table;
 		/*
 		 * No need to hook up the GAM table since it has a dedicated
 		 * steering control register on DG2 and can use implicit
 		 * steering.
 		 */
-	} else if (IS_XEHPSDV(i915)) {
-		gt->steering_table[MSLICE] = xehpsdv_mslice_steering_table;
-		gt->steering_table[LNCF] = xehpsdv_lncf_steering_table;
-		gt->steering_table[GAM] = xehpsdv_gam_steering_table;
 	} else if (GRAPHICS_VER(i915) >= 11 &&
 		   GRAPHICS_VER_FULL(i915) < IP_VER(12, 50)) {
 		gt->steering_table[L3BANK] = icl_l3bank_steering_table;
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
index 50962cfd1353..919c07903767 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
@@ -718,44 +718,11 @@ 
 
 #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 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 GEN11_SLICE_UNIT_LEVEL_CLKGATE		_MMIO(0x94d4)
 #define XEHP_SLICE_UNIT_LEVEL_CLKGATE		MCR_REG(0x94d4)
 #define   SARBUNIT_CLKGATE_DIS			(1 << 5)
@@ -765,9 +732,6 @@ 
 #define   L3_CLKGATE_DIS			REG_BIT(16)
 #define   L3_CR2X_CLKGATE_DIS			REG_BIT(17)
 
-#define SCCGCTL94DC				MCR_REG(0x94dc)
-#define   CG3DDISURB				REG_BIT(14)
-
 #define UNSLICE_UNIT_LEVEL_CLKGATE2		_MMIO(0x94e4)
 #define   VSUNIT_CLKGATE_DIS_TGL		REG_BIT(19)
 #define   PSDUNIT_CLKGATE_DIS			REG_BIT(5)
@@ -1046,9 +1010,6 @@ 
 #define XEHP_L3SQCREG5				MCR_REG(0xb158)
 #define   L3_PWM_TIMER_INIT_VAL_MASK		REG_GENMASK(9, 0)
 
-#define MLTICTXCTL				MCR_REG(0xb170)
-#define   TDONRENDER				REG_BIT(2)
-
 #define XEHP_L3SCQREG7				MCR_REG(0xb188)
 #define   BLEND_FILL_CACHING_OPT_DIS		REG_BIT(3)
 
@@ -1057,9 +1018,6 @@ 
 #define   SCRUB_RATE_PER_BANK_MASK		REG_GENMASK(2, 0)
 #define   SCRUB_RATE_4B_PER_CLK			REG_FIELD_PREP(SCRUB_RATE_PER_BANK_MASK, 0x6)
 
-#define L3SQCREG1_CCS0				MCR_REG(0xb200)
-#define   FLUSHALLNONCOH			REG_BIT(5)
-
 #define GEN11_GLBLINVL				_MMIO(0xb404)
 #define   GEN11_BANK_HASH_ADDR_EXCL_MASK	(0x7f << 5)
 #define   GEN11_BANK_HASH_ADDR_EXCL_BIT0	(1 << 5)
@@ -1109,7 +1067,6 @@ 
 #define XEHP_COMPCTX_TLB_INV_CR			MCR_REG(0xcf04)
 #define XELPMP_GSC_TLB_INV_CR			_MMIO(0xcf04)   /* media GT only */
 
-#define XEHP_MERT_MOD_CTRL			MCR_REG(0xcf28)
 #define RENDER_MOD_CTRL				MCR_REG(0xcf2c)
 #define COMP_MOD_CTRL				MCR_REG(0xcf30)
 #define XELPMP_GSC_MOD_CTRL			_MMIO(0xcf30)	/* media GT only */
@@ -1185,7 +1142,6 @@ 
 #define EU_PERF_CNTL4				PERF_REG(0xe45c)
 
 #define GEN9_ROW_CHICKEN4			MCR_REG(0xe48c)
-#define   GEN12_DISABLE_GRF_CLEAR		REG_BIT(13)
 #define   XEHP_DIS_BBL_SYSPIPE			REG_BIT(11)
 #define   GEN12_DISABLE_TDL_PUSH		REG_BIT(9)
 #define   GEN11_DIS_PICK_2ND_EU			REG_BIT(7)
@@ -1202,7 +1158,6 @@ 
 #define   FLOW_CONTROL_ENABLE			REG_BIT(15)
 #define   UGM_BACKUP_MODE			REG_BIT(13)
 #define   MDQ_ARBITRATION_MODE			REG_BIT(12)
-#define   SYSTOLIC_DOP_CLOCK_GATING_DIS		REG_BIT(10)
 #define   PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE	REG_BIT(8)
 #define   STALL_DOP_GATING_DISABLE		REG_BIT(5)
 #define   THROTTLE_12_5				REG_GENMASK(4, 2)
@@ -1679,11 +1634,6 @@ 
 
 #define GEN12_SFC_DONE(n)			_MMIO(0x1cc000 + (n) * 0x1000)
 
-#define GT0_PACKAGE_ENERGY_STATUS		_MMIO(0x250004)
-#define GT0_PACKAGE_RAPL_LIMIT			_MMIO(0x250008)
-#define GT0_PACKAGE_POWER_SKU_UNIT		_MMIO(0x250068)
-#define GT0_PLATFORM_ENERGY_STATUS		_MMIO(0x25006c)
-
 /*
  * Standalone Media's non-engine GT registers are located at their regular GT
  * offsets plus 0x380000.  This extra offset is stored inside the intel_uncore
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
index eca4a6a65556..d7784650e4d9 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
@@ -573,7 +573,6 @@  static ssize_t media_freq_factor_show(struct kobject *kobj,
 				      char *buff)
 {
 	struct intel_gt *gt = intel_gt_sysfs_get_drvdata(kobj, attr->attr.name);
-	struct intel_guc_slpc *slpc = &gt_to_guc(gt)->slpc;
 	intel_wakeref_t wakeref;
 	u32 mode;
 
@@ -581,20 +580,12 @@  static ssize_t media_freq_factor_show(struct kobject *kobj,
 	 * Retrieve media_ratio_mode from GEN6_RPNSWREQ bit 13 set by
 	 * GuC. GEN6_RPNSWREQ:13 value 0 represents 1:2 and 1 represents 1:1
 	 */
-	if (IS_XEHPSDV(gt->i915) &&
-	    slpc->media_ratio_mode == SLPC_MEDIA_RATIO_MODE_DYNAMIC_CONTROL) {
-		/*
-		 * For XEHPSDV dynamic mode GEN6_RPNSWREQ:13 does not contain
-		 * the media_ratio_mode, just return the cached media ratio
-		 */
-		mode = slpc->media_ratio_mode;
-	} else {
-		with_intel_runtime_pm(gt->uncore->rpm, wakeref)
-			mode = intel_uncore_read(gt->uncore, GEN6_RPNSWREQ);
-		mode = REG_FIELD_GET(GEN12_MEDIA_FREQ_RATIO, mode) ?
-			SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_ONE :
-			SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_TWO;
-	}
+	with_intel_runtime_pm(gt->uncore->rpm, wakeref)
+		mode = intel_uncore_read(gt->uncore, GEN6_RPNSWREQ);
+
+	mode = REG_FIELD_GET(GEN12_MEDIA_FREQ_RATIO, mode) ?
+		SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_ONE :
+		SLPC_MEDIA_RATIO_MODE_FIXED_ONE_TO_TWO;
 
 	return sysfs_emit(buff, "%u\n", media_ratio_mode_to_factor(mode));
 }
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 7c367ba8d9dc..7f1b00cb9924 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -546,47 +546,6 @@  static const u8 gen12_rcs_offsets[] = {
 	END
 };
 
-static const u8 xehp_rcs_offsets[] = {
-	NOP(1),
-	LRI(13, POSTED),
-	REG16(0x244),
-	REG(0x034),
-	REG(0x030),
-	REG(0x038),
-	REG(0x03c),
-	REG(0x168),
-	REG(0x140),
-	REG(0x110),
-	REG(0x1c0),
-	REG(0x1c4),
-	REG(0x1c8),
-	REG(0x180),
-	REG16(0x2b4),
-
-	NOP(5),
-	LRI(9, POSTED),
-	REG16(0x3a8),
-	REG16(0x28c),
-	REG16(0x288),
-	REG16(0x284),
-	REG16(0x280),
-	REG16(0x27c),
-	REG16(0x278),
-	REG16(0x274),
-	REG16(0x270),
-
-	LRI(3, POSTED),
-	REG(0x1b0),
-	REG16(0x5a8),
-	REG16(0x5ac),
-
-	NOP(6),
-	LRI(1, 0),
-	REG(0x0c8),
-
-	END
-};
-
 static const u8 dg2_rcs_offsets[] = {
 	NOP(1),
 	LRI(15, POSTED),
@@ -695,8 +654,6 @@  static const u8 *reg_offsets(const struct intel_engine_cs *engine)
 			return mtl_rcs_offsets;
 		else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 55))
 			return dg2_rcs_offsets;
-		else if (GRAPHICS_VER_FULL(engine->i915) >= IP_VER(12, 50))
-			return xehp_rcs_offsets;
 		else if (GRAPHICS_VER(engine->i915) >= 12)
 			return gen12_rcs_offsets;
 		else if (GRAPHICS_VER(engine->i915) >= 11)
diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migrate.c
index 576e5ef0289b..86ba2f2e485c 100644
--- a/drivers/gpu/drm/i915/gt/intel_migrate.c
+++ b/drivers/gpu/drm/i915/gt/intel_migrate.c
@@ -35,9 +35,9 @@  static bool engine_supports_migration(struct intel_engine_cs *engine)
 	return true;
 }
 
-static void xehpsdv_toggle_pdes(struct i915_address_space *vm,
-				struct i915_page_table *pt,
-				void *data)
+static void xehp_toggle_pdes(struct i915_address_space *vm,
+			     struct i915_page_table *pt,
+			     void *data)
 {
 	struct insert_pte_data *d = data;
 
@@ -52,9 +52,9 @@  static void xehpsdv_toggle_pdes(struct i915_address_space *vm,
 	d->offset += SZ_2M;
 }
 
-static void xehpsdv_insert_pte(struct i915_address_space *vm,
-			       struct i915_page_table *pt,
-			       void *data)
+static void xehp_insert_pte(struct i915_address_space *vm,
+			    struct i915_page_table *pt,
+			    void *data)
 {
 	struct insert_pte_data *d = data;
 
@@ -120,7 +120,7 @@  static struct i915_address_space *migrate_vm(struct intel_gt *gt)
 	 * 512 entry layout using 4K GTT pages. The other two windows just map
 	 * lmem pages and must use the new compact 32 entry layout using 64K GTT
 	 * pages, which ensures we can address any lmem object that the user
-	 * throws at us. We then also use the xehpsdv_toggle_pdes as a way of
+	 * throws at us. We then also use the xehp_toggle_pdes as a way of
 	 * just toggling the PDE bit(GEN12_PDE_64K) for us, to enable the
 	 * compact layout for each of these page-tables, that fall within the
 	 * [CHUNK_SIZE, 3 * CHUNK_SIZE) range.
@@ -209,12 +209,12 @@  static struct i915_address_space *migrate_vm(struct intel_gt *gt)
 		/* Now allow the GPU to rewrite the PTE via its own ppGTT */
 		if (HAS_64K_PAGES(gt->i915)) {
 			vm->vm.foreach(&vm->vm, base, d.offset - base,
-				       xehpsdv_insert_pte, &d);
+				       xehp_insert_pte, &d);
 			d.offset = base + CHUNK_SZ;
 			vm->vm.foreach(&vm->vm,
 				       d.offset,
 				       2 * CHUNK_SZ,
-				       xehpsdv_toggle_pdes, &d);
+				       xehp_toggle_pdes, &d);
 		} else {
 			vm->vm.foreach(&vm->vm, base, d.offset - base,
 				       insert_pte, &d);
diff --git a/drivers/gpu/drm/i915/gt/intel_mocs.c b/drivers/gpu/drm/i915/gt/intel_mocs.c
index 25c1023eb5f9..c931c56945bd 100644
--- a/drivers/gpu/drm/i915/gt/intel_mocs.c
+++ b/drivers/gpu/drm/i915/gt/intel_mocs.c
@@ -367,31 +367,6 @@  static const struct drm_i915_mocs_entry gen12_mocs_table[] = {
 		   L3_3_WB),
 };
 
-static const struct drm_i915_mocs_entry xehpsdv_mocs_table[] = {
-	/* wa_1608975824 */
-	MOCS_ENTRY(0, 0, L3_3_WB | L3_LKUP(1)),
-
-	/* UC - Coherent; GO:L3 */
-	MOCS_ENTRY(1, 0, L3_1_UC | L3_LKUP(1)),
-	/* UC - Coherent; GO:Memory */
-	MOCS_ENTRY(2, 0, L3_1_UC | L3_GLBGO(1) | L3_LKUP(1)),
-	/* UC - Non-Coherent; GO:Memory */
-	MOCS_ENTRY(3, 0, L3_1_UC | L3_GLBGO(1)),
-	/* UC - Non-Coherent; GO:L3 */
-	MOCS_ENTRY(4, 0, L3_1_UC),
-
-	/* WB */
-	MOCS_ENTRY(5, 0, L3_3_WB | L3_LKUP(1)),
-
-	/* HW Reserved - SW program but never use. */
-	MOCS_ENTRY(48, 0, L3_3_WB | L3_LKUP(1)),
-	MOCS_ENTRY(49, 0, L3_1_UC | L3_LKUP(1)),
-	MOCS_ENTRY(60, 0, L3_1_UC),
-	MOCS_ENTRY(61, 0, L3_1_UC),
-	MOCS_ENTRY(62, 0, L3_1_UC),
-	MOCS_ENTRY(63, 0, L3_1_UC),
-};
-
 static const struct drm_i915_mocs_entry dg2_mocs_table[] = {
 	/* UC - Coherent; GO:L3 */
 	MOCS_ENTRY(0, 0, L3_1_UC | L3_LKUP(1)),
@@ -514,12 +489,6 @@  static unsigned int get_mocs_settings(struct drm_i915_private *i915,
 		table->uc_index = 1;
 		table->n_entries = GEN9_NUM_MOCS_ENTRIES;
 		table->unused_entries_index = 3;
-	} else if (IS_XEHPSDV(i915)) {
-		table->size = ARRAY_SIZE(xehpsdv_mocs_table);
-		table->table = xehpsdv_mocs_table;
-		table->uc_index = 2;
-		table->n_entries = GEN9_NUM_MOCS_ENTRIES;
-		table->unused_entries_index = 5;
 	} else if (IS_DG1(i915)) {
 		table->size = ARRAY_SIZE(dg1_mocs_table);
 		table->table = dg1_mocs_table;
diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c
index 9c6812257ac2..2a6a8134782d 100644
--- a/drivers/gpu/drm/i915/gt/intel_rps.c
+++ b/drivers/gpu/drm/i915/gt/intel_rps.c
@@ -1088,8 +1088,6 @@  static u32 intel_rps_read_state_cap(struct intel_rps *rps)
 
 	if (IS_PONTEVECCHIO(i915))
 		return intel_uncore_read(uncore, PVC_RP_STATE_CAP);
-	else if (IS_XEHPSDV(i915))
-		return intel_uncore_read(uncore, XEHPSDV_RP_STATE_CAP);
 	else if (IS_GEN9_LP(i915))
 		return intel_uncore_read(uncore, BXT_RP_STATE_CAP);
 	else
diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index 7f812409c30a..33d543d9bf44 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -922,8 +922,6 @@  __intel_engine_init_ctx_wa(struct intel_engine_cs *engine,
 		; /* noop; none at this time */
 	else if (IS_DG2(i915))
 		dg2_ctx_workarounds_init(engine, wal);
-	else if (IS_XEHPSDV(i915))
-		; /* noop; none at this time */
 	else if (IS_DG1(i915))
 		dg1_ctx_workarounds_init(engine, wal);
 	else if (GRAPHICS_VER(i915) == 12)
@@ -1350,9 +1348,6 @@  xehp_init_mcr(struct intel_gt *gt, struct i915_wa_list *wal)
 		gt->steering_table[MSLICE] = NULL;
 	}
 
-	if (IS_XEHPSDV(gt->i915) && slice_mask & BIT(0))
-		gt->steering_table[GAM] = NULL;
-
 	slice = __ffs(slice_mask);
 	subslice = intel_sseu_find_first_xehp_dss(sseu, GEN_DSS_PER_GSLICE, slice) %
 		GEN_DSS_PER_GSLICE;
@@ -1519,76 +1514,6 @@  dg1_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
 	wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE2, VSUNIT_CLKGATE_DIS_TGL);
 }
 
-static void
-xehpsdv_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
-{
-	struct drm_i915_private *i915 = gt->i915;
-
-	xehp_init_mcr(gt, wal);
-
-	/* Wa_1409757795:xehpsdv */
-	wa_mcr_write_or(wal, SCCGCTL94DC, CG3DDISURB);
-
-	/* Wa_18011725039:xehpsdv */
-	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A1, STEP_B0)) {
-		wa_mcr_masked_dis(wal, MLTICTXCTL, TDONRENDER);
-		wa_mcr_write_or(wal, L3SQCREG1_CCS0, FLUSHALLNONCOH);
-	}
-
-	/* Wa_16011155590:xehpsdv */
-	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A0, STEP_B0))
-		wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE,
-			    TSGUNIT_CLKGATE_DIS);
-
-	/* Wa_14011780169:xehpsdv */
-	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_B0, STEP_FOREVER)) {
-		wa_write_or(wal, UNSLCGCTL9440, GAMTLBOACS_CLKGATE_DIS |
-			    GAMTLBVDBOX7_CLKGATE_DIS |
-			    GAMTLBVDBOX6_CLKGATE_DIS |
-			    GAMTLBVDBOX5_CLKGATE_DIS |
-			    GAMTLBVDBOX4_CLKGATE_DIS |
-			    GAMTLBVDBOX3_CLKGATE_DIS |
-			    GAMTLBVDBOX2_CLKGATE_DIS |
-			    GAMTLBVDBOX1_CLKGATE_DIS |
-			    GAMTLBVDBOX0_CLKGATE_DIS |
-			    GAMTLBKCR_CLKGATE_DIS |
-			    GAMTLBGUC_CLKGATE_DIS |
-			    GAMTLBBLT_CLKGATE_DIS);
-		wa_write_or(wal, UNSLCGCTL9444, GAMTLBGFXA0_CLKGATE_DIS |
-			    GAMTLBGFXA1_CLKGATE_DIS |
-			    GAMTLBCOMPA0_CLKGATE_DIS |
-			    GAMTLBCOMPA1_CLKGATE_DIS |
-			    GAMTLBCOMPB0_CLKGATE_DIS |
-			    GAMTLBCOMPB1_CLKGATE_DIS |
-			    GAMTLBCOMPC0_CLKGATE_DIS |
-			    GAMTLBCOMPC1_CLKGATE_DIS |
-			    GAMTLBCOMPD0_CLKGATE_DIS |
-			    GAMTLBCOMPD1_CLKGATE_DIS |
-			    GAMTLBMERT_CLKGATE_DIS   |
-			    GAMTLBVEBOX3_CLKGATE_DIS |
-			    GAMTLBVEBOX2_CLKGATE_DIS |
-			    GAMTLBVEBOX1_CLKGATE_DIS |
-			    GAMTLBVEBOX0_CLKGATE_DIS);
-	}
-
-	/* Wa_16012725990:xehpsdv */
-	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A1, STEP_FOREVER))
-		wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE, VFUNIT_CLKGATE_DIS);
-
-	/* Wa_14011060649:xehpsdv */
-	wa_14011060649(gt, wal);
-
-	/* Wa_14012362059:xehpsdv */
-	wa_mcr_write_or(wal, XEHP_MERT_MOD_CTRL, FORCE_MISS_FTLB);
-
-	/* Wa_14014368820:xehpsdv */
-	wa_mcr_write_or(wal, XEHP_GAMCNTRL_CTRL,
-			INVALIDATION_BROADCAST_MODE_DIS | GLOBAL_INVALIDATION_MODE);
-
-	/* Wa_14010670810:xehpsdv */
-	wa_mcr_write_or(wal, XEHP_L3NODEARBCFG, XEHP_LNESPARE);
-}
-
 static void
 dg2_gt_workarounds_init(struct intel_gt *gt, struct i915_wa_list *wal)
 {
@@ -1758,8 +1683,6 @@  gt_init_workarounds(struct intel_gt *gt, struct i915_wa_list *wal)
 		pvc_gt_workarounds_init(gt, wal);
 	else if (IS_DG2(i915))
 		dg2_gt_workarounds_init(gt, wal);
-	else if (IS_XEHPSDV(i915))
-		xehpsdv_gt_workarounds_init(gt, wal);
 	else if (IS_DG1(i915))
 		dg1_gt_workarounds_init(gt, wal);
 	else if (GRAPHICS_VER(i915) == 12)
@@ -2231,8 +2154,6 @@  void intel_engine_init_whitelist(struct intel_engine_cs *engine)
 		pvc_whitelist_build(engine);
 	else if (IS_DG2(i915))
 		dg2_whitelist_build(engine);
-	else if (IS_XEHPSDV(i915))
-		; /* none needed */
 	else if (GRAPHICS_VER(i915) == 12)
 		tgl_whitelist_build(engine);
 	else if (GRAPHICS_VER(i915) == 11)
@@ -2968,22 +2889,6 @@  general_render_compute_wa_init(struct intel_engine_cs *engine, struct i915_wa_li
 			   0 /* write-only, so skip validation */,
 			   true);
 	}
-
-	if (IS_XEHPSDV(i915)) {
-		/* Wa_1409954639 */
-		wa_mcr_masked_en(wal,
-				 GEN8_ROW_CHICKEN,
-				 SYSTOLIC_DOP_CLOCK_GATING_DIS);
-
-		/* Wa_1607196519 */
-		wa_mcr_masked_en(wal,
-				 GEN9_ROW_CHICKEN4,
-				 GEN12_DISABLE_GRF_CLEAR);
-
-		/* Wa_14010449647:xehpsdv */
-		wa_mcr_masked_en(wal, GEN8_HALF_SLICE_CHICKEN1,
-				 GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE);
-	}
 }
 
 static void
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 6dfe5d9456c6..28277321d9ca 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -51,8 +51,8 @@  static void uc_expand_default_options(struct intel_uc *uc)
 	/* Default: enable HuC authentication and GuC submission */
 	i915->params.enable_guc = ENABLE_GUC_LOAD_HUC | ENABLE_GUC_SUBMISSION;
 
-	/* XEHPSDV and PVC do not use HuC */
-	if (IS_XEHPSDV(i915) || IS_PONTEVECCHIO(i915))
+	/* PVC does not use HuC */
+	if (IS_PONTEVECCHIO(i915))
 		i915->params.enable_guc &= ~ENABLE_GUC_LOAD_HUC;
 }
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index e81b3b2858ac..dff056587459 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -544,7 +544,6 @@  IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define IS_DG1(i915)        IS_PLATFORM(i915, INTEL_DG1)
 #define IS_ALDERLAKE_S(i915) IS_PLATFORM(i915, INTEL_ALDERLAKE_S)
 #define IS_ALDERLAKE_P(i915) IS_PLATFORM(i915, INTEL_ALDERLAKE_P)
-#define IS_XEHPSDV(i915) IS_PLATFORM(i915, INTEL_XEHPSDV)
 #define IS_DG2(i915)	IS_PLATFORM(i915, INTEL_DG2)
 #define IS_PONTEVECCHIO(i915) IS_PLATFORM(i915, INTEL_PONTEVECCHIO)
 #define IS_METEORLAKE(i915) IS_PLATFORM(i915, INTEL_METEORLAKE)
@@ -621,9 +620,6 @@  IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define IS_TIGERLAKE_UY(i915) \
 	IS_SUBPLATFORM(i915, INTEL_TIGERLAKE, INTEL_SUBPLATFORM_UY)
 
-#define IS_XEHPSDV_GRAPHICS_STEP(__i915, since, until) \
-	(IS_XEHPSDV(__i915) && IS_GRAPHICS_STEP(__i915, since, until))
-
 #define IS_PVC_BD_STEP(__i915, since, until) \
 	(IS_PONTEVECCHIO(__i915) && \
 	 IS_BASEDIE_STEP(__i915, since, until))
diff --git a/drivers/gpu/drm/i915/i915_hwmon.c b/drivers/gpu/drm/i915/i915_hwmon.c
index 8c3f443c8347..11bd42e03b73 100644
--- a/drivers/gpu/drm/i915/i915_hwmon.c
+++ b/drivers/gpu/drm/i915/i915_hwmon.c
@@ -738,12 +738,6 @@  hwm_get_preregistration_info(struct drm_i915_private *i915)
 		hwmon->rg.pkg_rapl_limit = PCU_PACKAGE_RAPL_LIMIT;
 		hwmon->rg.energy_status_all = PCU_PACKAGE_ENERGY_STATUS;
 		hwmon->rg.energy_status_tile = INVALID_MMIO_REG;
-	} else if (IS_XEHPSDV(i915)) {
-		hwmon->rg.pkg_power_sku_unit = GT0_PACKAGE_POWER_SKU_UNIT;
-		hwmon->rg.pkg_power_sku = INVALID_MMIO_REG;
-		hwmon->rg.pkg_rapl_limit = GT0_PACKAGE_RAPL_LIMIT;
-		hwmon->rg.energy_status_all = GT0_PLATFORM_ENERGY_STATUS;
-		hwmon->rg.energy_status_tile = GT0_PACKAGE_ENERGY_STATUS;
 	} else {
 		hwmon->rg.pkg_power_sku_unit = INVALID_MMIO_REG;
 		hwmon->rg.pkg_power_sku = INVALID_MMIO_REG;
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 8b4fdeabb12a..b318b7c6bf73 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -734,23 +734,6 @@  static const struct intel_device_info adl_p_info = {
 	.__runtime.media.ip.ver = 12, \
 	.__runtime.media.ip.rel = 50
 
-__maybe_unused
-static const struct intel_device_info xehpsdv_info = {
-	XE_HP_FEATURES,
-	XE_HPM_FEATURES,
-	DGFX_FEATURES,
-	PLATFORM(INTEL_XEHPSDV),
-	.has_64k_pages = 1,
-	.has_media_ratio_mode = 1,
-	.platform_engine_mask =
-		BIT(RCS0) | BIT(BCS0) |
-		BIT(VECS0) | BIT(VECS1) | BIT(VECS2) | BIT(VECS3) |
-		BIT(VCS0) | BIT(VCS1) | BIT(VCS2) | BIT(VCS3) |
-		BIT(VCS4) | BIT(VCS5) | BIT(VCS6) | BIT(VCS7) |
-		BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3),
-	.require_force_probe = 1,
-};
-
 #define DG2_FEATURES \
 	XE_HP_FEATURES, \
 	XE_HPM_FEATURES, \
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index bd9d812b1afa..1637c1d235e9 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -2881,11 +2881,11 @@  gen12_enable_metric_set(struct i915_perf_stream *stream,
 	int ret;
 
 	/*
-	 * Wa_1508761755:xehpsdv, dg2
+	 * Wa_1508761755
 	 * EU NOA signals behave incorrectly if EU clock gating is enabled.
 	 * Disable thread stall DOP gating and EU DOP gating.
 	 */
-	if (IS_XEHPSDV(i915) || IS_DG2(i915)) {
+	if (IS_DG2(i915)) {
 		intel_gt_mcr_multicast_write(uncore->gt, GEN8_ROW_CHICKEN,
 					     _MASKED_BIT_ENABLE(STALL_DOP_GATING_DISABLE));
 		intel_uncore_write(uncore, GEN7_ROW_CHICKEN2,
@@ -2911,7 +2911,7 @@  gen12_enable_metric_set(struct i915_perf_stream *stream,
 	/*
 	 * Initialize Super Queue Internal Cnt Register
 	 * Set PMON Enable in order to collect valid metrics.
-	 * Enable byets per clock reporting in OA for XEHPSDV onward.
+	 * Enable byets per clock reporting in OA.
 	 */
 	sqcnt1 = GEN12_SQCNT1_PMON_ENABLE |
 		 (HAS_OA_BPC_REPORTING(i915) ? GEN12_SQCNT1_OABPC : 0);
@@ -2971,10 +2971,9 @@  static void gen12_disable_metric_set(struct i915_perf_stream *stream)
 	u32 sqcnt1;
 
 	/*
-	 * Wa_1508761755:xehpsdv, dg2
-	 * Enable thread stall DOP gating and EU DOP gating.
+	 * Wa_1508761755: Enable thread stall DOP gating and EU DOP gating.
 	 */
-	if (IS_XEHPSDV(i915) || IS_DG2(i915)) {
+	if (IS_DG2(i915)) {
 		intel_gt_mcr_multicast_write(uncore->gt, GEN8_ROW_CHICKEN,
 					     _MASKED_BIT_DISABLE(STALL_DOP_GATING_DISABLE));
 		intel_uncore_write(uncore, GEN7_ROW_CHICKEN2,
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index e00557e1a57f..a120c17aafcc 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1750,7 +1750,6 @@ 
 
 #define BXT_RP_STATE_CAP        _MMIO(0x138170)
 #define GEN9_RP_STATE_LIMITS	_MMIO(0x138148)
-#define XEHPSDV_RP_STATE_CAP	_MMIO(0x250014)
 #define PVC_RP_STATE_CAP	_MMIO(0x281014)
 
 #define MTL_RP_STATE_CAP	_MMIO(0x138000)
@@ -5401,7 +5400,7 @@ 
 #define	    POWER_SETUP_I1_SHIFT		6	/* 10.6 fixed point format */
 #define	    POWER_SETUP_I1_DATA_MASK		REG_GENMASK(15, 0)
 #define GEN12_PCODE_READ_SAGV_BLOCK_TIME_US	0x23
-#define   XEHP_PCODE_FREQUENCY_CONFIG		0x6e	/* xehpsdv, pvc */
+#define   XEHP_PCODE_FREQUENCY_CONFIG		0x6e	/* pvc */
 /* XEHP_PCODE_FREQUENCY_CONFIG sub-commands (param1) */
 #define     PCODE_MBOX_FC_SC_READ_FUSED_P0	0x0
 #define     PCODE_MBOX_FC_SC_READ_FUSED_PN	0x1
diff --git a/drivers/gpu/drm/i915/intel_clock_gating.c b/drivers/gpu/drm/i915/intel_clock_gating.c
index 9c21ce69bd98..93ab44190a47 100644
--- a/drivers/gpu/drm/i915/intel_clock_gating.c
+++ b/drivers/gpu/drm/i915/intel_clock_gating.c
@@ -349,13 +349,6 @@  static void gen8_set_l3sqc_credits(struct drm_i915_private *i915,
 	intel_uncore_write(&i915->uncore, GEN7_MISCCPCTL, misccpctl);
 }
 
-static void xehpsdv_init_clock_gating(struct drm_i915_private *i915)
-{
-	/* Wa_22010146351:xehpsdv */
-	if (IS_XEHPSDV_GRAPHICS_STEP(i915, STEP_A0, STEP_B0))
-		intel_uncore_rmw(&i915->uncore, XEHP_CLOCK_GATE_DIS, 0, SGR_DIS);
-}
-
 static void dg2_init_clock_gating(struct drm_i915_private *i915)
 {
 	/* Wa_22010954014:dg2 */
@@ -764,7 +757,6 @@  static const struct drm_i915_clock_gating_funcs platform##_clock_gating_funcs =
 
 CG_FUNCS(pvc);
 CG_FUNCS(dg2);
-CG_FUNCS(xehpsdv);
 CG_FUNCS(cfl);
 CG_FUNCS(skl);
 CG_FUNCS(kbl);
@@ -801,8 +793,6 @@  void intel_clock_gating_hooks_init(struct drm_i915_private *i915)
 		i915->clock_gating_funcs = &pvc_clock_gating_funcs;
 	else if (IS_DG2(i915))
 		i915->clock_gating_funcs = &dg2_clock_gating_funcs;
-	else if (IS_XEHPSDV(i915))
-		i915->clock_gating_funcs = &xehpsdv_clock_gating_funcs;
 	else if (IS_COFFEELAKE(i915) || IS_COMETLAKE(i915))
 		i915->clock_gating_funcs = &cfl_clock_gating_funcs;
 	else if (IS_SKYLAKE(i915))
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 59bea1398c91..de28cbe758f7 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -70,7 +70,6 @@  static const char * const platform_names[] = {
 	PLATFORM_NAME(DG1),
 	PLATFORM_NAME(ALDERLAKE_S),
 	PLATFORM_NAME(ALDERLAKE_P),
-	PLATFORM_NAME(XEHPSDV),
 	PLATFORM_NAME(DG2),
 	PLATFORM_NAME(PONTEVECCHIO),
 	PLATFORM_NAME(METEORLAKE),
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index eba2f0b919c8..2299327e59f0 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -87,7 +87,6 @@  enum intel_platform {
 	INTEL_DG1,
 	INTEL_ALDERLAKE_S,
 	INTEL_ALDERLAKE_P,
-	INTEL_XEHPSDV,
 	INTEL_DG2,
 	INTEL_PONTEVECCHIO,
 	INTEL_METEORLAKE,
diff --git a/drivers/gpu/drm/i915/intel_step.c b/drivers/gpu/drm/i915/intel_step.c
index b4162f1be765..d524bfe17c27 100644
--- a/drivers/gpu/drm/i915/intel_step.c
+++ b/drivers/gpu/drm/i915/intel_step.c
@@ -102,13 +102,6 @@  static const struct intel_step_info adlp_revids[] = {
 	[0xC] = { COMMON_GT_MEDIA_STEP(C0), .display_step = STEP_D0 },
 };
 
-static const struct intel_step_info xehpsdv_revids[] = {
-	[0x0] = { COMMON_GT_MEDIA_STEP(A0) },
-	[0x1] = { COMMON_GT_MEDIA_STEP(A1) },
-	[0x4] = { COMMON_GT_MEDIA_STEP(B0) },
-	[0x8] = { COMMON_GT_MEDIA_STEP(C0) },
-};
-
 static const struct intel_step_info dg2_g10_revid_step_tbl[] = {
 	[0x0] = { COMMON_GT_MEDIA_STEP(A0), .display_step = STEP_A0 },
 	[0x1] = { COMMON_GT_MEDIA_STEP(A1), .display_step = STEP_A0 },
@@ -190,9 +183,6 @@  void intel_step_init(struct drm_i915_private *i915)
 	} else if (IS_DG2_G12(i915)) {
 		revids = dg2_g12_revid_step_tbl;
 		size = ARRAY_SIZE(dg2_g12_revid_step_tbl);
-	} else if (IS_XEHPSDV(i915)) {
-		revids = xehpsdv_revids;
-		size = ARRAY_SIZE(xehpsdv_revids);
 	} else if (IS_ALDERLAKE_P_N(i915)) {
 		revids = adlp_n_revids;
 		size = ARRAY_SIZE(adlp_n_revids);
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 76400e9c40f0..4f1e56187442 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -1536,17 +1536,12 @@  static const struct intel_forcewake_range __gen12_fw_ranges[] = {
 	GEN_FW_RANGE(0x13200, 0x13fff, FORCEWAKE_MEDIA_VDBOX2), /*		\
 		0x13200 - 0x133ff: VD2 (DG2 only)				\
 		0x13400 - 0x13fff: reserved */					\
-	GEN_FW_RANGE(0x14000, 0x141ff, FORCEWAKE_MEDIA_VDBOX0), /* XEHPSDV only */	\
-	GEN_FW_RANGE(0x14200, 0x143ff, FORCEWAKE_MEDIA_VDBOX2), /* XEHPSDV only */	\
-	GEN_FW_RANGE(0x14400, 0x145ff, FORCEWAKE_MEDIA_VDBOX4), /* XEHPSDV only */	\
-	GEN_FW_RANGE(0x14600, 0x147ff, FORCEWAKE_MEDIA_VDBOX6), /* XEHPSDV only */	\
 	GEN_FW_RANGE(0x14800, 0x14fff, FORCEWAKE_RENDER),			\
 	GEN_FW_RANGE(0x15000, 0x16dff, FORCEWAKE_GT), /*			\
 		0x15000 - 0x15fff: gt (DG2 only)				\
 		0x16000 - 0x16dff: reserved */					\
 	GEN_FW_RANGE(0x16e00, 0x1ffff, FORCEWAKE_RENDER),			\
-	GEN_FW_RANGE(0x20000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
-		0x20000 - 0x20fff: VD0 (XEHPSDV only)				\
+	GEN_FW_RANGE(0x21000, 0x21fff, FORCEWAKE_MEDIA_VDBOX0), /*		\
 		0x21000 - 0x21fff: reserved */					\
 	GEN_FW_RANGE(0x22000, 0x23fff, FORCEWAKE_GT),				\
 	GEN_FW_RANGE(0x24000, 0x2417f, 0), /*					\
@@ -1627,10 +1622,6 @@  static const struct intel_forcewake_range __gen12_fw_ranges[] = {
 		0x1f6e00 - 0x1f7fff: reserved */				\
 	GEN_FW_RANGE(0x1f8000, 0x1fa0ff, FORCEWAKE_MEDIA_VEBOX3),
 
-static const struct intel_forcewake_range __xehp_fw_ranges[] = {
-	XEHP_FWRANGES(FORCEWAKE_GT)
-};
-
 static const struct intel_forcewake_range __dg2_fw_ranges[] = {
 	XEHP_FWRANGES(FORCEWAKE_RENDER)
 };
@@ -2584,10 +2575,6 @@  static int uncore_forcewake_init(struct intel_uncore *uncore)
 		ASSIGN_FW_DOMAINS_TABLE(uncore, __dg2_fw_ranges);
 		ASSIGN_SHADOW_TABLE(uncore, dg2_shadowed_regs);
 		ASSIGN_WRITE_MMIO_VFUNCS(uncore, fwtable);
-	} else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50)) {
-		ASSIGN_FW_DOMAINS_TABLE(uncore, __xehp_fw_ranges);
-		ASSIGN_SHADOW_TABLE(uncore, gen12_shadowed_regs);
-		ASSIGN_WRITE_MMIO_VFUNCS(uncore, fwtable);
 	} else if (GRAPHICS_VER(i915) >= 12) {
 		ASSIGN_FW_DOMAINS_TABLE(uncore, __gen12_fw_ranges);
 		ASSIGN_SHADOW_TABLE(uncore, gen12_shadowed_regs);
diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
index 4f98aa8a861e..502bcadc5f39 100644
--- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
+++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
@@ -119,7 +119,6 @@  int intel_uncore_mock_selftests(void)
 		{ __gen9_fw_ranges, ARRAY_SIZE(__gen9_fw_ranges), true },
 		{ __gen11_fw_ranges, ARRAY_SIZE(__gen11_fw_ranges), true },
 		{ __gen12_fw_ranges, ARRAY_SIZE(__gen12_fw_ranges), true },
-		{ __xehp_fw_ranges, ARRAY_SIZE(__xehp_fw_ranges), true },
 		{ __pvc_fw_ranges, ARRAY_SIZE(__pvc_fw_ranges), true },
 		{ __mtl_fw_ranges, ARRAY_SIZE(__mtl_fw_ranges), true },
 		{ __xelpmp_fw_ranges, ARRAY_SIZE(__xelpmp_fw_ranges), true },
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
index fef969112b1d..a7e7ec3b5db9 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
@@ -85,7 +85,6 @@  static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
 #define IS_DG1(dev_priv)        IS_PLATFORM(dev_priv, XE_DG1)
 #define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_S)
 #define IS_ALDERLAKE_P(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_P)
-#define IS_XEHPSDV(dev_priv) (dev_priv && 0)
 #define IS_DG2(dev_priv)	IS_PLATFORM(dev_priv, XE_DG2)
 #define IS_PONTEVECCHIO(dev_priv) IS_PLATFORM(dev_priv, XE_PVC)
 #define IS_METEORLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_METEORLAKE)
@@ -130,7 +129,6 @@  static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
 #define IS_DG2_GRAPHICS_STEP(xe, variant, first, last) \
 	((xe)->info.subplatform == XE_SUBPLATFORM_DG2_ ## variant && \
 	 IS_GRAPHICS_STEP(xe, first, last))
-#define IS_XEHPSDV_GRAPHICS_STEP(xe, first, last) (IS_XEHPSDV(xe) && IS_GRAPHICS_STEP(xe, first, last))
 
 /* XXX: No basedie stepping support yet */
 #define IS_PVC_BD_STEP(xe, first, last) (!WARN_ON(1) && IS_PONTEVECCHIO(xe))