* [freescale-fslc:6.1-2.1.x-imx 4777/15768] drivers/gpu/imx/dpu-blit/dpu-blit.c:276:5: warning: no previous prototype for 'dpu_be_get_fence'
@ 2023-10-14 22:56 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-10-14 22:56 UTC (permalink / raw)
To: Otavio Salvador; +Cc: oe-kbuild-all
Hi Dong,
First bad commit (maybe != root cause):
tree: https://github.com/Freescale/linux-fslc 6.1-2.1.x-imx
head: 3f41fbe42851375d3d5996e4bf9e9809e6c79517
commit: 20f0a59855816836adf1a3e779da5e8a704c499d [4777/15768] Merge remote-tracking branch 'origin/display/prefetch' into display/next
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20231015/202310150641.8szfCDWS-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/20231015/202310150641.8szfCDWS-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/202310150641.8szfCDWS-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpu/imx/dpu-blit/dpu-blit.c:106:6: warning: no previous prototype for 'dpu_be_configure_prefetch' [-Wmissing-prototypes]
106 | void dpu_be_configure_prefetch(struct dpu_bliteng *dpu_be,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:163:5: warning: no previous prototype for 'dpu_bliteng_get_empty_instance' [-Wmissing-prototypes]
163 | int dpu_bliteng_get_empty_instance(struct dpu_bliteng **dpu_be,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:177:6: warning: no previous prototype for 'dpu_bliteng_get_cmd_list' [-Wmissing-prototypes]
177 | u32 *dpu_bliteng_get_cmd_list(struct dpu_bliteng *dpu_be)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:183:5: warning: no previous prototype for 'dpu_bliteng_get_id' [-Wmissing-prototypes]
183 | s32 dpu_bliteng_get_id(struct dpu_bliteng *dpu_be)
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:189:6: warning: no previous prototype for 'dpu_bliteng_set_id' [-Wmissing-prototypes]
189 | void dpu_bliteng_set_id(struct dpu_bliteng *dpu_be, int id)
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:195:6: warning: no previous prototype for 'dpu_bliteng_set_dev' [-Wmissing-prototypes]
195 | void dpu_bliteng_set_dev(struct dpu_bliteng *dpu_be, struct device *dev)
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:201:5: warning: no previous prototype for 'dpu_be_get' [-Wmissing-prototypes]
201 | int dpu_be_get(struct dpu_bliteng *dpu_be)
| ^~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:209:6: warning: no previous prototype for 'dpu_be_put' [-Wmissing-prototypes]
209 | void dpu_be_put(struct dpu_bliteng *dpu_be)
| ^~~~~~~~~~
>> drivers/gpu/imx/dpu-blit/dpu-blit.c:276:5: warning: no previous prototype for 'dpu_be_get_fence' [-Wmissing-prototypes]
276 | int dpu_be_get_fence(struct dpu_bliteng *dpu_be)
| ^~~~~~~~~~~~~~~~
>> drivers/gpu/imx/dpu-blit/dpu-blit.c:358:5: warning: no previous prototype for 'dpu_be_set_fence' [-Wmissing-prototypes]
358 | int dpu_be_set_fence(struct dpu_bliteng *dpu_be, int fd)
| ^~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:380:5: warning: no previous prototype for 'dpu_be_blit' [-Wmissing-prototypes]
380 | int dpu_be_blit(struct dpu_bliteng *dpu_be,
| ^~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:508:5: warning: no previous prototype for 'dpu_bliteng_init' [-Wmissing-prototypes]
508 | int dpu_bliteng_init(struct dpu_bliteng *dpu_bliteng)
| ^~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/dpu-blit.c:587:6: warning: no previous prototype for 'dpu_bliteng_fini' [-Wmissing-prototypes]
587 | void dpu_bliteng_fini(struct dpu_bliteng *dpu_bliteng)
| ^~~~~~~~~~~~~~~~
In file included from drivers/gpu/imx/dpu-blit/dpu-blit.c:28:
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:388:38: warning: 'dpu_pixel_format_matrix' defined but not used [-Wunused-const-variable=]
388 | static const struct dpu_pixel_format dpu_pixel_format_matrix[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:380:27: warning: 'fw_dprc_ids' defined but not used [-Wunused-const-variable=]
380 | static const unsigned int fw_dprc_ids[] = {5};
| ^~~~~~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:379:27: warning: 'fl_dprc_ids' defined but not used [-Wunused-const-variable=]
379 | static const unsigned int fl_dprc_ids[] = {2};
| ^~~~~~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:378:27: warning: 'fd_dprc_ids' defined but not used [-Wunused-const-variable=]
378 | static const unsigned int fd_dprc_ids[] = {3, 4};
| ^~~~~~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:376:27: warning: 'vs_ids' defined but not used [-Wunused-const-variable=]
376 | static const unsigned int vs_ids[] = {4, 5, 9};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:375:27: warning: 'tcon_ids' defined but not used [-Wunused-const-variable=]
375 | static const unsigned int tcon_ids[] = {0, 1};
| ^~~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:374:27: warning: 'st_ids' defined but not used [-Wunused-const-variable=]
374 | static const unsigned int st_ids[] = {9};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:373:27: warning: 'sig_ids' defined but not used [-Wunused-const-variable=]
373 | static const unsigned int sig_ids[] = {0, 1};
| ^~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:372:27: warning: 'lb_ids' defined but not used [-Wunused-const-variable=]
372 | static const unsigned int lb_ids[] = {0, 1, 2, 3};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:371:27: warning: 'hs_ids' defined but not used [-Wunused-const-variable=]
371 | static const unsigned int hs_ids[] = {4, 5, 9};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:370:27: warning: 'fw_ids' defined but not used [-Wunused-const-variable=]
370 | static const unsigned int fw_ids[] = {2};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:369:27: warning: 'fl_ids' defined but not used [-Wunused-const-variable=]
369 | static const unsigned int fl_ids[] = {0};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:368:27: warning: 'fg_ids' defined but not used [-Wunused-const-variable=]
368 | static const unsigned int fg_ids[] = {0, 1};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:367:27: warning: 'fe_ids' defined but not used [-Wunused-const-variable=]
367 | static const unsigned int fe_ids[] = {0, 1, 2, 9};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:366:27: warning: 'fd_ids' defined but not used [-Wunused-const-variable=]
366 | static const unsigned int fd_ids[] = {0, 1};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:365:27: warning: 'ed_ids' defined but not used [-Wunused-const-variable=]
365 | static const unsigned int ed_ids[] = {0, 1, 4, 5};
| ^~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:364:27: warning: 'dec_ids' defined but not used [-Wunused-const-variable=]
364 | static const unsigned int dec_ids[] = {0, 1};
| ^~~~~~~
drivers/gpu/imx/dpu-blit/../dpu/dpu-prv.h:363:27: warning: 'cf_ids' defined but not used [-Wunused-const-variable=]
363 | static const unsigned int cf_ids[] = {0, 1, 4, 5};
| ^~~~~~
vim +/dpu_be_get_fence +276 drivers/gpu/imx/dpu-blit/dpu-blit.c
c476e4c01611ac Xianzhong 2022-08-09 275
c476e4c01611ac Xianzhong 2022-08-09 @276 int dpu_be_get_fence(struct dpu_bliteng *dpu_be)
c476e4c01611ac Xianzhong 2022-08-09 277 {
c476e4c01611ac Xianzhong 2022-08-09 278 int fd = -1;
c476e4c01611ac Xianzhong 2022-08-09 279 u64 seqno = 0;
c476e4c01611ac Xianzhong 2022-08-09 280 struct dpu_be_fence *fence = NULL;
c476e4c01611ac Xianzhong 2022-08-09 281 struct sync_file *sync = NULL;
c476e4c01611ac Xianzhong 2022-08-09 282
c476e4c01611ac Xianzhong 2022-08-09 283 /* Allocate a fence pointer */
c476e4c01611ac Xianzhong 2022-08-09 284 fence = kzalloc(sizeof(struct dpu_be_fence), GFP_KERNEL);
c476e4c01611ac Xianzhong 2022-08-09 285 if (!fence)
c476e4c01611ac Xianzhong 2022-08-09 286 return -1;
c476e4c01611ac Xianzhong 2022-08-09 287
c476e4c01611ac Xianzhong 2022-08-09 288 /* Init fence pointer */
c476e4c01611ac Xianzhong 2022-08-09 289 fence->signaled = false;
c476e4c01611ac Xianzhong 2022-08-09 290 spin_lock_init(&fence->lock);
c476e4c01611ac Xianzhong 2022-08-09 291 atomic_set(&fence->refcnt, 0);
c476e4c01611ac Xianzhong 2022-08-09 292
c476e4c01611ac Xianzhong 2022-08-09 293 /* Init dma fence base data */
c476e4c01611ac Xianzhong 2022-08-09 294 seqno = atomic64_inc_return(&dpu_be->seqno);
c476e4c01611ac Xianzhong 2022-08-09 295 dma_fence_init(&fence->base, &dpu_be_fence_ops, &fence->lock, dpu_be->context, seqno);
c476e4c01611ac Xianzhong 2022-08-09 296
c476e4c01611ac Xianzhong 2022-08-09 297 /* Create sync file pointer */
c476e4c01611ac Xianzhong 2022-08-09 298 sync = sync_file_create(&fence->base);
c476e4c01611ac Xianzhong 2022-08-09 299 if (!sync) {
c476e4c01611ac Xianzhong 2022-08-09 300 dev_err(dpu_be->dev, "failed to create fence sync file.\n");
c476e4c01611ac Xianzhong 2022-08-09 301 goto failed;
c476e4c01611ac Xianzhong 2022-08-09 302 }
c476e4c01611ac Xianzhong 2022-08-09 303
c476e4c01611ac Xianzhong 2022-08-09 304 /* Get the unused file descriptor */
c476e4c01611ac Xianzhong 2022-08-09 305 fd = get_unused_fd_flags(O_CLOEXEC);
c476e4c01611ac Xianzhong 2022-08-09 306 if (fd < 0) {
c476e4c01611ac Xianzhong 2022-08-09 307 dev_err(dpu_be->dev, "failed to get unused file descriptor.\n");
c476e4c01611ac Xianzhong 2022-08-09 308 goto failed;
c476e4c01611ac Xianzhong 2022-08-09 309 }
c476e4c01611ac Xianzhong 2022-08-09 310
c476e4c01611ac Xianzhong 2022-08-09 311 /* Setup fd to fence sync */
c476e4c01611ac Xianzhong 2022-08-09 312 fd_install(fd, sync->file);
c476e4c01611ac Xianzhong 2022-08-09 313
c476e4c01611ac Xianzhong 2022-08-09 314 return fd;
c476e4c01611ac Xianzhong 2022-08-09 315
c476e4c01611ac Xianzhong 2022-08-09 316 failed:
c476e4c01611ac Xianzhong 2022-08-09 317 if (sync)
c476e4c01611ac Xianzhong 2022-08-09 318 fput(sync->file);
c476e4c01611ac Xianzhong 2022-08-09 319
c476e4c01611ac Xianzhong 2022-08-09 320 kfree(fence);
c476e4c01611ac Xianzhong 2022-08-09 321
c476e4c01611ac Xianzhong 2022-08-09 322 return -1;
c476e4c01611ac Xianzhong 2022-08-09 323 }
c476e4c01611ac Xianzhong 2022-08-09 324 EXPORT_SYMBOL(dpu_be_get_fence);
c476e4c01611ac Xianzhong 2022-08-09 325
c476e4c01611ac Xianzhong 2022-08-09 326 static int dpu_be_emit_fence(struct dpu_bliteng *dpu_be, struct dpu_be_fence *fence, bool stall)
c476e4c01611ac Xianzhong 2022-08-09 327 {
c476e4c01611ac Xianzhong 2022-08-09 328 int i = 0;
c476e4c01611ac Xianzhong 2022-08-09 329
c476e4c01611ac Xianzhong 2022-08-09 330 /* Get the available fence index with spin-lock */
c476e4c01611ac Xianzhong 2022-08-09 331 spin_lock(&dpu_be->lock);
c476e4c01611ac Xianzhong 2022-08-09 332 i = dpu_be->next_fence_idx++;
c476e4c01611ac Xianzhong 2022-08-09 333 dpu_be->next_fence_idx &= 0x3;
c476e4c01611ac Xianzhong 2022-08-09 334 spin_unlock(&dpu_be->lock);
c476e4c01611ac Xianzhong 2022-08-09 335
c476e4c01611ac Xianzhong 2022-08-09 336 /*Acquire fence semaphore released by irq handler */
c476e4c01611ac Xianzhong 2022-08-09 337 down(&dpu_be->sema[i]);
c476e4c01611ac Xianzhong 2022-08-09 338
c476e4c01611ac Xianzhong 2022-08-09 339 WARN_ON(dpu_be->fence[i]);
c476e4c01611ac Xianzhong 2022-08-09 340 dpu_be->fence[i] = fence;
c476e4c01611ac Xianzhong 2022-08-09 341
c476e4c01611ac Xianzhong 2022-08-09 342 dpu_cs_wait_fifo_space(dpu_be);
c476e4c01611ac Xianzhong 2022-08-09 343
c476e4c01611ac Xianzhong 2022-08-09 344 /* Write comctrl interrupt PRESET to command sequencer */
c476e4c01611ac Xianzhong 2022-08-09 345 dpu_be_write(dpu_be, 0x14000001, CMDSEQ_HIF);
c476e4c01611ac Xianzhong 2022-08-09 346 dpu_be_write(dpu_be, COMCTRL_USERINTERRUPTPRESET1, CMDSEQ_HIF);
c476e4c01611ac Xianzhong 2022-08-09 347 dpu_be_write(dpu_be, 1 << (i + (IRQ_COMCTRL_SW0 & 0x1F)), CMDSEQ_HIF);
c476e4c01611ac Xianzhong 2022-08-09 348
c476e4c01611ac Xianzhong 2022-08-09 349 /*Stall until semaphore released */
c476e4c01611ac Xianzhong 2022-08-09 350 if (stall) {
c476e4c01611ac Xianzhong 2022-08-09 351 down(&dpu_be->sema[i]);
c476e4c01611ac Xianzhong 2022-08-09 352 up(&dpu_be->sema[i]);
c476e4c01611ac Xianzhong 2022-08-09 353 }
c476e4c01611ac Xianzhong 2022-08-09 354
c476e4c01611ac Xianzhong 2022-08-09 355 return 0;
c476e4c01611ac Xianzhong 2022-08-09 356 }
c476e4c01611ac Xianzhong 2022-08-09 357
c476e4c01611ac Xianzhong 2022-08-09 @358 int dpu_be_set_fence(struct dpu_bliteng *dpu_be, int fd)
c476e4c01611ac Xianzhong 2022-08-09 359 {
c476e4c01611ac Xianzhong 2022-08-09 360 struct dpu_be_fence *fence = NULL;
c476e4c01611ac Xianzhong 2022-08-09 361
c476e4c01611ac Xianzhong 2022-08-09 362 /* Retrieve fence pointer from sync file descriptor */
c476e4c01611ac Xianzhong 2022-08-09 363 fence = (struct dpu_be_fence *)sync_file_get_fence(fd);
c476e4c01611ac Xianzhong 2022-08-09 364 if (!fence) {
c476e4c01611ac Xianzhong 2022-08-09 365 dev_err(dpu_be->dev, "failed to get fence pointer.\n");
c476e4c01611ac Xianzhong 2022-08-09 366 return -1;
c476e4c01611ac Xianzhong 2022-08-09 367 }
c476e4c01611ac Xianzhong 2022-08-09 368
c476e4c01611ac Xianzhong 2022-08-09 369 /* Setup the fence and active it asynchronously */
c476e4c01611ac Xianzhong 2022-08-09 370 dpu_be_emit_fence(dpu_be, fence, false);
c476e4c01611ac Xianzhong 2022-08-09 371
c476e4c01611ac Xianzhong 2022-08-09 372 /* Increase fence and base reference */
c476e4c01611ac Xianzhong 2022-08-09 373 atomic_inc(&fence->refcnt);
c476e4c01611ac Xianzhong 2022-08-09 374 dma_fence_get(&fence->base);
c476e4c01611ac Xianzhong 2022-08-09 375
c476e4c01611ac Xianzhong 2022-08-09 376 return 0;
c476e4c01611ac Xianzhong 2022-08-09 377 }
c476e4c01611ac Xianzhong 2022-08-09 378 EXPORT_SYMBOL(dpu_be_set_fence);
c476e4c01611ac Xianzhong 2022-08-09 379
:::::: The code at line 276 was first introduced by commit
:::::: c476e4c01611acdd7b3b458fc2dd68cca3a57688 MGS-6488-2 gpu: imx: dpu-blit: Implement DPU fence with IRQ_COMCTRL_SW
:::::: TO: Xianzhong <xianzhong.li@nxp.com>
:::::: CC: Dong Aisheng <aisheng.dong@nxp.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:[~2023-10-14 22:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-14 22:56 [freescale-fslc:6.1-2.1.x-imx 4777/15768] drivers/gpu/imx/dpu-blit/dpu-blit.c:276:5: warning: no previous prototype for 'dpu_be_get_fence' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.