drivers/gpu/drm/xe/xe_pci.c:561:undefined reference to `xe_configfs_media_gt_allowed'
From: kernel test robot
Date: Mon Apr 06 2026 - 23:57:47 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7ca6d1cfec80ebe46cc063f3284c5896c344d9a1
commit: 5e905ec67214444362b81345ef8fde63e58425b6 drm/xe/vf: Avoid reading media version when media GT is disabled
date: 7 weeks ago
config: arc-randconfig-002-20260401 (https://download.01.org/0day-ci/archive/20260404/202604042144.qtzDC8tq-lkp@xxxxxxxxx/config)
compiler: arc-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260404/202604042144.qtzDC8tq-lkp@xxxxxxxxx/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: 5e905ec67214 ("drm/xe/vf: Avoid reading media version when media GT is disabled")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604042144.qtzDC8tq-lkp@xxxxxxxxx/
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':
xe_guc.c:(.text+0x1356): undefined reference to `xe_configfs_get_psmi_enabled'
arc-linux-ld: xe_guc.c:(.text+0x1356): 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:845:(.text+0x9de): undefined reference to `xe_configfs_get_engines_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_hw_engine.c:845:(.text+0x9de): undefined reference to `xe_configfs_get_engines_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_lrc.o: in function `setup_configfs_post_ctx_restore_bb':
drivers/gpu/drm/xe/xe_lrc.c:1143:(.text+0x5d2): undefined reference to `xe_configfs_get_ctx_restore_post_bb'
arc-linux-ld: drivers/gpu/drm/xe/xe_lrc.c:1143:(.text+0x5d2): undefined reference to `xe_configfs_get_ctx_restore_post_bb'
arc-linux-ld: drivers/gpu/drm/xe/xe_lrc.o: in function `setup_configfs_mid_ctx_restore_bb':
drivers/gpu/drm/xe/xe_lrc.c:1172:(.text+0x7a2): undefined reference to `xe_configfs_get_ctx_restore_mid_bb'
arc-linux-ld: drivers/gpu/drm/xe/xe_lrc.c:1172:(.text+0x7a2): undefined reference to `xe_configfs_get_ctx_restore_mid_bb'
arc-linux-ld: drivers/gpu/drm/xe/xe_lrc.o: in function `xe_lrc_init':
drivers/gpu/drm/xe/xe_lrc.c:92:(.text+0x2378): undefined reference to `xe_configfs_get_ctx_restore_mid_bb'
arc-linux-ld: drivers/gpu/drm/xe/xe_lrc.c:92:(.text+0x2378): undefined reference to `xe_configfs_get_ctx_restore_mid_bb'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.o: in function `read_gmdid':
>> drivers/gpu/drm/xe/xe_pci.c:561:(.text+0x10e): undefined reference to `xe_configfs_media_gt_allowed'
>> arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:561:(.text+0x10e): undefined reference to `xe_configfs_media_gt_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.o: in function `xe_info_init':
drivers/gpu/drm/xe/xe_pci.c:780:(.text+0x476): undefined reference to `xe_configfs_primary_gt_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:780:(.text+0x476): undefined reference to `xe_configfs_primary_gt_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:811:(.text+0x52c): undefined reference to `xe_configfs_media_gt_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:811:(.text+0x52c): undefined reference to `xe_configfs_media_gt_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.o: in function `xe_pci_probe':
drivers/gpu/drm/xe/xe_pci.c:992:(.text+0x698): undefined reference to `xe_configfs_check_device'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:992:(.text+0x698): undefined reference to `xe_configfs_check_device'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:710:(.text+0x8b6): undefined reference to `xe_configfs_primary_gt_allowed'
arc-linux-ld: drivers/gpu/drm/xe/xe_pci.c:710:(.text+0x8b6): undefined reference to `xe_configfs_primary_gt_allowed'
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+0x2f6): undefined reference to `xe_configfs_get_psmi_enabled'
arc-linux-ld: drivers/gpu/drm/xe/xe_psmi.c:36:(.text+0x2f6): 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+0x368): undefined reference to `xe_configfs_get_psmi_enabled'
arc-linux-ld: drivers/gpu/drm/xe/xe_psmi.c:36:(.text+0x368): 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+0x6ca): 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_is_requested':
drivers/gpu/drm/xe/xe_survivability_mode.c:384:(.text+0x240): undefined reference to `xe_configfs_get_survivability_mode'
arc-linux-ld: drivers/gpu/drm/xe/xe_survivability_mode.c:384:(.text+0x240): undefined reference to `xe_configfs_get_survivability_mode'
arc-linux-ld: drivers/gpu/drm/xe/xe_sriov_pf.o: in function `xe_sriov_pf_readiness':
drivers/gpu/drm/xe/xe_sriov_pf.c:26:(.text+0x218): undefined reference to `xe_configfs_get_max_vfs'
arc-linux-ld: drivers/gpu/drm/xe/xe_sriov_pf.c:26:(.text+0x218): undefined reference to `xe_configfs_get_max_vfs'
vim +561 drivers/gpu/drm/xe/xe_pci.c
537
538 static int read_gmdid(struct xe_device *xe, enum xe_gmdid_type type, u32 *ver, u32 *revid)
539 {
540 struct xe_mmio *mmio = xe_root_tile_mmio(xe);
541 struct xe_reg gmdid_reg = GMD_ID;
542 u32 val;
543
544 KUNIT_STATIC_STUB_REDIRECT(read_gmdid, xe, type, ver, revid);
545
546 if (IS_SRIOV_VF(xe)) {
547 /*
548 * To get the value of the GMDID register, VFs must obtain it
549 * from the GuC using MMIO communication.
550 *
551 * Note that at this point the GTs are not initialized and only
552 * tile-level access to MMIO registers is possible. To use our
553 * existing GuC communication functions we must create a dummy
554 * GT structure and perform at least basic xe_gt and xe_guc
555 * initialization.
556 */
557 struct xe_gt *gt __free(kfree) = NULL;
558 int err;
559
560 /* Don't try to read media ver if media GT is not allowed */
> 561 if (type == GMDID_MEDIA && !xe_configfs_media_gt_allowed(to_pci_dev(xe->drm.dev))) {
562 *ver = *revid = 0;
563 return 0;
564 }
565
566 gt = kzalloc(sizeof(*gt), GFP_KERNEL);
567 if (!gt)
568 return -ENOMEM;
569
570 gt->tile = &xe->tiles[0];
571 if (type == GMDID_MEDIA) {
572 gt->info.id = 1;
573 gt->info.type = XE_GT_TYPE_MEDIA;
574 } else {
575 gt->info.id = 0;
576 gt->info.type = XE_GT_TYPE_MAIN;
577 }
578
579 xe_gt_mmio_init(gt);
580 xe_guc_comm_init_early(>->uc.guc);
581
582 err = xe_gt_sriov_vf_bootstrap(gt);
583 if (err)
584 return err;
585
586 val = xe_gt_sriov_vf_gmdid(gt);
587 } else {
588 /*
589 * GMD_ID is a GT register, but at this point in the driver
590 * init we haven't fully initialized the GT yet so we need to
591 * read the register with the tile's MMIO accessor. That means
592 * we need to apply the GSI offset manually since it won't get
593 * automatically added as it would if we were using a GT mmio
594 * accessor.
595 */
596 if (type == GMDID_MEDIA)
597 gmdid_reg.addr += MEDIA_GT_GSI_OFFSET;
598
599 val = xe_mmio_read32(mmio, gmdid_reg);
600 }
601
602 *ver = REG_FIELD_GET(GMD_ID_ARCH_MASK, val) * 100 + REG_FIELD_GET(GMD_ID_RELEASE_MASK, val);
603 *revid = REG_FIELD_GET(GMD_ID_REVID, val);
604
605 return 0;
606 }
607
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki