* [linux-next:master 2603/3192] drivers/gpu/drm/xe/xe_irq.c:303:22: error: static assertion expression is not an integral constant expression
@ 2024-12-13 20:11 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-12-13 20:11 UTC (permalink / raw)
To: Vincent Mailhol
Cc: llvm, oe-kbuild-all, Andrew Morton, Linux Memory Management List
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 4176cf5c5651c33769de83bb61b0287f4ec7719f
commit: 87ae2755f0b3171fc50a001ebf4ac1b38c7950f4 [2603/3192] build_bug.h: more user friendly error messages in BUILD_BUG_ON_ZERO()
config: arm-randconfig-002-20241214 (https://download.01.org/0day-ci/archive/20241214/202412140429.jB3uBYPX-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412140429.jB3uBYPX-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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412140429.jB3uBYPX-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/xe/xe_irq.c:303:22: error: static assertion expression is not an integral constant expression
if (!(master_ctl & GT_DW_IRQ(bank)))
^~~~~~~~~~~~~~~
drivers/gpu/drm/xe/regs/xe_irq_regs.h:22:27: note: expanded from macro 'GT_DW_IRQ'
#define GT_DW_IRQ(x) REG_BIT(x)
^~~~~~~~~~
drivers/gpu/drm/xe/compat-i915-headers/../../i915/i915_reg_defs.h:22:9: note: expanded from macro 'REG_BIT'
BUILD_BUG_ON_ZERO(__is_constexpr(__n) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:16:35: note: expanded from macro 'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e, ...) __BUILD_BUG_ON_ZERO(e, ##__VA_ARGS__, #e)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:17:37: note: expanded from macro '__BUILD_BUG_ON_ZERO'
#define __BUILD_BUG_ON_ZERO(e, msg) __BUILD_BUG_ON_ZERO_MSG(e, msg " is true")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:245:77: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
^~~~
drivers/gpu/drm/xe/xe_irq.c:436:26: error: static assertion expression is not an integral constant expression
if ((master_tile_ctl & DG1_MSTR_TILE(tile->id)) == 0)
^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/regs/xe_irq_regs.h:16:30: note: expanded from macro 'DG1_MSTR_TILE'
#define DG1_MSTR_TILE(t) REG_BIT(t)
^~~~~~~~~~
drivers/gpu/drm/xe/compat-i915-headers/../../i915/i915_reg_defs.h:22:9: note: expanded from macro 'REG_BIT'
BUILD_BUG_ON_ZERO(__is_constexpr(__n) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:16:35: note: expanded from macro 'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e, ...) __BUILD_BUG_ON_ZERO(e, ##__VA_ARGS__, #e)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:17:37: note: expanded from macro '__BUILD_BUG_ON_ZERO'
#define __BUILD_BUG_ON_ZERO(e, msg) __BUILD_BUG_ON_ZERO_MSG(e, msg " is true")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:245:77: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
^~~~
2 errors generated.
--
>> drivers/gpu/drm/xe/xe_reg_whitelist.c:139:22: error: static assertion expression is not an integral constant expression
range_start = reg & REG_GENMASK(25, range_bit);
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/compat-i915-headers/../../i915/i915_reg_defs.h:49:9: note: expanded from macro 'REG_GENMASK'
BUILD_BUG_ON_ZERO(__is_constexpr(__high) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:16:35: note: expanded from macro 'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e, ...) __BUILD_BUG_ON_ZERO(e, ##__VA_ARGS__, #e)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:17:37: note: expanded from macro '__BUILD_BUG_ON_ZERO'
#define __BUILD_BUG_ON_ZERO(e, msg) __BUILD_BUG_ON_ZERO_MSG(e, msg " is true")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:245:77: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
^~~~
drivers/gpu/drm/xe/xe_reg_whitelist.c:140:28: error: static assertion expression is not an integral constant expression
range_end = range_start | REG_GENMASK(range_bit, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/compat-i915-headers/../../i915/i915_reg_defs.h:49:9: note: expanded from macro 'REG_GENMASK'
BUILD_BUG_ON_ZERO(__is_constexpr(__high) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:16:35: note: expanded from macro 'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e, ...) __BUILD_BUG_ON_ZERO(e, ##__VA_ARGS__, #e)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:17:37: note: expanded from macro '__BUILD_BUG_ON_ZERO'
#define __BUILD_BUG_ON_ZERO(e, msg) __BUILD_BUG_ON_ZERO_MSG(e, msg " is true")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:245:77: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
^~~~
2 errors generated.
--
>> drivers/gpu/drm/xe/xe_gt_idle.c:127:33: error: static assertion expression is not an integral constant expression
gtidle->powergate_enable |= (VDN_HCP_POWERGATE_ENABLE(j) |
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/regs/xe_gt_regs.h:342:40: note: expanded from macro 'VDN_HCP_POWERGATE_ENABLE'
#define VDN_HCP_POWERGATE_ENABLE(n) REG_BIT(3 + 2 * (n))
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/compat-i915-headers/../../i915/i915_reg_defs.h:22:9: note: expanded from macro 'REG_BIT'
BUILD_BUG_ON_ZERO(__is_constexpr(__n) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:16:35: note: expanded from macro 'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e, ...) __BUILD_BUG_ON_ZERO(e, ##__VA_ARGS__, #e)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:17:37: note: expanded from macro '__BUILD_BUG_ON_ZERO'
#define __BUILD_BUG_ON_ZERO(e, msg) __BUILD_BUG_ON_ZERO_MSG(e, msg " is true")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:245:77: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
^~~~
drivers/gpu/drm/xe/xe_gt_idle.c:128:12: error: static assertion expression is not an integral constant expression
VDN_MFXVDENC_POWERGATE_ENABLE(j));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/regs/xe_gt_regs.h:343:44: note: expanded from macro 'VDN_MFXVDENC_POWERGATE_ENABLE'
#define VDN_MFXVDENC_POWERGATE_ENABLE(n) REG_BIT(4 + 2 * (n))
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/xe/compat-i915-headers/../../i915/i915_reg_defs.h:22:9: note: expanded from macro 'REG_BIT'
BUILD_BUG_ON_ZERO(__is_constexpr(__n) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:16:35: note: expanded from macro 'BUILD_BUG_ON_ZERO'
#define BUILD_BUG_ON_ZERO(e, ...) __BUILD_BUG_ON_ZERO(e, ##__VA_ARGS__, #e)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:17:37: note: expanded from macro '__BUILD_BUG_ON_ZERO'
#define __BUILD_BUG_ON_ZERO(e, msg) __BUILD_BUG_ON_ZERO_MSG(e, msg " is true")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:245:77: note: expanded from macro '__BUILD_BUG_ON_ZERO_MSG'
#define __BUILD_BUG_ON_ZERO_MSG(e, msg) ((int)sizeof(struct {_Static_assert(!(e), msg);}))
^~~~
2 errors generated.
vim +303 drivers/gpu/drm/xe/xe_irq.c
7e485d9816c134c Matt Roper 2023-06-01 288
7e485d9816c134c Matt Roper 2023-06-01 289 static void gt_irq_handler(struct xe_tile *tile,
3e8e7ee6a375217 Francois Dugast 2023-07-17 290 u32 master_ctl, unsigned long *intr_dw,
dd08ebf6c3525a7 Matthew Brost 2023-03-30 291 u32 *identity)
dd08ebf6c3525a7 Matthew Brost 2023-03-30 292 {
7e485d9816c134c Matt Roper 2023-06-01 293 struct xe_device *xe = tile_to_xe(tile);
a7945ef770dbabe Matt Roper 2024-09-10 294 struct xe_mmio *mmio = &tile->mmio;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 295 unsigned int bank, bit;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 296 u16 instance, intr_vec;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 297 enum xe_engine_class class;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 298 struct xe_hw_engine *hwe;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 299
dd08ebf6c3525a7 Matthew Brost 2023-03-30 300 spin_lock(&xe->irq.lock);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 301
dd08ebf6c3525a7 Matthew Brost 2023-03-30 302 for (bank = 0; bank < 2; bank++) {
6b7ece97dd21d2b Matt Roper 2023-03-31 @303 if (!(master_ctl & GT_DW_IRQ(bank)))
dd08ebf6c3525a7 Matthew Brost 2023-03-30 304 continue;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 305
7e485d9816c134c Matt Roper 2023-06-01 306 intr_dw[bank] = xe_mmio_read32(mmio, GT_INTR_DW(bank));
dd08ebf6c3525a7 Matthew Brost 2023-03-30 307 for_each_set_bit(bit, intr_dw + bank, 32)
7e485d9816c134c Matt Roper 2023-06-01 308 identity[bit] = gt_engine_identity(xe, mmio, bank, bit);
7e485d9816c134c Matt Roper 2023-06-01 309 xe_mmio_write32(mmio, GT_INTR_DW(bank), intr_dw[bank]);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 310
dd08ebf6c3525a7 Matthew Brost 2023-03-30 311 for_each_set_bit(bit, intr_dw + bank, 32) {
7e485d9816c134c Matt Roper 2023-06-01 312 struct xe_gt *engine_gt;
7e485d9816c134c Matt Roper 2023-06-01 313
6b7ece97dd21d2b Matt Roper 2023-03-31 314 class = INTR_ENGINE_CLASS(identity[bit]);
6b7ece97dd21d2b Matt Roper 2023-03-31 315 instance = INTR_ENGINE_INSTANCE(identity[bit]);
6b7ece97dd21d2b Matt Roper 2023-03-31 316 intr_vec = INTR_ENGINE_INTR(identity[bit]);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 317
7e485d9816c134c Matt Roper 2023-06-01 318 engine_gt = pick_engine_gt(tile, class, instance);
7e485d9816c134c Matt Roper 2023-06-01 319
3d2b5d4e28d9c58 Daniele Ceraolo Spurio 2023-08-17 320 hwe = xe_gt_hw_engine(engine_gt, class, instance, false);
3d2b5d4e28d9c58 Daniele Ceraolo Spurio 2023-08-17 321 if (hwe) {
3d2b5d4e28d9c58 Daniele Ceraolo Spurio 2023-08-17 322 xe_hw_engine_handle_irq(hwe, intr_vec);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 323 continue;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 324 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 325
3d2b5d4e28d9c58 Daniele Ceraolo Spurio 2023-08-17 326 if (class == XE_ENGINE_CLASS_OTHER) {
87a4c85d3a3ed57 Vitaly Lubart 2023-08-28 327 /* HECI GSCFI interrupts come from outside of GT */
87a4c85d3a3ed57 Vitaly Lubart 2023-08-28 328 if (HAS_HECI_GSCFI(xe) && instance == OTHER_GSC_INSTANCE)
87a4c85d3a3ed57 Vitaly Lubart 2023-08-28 329 xe_heci_gsc_irq_handler(xe, intr_vec);
87a4c85d3a3ed57 Vitaly Lubart 2023-08-28 330 else
3d2b5d4e28d9c58 Daniele Ceraolo Spurio 2023-08-17 331 gt_other_irq_handler(engine_gt, instance, intr_vec);
3d2b5d4e28d9c58 Daniele Ceraolo Spurio 2023-08-17 332 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 333 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 334 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 335
dd08ebf6c3525a7 Matthew Brost 2023-03-30 336 spin_unlock(&xe->irq.lock);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 337 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 338
:::::: The code at line 303 was first introduced by commit
:::::: 6b7ece97dd21d2b80a41f6192f89f8848c3b1d76 drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
:::::: TO: Matt Roper <matthew.d.roper@intel.com>
:::::: CC: Rodrigo Vivi <rodrigo.vivi@intel.com>
--
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:[~2024-12-13 20:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-13 20:11 [linux-next:master 2603/3192] drivers/gpu/drm/xe/xe_irq.c:303:22: error: static assertion expression is not an integral constant expression 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