[drm-misc:for-linux-next 3/4] drivers/gpu/drm/panthor/panthor_device.h:326:13: warning: unused variable 'cookie'
kernel test robot
lkp at intel.com
Tue Apr 2 18:58:21 UTC 2024
tree: git://anongit.freedesktop.org/drm/drm-misc for-linux-next
head: 10021ef27310279c850cf6cb38542c443a995e92
commit: 962f88b9c91647f3ff4a0d3709662641baed5164 [3/4] drm/panthor: Drop the dev_enter/exit() sections in _irq_suspend/resume()
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240403/202404030209.n8lhzYfk-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240403/202404030209.n8lhzYfk-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404030209.n8lhzYfk-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/panthor/panthor_fw.c:19:
drivers/gpu/drm/panthor/panthor_fw.c: In function 'panthor_job_irq_suspend':
>> drivers/gpu/drm/panthor/panthor_device.h:326:13: warning: unused variable 'cookie' [-Wunused-variable]
326 | int cookie; \
| ^~~~~~
drivers/gpu/drm/panthor/panthor_fw.c:979:1: note: in expansion of macro 'PANTHOR_IRQ_HANDLER'
979 | PANTHOR_IRQ_HANDLER(job, JOB, panthor_job_irq_handler);
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panthor/panthor_fw.c: In function 'panthor_job_irq_resume':
drivers/gpu/drm/panthor/panthor_device.h:336:13: warning: unused variable 'cookie' [-Wunused-variable]
336 | int cookie; \
| ^~~~~~
drivers/gpu/drm/panthor/panthor_fw.c:979:1: note: in expansion of macro 'PANTHOR_IRQ_HANDLER'
979 | PANTHOR_IRQ_HANDLER(job, JOB, panthor_job_irq_handler);
| ^~~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/panthor/panthor_gpu.c:19:
drivers/gpu/drm/panthor/panthor_gpu.c: In function 'panthor_gpu_irq_suspend':
>> drivers/gpu/drm/panthor/panthor_device.h:326:13: warning: unused variable 'cookie' [-Wunused-variable]
326 | int cookie; \
| ^~~~~~
drivers/gpu/drm/panthor/panthor_gpu.c:166:1: note: in expansion of macro 'PANTHOR_IRQ_HANDLER'
166 | PANTHOR_IRQ_HANDLER(gpu, GPU, panthor_gpu_irq_handler);
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panthor/panthor_gpu.c: In function 'panthor_gpu_irq_resume':
drivers/gpu/drm/panthor/panthor_device.h:336:13: warning: unused variable 'cookie' [-Wunused-variable]
336 | int cookie; \
| ^~~~~~
drivers/gpu/drm/panthor/panthor_gpu.c:166:1: note: in expansion of macro 'PANTHOR_IRQ_HANDLER'
166 | PANTHOR_IRQ_HANDLER(gpu, GPU, panthor_gpu_irq_handler);
| ^~~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/panthor/panthor_mmu.c:30:
drivers/gpu/drm/panthor/panthor_mmu.c: In function 'panthor_mmu_irq_suspend':
>> drivers/gpu/drm/panthor/panthor_device.h:326:13: warning: unused variable 'cookie' [-Wunused-variable]
326 | int cookie; \
| ^~~~~~
drivers/gpu/drm/panthor/panthor_mmu.c:1689:1: note: in expansion of macro 'PANTHOR_IRQ_HANDLER'
1689 | PANTHOR_IRQ_HANDLER(mmu, MMU, panthor_mmu_irq_handler);
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/panthor/panthor_mmu.c: In function 'panthor_mmu_irq_resume':
drivers/gpu/drm/panthor/panthor_device.h:336:13: warning: unused variable 'cookie' [-Wunused-variable]
336 | int cookie; \
| ^~~~~~
drivers/gpu/drm/panthor/panthor_mmu.c:1689:1: note: in expansion of macro 'PANTHOR_IRQ_HANDLER'
1689 | PANTHOR_IRQ_HANDLER(mmu, MMU, panthor_mmu_irq_handler);
| ^~~~~~~~~~~~~~~~~~~
vim +/cookie +326 drivers/gpu/drm/panthor/panthor_device.h
5fe909cae118a7 Boris Brezillon 2024-02-29 271
5fe909cae118a7 Boris Brezillon 2024-02-29 272 const char *panthor_exception_name(struct panthor_device *ptdev,
5fe909cae118a7 Boris Brezillon 2024-02-29 273 u32 exception_code);
5fe909cae118a7 Boris Brezillon 2024-02-29 274
5fe909cae118a7 Boris Brezillon 2024-02-29 275 /**
5fe909cae118a7 Boris Brezillon 2024-02-29 276 * PANTHOR_IRQ_HANDLER() - Define interrupt handlers and the interrupt
5fe909cae118a7 Boris Brezillon 2024-02-29 277 * registration function.
5fe909cae118a7 Boris Brezillon 2024-02-29 278 *
5fe909cae118a7 Boris Brezillon 2024-02-29 279 * The boiler-plate to gracefully deal with shared interrupts is
5fe909cae118a7 Boris Brezillon 2024-02-29 280 * auto-generated. All you have to do is call PANTHOR_IRQ_HANDLER()
5fe909cae118a7 Boris Brezillon 2024-02-29 281 * just after the actual handler. The handler prototype is:
5fe909cae118a7 Boris Brezillon 2024-02-29 282 *
5fe909cae118a7 Boris Brezillon 2024-02-29 283 * void (*handler)(struct panthor_device *, u32 status);
5fe909cae118a7 Boris Brezillon 2024-02-29 284 */
5fe909cae118a7 Boris Brezillon 2024-02-29 285 #define PANTHOR_IRQ_HANDLER(__name, __reg_prefix, __handler) \
5fe909cae118a7 Boris Brezillon 2024-02-29 286 static irqreturn_t panthor_ ## __name ## _irq_raw_handler(int irq, void *data) \
5fe909cae118a7 Boris Brezillon 2024-02-29 287 { \
5fe909cae118a7 Boris Brezillon 2024-02-29 288 struct panthor_irq *pirq = data; \
5fe909cae118a7 Boris Brezillon 2024-02-29 289 struct panthor_device *ptdev = pirq->ptdev; \
5fe909cae118a7 Boris Brezillon 2024-02-29 290 \
5fe909cae118a7 Boris Brezillon 2024-02-29 291 if (atomic_read(&pirq->suspended)) \
5fe909cae118a7 Boris Brezillon 2024-02-29 292 return IRQ_NONE; \
5fe909cae118a7 Boris Brezillon 2024-02-29 293 if (!gpu_read(ptdev, __reg_prefix ## _INT_STAT)) \
5fe909cae118a7 Boris Brezillon 2024-02-29 294 return IRQ_NONE; \
5fe909cae118a7 Boris Brezillon 2024-02-29 295 \
5fe909cae118a7 Boris Brezillon 2024-02-29 296 gpu_write(ptdev, __reg_prefix ## _INT_MASK, 0); \
5fe909cae118a7 Boris Brezillon 2024-02-29 297 return IRQ_WAKE_THREAD; \
5fe909cae118a7 Boris Brezillon 2024-02-29 298 } \
5fe909cae118a7 Boris Brezillon 2024-02-29 299 \
5fe909cae118a7 Boris Brezillon 2024-02-29 300 static irqreturn_t panthor_ ## __name ## _irq_threaded_handler(int irq, void *data) \
5fe909cae118a7 Boris Brezillon 2024-02-29 301 { \
5fe909cae118a7 Boris Brezillon 2024-02-29 302 struct panthor_irq *pirq = data; \
5fe909cae118a7 Boris Brezillon 2024-02-29 303 struct panthor_device *ptdev = pirq->ptdev; \
5fe909cae118a7 Boris Brezillon 2024-02-29 304 irqreturn_t ret = IRQ_NONE; \
5fe909cae118a7 Boris Brezillon 2024-02-29 305 \
5fe909cae118a7 Boris Brezillon 2024-02-29 306 while (true) { \
5fe909cae118a7 Boris Brezillon 2024-02-29 307 u32 status = gpu_read(ptdev, __reg_prefix ## _INT_RAWSTAT) & pirq->mask; \
5fe909cae118a7 Boris Brezillon 2024-02-29 308 \
5fe909cae118a7 Boris Brezillon 2024-02-29 309 if (!status) \
5fe909cae118a7 Boris Brezillon 2024-02-29 310 break; \
5fe909cae118a7 Boris Brezillon 2024-02-29 311 \
5fe909cae118a7 Boris Brezillon 2024-02-29 312 gpu_write(ptdev, __reg_prefix ## _INT_CLEAR, status); \
5fe909cae118a7 Boris Brezillon 2024-02-29 313 \
5fe909cae118a7 Boris Brezillon 2024-02-29 314 __handler(ptdev, status); \
5fe909cae118a7 Boris Brezillon 2024-02-29 315 ret = IRQ_HANDLED; \
5fe909cae118a7 Boris Brezillon 2024-02-29 316 } \
5fe909cae118a7 Boris Brezillon 2024-02-29 317 \
5fe909cae118a7 Boris Brezillon 2024-02-29 318 if (!atomic_read(&pirq->suspended)) \
5fe909cae118a7 Boris Brezillon 2024-02-29 319 gpu_write(ptdev, __reg_prefix ## _INT_MASK, pirq->mask); \
5fe909cae118a7 Boris Brezillon 2024-02-29 320 \
5fe909cae118a7 Boris Brezillon 2024-02-29 321 return ret; \
5fe909cae118a7 Boris Brezillon 2024-02-29 322 } \
5fe909cae118a7 Boris Brezillon 2024-02-29 323 \
5fe909cae118a7 Boris Brezillon 2024-02-29 324 static inline void panthor_ ## __name ## _irq_suspend(struct panthor_irq *pirq) \
5fe909cae118a7 Boris Brezillon 2024-02-29 325 { \
5fe909cae118a7 Boris Brezillon 2024-02-29 @326 int cookie; \
5fe909cae118a7 Boris Brezillon 2024-02-29 327 \
1de434e0b27570 Boris Brezillon 2024-03-26 328 pirq->mask = 0; \
5fe909cae118a7 Boris Brezillon 2024-02-29 329 gpu_write(pirq->ptdev, __reg_prefix ## _INT_MASK, 0); \
5fe909cae118a7 Boris Brezillon 2024-02-29 330 synchronize_irq(pirq->irq); \
1de434e0b27570 Boris Brezillon 2024-03-26 331 atomic_set(&pirq->suspended, true); \
5fe909cae118a7 Boris Brezillon 2024-02-29 332 } \
5fe909cae118a7 Boris Brezillon 2024-02-29 333 \
5fe909cae118a7 Boris Brezillon 2024-02-29 334 static inline void panthor_ ## __name ## _irq_resume(struct panthor_irq *pirq, u32 mask) \
5fe909cae118a7 Boris Brezillon 2024-02-29 335 { \
5fe909cae118a7 Boris Brezillon 2024-02-29 336 int cookie; \
5fe909cae118a7 Boris Brezillon 2024-02-29 337 \
5fe909cae118a7 Boris Brezillon 2024-02-29 338 atomic_set(&pirq->suspended, false); \
5fe909cae118a7 Boris Brezillon 2024-02-29 339 pirq->mask = mask; \
5fe909cae118a7 Boris Brezillon 2024-02-29 340 gpu_write(pirq->ptdev, __reg_prefix ## _INT_CLEAR, mask); \
5fe909cae118a7 Boris Brezillon 2024-02-29 341 gpu_write(pirq->ptdev, __reg_prefix ## _INT_MASK, mask); \
5fe909cae118a7 Boris Brezillon 2024-02-29 342 } \
5fe909cae118a7 Boris Brezillon 2024-02-29 343 \
5fe909cae118a7 Boris Brezillon 2024-02-29 344 static int panthor_request_ ## __name ## _irq(struct panthor_device *ptdev, \
5fe909cae118a7 Boris Brezillon 2024-02-29 345 struct panthor_irq *pirq, \
5fe909cae118a7 Boris Brezillon 2024-02-29 346 int irq, u32 mask) \
5fe909cae118a7 Boris Brezillon 2024-02-29 347 { \
5fe909cae118a7 Boris Brezillon 2024-02-29 348 pirq->ptdev = ptdev; \
5fe909cae118a7 Boris Brezillon 2024-02-29 349 pirq->irq = irq; \
5fe909cae118a7 Boris Brezillon 2024-02-29 350 panthor_ ## __name ## _irq_resume(pirq, mask); \
5fe909cae118a7 Boris Brezillon 2024-02-29 351 \
5fe909cae118a7 Boris Brezillon 2024-02-29 352 return devm_request_threaded_irq(ptdev->base.dev, irq, \
5fe909cae118a7 Boris Brezillon 2024-02-29 353 panthor_ ## __name ## _irq_raw_handler, \
5fe909cae118a7 Boris Brezillon 2024-02-29 354 panthor_ ## __name ## _irq_threaded_handler, \
5fe909cae118a7 Boris Brezillon 2024-02-29 355 IRQF_SHARED, KBUILD_MODNAME "-" # __name, \
5fe909cae118a7 Boris Brezillon 2024-02-29 356 pirq); \
5fe909cae118a7 Boris Brezillon 2024-02-29 357 }
5fe909cae118a7 Boris Brezillon 2024-02-29 358
:::::: The code at line 326 was first introduced by commit
:::::: 5fe909cae118a757a77afb37174b99436a36d2e2 drm/panthor: Add the device logical block
:::::: TO: Boris Brezillon <boris.brezillon at collabora.com>
:::::: CC: Boris Brezillon <boris.brezillon at collabora.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the dri-devel
mailing list