Hi Michal, kernel test robot noticed the following build errors:
[auto build test ERROR on drm-xe/drm-xe-next] [also build test ERROR on drm/drm-next drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip linus/master v6.19-rc1 next-20251216] [cannot apply to daeinki-drm-exynos/exynos-drm-next] [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/Michal-Wajdeczko/drm-xe-Introduce-IF_ARGS-macro-utility/20251216-042142 base: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next patch link: https://lore.kernel.org/r/20251215201806.196514-3-michal.wajdeczko%40intel.com patch subject: [CI 2/4] drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper config: sparc-randconfig-001-20251216 (https://download.01.org/0day-ci/archive/20251216/[email protected]/config) compiler: sparc64-linux-gcc (GCC) 8.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251216/[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 >>): In file included from drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c:20: drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c: In function 'pf_gt_migration_check_support': >> drivers/gpu/drm/xe/xe_guc.h:19:73: error: expected expression before ')' >> token #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat)) ^ drivers/gpu/drm/xe/xe_guc.h:23:3: note: in expansion of macro 'MAKE_GUC_VER' MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver)))) ^~~~~~~~~~~~ drivers/gpu/drm/xe/xe_guc.h:30:36: note: in expansion of macro 'MAKE_GUC_VER_ARGS' xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver)) ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c:1029:7: note: in expansion of macro 'GUC_FIRMWARE_VER_AT_LEAST' if (!GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 54)) ^~~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from drivers/gpu/drm/xe/xe_guc_ads.c:23: drivers/gpu/drm/xe/xe_guc_ads.c: In function 'guc_waklv_init': >> drivers/gpu/drm/xe/xe_guc.h:19:73: error: expected expression before ')' >> token #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat)) ^ drivers/gpu/drm/xe/xe_guc.h:23:3: note: in expansion of macro 'MAKE_GUC_VER' MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver)))) ^~~~~~~~~~~~ drivers/gpu/drm/xe/xe_guc.h:30:36: note: in expansion of macro 'MAKE_GUC_VER_ARGS' xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver)) ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/xe/xe_guc_ads.c:350:6: note: in expansion of macro 'GUC_FIRMWARE_VER_AT_LEAST' if (GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 44) && XE_GT_WA(gt, 16026508708)) ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/xe/xe_guc.h:19:73: error: expected expression before ')' >> token #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat)) ^ drivers/gpu/drm/xe/xe_guc.h:23:3: note: in expansion of macro 'MAKE_GUC_VER' MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver)))) ^~~~~~~~~~~~ drivers/gpu/drm/xe/xe_guc.h:30:36: note: in expansion of macro 'MAKE_GUC_VER_ARGS' xe_guc_fw_version_at_least((guc), MAKE_GUC_VER_ARGS(ver)) ^~~~~~~~~~~~~~~~~ drivers/gpu/drm/xe/xe_guc_ads.c:353:6: note: in expansion of macro 'GUC_FIRMWARE_VER_AT_LEAST' if (GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 47) && XE_GT_WA(gt, 16026007364)) { ^~~~~~~~~~~~~~~~~~~~~~~~~ vim +19 drivers/gpu/drm/xe/xe_guc.h dd08ebf6c3525a7 Matthew Brost 2023-03-30 13 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 14 /* 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 15 * GuC version number components are defined to be only 8-bit size, 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 16 * so converting to a 32bit 8.8.8 integer allows simple (and safe) 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 17 * numerical comparisons. 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 18 */ 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 @19 #define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat)) 4eb0aab6e4434ad Julia Filipchuk 2024-08-02 20 #define MAKE_GUC_VER_STRUCT(ver) MAKE_GUC_VER((ver).major, (ver).minor, (ver).patch) 9100abdb735432b Michal Wajdeczko 2025-12-15 21 #define MAKE_GUC_VER_ARGS(ver...) \ 9100abdb735432b Michal Wajdeczko 2025-12-15 22 (BUILD_BUG_ON_ZERO(COUNT_ARGS(ver) < 2 || COUNT_ARGS(ver) > 3) + \ 9100abdb735432b Michal Wajdeczko 2025-12-15 23 MAKE_GUC_VER(PICK_ARG1(ver), PICK_ARG2(ver), IF_ARGS(PICK_ARG3(ver), 0, PICK_ARG3(ver)))) 9100abdb735432b Michal Wajdeczko 2025-12-15 24 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
