mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* drivers/gpu/drm/xe/xe_pci.c:820:undefined reference to `xe_configfs_check_device'
@ 2026-04-03  8:47 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-04-03  8:47 UTC (permalink / raw)
  Cc: oe-kbuild-all, linux-kernel, Vinay Belgaumkar

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d8a9a4b11a137909e306e50346148fc5c3b63f9d
commit: 13dda74a164b570d93d412e812dc80549506410f drm/xe/configfs: Dump custom settings when binding
date:   7 months ago
config: arc-randconfig-002-20260401 (https://download.01.org/0day-ci/archive/20260403/202604031646.JxCrIBov-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260403/202604031646.JxCrIBov-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 13dda74a164b ("drm/xe/configfs: Dump custom settings when binding")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604031646.JxCrIBov-lkp@intel.com/

All errors (new ones prefixed by >>):

   arc-linux-ld: drivers/gpu/drm/xe/xe_module.o:(.rodata+0x8): undefined reference to `xe_configfs_init'
   arc-linux-ld: drivers/gpu/drm/xe/xe_module.o:(.rodata+0x8): undefined reference to `xe_configfs_init'
   arc-linux-ld: drivers/gpu/drm/xe/xe_module.o:(.rodata+0xc): undefined reference to `xe_configfs_exit'
   arc-linux-ld: drivers/gpu/drm/xe/xe_module.o:(.rodata+0xc): undefined reference to `xe_configfs_exit'
   arc-linux-ld: drivers/gpu/drm/xe/xe_guc.o: in function `xe_guc_init_post_hwconfig':
   drivers/gpu/drm/xe/xe_guc.c:91:(.text+0xb0a): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_guc.c:91:(.text+0xb0a): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_hw_engine.o: in function `xe_hw_engines_init_early':
   drivers/gpu/drm/xe/xe_hw_engine.c:812:(.text+0x97a): undefined reference to `xe_configfs_get_engines_allowed'
   arc-linux-ld: drivers/gpu/drm/xe/xe_hw_engine.c:812:(.text+0x97a): undefined reference to `xe_configfs_get_engines_allowed'
   arc-linux-ld: drivers/gpu/drm/xe/xe_pci.o: in function `xe_pci_probe':
>> drivers/gpu/drm/xe/xe_pci.c:820:(.text+0x602): undefined reference to `xe_configfs_check_device'
>> arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:820:(.text+0x602): undefined reference to `xe_configfs_check_device'
   arc-linux-ld: drivers/gpu/drm/xe/xe_psmi.o: in function `xe_psmi_debugfs_register':
   drivers/gpu/drm/xe/xe_psmi.c:36:(.text+0x30e): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_psmi.c:36:(.text+0x30e): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_psmi.o: in function `xe_psmi_init':
   drivers/gpu/drm/xe/xe_psmi.c:36:(.text+0x380): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_psmi.c:36:(.text+0x380): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_rtp.o: in function `xe_rtp_match_psmi_enabled':
   drivers/gpu/drm/xe/xe_rtp.c:371:(.text+0x6fe): undefined reference to `xe_configfs_get_psmi_enabled'
   arc-linux-ld: drivers/gpu/drm/xe/xe_rtp.o:drivers/gpu/drm/xe/xe_rtp.c:371: more undefined references to `xe_configfs_get_psmi_enabled' follow
   arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.o: in function `xe_survivability_mode_fini':
   drivers/gpu/drm/xe/xe_survivability_mode.c:150:(.text+0x14e): undefined reference to `xe_configfs_clear_survivability_mode'
   arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.c:150:(.text+0x14e): undefined reference to `xe_configfs_clear_survivability_mode'
   arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.o: in function `xe_survivability_mode_is_requested':
   drivers/gpu/drm/xe/xe_survivability_mode.c:227:(.text+0x1b0): undefined reference to `xe_configfs_get_survivability_mode'
   arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.c:227:(.text+0x1b0): undefined reference to `xe_configfs_get_survivability_mode'
   arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.c:232:(.text+0x1ca): undefined reference to `xe_configfs_clear_survivability_mode'
   arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.c:232:(.text+0x1ca): undefined reference to `xe_configfs_clear_survivability_mode'


vim +820 drivers/gpu/drm/xe/xe_pci.c

   793	
   794	/*
   795	 * Probe the PCI device, initialize various parts of the driver.
   796	 *
   797	 * Fault injection is used to test the error paths of some initialization
   798	 * functions called either directly from xe_pci_probe() or indirectly for
   799	 * example through xe_device_probe(). Those functions use the kernel fault
   800	 * injection capabilities infrastructure, see
   801	 * Documentation/fault-injection/fault-injection.rst for details. The macro
   802	 * ALLOW_ERROR_INJECTION() is used to conditionally skip function execution
   803	 * at runtime and use a provided return value. The first requirement for
   804	 * error injectable functions is proper handling of the error code by the
   805	 * caller for recovery, which is always the case here. The second
   806	 * requirement is that no state is changed before the first error return.
   807	 * It is not strictly fulfilled for all initialization functions using the
   808	 * ALLOW_ERROR_INJECTION() macro but this is acceptable because for those
   809	 * error cases at probe time, the error code is simply propagated up by the
   810	 * caller. Therefore there is no consequence on those specific callers when
   811	 * function error injection skips the whole function.
   812	 */
   813	static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
   814	{
   815		const struct xe_device_desc *desc = (const void *)ent->driver_data;
   816		const struct xe_subplatform_desc *subplatform_desc;
   817		struct xe_device *xe;
   818		int err;
   819	
 > 820		xe_configfs_check_device(pdev);
   821	
   822		if (desc->require_force_probe && !id_forced(pdev->device)) {
   823			dev_info(&pdev->dev,
   824				 "Your graphics device %04x is not officially supported\n"
   825				 "by xe driver in this kernel version. To force Xe probe,\n"
   826				 "use xe.force_probe='%04x' and i915.force_probe='!%04x'\n"
   827				 "module parameters or CONFIG_DRM_XE_FORCE_PROBE='%04x' and\n"
   828				 "CONFIG_DRM_I915_FORCE_PROBE='!%04x' configuration options.\n",
   829				 pdev->device, pdev->device, pdev->device,
   830				 pdev->device, pdev->device);
   831			return -ENODEV;
   832		}
   833	
   834		if (id_blocked(pdev->device)) {
   835			dev_info(&pdev->dev, "Probe blocked for device [%04x:%04x].\n",
   836				 pdev->vendor, pdev->device);
   837			return -ENODEV;
   838		}
   839	
   840		if (xe_display_driver_probe_defer(pdev))
   841			return -EPROBE_DEFER;
   842	
   843		err = pcim_enable_device(pdev);
   844		if (err)
   845			return err;
   846	
   847		xe = xe_device_create(pdev, ent);
   848		if (IS_ERR(xe))
   849			return PTR_ERR(xe);
   850	
   851		pci_set_drvdata(pdev, &xe->drm);
   852	
   853		xe_pm_assert_unbounded_bridge(xe);
   854		subplatform_desc = find_subplatform(xe, desc);
   855	
   856		pci_set_master(pdev);
   857	
   858		err = xe_info_init_early(xe, desc, subplatform_desc);
   859		if (err)
   860			return err;
   861	
   862		err = xe_device_probe_early(xe);
   863		/*
   864		 * In Boot Survivability mode, no drm card is exposed and driver
   865		 * is loaded with bare minimum to allow for firmware to be
   866		 * flashed through mei. Return success, if survivability mode
   867		 * is enabled due to pcode failure or configfs being set
   868		 */
   869		if (xe_survivability_mode_is_enabled(xe))
   870			return 0;
   871	
   872		if (err)
   873			return err;
   874	
   875		err = xe_info_init(xe, desc);
   876		if (err)
   877			return err;
   878	
   879		err = xe_display_probe(xe);
   880		if (err)
   881			return err;
   882	
   883		drm_dbg(&xe->drm, "%s %s %04x:%04x dgfx:%d gfx:%s (%d.%02d) media:%s (%d.%02d) display:%s dma_m_s:%d tc:%d gscfi:%d cscfi:%d",
   884			desc->platform_name,
   885			subplatform_desc ? subplatform_desc->name : "",
   886			xe->info.devid, xe->info.revid,
   887			xe->info.is_dgfx,
   888			xe->info.graphics_name,
   889			xe->info.graphics_verx100 / 100,
   890			xe->info.graphics_verx100 % 100,
   891			xe->info.media_name,
   892			xe->info.media_verx100 / 100,
   893			xe->info.media_verx100 % 100,
   894			str_yes_no(xe->info.probe_display),
   895			xe->info.dma_mask_size, xe->info.tile_count,
   896			xe->info.has_heci_gscfi, xe->info.has_heci_cscfi);
   897	
   898		drm_dbg(&xe->drm, "Stepping = (G:%s, M:%s, B:%s)\n",
   899			xe_step_name(xe->info.step.graphics),
   900			xe_step_name(xe->info.step.media),
   901			xe_step_name(xe->info.step.basedie));
   902	
   903		drm_dbg(&xe->drm, "SR-IOV support: %s (mode: %s)\n",
   904			str_yes_no(xe_device_has_sriov(xe)),
   905			xe_sriov_mode_to_string(xe_device_sriov_mode(xe)));
   906	
   907		err = xe_pm_init_early(xe);
   908		if (err)
   909			return err;
   910	
   911		err = xe_device_probe(xe);
   912		if (err)
   913			return err;
   914	
   915		err = xe_pm_init(xe);
   916		if (err)
   917			goto err_driver_cleanup;
   918	
   919		drm_dbg(&xe->drm, "d3cold: capable=%s\n",
   920			str_yes_no(xe->d3cold.capable));
   921	
   922		return 0;
   923	
   924	err_driver_cleanup:
   925		xe_pci_remove(pdev);
   926		return err;
   927	}
   928	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-04-03  8:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-04-03  8:47 drivers/gpu/drm/xe/xe_pci.c:820:undefined reference to `xe_configfs_check_device' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome