Hi Nareshkumar, kernel test robot noticed the following build errors:
[auto build test ERROR on drm-xe/drm-xe-next] [also build test ERROR on next-20251125] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Nareshkumar-Gollakoti/Due-to-SLA-agreement-between-PF-and-VFs-multi-CCS-mode-can-t-be-enabled-when-VFs-are-already-enabled-Similarly-enabling-/20251125-182712 base: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next patch link: https://lore.kernel.org/r/20251125101345.2324973-2-naresh.kumar.g%40intel.com patch subject: [V6 PATCH] Due to SLA agreement between PF and VFs, multi CCS mode can't be enabled when VFs are already enabled. Similarly, enabling VFs must be blocked when multi CCS mode enabled. config: xtensa-randconfig-002-20251126 (https://download.01.org/0day-ci/archive/20251126/[email protected]/config) compiler: xtensa-linux-gcc (GCC) 10.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251126/[email protected]/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 | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): xtensa-linux-ld: drivers/gpu/drm/xe/xe_gt_ccs_mode.o: in function `num_cslices_show': >> drivers/gpu/drm/xe/xe_gt_ccs_mode.c:98: undefined reference to >> `xe_sriov_pf_disarm_guard' xtensa-linux-ld: drivers/gpu/drm/xe/xe_gt_ccs_mode.o: in function `ccs_mode_show': drivers/gpu/drm/xe/xe_gt_ccs_mode.c:109: undefined reference to `xe_sriov_pf_disarm_guard' >> xtensa-linux-ld: drivers/gpu/drm/xe/xe_gt_ccs_mode.c:110: undefined >> reference to `xe_sriov_pf_arm_guard' xtensa-linux-ld: drivers/gpu/drm/xe/xe_gt_ccs_mode.o: in function `xe_gt_finish_ccs_mode_enabling': >> drivers/gpu/drm/xe/xe_gt_ccs_mode.c:134: undefined reference to >> `xe_sriov_pf_arm_guard' vim +98 drivers/gpu/drm/xe/xe_gt_ccs_mode.c f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 91 f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 92 static ssize_t f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 93 num_cslices_show(struct device *kdev, f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 94 struct device_attribute *attr, char *buf) f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 95 { f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 96 struct xe_gt *gt = kobj_to_gt(&kdev->kobj); f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 97 f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 @98 return sysfs_emit(buf, "%u\n", hweight32(CCS_MASK(gt))); f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 99 } f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 100 f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 101 static DEVICE_ATTR_RO(num_cslices); f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 102 f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 103 static ssize_t f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 104 ccs_mode_show(struct device *kdev, f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 105 struct device_attribute *attr, char *buf) f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 106 { f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 107 struct xe_gt *gt = kobj_to_gt(&kdev->kobj); f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 108 f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 109 return sysfs_emit(buf, "%u\n", gt->ccs_mode); f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 @110 } f3bc5bb4d53d20 Niranjana Vishwanathapura 2023-11-15 111 c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 112 static int xe_gt_prepare_ccs_mode_enabling(struct xe_device *xe, c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 113 struct xe_gt *gt) c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 114 { c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 115 /* c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 116 * The arm guard is only activated during CCS mode enabling, c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 117 * and this shuould happen when CCS mode is in default mode. c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 118 * lockdown arm guard ensures there is no VFS enabling c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 119 * as CCS mode enabling in progress/enabled. c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 120 */ c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 121 if (!(gt->ccs_mode > 1)) c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 122 return xe_sriov_pf_arm_guard(xe, &xe->sriov.pf.guard_vfs_enabling, c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 123 true, NULL); c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 124 return 0; c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 125 } c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 126 c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 127 static void xe_gt_finish_ccs_mode_enabling(struct xe_device *xe, c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 128 struct xe_gt *gt) c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 129 { c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 130 /* disarm the guard, if CCS mode is reverted to default */ c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 131 if (!(gt->ccs_mode > 1)) c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 132 xe_sriov_pf_disarm_guard(xe, &xe->sriov.pf.guard_vfs_enabling, c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 133 true, NULL); c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 @134 } c1e57b48189978 Nareshkumar Gollakoti 2025-11-25 135 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
