Subject: linux-next: manual merge of the drm tree with the drm-fixes tree

From: Mark Brown <[email-masked]>
Date: Fri, 30 Jan 2026 15:37:28 +0000

Hi all,

Today's linux-next merge of the drm tree got conflicts in:

  drivers/gpu/drm/xe/xe_pci.c
  drivers/gpu/drm/xe/xe_pci_types.h

between commit:

  ca8dcfedac480 ("drm/xe: derive mem copy capability from graphics version")

from the drm-fixes tree and commits:

  83f4151787c5d ("drm/xe/lnl: Drop pre-production workaround support")
  7ef2d25e47736 ("drm/xe: Track pre-production workaround support")
  9b1a0e0a15c97 ("drm/xe: Add page reclamation info to device info")
  79cb005c71343 ("drm/xe: Add device flag to indicate standalone MERT")

from the drm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc drivers/gpu/drm/xe/xe_pci.c
index 2aa883f5ef797,09189ff3da441..0000000000000
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@@ -358,10 -365,15 +364,14 @@@ static const struct xe_device_desc bmg_
  	.has_fan_control = true,
  	.has_flat_ccs = 1,
  	.has_mbx_power_limits = true,
+ 	.has_mbx_thermal_info = true,
  	.has_gsc_nvm = 1,
  	.has_heci_cscfi = 1,
+ 	.has_i2c = true,
  	.has_late_bind = true,
+ 	.has_pre_prod_wa = 1,
+ 	.has_soc_remapper_telem = true,
  	.has_sriov = true,
 -	.has_mem_copy_instr = true,
  	.max_gt_per_tile = 2,
  	.needs_scratch = true,
  	.subplatforms = (const struct xe_subplatform_desc[]) {
@@@ -378,6 -390,9 +388,8 @@@ static const struct xe_device_desc ptl_
  	.has_display = true,
  	.has_flat_ccs = 1,
  	.has_sriov = true,
 -	.has_mem_copy_instr = true,
+ 	.has_pre_prod_wa = 1,
+ 	.has_pxp = true,
  	.max_gt_per_tile = 2,
  	.needs_scratch = true,
  	.needs_shared_vf_gt_wq = true,
@@@ -390,6 -405,8 +402,7 @@@ static const struct xe_device_desc nvls
  	.dma_mask_size = 46,
  	.has_display = true,
  	.has_flat_ccs = 1,
 -	.has_mem_copy_instr = true,
+ 	.has_pre_prod_wa = 1,
  	.max_gt_per_tile = 2,
  	.require_force_probe = true,
  	.va_bits = 48,
@@@ -666,11 -692,18 +688,17 @@@ static int xe_info_init_early(struct xe
  	xe->info.has_gsc_nvm = desc->has_gsc_nvm;
  	xe->info.has_heci_gscfi = desc->has_heci_gscfi;
  	xe->info.has_heci_cscfi = desc->has_heci_cscfi;
+ 	xe->info.has_i2c = desc->has_i2c;
  	xe->info.has_late_bind = desc->has_late_bind;
  	xe->info.has_llc = desc->has_llc;
+ 	xe->info.has_mert = desc->has_mert;
+ 	xe->info.has_page_reclaim_hw_assist = desc->has_page_reclaim_hw_assist;
+ 	xe->info.has_pre_prod_wa = desc->has_pre_prod_wa;
  	xe->info.has_pxp = desc->has_pxp;
+ 	xe->info.has_soc_remapper_sysctrl = desc->has_soc_remapper_sysctrl;
+ 	xe->info.has_soc_remapper_telem = desc->has_soc_remapper_telem;
  	xe->info.has_sriov = xe_configfs_primary_gt_allowed(to_pci_dev(xe->drm.dev)) &&
  		desc->has_sriov;
 -	xe->info.has_mem_copy_instr = desc->has_mem_copy_instr;
  	xe->info.skip_guc_pc = desc->skip_guc_pc;
  	xe->info.skip_mtcfg = desc->skip_mtcfg;
  	xe->info.skip_pcode = desc->skip_pcode;
diff --cc drivers/gpu/drm/xe/xe_pci_types.h
index a4451bdc79fb3,20acc5349ee6d..0000000000000
--- a/drivers/gpu/drm/xe/xe_pci_types.h
+++ b/drivers/gpu/drm/xe/xe_pci_types.h
@@@ -46,7 -48,14 +48,13 @@@ struct xe_device_desc 
  	u8 has_late_bind:1;
  	u8 has_llc:1;
  	u8 has_mbx_power_limits:1;
+ 	u8 has_mbx_thermal_info:1;
 -	u8 has_mem_copy_instr:1;
+ 	u8 has_mert:1;
+ 	u8 has_pre_prod_wa:1;
+ 	u8 has_page_reclaim_hw_assist:1;
  	u8 has_pxp:1;
+ 	u8 has_soc_remapper_sysctrl:1;
+ 	u8 has_soc_remapper_telem:1;
  	u8 has_sriov:1;
  	u8 needs_scratch:1;
  	u8 skip_guc_pc:1;