drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 07a56bb875afbe39dabbf6ba7b83783d166863db
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: arc-randconfig-s032-20200717 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned char [usertype] *addr @@
>> drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: expected void const [noderef] __iomem *addr
drivers/video/fbdev/aty/atyfb_base.c:3715:37: sparse: got unsigned char [usertype] *addr
--
>> sound/pci/echoaudio/echoaudio.c:1824:21: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void const [noderef] __iomem *addr @@ got unsigned int volatile [noderef] [usertype] __iomem *dsp_registers @@
>> sound/pci/echoaudio/echoaudio.c:1824:21: sparse: expected void const [noderef] __iomem *addr
sound/pci/echoaudio/echoaudio.c:1824:21: sparse: got unsigned int volatile [noderef] [usertype] __iomem *dsp_registers
vim +3715 drivers/video/fbdev/aty/atyfb_base.c
c98959f566e0c6 drivers/video/aty/atyfb_base.c Ville Syrjala 2006-12-08 3691
48c68c4f1b5424 drivers/video/aty/atyfb_base.c Greg Kroah-Hartman 2012-12-21 3692 static void atyfb_remove(struct fb_info *info)
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3693 {
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3694 struct atyfb_par *par = (struct atyfb_par *) info->par;
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3695
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3696 /* restore video mode */
eafad22a05fdac drivers/video/aty/atyfb_base.c Ville Syrjala 2009-06-30 3697 aty_set_crtc(par, &par->saved_crtc);
eafad22a05fdac drivers/video/aty/atyfb_base.c Ville Syrjala 2009-06-30 3698 par->pll_ops->set_pll(info, &par->saved_pll);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3699
37ce69a57ff217 drivers/video/aty/atyfb_base.c Richard Purdie 2007-02-10 3700 unregister_framebuffer(info);
37ce69a57ff217 drivers/video/aty/atyfb_base.c Richard Purdie 2007-02-10 3701
5474c120aafe78 drivers/video/aty/atyfb_base.c Michael Hanselmann 2006-06-25 3702 #ifdef CONFIG_FB_ATY_BACKLIGHT
5474c120aafe78 drivers/video/aty/atyfb_base.c Michael Hanselmann 2006-06-25 3703 if (M64_HAS(MOBIL_BUS))
37ce69a57ff217 drivers/video/aty/atyfb_base.c Richard Purdie 2007-02-10 3704 aty_bl_exit(info->bl_dev);
5474c120aafe78 drivers/video/aty/atyfb_base.c Michael Hanselmann 2006-06-25 3705 #endif
7d89a3cb159aec drivers/video/fbdev/aty/atyfb_base.c Luis R. Rodriguez 2015-07-09 3706 arch_phys_wc_del(par->wc_cookie);
5474c120aafe78 drivers/video/aty/atyfb_base.c Michael Hanselmann 2006-06-25 3707
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3708 #ifndef __sparc__
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3709 if (par->ati_regbase)
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3710 iounmap(par->ati_regbase);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3711 if (info->screen_base)
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3712 iounmap(info->screen_base);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3713 #ifdef __BIG_ENDIAN
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3714 if (info->sprite.addr)
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 @3715 iounmap(info->sprite.addr);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3716 #endif
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3717 #endif
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3718 #ifdef __sparc__
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3719 kfree(par->mmap_map);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3720 #endif
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3721 if (par->aux_start)
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3722 release_mem_region(par->aux_start, par->aux_size);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3723
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3724 if (par->res_start)
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3725 release_mem_region(par->res_start, par->res_size);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3726
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3727 framebuffer_release(info);
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3728 }
^1da177e4c3f41 drivers/video/aty/atyfb_base.c Linus Torvalds 2005-04-16 3729
:::::: The code at line 3715 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/tty/serial/ip22zilog.c:114:22: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 07a56bb875afbe39dabbf6ba7b83783d166863db
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: mips-randconfig-s032-20200717 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/tty/serial/ip22zilog.c:114:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
>> drivers/tty/serial/ip22zilog.c:114:22: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:114:22: sparse: got unsigned char volatile *
>> drivers/tty/serial/ip22zilog.c:116:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
>> drivers/tty/serial/ip22zilog.c:116:25: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:116:25: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:125:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:125:22: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:125:22: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:127:24: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:127:24: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:127:24: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:138:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:138:33: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:138:33: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:144:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:144:24: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:144:24: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:148:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:148:42: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:148:42: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:170:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:170:26: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:170:26: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:256:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:256:29: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:256:29: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:263:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:263:42: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:263:42: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:268:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:268:29: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:268:29: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:318:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:318:25: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:318:25: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:321:30: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:321:30: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:321:30: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:361:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:361:47: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:361:47: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:390:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:390:42: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:390:42: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:408:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:408:40: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:408:40: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:421:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:421:27: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:421:27: sparse: got unsigned char volatile *
>> drivers/tty/serial/ip22zilog.c:432:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:441:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:441:44: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:441:44: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:459:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:464:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:464:44: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:464:44: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:546:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:580:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:586:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:586:25: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:586:25: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:597:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:597:39: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:597:39: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:608:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:608:48: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:608:48: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:629:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:641:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:658:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:691:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:701:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:715:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:722:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:722:34: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:722:34: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:782:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:896:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:995:41: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:1002:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:1002:44: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:1002:44: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:1010:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:1010:21: sparse: expected void volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:1010:21: sparse: got unsigned char volatile *
>> drivers/tty/serial/ip22zilog.c:1100:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] __iomem *membase @@ got char * @@
>> drivers/tty/serial/ip22zilog.c:1100:57: sparse: expected unsigned char [noderef] __iomem *membase
drivers/tty/serial/ip22zilog.c:1100:57: sparse: got char *
drivers/tty/serial/ip22zilog.c:1101:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] __iomem *membase @@ got char * @@
drivers/tty/serial/ip22zilog.c:1101:57: sparse: expected unsigned char [noderef] __iomem *membase
drivers/tty/serial/ip22zilog.c:1101:57: sparse: got char *
>> drivers/tty/serial/ip22zilog.c:1205:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
>> drivers/tty/serial/ip22zilog.c:1205:29: sparse: expected void const volatile [noderef] __iomem *addr
drivers/tty/serial/ip22zilog.c:1205:29: sparse: got void *
drivers/tty/serial/ip22zilog.c:1209:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/tty/serial/ip22zilog.c:1209:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/tty/serial/ip22zilog.c:1209:34: sparse: got void *
drivers/tty/serial/ip22zilog.c:494:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:495:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:495:25: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:495:25: sparse: got unsigned char volatile *
drivers/tty/serial/ip22zilog.c:494:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/tty/serial/ip22zilog.c:495:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got unsigned char volatile * @@
drivers/tty/serial/ip22zilog.c:495:25: sparse: expected void const volatile [noderef] __iomem *mem
drivers/tty/serial/ip22zilog.c:495:25: sparse: got unsigned char volatile *
vim +114 drivers/tty/serial/ip22zilog.c
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 100
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 101 /* Reading and writing Zilog8530 registers. The delays are to make this
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 102 * driver work on the IP22 which needs a settling delay after each chip
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 103 * register access, other machines handle this in hardware via auxiliary
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 104 * flip-flops which implement the settle time we do in software.
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 105 *
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 106 * The port lock must be held and local IRQs must be disabled
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 107 * when {read,write}_zsreg is invoked.
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 108 */
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 109 static unsigned char read_zsreg(struct zilog_channel *channel,
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 110 unsigned char reg)
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 111 {
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 112 unsigned char retval;
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 113
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 @114 writeb(reg, &channel->control);
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 115 ZSDELAY();
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 @116 retval = readb(&channel->control);
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 117 ZSDELAY();
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 118
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 119 return retval;
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 120 }
^1da177e4c3f41 drivers/serial/ip22zilog.c Linus Torvalds 2005-04-16 121
:::::: The code at line 114 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds(a)ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds(a)ppc970.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
warning: some functions compiled with BTI and some compiled without BTI
by kernel test robot
Hi Mark,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 07a56bb875afbe39dabbf6ba7b83783d166863db
commit: 97fed779f2a68937d9590fbbe8ed31d6ebbce5a5 arm64: bti: Provide Kconfig for kernel mode BTI
date: 2 months ago
config: arm64-randconfig-r021-20200717 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git checkout 97fed779f2a68937d9590fbbe8ed31d6ebbce5a5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
--
drivers/power/supply/ltc2941-battery-gauge.c:476:13: warning: cast to smaller integer type 'enum ltc294x_id' from 'const void *' [-Wvoid-pointer-to-enum-cast]
info->id = (enum ltc294x_id)of_device_get_match_data(&client->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
1 warning generated.
--
drivers/power/supply/rt9455_charger.c:201:18: warning: unused variable 'rt9455_boost_voltage_values' [-Wunused-const-variable]
static const int rt9455_boost_voltage_values[] = {
^
drivers/power/supply/rt9455_charger.c:1734:36: warning: unused variable 'rt9455_i2c_acpi_match' [-Wunused-const-variable]
static const struct acpi_device_id rt9455_i2c_acpi_match[] = {
^
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
2 warnings generated.
--
drivers/power/supply/bq24257_charger.c:1155:36: warning: unused variable 'bq24257_acpi_match' [-Wunused-const-variable]
static const struct acpi_device_id bq24257_acpi_match[] = {
^
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
1 warning generated.
--
drivers/power/supply/bq25890_charger.c:1060:36: warning: unused variable 'bq25890_acpi_match' [-Wunused-const-variable]
static const struct acpi_device_id bq25890_acpi_match[] = {
^
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
1 warning generated.
--
drivers/power/reset/vexpress-poweroff.c:124:10: warning: cast to smaller integer type 'enum vexpress_reset_func' from 'const void *' [-Wvoid-pointer-to-enum-cast]
switch ((enum vexpress_reset_func)match->data) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
1 warning generated.
--
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
>> warning: some functions compiled with BTI and some compiled without BTI
>> warning: not setting BTI in feature flags
arch/arm64/kernel/vdso/vgettimeofday.c:9:5: warning: no previous prototype for function '__kernel_clock_gettime' [-Wmissing-prototypes]
int __kernel_clock_gettime(clockid_t clock,
^
arch/arm64/kernel/vdso/vgettimeofday.c:9:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __kernel_clock_gettime(clockid_t clock,
^
static
arch/arm64/kernel/vdso/vgettimeofday.c:15:5: warning: no previous prototype for function '__kernel_gettimeofday' [-Wmissing-prototypes]
int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
^
arch/arm64/kernel/vdso/vgettimeofday.c:15:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
^
static
arch/arm64/kernel/vdso/vgettimeofday.c:21:5: warning: no previous prototype for function '__kernel_clock_getres' [-Wmissing-prototypes]
int __kernel_clock_getres(clockid_t clock_id,
^
arch/arm64/kernel/vdso/vgettimeofday.c:21:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __kernel_clock_getres(clockid_t clock_id,
^
static
3 warnings generated.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v4 5/7] drivers: thermal: tsens: add interrupt support for 9860 driver
by kernel test robot
Hi Ansuel,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on clk/clk-next linus/master v5.8-rc5 next-20200716]
[cannot apply to thermal/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]
url: https://github.com/0day-ci/linux/commits/Ansuel-Smith/Add-support-for-ipq...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm64-randconfig-r004-20200716 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/thermal/qcom/tsens-8960.c:216:14: warning: signed shift result (0x9B0000000) requires 37 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
(CONFIG << CONFIG_SHIFT_8660);
~~~~~~ ^ ~~~~~~~~~~~~~~~~~
1 warning generated.
vim +/int +216 drivers/thermal/qcom/tsens-8960.c
191
192 static void hw_init(struct tsens_priv *priv)
193 {
194 int ret;
195 unsigned int reg_cntl = 0, reg_cfg = 0, reg_thr = 0;
196 unsigned int reg_status_cntl = 0;
197
198 regmap_read(priv->tm_map, CNTL_ADDR, ®_cntl);
199 regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl | TSENS_SW_RST);
200
201 reg_cntl |= SLP_CLK_ENA | (MEASURE_PERIOD << 18) |
202 (((1 << priv->num_sensors) - 1) << SENSOR0_SHIFT);
203 regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl);
204 regmap_read(priv->tm_map, STATUS_CNTL_ADDR_8064, ®_status_cntl);
205 reg_status_cntl |= LOWER_STATUS_CLR | UPPER_STATUS_CLR |
206 MIN_STATUS_MASK | MAX_STATUS_MASK;
207 regmap_write(priv->tm_map, STATUS_CNTL_ADDR_8064, reg_status_cntl);
208 reg_cntl |= TSENS_EN;
209 regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl);
210
211 regmap_read(priv->tm_map, CONFIG_ADDR, ®_cfg);
212 if (priv->num_sensors > 1)
213 reg_cfg = (reg_cfg & ~CONFIG_MASK) | CONFIG;
214 else
215 reg_cfg = (reg_cfg & ~CONFIG_MASK) |
> 216 (CONFIG << CONFIG_SHIFT_8660);
217 regmap_write(priv->tm_map, CONFIG_ADDR, reg_cfg);
218
219 reg_thr |= (LOWER_LIMIT_TH_8064 << THRESHOLD_LOWER_LIMIT_SHIFT) |
220 (UPPER_LIMIT_TH_8064 << THRESHOLD_UPPER_LIMIT_SHIFT) |
221 (MIN_LIMIT_TH << THRESHOLD_MIN_LIMIT_SHIFT) |
222 (MAX_LIMIT_TH << THRESHOLD_MAX_LIMIT_SHIFT);
223
224 regmap_write(priv->tm_map, THRESHOLD_ADDR, reg_thr);
225
226 ret = devm_request_irq(priv->dev, priv->tsens_irq, tsens_isr,
227 IRQF_TRIGGER_RISING, "tsens_interrupt", priv);
228 if (ret < 0) {
229 dev_err(priv->dev, "request_irq FAIL: %d", ret);
230 return;
231 }
232
233 INIT_WORK(&priv->tsens_work, tsens_scheduler_fn);
234 }
235
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[powerpc:next-test 125/127] arch/powerpc/mm/book3s64/pkeys.c:392:7: error: implicit declaration of function 'is_pkey_enabled'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head: 0fbd1eb4df96e1cbd039e0b95fdf62cf65a7faf9
commit: ed411c66eea2ccf93a634ae661a1f79c2bc63d88 [125/127] powerpc/book3s64/pkeys: Remove is_pkey_enabled()
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-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
git checkout ed411c66eea2ccf93a634ae661a1f79c2bc63d88
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/powerpc/mm/book3s64/pkeys.c: In function 'pkey_access_permitted':
>> arch/powerpc/mm/book3s64/pkeys.c:392:7: error: implicit declaration of function 'is_pkey_enabled'; did you mean 'arch_pkeys_enabled'? [-Werror=implicit-function-declaration]
392 | if (!is_pkey_enabled(pkey))
| ^~~~~~~~~~~~~~~
| arch_pkeys_enabled
cc1: some warnings being treated as errors
vim +392 arch/powerpc/mm/book3s64/pkeys.c
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 386
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 387 static bool pkey_access_permitted(int pkey, bool write, bool execute)
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 388 {
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 389 int pkey_shift;
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 390 u64 amr;
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 391
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 @392 if (!is_pkey_enabled(pkey))
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 393 return true;
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 394
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 395 pkey_shift = pkeyshift(pkey);
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 396 if (execute && !(read_iamr() & (IAMR_EX_BIT << pkey_shift)))
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 397 return true;
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 398
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 399 amr = read_amr(); /* Delay reading amr until absolutely needed */
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 400 return ((!write && !(amr & (AMR_RD_BIT << pkey_shift))) ||
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 401 (write && !(amr & (AMR_WR_BIT << pkey_shift))));
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 402 }
f2407ef3ba2256 arch/powerpc/mm/pkeys.c Ram Pai 2018-01-18 403
:::::: The code at line 392 was first introduced by commit
:::::: f2407ef3ba225665ee24965f69bc84435fb590cf powerpc: helper to validate key-access permissions of a pte
:::::: TO: Ram Pai <linuxram(a)us.ibm.com>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[radeon-alex:amd-staging-drm-next 1066/1110] drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1233:3: warning: variable 'direct_poll' set but not used
by kernel test robot
tree: git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head: cefd5db37208da458fa10f83f866f2f37eef70e9
commit: 4a33206e976be79b832d5a826565b5cb430de877 [1066/1110] drm/amd/sriov porting sriov cap to vcn3.0
config: parisc-randconfig-r015-20200717 (attached as .config)
compiler: hppa-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
git checkout 4a33206e976be79b832d5a826565b5cb430de877
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/mm.h:94,
from include/drm/drm_vma_manager.h:27,
from include/drm/drm_gem.h:40,
from include/drm/ttm/ttm_bo_api.h:34,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:53,
from drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:25:
include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
arch/parisc/include/asm/pgtable.h:96:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
96 | pte_t old_pte; \
| ^~~~~~~
arch/parisc/include/asm/pgtable.h:322:34: note: in expansion of macro 'set_pte_at'
322 | #define pte_clear(mm, addr, xp) set_pte_at(mm, addr, xp, __pte(0))
| ^~~~~~~~~~
include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
201 | pte_clear(mm, address, ptep);
| ^~~~~~~~~
include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
arch/parisc/include/asm/pgtable.h:96:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
96 | pte_t old_pte; \
| ^~~~~~~
include/asm-generic/pgtable.h:640:2: note: in expansion of macro 'set_pte_at'
640 | set_pte_at(vma->vm_mm, addr, ptep, pte);
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c: In function 'vcn_v3_0_start_sriov':
>> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1233:3: warning: variable 'direct_poll' set but not used [-Wunused-but-set-variable]
1233 | direct_poll = { {0} };
| ^~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:25:
At top level:
drivers/gpu/drm/amd/amdgpu/amdgpu.h:192:19: warning: 'debug_evictions' defined but not used [-Wunused-const-variable=]
192 | static const bool debug_evictions; /* = false */
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu.h:191:18: warning: 'sched_policy' defined but not used [-Wunused-const-variable=]
191 | static const int sched_policy = KFD_SCHED_POLICY_HWS;
| ^~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:65,
from drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:25:
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
| ^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:67:32: warning: 'dc_fixpt_zero' defined but not used [-Wunused-const-variable=]
67 | static const struct fixed31_32 dc_fixpt_zero = { 0 };
| ^~~~~~~~~~~~~
vim +/direct_poll +1233 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c
1210
1211 static int vcn_v3_0_start_sriov(struct amdgpu_device *adev)
1212 {
1213 int i, j;
1214 struct amdgpu_ring *ring;
1215 uint64_t cache_addr;
1216 uint64_t rb_addr;
1217 uint64_t ctx_addr;
1218 uint32_t param, resp, expected;
1219 uint32_t offset, cache_size;
1220 uint32_t tmp, timeout;
1221 uint32_t id;
1222
1223 struct amdgpu_mm_table *table = &adev->virt.mm_table;
1224 uint32_t *table_loc;
1225 uint32_t table_size;
1226 uint32_t size, size_dw;
1227
1228 struct mmsch_v3_0_cmd_direct_write
1229 direct_wt = { {0} };
1230 struct mmsch_v3_0_cmd_direct_read_modify_write
1231 direct_rd_mod_wt = { {0} };
1232 struct mmsch_v3_0_cmd_direct_polling
> 1233 direct_poll = { {0} };
1234 struct mmsch_v3_0_cmd_end end = { {0} };
1235 struct mmsch_v3_0_init_header header;
1236
1237 direct_wt.cmd_header.command_type =
1238 MMSCH_COMMAND__DIRECT_REG_WRITE;
1239 direct_rd_mod_wt.cmd_header.command_type =
1240 MMSCH_COMMAND__DIRECT_REG_READ_MODIFY_WRITE;
1241 direct_poll.cmd_header.command_type =
1242 MMSCH_COMMAND__DIRECT_REG_POLLING;
1243 end.cmd_header.command_type =
1244 MMSCH_COMMAND__END;
1245
1246 header.version = MMSCH_VERSION;
1247 header.total_size = sizeof(struct mmsch_v3_0_init_header) >> 2;
1248 for (i = 0; i < AMDGPU_MAX_VCN_INSTANCES; i++) {
1249 header.inst[i].init_status = 0;
1250 header.inst[i].table_offset = 0;
1251 header.inst[i].table_size = 0;
1252 }
1253
1254 table_loc = (uint32_t *)table->cpu_addr;
1255 table_loc += header.total_size;
1256 for (i = 0; i < adev->vcn.num_vcn_inst; i++) {
1257 if (adev->vcn.harvest_config & (1 << i))
1258 continue;
1259
1260 table_size = 0;
1261
1262 MMSCH_V3_0_INSERT_DIRECT_RD_MOD_WT(SOC15_REG_OFFSET(VCN, i,
1263 mmUVD_STATUS),
1264 ~UVD_STATUS__UVD_BUSY, UVD_STATUS__UVD_BUSY);
1265
1266 cache_size = AMDGPU_GPU_PAGE_ALIGN(adev->vcn.fw->size + 4);
1267
1268 if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) {
1269 id = amdgpu_ucode_id_vcns[i];
1270 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1271 mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW),
1272 adev->firmware.ucode[id].tmr_mc_addr_lo);
1273 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1274 mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH),
1275 adev->firmware.ucode[id].tmr_mc_addr_hi);
1276 offset = 0;
1277 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1278 mmUVD_VCPU_CACHE_OFFSET0),
1279 0);
1280 } else {
1281 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1282 mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW),
1283 lower_32_bits(adev->vcn.inst[i].gpu_addr));
1284 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1285 mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH),
1286 upper_32_bits(adev->vcn.inst[i].gpu_addr));
1287 offset = cache_size;
1288 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1289 mmUVD_VCPU_CACHE_OFFSET0),
1290 AMDGPU_UVD_FIRMWARE_OFFSET >> 3);
1291 }
1292
1293 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1294 mmUVD_VCPU_CACHE_SIZE0),
1295 cache_size);
1296
1297 cache_addr = adev->vcn.inst[i].gpu_addr + offset;
1298 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1299 mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW),
1300 lower_32_bits(cache_addr));
1301 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1302 mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH),
1303 upper_32_bits(cache_addr));
1304 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1305 mmUVD_VCPU_CACHE_OFFSET1),
1306 0);
1307 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1308 mmUVD_VCPU_CACHE_SIZE1),
1309 AMDGPU_VCN_STACK_SIZE);
1310
1311 cache_addr = adev->vcn.inst[i].gpu_addr + offset +
1312 AMDGPU_VCN_STACK_SIZE;
1313 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1314 mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW),
1315 lower_32_bits(cache_addr));
1316 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1317 mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH),
1318 upper_32_bits(cache_addr));
1319 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1320 mmUVD_VCPU_CACHE_OFFSET2),
1321 0);
1322 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1323 mmUVD_VCPU_CACHE_SIZE2),
1324 AMDGPU_VCN_CONTEXT_SIZE);
1325
1326 for (j = 0; j < adev->vcn.num_enc_rings; ++j) {
1327 ring = &adev->vcn.inst[i].ring_enc[j];
1328 ring->wptr = 0;
1329 rb_addr = ring->gpu_addr;
1330 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1331 mmUVD_RB_BASE_LO),
1332 lower_32_bits(rb_addr));
1333 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1334 mmUVD_RB_BASE_HI),
1335 upper_32_bits(rb_addr));
1336 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1337 mmUVD_RB_SIZE),
1338 ring->ring_size / 4);
1339 }
1340
1341 ring = &adev->vcn.inst[i].ring_dec;
1342 ring->wptr = 0;
1343 rb_addr = ring->gpu_addr;
1344 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1345 mmUVD_LMI_RBC_RB_64BIT_BAR_LOW),
1346 lower_32_bits(rb_addr));
1347 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1348 mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH),
1349 upper_32_bits(rb_addr));
1350 /* force RBC into idle state */
1351 tmp = order_base_2(ring->ring_size);
1352 tmp = REG_SET_FIELD(0, UVD_RBC_RB_CNTL, RB_BUFSZ, tmp);
1353 tmp = REG_SET_FIELD(tmp, UVD_RBC_RB_CNTL, RB_BLKSZ, 1);
1354 tmp = REG_SET_FIELD(tmp, UVD_RBC_RB_CNTL, RB_NO_FETCH, 1);
1355 tmp = REG_SET_FIELD(tmp, UVD_RBC_RB_CNTL, RB_NO_UPDATE, 1);
1356 tmp = REG_SET_FIELD(tmp, UVD_RBC_RB_CNTL, RB_RPTR_WR_EN, 1);
1357 MMSCH_V3_0_INSERT_DIRECT_WT(SOC15_REG_OFFSET(VCN, i,
1358 mmUVD_RBC_RB_CNTL),
1359 tmp);
1360
1361 /* add end packet */
1362 MMSCH_V3_0_INSERT_END();
1363
1364 /* refine header */
1365 header.inst[i].init_status = 1;
1366 header.inst[i].table_offset = header.total_size;
1367 header.inst[i].table_size = table_size;
1368 header.total_size += table_size;
1369 }
1370
1371 /* Update init table header in memory */
1372 size = sizeof(struct mmsch_v3_0_init_header);
1373 table_loc = (uint32_t *)table->cpu_addr;
1374 memcpy((void *)table_loc, &header, size);
1375
1376 /* message MMSCH (in VCN[0]) to initialize this client
1377 * 1, write to mmsch_vf_ctx_addr_lo/hi register with GPU mc addr
1378 * of memory descriptor location
1379 */
1380 ctx_addr = table->gpu_addr;
1381 WREG32_SOC15(VCN, 0, mmMMSCH_VF_CTX_ADDR_LO, lower_32_bits(ctx_addr));
1382 WREG32_SOC15(VCN, 0, mmMMSCH_VF_CTX_ADDR_HI, upper_32_bits(ctx_addr));
1383
1384 /* 2, update vmid of descriptor */
1385 tmp = RREG32_SOC15(VCN, 0, mmMMSCH_VF_VMID);
1386 tmp &= ~MMSCH_VF_VMID__VF_CTX_VMID_MASK;
1387 /* use domain0 for MM scheduler */
1388 tmp |= (0 << MMSCH_VF_VMID__VF_CTX_VMID__SHIFT);
1389 WREG32_SOC15(VCN, 0, mmMMSCH_VF_VMID, tmp);
1390
1391 /* 3, notify mmsch about the size of this descriptor */
1392 size = header.total_size;
1393 WREG32_SOC15(VCN, 0, mmMMSCH_VF_CTX_SIZE, size);
1394
1395 /* 4, set resp to zero */
1396 WREG32_SOC15(VCN, 0, mmMMSCH_VF_MAILBOX_RESP, 0);
1397
1398 /* 5, kick off the initialization and wait until
1399 * MMSCH_VF_MAILBOX_RESP becomes non-zero
1400 */
1401 param = 0x10000001;
1402 WREG32_SOC15(VCN, 0, mmMMSCH_VF_MAILBOX_HOST, param);
1403 tmp = 0;
1404 timeout = 1000;
1405 resp = 0;
1406 expected = param + 1;
1407 while (resp != expected) {
1408 resp = RREG32_SOC15(VCN, 0, mmMMSCH_VF_MAILBOX_RESP);
1409 if (resp == expected)
1410 break;
1411
1412 udelay(10);
1413 tmp = tmp + 10;
1414 if (tmp >= timeout) {
1415 DRM_ERROR("failed to init MMSCH. TIME-OUT after %d usec"\
1416 " waiting for mmMMSCH_VF_MAILBOX_RESP "\
1417 "(expected=0x%08x, readback=0x%08x)\n",
1418 tmp, expected, resp);
1419 return -EBUSY;
1420 }
1421 }
1422
1423 return 0;
1424 }
1425
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[ljones-mfd:for-mfd-next 56/58] drivers/mfd/mfd-core.c:147:17: error: implicit declaration of function 'of_read_number'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
head: ae387961ae94021c2322c59e069e7476fb7702f7
commit: 70d48975c152997bea1c715de3382ef854c288ed [56/58] mfd: core: Make a best effort attempt to match devices with the correct of_nodes
config: arm-randconfig-r025-20200716 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
git checkout 70d48975c152997bea1c715de3382ef854c288ed
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/mfd/mfd-core.c:147:17: error: implicit declaration of function 'of_read_number' [-Werror,-Wimplicit-function-declaration]
of_node_addr = of_read_number(reg, of_n_addr_cells(np));
^
1 error generated.
vim +/of_read_number +147 drivers/mfd/mfd-core.c
119
120 static int mfd_match_of_node_to_dev(struct platform_device *pdev,
121 struct device_node *np,
122 const struct mfd_cell *cell)
123 {
124 struct mfd_of_node_entry *of_entry;
125 const __be32 *reg;
126 u64 of_node_addr;
127
128 /* Skip devices 'disabled' by Device Tree */
129 if (!of_device_is_available(np))
130 return -ENODEV;
131
132 /* Skip if OF node has previously been allocated to a device */
133 list_for_each_entry(of_entry, &mfd_of_node_list, list)
134 if (of_entry->np == np)
135 return -EAGAIN;
136
137 if (!cell->use_of_reg)
138 /* No of_reg defined - allocate first free compatible match */
139 goto allocate_of_node;
140
141 /* We only care about each node's first defined address */
142 reg = of_get_address(np, 0, NULL, NULL);
143 if (!reg)
144 /* OF node does not contatin a 'reg' property to match to */
145 return -EAGAIN;
146
> 147 of_node_addr = of_read_number(reg, of_n_addr_cells(np));
148
149 if (cell->of_reg != of_node_addr)
150 /* No match */
151 return -EAGAIN;
152
153 allocate_of_node:
154 of_entry = kzalloc(sizeof(*of_entry), GFP_KERNEL);
155 if (!of_entry)
156 return -ENOMEM;
157
158 of_entry->dev = &pdev->dev;
159 of_entry->np = np;
160 list_add_tail(&of_entry->list, &mfd_of_node_list);
161
162 pdev->dev.of_node = np;
163 pdev->dev.fwnode = &np->fwnode;
164
165 return 0;
166 }
167
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH v2 bpf-next 1/2] bpf: separate bpf_get_[stack|stackid] for perf events BPF
by kernel test robot
Hi Song,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Song-Liu/bpf-fix-stackmap-on-per...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: arm64-randconfig-r004-20200716 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> kernel/bpf/stackmap.c:698:26: error: incompatible pointer types passing 'bpf_user_pt_regs_t *' (aka 'struct user_pt_regs *') to parameter of type 'struct pt_regs *' [-Werror,-Wincompatible-pointer-types]
return __bpf_get_stack(ctx->regs, NULL, NULL, buf, size, flags);
^~~~~~~~~
kernel/bpf/stackmap.c:581:45: note: passing argument to parameter 'regs' here
static long __bpf_get_stack(struct pt_regs *regs, struct task_struct *task,
^
kernel/bpf/stackmap.c:726:26: error: incompatible pointer types passing 'bpf_user_pt_regs_t *' (aka 'struct user_pt_regs *') to parameter of type 'struct pt_regs *' [-Werror,-Wincompatible-pointer-types]
ret = __bpf_get_stack(ctx->regs, NULL, trace, buf,
^~~~~~~~~
kernel/bpf/stackmap.c:581:45: note: passing argument to parameter 'regs' here
static long __bpf_get_stack(struct pt_regs *regs, struct task_struct *task,
^
kernel/bpf/stackmap.c:740:26: error: incompatible pointer types passing 'bpf_user_pt_regs_t *' (aka 'struct user_pt_regs *') to parameter of type 'struct pt_regs *' [-Werror,-Wincompatible-pointer-types]
ret = __bpf_get_stack(ctx->regs, NULL, trace, buf,
^~~~~~~~~
kernel/bpf/stackmap.c:581:45: note: passing argument to parameter 'regs' here
static long __bpf_get_stack(struct pt_regs *regs, struct task_struct *task,
^
kernel/bpf/stackmap.c:745:25: error: incompatible pointer types passing 'bpf_user_pt_regs_t *' (aka 'struct user_pt_regs *') to parameter of type 'struct pt_regs *' [-Werror,-Wincompatible-pointer-types]
return __bpf_get_stack(ctx->regs, NULL, trace, buf, size, flags);
^~~~~~~~~
kernel/bpf/stackmap.c:581:45: note: passing argument to parameter 'regs' here
static long __bpf_get_stack(struct pt_regs *regs, struct task_struct *task,
^
4 errors generated.
vim +698 kernel/bpf/stackmap.c
687
688 BPF_CALL_4(bpf_get_stack_pe, struct bpf_perf_event_data_kern *, ctx,
689 void *, buf, u32, size, u64, flags)
690 {
691 struct perf_event *event = ctx->event;
692 struct perf_callchain_entry *trace;
693 bool has_kernel, has_user;
694 bool kernel, user;
695 int err = -EINVAL;
696
697 if (!(event->attr.sample_type & __PERF_SAMPLE_CALLCHAIN_EARLY))
> 698 return __bpf_get_stack(ctx->regs, NULL, NULL, buf, size, flags);
699
700 if (unlikely(flags & ~(BPF_F_SKIP_FIELD_MASK | BPF_F_USER_STACK |
701 BPF_F_USER_BUILD_ID)))
702 goto clear;
703
704 user = flags & BPF_F_USER_STACK;
705 kernel = !user;
706
707 has_kernel = !event->attr.exclude_callchain_kernel;
708 has_user = !event->attr.exclude_callchain_user;
709
710 if ((kernel && !has_kernel) || (user && !has_user))
711 goto clear;
712
713 err = -EFAULT;
714 trace = ctx->data->callchain;
715 if (!trace || (!has_kernel && !has_user))
716 goto clear;
717
718 if (has_kernel && has_user) {
719 __u64 nr_kernel = count_kernel_ip(trace);
720 int ret;
721
722 if (kernel) {
723 __u64 nr = trace->nr;
724
725 trace->nr = nr_kernel;
726 ret = __bpf_get_stack(ctx->regs, NULL, trace, buf,
727 size, flags);
728
729 /* restore nr */
730 trace->nr = nr;
731 } else { /* user */
732 u64 skip = flags & BPF_F_SKIP_FIELD_MASK;
733
734 skip += nr_kernel;
735 if (skip > ~BPF_F_SKIP_FIELD_MASK)
736 goto clear;
737
738 flags = (flags & ~BPF_F_SKIP_FIELD_MASK) |
739 (skip & BPF_F_SKIP_FIELD_MASK);
740 ret = __bpf_get_stack(ctx->regs, NULL, trace, buf,
741 size, flags);
742 }
743 return ret;
744 }
745 return __bpf_get_stack(ctx->regs, NULL, trace, buf, size, flags);
746 clear:
747 memset(buf, 0, size);
748 return err;
749
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months