[nomadik:ux500-skomer-v5.13-rc1 6/7] drivers/gpu/drm/mcde/mcde_display.c:403:23: warning: suggest parentheses around '-' inside '<<'
kernel test robot
lkp at intel.com
Fri Jun 4 06:07:38 PDT 2021
tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git ux500-skomer-v5.13-rc1
head: 1d339919c927a2a4959827c8c7656dbe5eee9ed3
commit: d7295e8422c84b108fa5669740a2caac1f71e3d9 [6/7] pointless hack to stabilize?
config: csky-randconfig-r024-20210604 (attached as .config)
compiler: csky-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/commit/?id=d7295e8422c84b108fa5669740a2caac1f71e3d9
git remote add nomadik https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
git fetch --no-tags nomadik ux500-skomer-v5.13-rc1
git checkout d7295e8422c84b108fa5669740a2caac1f71e3d9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=csky
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/mcde/mcde_display.c: In function 'mcde_configure_overlay':
>> drivers/gpu/drm/mcde/mcde_display.c:403:23: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
403 | val = mode->hdisplay - 1 << MCDE_OVLXCONF_PPL_SHIFT;
| ~~~~~~~~~~~~~~~^~~
drivers/gpu/drm/mcde/mcde_display.c:404:24: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
404 | val |= mode->vdisplay - 1 << MCDE_OVLXCONF_LPF_SHIFT;
| ~~~~~~~~~~~~~~~^~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for LOCKDEP
Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
Selected by
- PROVE_LOCKING && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
- LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
- DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
vim +403 drivers/gpu/drm/mcde/mcde_display.c
336
337 static void mcde_configure_overlay(struct mcde *mcde, enum mcde_overlay ovl,
338 enum mcde_extsrc src,
339 enum mcde_channel ch,
340 const struct drm_display_mode *mode,
341 u32 format, int cpp)
342 {
343 u32 val;
344 u32 conf1;
345 u32 conf2;
346 u32 crop;
347 u32 ljinc;
348 u32 cr;
349 u32 comp;
350 u32 pixel_fetcher_watermark;
351
352 switch (ovl) {
353 case MCDE_OVERLAY_0:
354 conf1 = MCDE_OVL0CONF;
355 conf2 = MCDE_OVL0CONF2;
356 crop = MCDE_OVL0CROP;
357 ljinc = MCDE_OVL0LJINC;
358 cr = MCDE_OVL0CR;
359 comp = MCDE_OVL0COMP;
360 break;
361 case MCDE_OVERLAY_1:
362 conf1 = MCDE_OVL1CONF;
363 conf2 = MCDE_OVL1CONF2;
364 crop = MCDE_OVL1CROP;
365 ljinc = MCDE_OVL1LJINC;
366 cr = MCDE_OVL1CR;
367 comp = MCDE_OVL1COMP;
368 break;
369 case MCDE_OVERLAY_2:
370 conf1 = MCDE_OVL2CONF;
371 conf2 = MCDE_OVL2CONF2;
372 crop = MCDE_OVL2CROP;
373 ljinc = MCDE_OVL2LJINC;
374 cr = MCDE_OVL2CR;
375 comp = MCDE_OVL2COMP;
376 break;
377 case MCDE_OVERLAY_3:
378 conf1 = MCDE_OVL3CONF;
379 conf2 = MCDE_OVL3CONF2;
380 crop = MCDE_OVL3CROP;
381 ljinc = MCDE_OVL3LJINC;
382 cr = MCDE_OVL3CR;
383 comp = MCDE_OVL3COMP;
384 break;
385 case MCDE_OVERLAY_4:
386 conf1 = MCDE_OVL4CONF;
387 conf2 = MCDE_OVL4CONF2;
388 crop = MCDE_OVL4CROP;
389 ljinc = MCDE_OVL4LJINC;
390 cr = MCDE_OVL4CR;
391 comp = MCDE_OVL4COMP;
392 break;
393 case MCDE_OVERLAY_5:
394 conf1 = MCDE_OVL5CONF;
395 conf2 = MCDE_OVL5CONF2;
396 crop = MCDE_OVL5CROP;
397 ljinc = MCDE_OVL5LJINC;
398 cr = MCDE_OVL5CR;
399 comp = MCDE_OVL5COMP;
400 break;
401 }
402
> 403 val = mode->hdisplay - 1 << MCDE_OVLXCONF_PPL_SHIFT;
404 val |= mode->vdisplay - 1 << MCDE_OVLXCONF_LPF_SHIFT;
405 /* Use external source 0 that we just configured */
406 val |= src << MCDE_OVLXCONF_EXTSRC_ID_SHIFT;
407 writel(val, mcde->regs + conf1);
408
409 val = MCDE_OVLXCONF2_BP_PER_PIXEL_ALPHA;
410 val |= 0xff << MCDE_OVLXCONF2_ALPHAVALUE_SHIFT;
411 /* OPQ: overlay is opaque */
412 switch (format) {
413 case DRM_FORMAT_ARGB8888:
414 case DRM_FORMAT_ABGR8888:
415 case DRM_FORMAT_ARGB4444:
416 case DRM_FORMAT_ABGR4444:
417 case DRM_FORMAT_XRGB1555:
418 case DRM_FORMAT_XBGR1555:
419 /* No OPQ */
420 break;
421 case DRM_FORMAT_XRGB8888:
422 case DRM_FORMAT_XBGR8888:
423 case DRM_FORMAT_RGB888:
424 case DRM_FORMAT_BGR888:
425 case DRM_FORMAT_RGB565:
426 case DRM_FORMAT_BGR565:
427 case DRM_FORMAT_YUV422:
428 val |= MCDE_OVLXCONF2_OPQ;
429 break;
430 default:
431 dev_err(mcde->dev, "Unknown pixel format 0x%08x\n",
432 format);
433 break;
434 }
435
436 /*
437 * Pixel fetch watermark level is max 0x1FFF pixels.
438 * Two basic rules should be followed:
439 * 1. The value should be at least 256 bits.
440 * 2. The sum of all active overlays pixelfetch watermark level
441 * multiplied with bits per pixel, should be lower than the
442 * size of input_fifo_size in bits.
443 * 3. The value should be a multiple of a line (256 bits).
444 */
445 switch (cpp) {
446 case 2:
447 pixel_fetcher_watermark = 128;
448 break;
449 case 3:
450 pixel_fetcher_watermark = 96;
451 break;
452 case 4:
453 pixel_fetcher_watermark = 48;
454 break;
455 default:
456 pixel_fetcher_watermark = 48;
457 break;
458 }
459 dev_dbg(mcde->dev, "pixel fetcher watermark level %d pixels\n",
460 pixel_fetcher_watermark);
461 val |= pixel_fetcher_watermark << MCDE_OVLXCONF2_PIXELFETCHERWATERMARKLEVEL_SHIFT;
462 writel(val, mcde->regs + conf2);
463
464 /* Number of bytes to fetch per line */
465 writel(mcde->stride, mcde->regs + ljinc);
466 /* No cropping */
467 writel(0, mcde->regs + crop);
468
469 /* Set up overlay control register */
470 val = MCDE_OVLXCR_OVLEN;
471 val |= MCDE_OVLXCR_COLCCTRL_DISABLED;
472 val |= MCDE_OVLXCR_BURSTSIZE_8W <<
473 MCDE_OVLXCR_BURSTSIZE_SHIFT;
474 val |= MCDE_OVLXCR_MAXOUTSTANDING_8_REQ <<
475 MCDE_OVLXCR_MAXOUTSTANDING_SHIFT;
476 /* Not using rotation but set it up anyways */
477 val |= MCDE_OVLXCR_ROTBURSTSIZE_8W <<
478 MCDE_OVLXCR_ROTBURSTSIZE_SHIFT;
479 writel(val, mcde->regs + cr);
480
481 /*
482 * Set up the overlay compositor to route the overlay out to
483 * the desired channel
484 */
485 val = ch << MCDE_OVLXCOMP_CH_ID_SHIFT;
486 writel(val, mcde->regs + comp);
487 }
488
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33550 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210604/4ca8ae5c/attachment-0001.gz>
More information about the linux-arm-kernel
mailing list