Re: [RFC PATCH 2/2] mm: vmscan: remove shrinker's nr_deferred
by kernel test robot
Hi Yang,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on tip/perf/core]
[also build test ERROR on hnaz-linux-mm/master linux/master linus/master v5.9-rc5 next-20200916]
[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/Yang-Shi/Remove-shrinker-s-nr_de...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 221bfce5ebbdf72ff08b3bf2510ae81058ee568b
config: ia64-allmodconfig (attached as .config)
compiler: ia64-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
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/gpu/drm/panfrost/panfrost_gem_shrinker.c: In function 'panfrost_gem_shrinker_cleanup':
>> drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c:111:21: error: 'struct shrinker' has no member named 'nr_deferred'
111 | if (pfdev->shrinker.nr_deferred) {
| ^
# https://github.com/0day-ci/linux/commit/87eb1412074d8c1cf3d95f51462e6ac6a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yang-Shi/Remove-shrinker-s-nr_deferred/20200917-025923
git checkout 87eb1412074d8c1cf3d95f51462e6ac6ac088b68
vim +111 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
013b6510131568c Rob Herring 2019-08-05 100
013b6510131568c Rob Herring 2019-08-05 101 /**
013b6510131568c Rob Herring 2019-08-05 102 * panfrost_gem_shrinker_cleanup - Clean up panfrost shrinker
013b6510131568c Rob Herring 2019-08-05 103 * @dev: DRM device
013b6510131568c Rob Herring 2019-08-05 104 *
013b6510131568c Rob Herring 2019-08-05 105 * This function unregisters the panfrost shrinker.
013b6510131568c Rob Herring 2019-08-05 106 */
013b6510131568c Rob Herring 2019-08-05 107 void panfrost_gem_shrinker_cleanup(struct drm_device *dev)
013b6510131568c Rob Herring 2019-08-05 108 {
013b6510131568c Rob Herring 2019-08-05 109 struct panfrost_device *pfdev = dev->dev_private;
013b6510131568c Rob Herring 2019-08-05 110
013b6510131568c Rob Herring 2019-08-05 @111 if (pfdev->shrinker.nr_deferred) {
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[hch-block:blkdev_get-cleanups 8/14] drivers/s390/block/dasd_genhd.c:108:10: warning: variable 'rc' is uninitialized when used here
by kernel test robot
tree: git://git.infradead.org/users/hch/block.git blkdev_get-cleanups
head: 9c92db9d949d10cec9181e91ce50b71ce18828e9
commit: aa1c62855420e84163249eb2c202c32703fc1de5 [8/14] dasd: cleanup dasd_scan_partitions
config: s390-randconfig-r014-20200916 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 9e3842d60351f986d77dfe0a94f76e4fd895f188)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
git checkout aa1c62855420e84163249eb2c202c32703fc1de5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
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 >>):
include/uapi/linux/swab.h:19:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
^
In file included from drivers/s390/block/dasd_genhd.c:25:
In file included from drivers/s390/block/dasd_int.h:49:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
^
In file included from drivers/s390/block/dasd_genhd.c:25:
In file included from drivers/s390/block/dasd_int.h:49:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
^
In file included from drivers/s390/block/dasd_genhd.c:25:
In file included from drivers/s390/block/dasd_int.h:49:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : \
^
include/uapi/linux/swab.h:22:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
In file included from drivers/s390/block/dasd_genhd.c:25:
In file included from drivers/s390/block/dasd_int.h:49:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:120:12: note: expanded from macro '__swab32'
__fswab32(x))
^
In file included from drivers/s390/block/dasd_genhd.c:25:
In file included from drivers/s390/block/dasd_int.h:49:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> drivers/s390/block/dasd_genhd.c:108:10: warning: variable 'rc' is uninitialized when used here [-Wuninitialized]
rc);
^~
drivers/s390/block/dasd_int.h:96:8: note: expanded from macro 'DBF_DEV_EVENT'
d_data); \
^~~~~~
arch/s390/include/asm/debug.h:256:21: note: expanded from macro 'debug_sprintf_event'
_fmt, ## __VA_ARGS__); \
^~~~~~~~~~~
drivers/s390/block/dasd_genhd.c:102:8: note: initialize the variable 'rc' to silence this warning
int rc;
^
= 0
21 warnings generated.
git remote add hch-block git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block blkdev_get-cleanups
git checkout aa1c62855420e84163249eb2c202c32703fc1de5
vim +/rc +108 drivers/s390/block/dasd_genhd.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 95
^1da177e4c3f415 Linus Torvalds 2005-04-16 96 /*
^1da177e4c3f415 Linus Torvalds 2005-04-16 97 * Trigger a partition detection.
^1da177e4c3f415 Linus Torvalds 2005-04-16 98 */
8e09f21574ea302 Stefan Weinhuber 2008-01-26 99 int dasd_scan_partitions(struct dasd_block *block)
^1da177e4c3f415 Linus Torvalds 2005-04-16 100 {
^1da177e4c3f415 Linus Torvalds 2005-04-16 101 struct block_device *bdev;
a05e578055d7f9e Jarod Wilson 2015-05-06 102 int rc;
^1da177e4c3f415 Linus Torvalds 2005-04-16 103
aa1c62855420e84 Christoph Hellwig 2020-09-03 104 bdev = blkdev_get_by_dev(disk_devt(block->gdp), FMODE_READ, NULL);
aa1c62855420e84 Christoph Hellwig 2020-09-03 105 if (IS_ERR(bdev)) {
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 106 DBF_DEV_EVENT(DBF_ERR, block->base,
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 107 "scan partitions error, blkdev_get returned %d",
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 @108 rc);
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 109 return -ENODEV;
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 110 }
6029a06c88b9254 Ming Lei 2015-05-06 111
f0b870df80bc70d Christoph Hellwig 2019-11-14 112 mutex_lock(&bdev->bd_mutex);
f0b870df80bc70d Christoph Hellwig 2019-11-14 113 rc = bdev_disk_changed(bdev, false);
f0b870df80bc70d Christoph Hellwig 2019-11-14 114 mutex_unlock(&bdev->bd_mutex);
a05e578055d7f9e Jarod Wilson 2015-05-06 115 if (rc)
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 116 DBF_DEV_EVENT(DBF_ERR, block->base,
a05e578055d7f9e Jarod Wilson 2015-05-06 117 "scan partitions error, rc %d", rc);
6ebdf1c79d09ad3 Stefan Haberland 2014-11-24 118
^1da177e4c3f415 Linus Torvalds 2005-04-16 119 /*
^1da177e4c3f415 Linus Torvalds 2005-04-16 120 * Since the matching blkdev_put call to the blkdev_get in
^1da177e4c3f415 Linus Torvalds 2005-04-16 121 * this function is not called before dasd_destroy_partitions
^1da177e4c3f415 Linus Torvalds 2005-04-16 122 * the offline open_count limit needs to be increased from
^1da177e4c3f415 Linus Torvalds 2005-04-16 123 * 0 to 1. This is done by setting device->bdev (see
^1da177e4c3f415 Linus Torvalds 2005-04-16 124 * dasd_generic_set_offline). As long as the partition
^1da177e4c3f415 Linus Torvalds 2005-04-16 125 * detection is running no offline should be allowed. That
^1da177e4c3f415 Linus Torvalds 2005-04-16 126 * is why the assignment to device->bdev is done AFTER
^1da177e4c3f415 Linus Torvalds 2005-04-16 127 * the BLKRRPART ioctl.
^1da177e4c3f415 Linus Torvalds 2005-04-16 128 */
8e09f21574ea302 Stefan Weinhuber 2008-01-26 129 block->bdev = bdev;
^1da177e4c3f415 Linus Torvalds 2005-04-16 130 return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 131 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 132
:::::: The code at line 108 was first introduced by commit
:::::: 6ebdf1c79d09ad3d65c714a79db0a0c141a013ba s390/dasd: retry partition detection
:::::: TO: Stefan Haberland <stefan.haberland(a)de.ibm.com>
:::::: CC: Martin Schwidefsky <schwidefsky(a)de.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[linux-next:master 5553/8311] drivers/video/fbdev/geode/lxfb_ops.c:602:9: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 5fa35f247b563a7893f3f68f19d00ace2ccf3dff
commit: df7a9ec3bc12c6464491d3bee0e7983f48bc04e4 [5553/8311] fbdev: lxfb: use generic power management
config: i386-randconfig-s001-20200917 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-201-g24bdaac6-dirty
git checkout df7a9ec3bc12c6464491d3bee0e7983f48bc04e4
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/geode/lxfb_ops.c:602:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *gp_regs @@
drivers/video/fbdev/geode/lxfb_ops.c:602:9: sparse: expected void const *
drivers/video/fbdev/geode/lxfb_ops.c:602:9: sparse: got void [noderef] __iomem *gp_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:603:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *dc_regs @@
drivers/video/fbdev/geode/lxfb_ops.c:603:9: sparse: expected void const *
drivers/video/fbdev/geode/lxfb_ops.c:603:9: sparse: got void [noderef] __iomem *dc_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem *vp_regs @@
drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: expected void const *
drivers/video/fbdev/geode/lxfb_ops.c:604:9: sparse: got void [noderef] __iomem *vp_regs
>> drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: expected void const *
drivers/video/fbdev/geode/lxfb_ops.c:605:9: sparse: got void [noderef] __iomem *
drivers/video/fbdev/geode/lxfb_ops.c:633:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/lxfb_ops.c:633:9: sparse: expected void const *
drivers/video/fbdev/geode/lxfb_ops.c:633:9: sparse: got void [noderef] __iomem *
>> drivers/video/fbdev/geode/lxfb_ops.c:759:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got void [noderef] __iomem * @@
drivers/video/fbdev/geode/lxfb_ops.c:759:9: sparse: expected void *
drivers/video/fbdev/geode/lxfb_ops.c:759:9: sparse: got void [noderef] __iomem *
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout df7a9ec3bc12c6464491d3bee0e7983f48bc04e4
vim +602 drivers/video/fbdev/geode/lxfb_ops.c
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 582
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 583 static void lx_save_regs(struct lxfb_par *par)
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 584 {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 585 uint32_t filt;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 586 int i;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 587
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 588 /* wait for the BLT engine to stop being busy */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 589 do {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 590 i = read_gp(par, GP_BLT_STATUS);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 591 } while ((i & GP_BLT_STATUS_PB) || !(i & GP_BLT_STATUS_CE));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 592
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 593 /* save MSRs */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 594 rdmsrl(MSR_LX_MSR_PADSEL, par->msr.padsel);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 595 rdmsrl(MSR_GLCP_DOTPLL, par->msr.dotpll);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 596 rdmsrl(MSR_LX_GLD_MSR_CONFIG, par->msr.dfglcfg);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 597 rdmsrl(MSR_LX_SPARE_MSR, par->msr.dcspare);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 598
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 599 write_dc(par, DC_UNLOCK, DC_UNLOCK_UNLOCK);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 600
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 601 /* save registers */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 @602 memcpy(par->gp, par->gp_regs, sizeof(par->gp));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 @603 memcpy(par->dc, par->dc_regs, sizeof(par->dc));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 @604 memcpy(par->vp, par->vp_regs, sizeof(par->vp));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 @605 memcpy(par->fp, par->vp_regs + VP_FP_START, sizeof(par->fp));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 606
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 607 /* save the display controller palette */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 608 write_dc(par, DC_PAL_ADDRESS, 0);
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 609 for (i = 0; i < ARRAY_SIZE(par->dc_pal); i++)
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 610 par->dc_pal[i] = read_dc(par, DC_PAL_DATA);
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 611
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 612 /* save the video processor palette */
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 613 write_vp(par, VP_PAR, 0);
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 614 for (i = 0; i < ARRAY_SIZE(par->vp_pal); i++)
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 615 par->vp_pal[i] = read_vp(par, VP_PDR);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 616
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 617 /* save the horizontal filter coefficients */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 618 filt = par->dc[DC_IRQ_FILT_CTL] | DC_IRQ_FILT_CTL_H_FILT_SEL;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 619 for (i = 0; i < ARRAY_SIZE(par->hcoeff); i += 2) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 620 write_dc(par, DC_IRQ_FILT_CTL, (filt & 0xffffff00) | i);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 621 par->hcoeff[i] = read_dc(par, DC_FILT_COEFF1);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 622 par->hcoeff[i + 1] = read_dc(par, DC_FILT_COEFF2);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 623 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 624
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 625 /* save the vertical filter coefficients */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 626 filt &= ~DC_IRQ_FILT_CTL_H_FILT_SEL;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 627 for (i = 0; i < ARRAY_SIZE(par->vcoeff); i++) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 628 write_dc(par, DC_IRQ_FILT_CTL, (filt & 0xffffff00) | i);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 629 par->vcoeff[i] = read_dc(par, DC_FILT_COEFF1);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 630 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 631
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 632 /* save video coeff ram */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 633 memcpy(par->vp_coeff, par->vp_regs + VP_VCR, sizeof(par->vp_coeff));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 634 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 635
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 636 static void lx_restore_gfx_proc(struct lxfb_par *par)
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 637 {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 638 int i;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 639
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 640 /* a bunch of registers require GP_RASTER_MODE to be set first */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 641 write_gp(par, GP_RASTER_MODE, par->gp[GP_RASTER_MODE]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 642
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 643 for (i = 0; i < ARRAY_SIZE(par->gp); i++) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 644 switch (i) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 645 case GP_RASTER_MODE:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 646 case GP_VECTOR_MODE:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 647 case GP_BLT_MODE:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 648 case GP_BLT_STATUS:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 649 case GP_HST_SRC:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 650 /* FIXME: restore LUT data */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 651 case GP_LUT_INDEX:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 652 case GP_LUT_DATA:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 653 /* don't restore these registers */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 654 break;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 655
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 656 default:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 657 write_gp(par, i, par->gp[i]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 658 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 659 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 660 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 661
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 662 static void lx_restore_display_ctlr(struct lxfb_par *par)
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 663 {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 664 uint32_t filt;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 665 int i;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 666
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 667 wrmsrl(MSR_LX_SPARE_MSR, par->msr.dcspare);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 668
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 669 for (i = 0; i < ARRAY_SIZE(par->dc); i++) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 670 switch (i) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 671 case DC_UNLOCK:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 672 /* unlock the DC; runs first */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 673 write_dc(par, DC_UNLOCK, DC_UNLOCK_UNLOCK);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 674 break;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 675
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 676 case DC_GENERAL_CFG:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 677 case DC_DISPLAY_CFG:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 678 /* disable all while restoring */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 679 write_dc(par, i, 0);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 680 break;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 681
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 682 case DC_DV_CTL:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 683 /* set all ram to dirty */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 684 write_dc(par, i, par->dc[i] | DC_DV_CTL_CLEAR_DV_RAM);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 685
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 686 case DC_RSVD_1:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 687 case DC_RSVD_2:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 688 case DC_RSVD_3:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 689 case DC_LINE_CNT:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 690 case DC_PAL_ADDRESS:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 691 case DC_PAL_DATA:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 692 case DC_DFIFO_DIAG:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 693 case DC_CFIFO_DIAG:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 694 case DC_FILT_COEFF1:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 695 case DC_FILT_COEFF2:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 696 case DC_RSVD_4:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 697 case DC_RSVD_5:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 698 /* don't restore these registers */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 699 break;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 700
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 701 default:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 702 write_dc(par, i, par->dc[i]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 703 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 704 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 705
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 706 /* restore the palette */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 707 write_dc(par, DC_PAL_ADDRESS, 0);
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 708 for (i = 0; i < ARRAY_SIZE(par->dc_pal); i++)
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 709 write_dc(par, DC_PAL_DATA, par->dc_pal[i]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 710
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 711 /* restore the horizontal filter coefficients */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 712 filt = par->dc[DC_IRQ_FILT_CTL] | DC_IRQ_FILT_CTL_H_FILT_SEL;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 713 for (i = 0; i < ARRAY_SIZE(par->hcoeff); i += 2) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 714 write_dc(par, DC_IRQ_FILT_CTL, (filt & 0xffffff00) | i);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 715 write_dc(par, DC_FILT_COEFF1, par->hcoeff[i]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 716 write_dc(par, DC_FILT_COEFF2, par->hcoeff[i + 1]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 717 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 718
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 719 /* restore the vertical filter coefficients */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 720 filt &= ~DC_IRQ_FILT_CTL_H_FILT_SEL;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 721 for (i = 0; i < ARRAY_SIZE(par->vcoeff); i++) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 722 write_dc(par, DC_IRQ_FILT_CTL, (filt & 0xffffff00) | i);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 723 write_dc(par, DC_FILT_COEFF1, par->vcoeff[i]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 724 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 725 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 726
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 727 static void lx_restore_video_proc(struct lxfb_par *par)
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 728 {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 729 int i;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 730
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 731 wrmsrl(MSR_LX_GLD_MSR_CONFIG, par->msr.dfglcfg);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 732 wrmsrl(MSR_LX_MSR_PADSEL, par->msr.padsel);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 733
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 734 for (i = 0; i < ARRAY_SIZE(par->vp); i++) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 735 switch (i) {
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 736 case VP_VCFG:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 737 case VP_DCFG:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 738 case VP_PAR:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 739 case VP_PDR:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 740 case VP_CCS:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 741 case VP_RSVD_0:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 742 /* case VP_VDC: */ /* why should this not be restored? */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 743 case VP_RSVD_1:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 744 case VP_CRC32:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 745 /* don't restore these registers */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 746 break;
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 747
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 748 default:
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 749 write_vp(par, i, par->vp[i]);
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 750 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 751 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 752
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 753 /* restore video processor palette */
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 754 write_vp(par, VP_PAR, 0);
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 755 for (i = 0; i < ARRAY_SIZE(par->vp_pal); i++)
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 756 write_vp(par, VP_PDR, par->vp_pal[i]);
16cdd4336fdca9 drivers/video/geode/lxfb_ops.c Daniel Drake 2010-11-30 757
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 758 /* restore video coeff ram */
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 @759 memcpy(par->vp_regs + VP_VCR, par->vp_coeff, sizeof(par->vp_coeff));
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 760 }
f694e53bd0db69 drivers/video/geode/lxfb_ops.c Andres Salomon 2008-04-28 761
:::::: The code at line 602 was first introduced by commit
:::::: f694e53bd0db69557ee8e0db2d1602818ff173b0 lxfb: add power management functionality
:::::: TO: Andres Salomon <dilinger(a)queued.net>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [RESEND PATCH v9 1/2] i2c: i2c-mlxbf: I2C SMBus driver for Mellanox BlueField SoC
by kernel test robot
Hi Khalil,
I love your patch! Perhaps something to improve:
[auto build test WARNING on wsa/i2c/for-next]
[also build test WARNING on robh/for-next linus/master v5.9-rc5 next-20200916]
[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/Khalil-Blaiech/i2c-add-driver-fo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/for-next
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 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/i2c/busses/i2c-mlxbf.c: In function 'mlxbf_slave_enable':
>> drivers/i2c/busses/i2c-mlxbf.c:1571:7: warning: variable 'exist' set but not used [-Wunused-but-set-variable]
1571 | bool exist, avail, disabled;
| ^~~~~
# https://github.com/0day-ci/linux/commit/6ba51d0c1d85db9937ab994fa454b0a06...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Khalil-Blaiech/i2c-add-driver-for-Mellanox-BlueField-SoC/20200917-024300
git checkout 6ba51d0c1d85db9937ab994fa454b0a06f98617c
vim +/exist +1571 drivers/i2c/busses/i2c-mlxbf.c
1566
1567 static int mlxbf_slave_enable(struct mlxbf_i2c_priv *priv, u8 addr)
1568 {
1569 u32 slave_reg, slave_reg_tmp, slave_reg_avail, slave_addr_mask;
1570 u8 reg, reg_cnt, byte, addr_tmp, reg_avail, byte_avail;
> 1571 bool exist, avail, disabled;
1572
1573 disabled = false;
1574 exist = false;
1575 avail = false;
1576
1577 if (!priv)
1578 return -EPERM;
1579
1580 reg_cnt = MLXBF_I2C_SMBUS_SLAVE_ADDR_CNT >> 2;
1581 slave_addr_mask = MLXBF_I2C_SMBUS_SLAVE_ADDR_MASK;
1582
1583 /*
1584 * Read the slave registers. There are 4 * 32-bit slave registers.
1585 * Each slave register can hold up to 4 * 8-bit slave configuration
1586 * (7-bit address, 1 status bit (1 if enabled, 0 if not)).
1587 */
1588 for (reg = 0; reg < reg_cnt; reg++) {
1589 slave_reg = mlxbf_i2c_read(priv->smbus->io,
1590 MLXBF_I2C_SMBUS_SLAVE_ADDR_CFG + reg * 0x4);
1591 /*
1592 * Each register holds 4 slave addresses. So, we have to keep
1593 * the byte order consistent with the value read in order to
1594 * update the register correctly, if needed.
1595 */
1596 slave_reg_tmp = slave_reg;
1597 for (byte = 0; byte < 4; byte++) {
1598 addr_tmp = slave_reg_tmp & GENMASK(7, 0);
1599
1600 /*
1601 * Mark the first available slave address slot, i.e. its
1602 * enabled bit should be unset. This slot might be used
1603 * later on to register our slave.
1604 */
1605 if (!avail && !MLXBF_I2C_SLAVE_ADDR_ENABLED(addr_tmp)) {
1606 avail = true;
1607 reg_avail = reg;
1608 byte_avail = byte;
1609 slave_reg_avail = slave_reg;
1610 }
1611
1612 /*
1613 * Parse slave address bytes and check whether the
1614 * slave address already exists and it's enabled,
1615 * i.e. most significant bit is set.
1616 */
1617 if ((addr_tmp & slave_addr_mask) == addr) {
1618 if (MLXBF_I2C_SLAVE_ADDR_ENABLED(addr_tmp))
1619 return 0;
1620 disabled = true;
1621 break;
1622 }
1623
1624 /* Parse next byte. */
1625 slave_reg_tmp >>= 8;
1626 }
1627
1628 /* Exit the loop if the slave address is found. */
1629 if (disabled)
1630 break;
1631 }
1632
1633 if (!avail && !disabled)
1634 return -EINVAL; /* No room for a new slave address. */
1635
1636 if (avail && !disabled) {
1637 reg = reg_avail;
1638 byte = byte_avail;
1639 /* Set the slave address. */
1640 slave_reg_avail &= ~(slave_addr_mask << (byte * 8));
1641 slave_reg_avail |= addr << (byte * 8);
1642 slave_reg = slave_reg_avail;
1643 }
1644
1645 /* Enable the slave address and update the register. */
1646 slave_reg |= (1 << MLXBF_I2C_SMBUS_SLAVE_ADDR_EN_BIT) << (byte * 8);
1647 mlxbf_i2c_write(priv->smbus->io,
1648 MLXBF_I2C_SMBUS_SLAVE_ADDR_CFG + reg * 0x4, slave_reg);
1649
1650 return 0;
1651 }
1652
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [RFC/RFT PATCH v2 5/5] riscv: Add numa support for riscv64 platform
by kernel test robot
Hi Atish,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on driver-core/driver-core-testing]
[also build test WARNING on linus/master v5.9-rc5]
[cannot apply to arm64/for-next/core linux/master asm-generic/master next-20200916]
[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/Atish-Patra/Unify-NUMA-implement...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git 0de7511695680425aa1e6e1e1c7a7c24e6250491
config: riscv-randconfig-r013-20200916 (attached as .config)
compiler: riscv32-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
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/printk.h:7,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from drivers/base/arch_numa.c:11:
drivers/base/arch_numa.c: In function 'numa_register_nodes':
>> include/linux/kern_levels.h:5:18: warning: format '%Lx' expects argument of type 'long long unsigned int', but argument 3 has type 'phys_addr_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
12 | #define KERN_WARNING KERN_SOH "4" /* warning conditions */
| ^~~~~~~~
include/linux/printk.h:349:9: note: in expansion of macro 'KERN_WARNING'
349 | printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~
drivers/base/arch_numa.c:359:4: note: in expansion of macro 'pr_warn'
359 | pr_warn("Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n",
| ^~~~~~~
drivers/base/arch_numa.c:359:56: note: format string is defined here
359 | pr_warn("Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n",
| ~~~~~~^
| |
| long long unsigned int
| %#010x
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from drivers/base/arch_numa.c:11:
include/linux/kern_levels.h:5:18: warning: format '%Lx' expects argument of type 'long long unsigned int', but argument 4 has type 'phys_addr_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
12 | #define KERN_WARNING KERN_SOH "4" /* warning conditions */
| ^~~~~~~~
include/linux/printk.h:349:9: note: in expansion of macro 'KERN_WARNING'
349 | printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~
drivers/base/arch_numa.c:359:4: note: in expansion of macro 'pr_warn'
359 | pr_warn("Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n",
| ^~~~~~~
drivers/base/arch_numa.c:359:64: note: format string is defined here
359 | pr_warn("Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n",
| ~~~~~~^
| |
| long long unsigned int
| %#010x
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from drivers/base/arch_numa.c:11:
drivers/base/arch_numa.c: In function 'dummy_numa_init':
include/linux/kern_levels.h:5:18: warning: format '%Lx' expects argument of type 'long long unsigned int', but argument 2 has type 'phys_addr_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:14:19: note: in expansion of macro 'KERN_SOH'
14 | #define KERN_INFO KERN_SOH "6" /* informational */
| ^~~~~~~~
include/linux/printk.h:369:9: note: in expansion of macro 'KERN_INFO'
369 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
drivers/base/arch_numa.c:433:2: note: in expansion of macro 'pr_info'
433 | pr_info("Faking a node at [mem %#018Lx-%#018Lx]\n",
| ^~~~~~~
drivers/base/arch_numa.c:433:39: note: format string is defined here
433 | pr_info("Faking a node at [mem %#018Lx-%#018Lx]\n",
| ~~~~~~^
| |
| long long unsigned int
| %#018x
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from drivers/base/arch_numa.c:11:
>> include/linux/kern_levels.h:5:18: warning: format '%Lx' expects argument of type 'long long unsigned int', but argument 3 has type 'phys_addr_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:14:19: note: in expansion of macro 'KERN_SOH'
14 | #define KERN_INFO KERN_SOH "6" /* informational */
| ^~~~~~~~
include/linux/printk.h:369:9: note: in expansion of macro 'KERN_INFO'
369 | printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
drivers/base/arch_numa.c:433:2: note: in expansion of macro 'pr_info'
433 | pr_info("Faking a node at [mem %#018Lx-%#018Lx]\n",
| ^~~~~~~
drivers/base/arch_numa.c:433:47: note: format string is defined here
433 | pr_info("Faking a node at [mem %#018Lx-%#018Lx]\n",
| ~~~~~~^
| |
| long long unsigned int
| %#018x
drivers/base/arch_numa.c: At top level:
>> drivers/base/arch_numa.c:463:12: warning: no previous prototype for 'arch_acpi_numa_init' [-Wmissing-prototypes]
463 | int __init arch_acpi_numa_init(void)
| ^~~~~~~~~~~~~~~~~~~
# https://github.com/0day-ci/linux/commit/5281a162c9e16b33068a8b3937d2a33d4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Atish-Patra/Unify-NUMA-implementation-between-ARM64-RISC-V/20200912-093951
git checkout 5281a162c9e16b33068a8b3937d2a33d4fc3c5a5
vim +5 include/linux/kern_levels.h
314ba3520e513a Joe Perches 2012-07-30 4
04d2c8c83d0e3a Joe Perches 2012-07-30 @5 #define KERN_SOH "\001" /* ASCII Start Of Header */
04d2c8c83d0e3a Joe Perches 2012-07-30 6 #define KERN_SOH_ASCII '\001'
04d2c8c83d0e3a Joe Perches 2012-07-30 7
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
drivers/staging/media/atomisp//pci/ia_css_firmware.h:52:29: warning: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration
by kernel test robot
Hi Ingo,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5925fa68fe8244651b3f78a88c4af99190a88f0d
commit: 13c01139b17163c9b2aa543a9c39f8bbc875b625 x86/headers: Remove APIC headers from <asm/smp.h>
date: 6 weeks ago
config: i386-randconfig-r011-20200916 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 13c01139b17163c9b2aa543a9c39f8bbc875b625
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 drivers/staging/media/atomisp//pci/ia_css_control.h:25,
from drivers/staging/media/atomisp//pci/ia_css.h:28,
from drivers/staging/media/atomisp//pci/atomisp_compat_css20.h:24,
from drivers/staging/media/atomisp//pci/atomisp_compat.h:22,
from drivers/staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c:23:
>> drivers/staging/media/atomisp//pci/ia_css_firmware.h:52:29: warning: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration
52 | ia_css_load_firmware(struct device *dev, const struct ia_css_env *env,
| ^~~~~~
In file included from drivers/staging/media/atomisp//pci/ia_css.h:28,
from drivers/staging/media/atomisp//pci/atomisp_compat_css20.h:24,
from drivers/staging/media/atomisp//pci/atomisp_compat.h:22,
from drivers/staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c:23:
>> drivers/staging/media/atomisp//pci/ia_css_control.h:49:24: warning: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration
49 | int ia_css_init(struct device *dev,
| ^~~~~~
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 13c01139b17163c9b2aa543a9c39f8bbc875b625
vim +52 drivers/staging/media/atomisp//pci/ia_css_firmware.h
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 32
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 33 /* @brief Loads the firmware
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 34 * @param[in] env Environment, provides functions to access the
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 35 * environment in which the CSS code runs. This is
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 36 * used for host side memory access and message
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 37 * printing.
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 38 * @param[in] fw Firmware package containing the firmware for all
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 39 * predefined ISP binaries.
41022d35ddf219 drivers/staging/media/atomisp/pci/ia_css_firmware.h Mauro Carvalho Chehab 2020-05-28 40 * @return Returns -EINVAL in case of any
41022d35ddf219 drivers/staging/media/atomisp/pci/ia_css_firmware.h Mauro Carvalho Chehab 2020-05-28 41 * errors and 0 otherwise.
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 42 *
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 43 * This function interprets the firmware package. All
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 44 * contents of this firmware package are copied into local data structures, so
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 45 * the fw pointer could be freed after this function completes.
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 46 *
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 47 * Rationale for this function is that it can be called before ia_css_init, and thus
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 48 * speeds up ia_css_init (ia_css_init is called each time a stream is created but the
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 49 * firmware only needs to be loaded once).
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 50 */
41022d35ddf219 drivers/staging/media/atomisp/pci/ia_css_firmware.h Mauro Carvalho Chehab 2020-05-28 51 int
8568fe630066a7 drivers/staging/media/atomisp/pci/ia_css_firmware.h Mauro Carvalho Chehab 2020-05-07 @52 ia_css_load_firmware(struct device *dev, const struct ia_css_env *env,
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 53 const struct ia_css_fw *fw);
ad85094b293e40 drivers/staging/media/atomisp/pci/atomisp2/css2400/ia_css_firmware.h Mauro Carvalho Chehab 2020-04-19 54
:::::: The code at line 52 was first introduced by commit
:::::: 8568fe630066a733456fb1ffc8e1402191d7e27c media: atomisp: print a better message when fw version is wrong
:::::: TO: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org>
:::::: CC: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[peterz-queue:sched/wip2 3/5] kernel/sched/core.c:2601:26: error: no member named 'hotplug_wait' in 'struct rq'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/wip2
head: fb0089110c5e29151c75028add05458ad2bf8a68
commit: b89bc5672b8331856b35fa6f63117c9832dd7416 [3/5] sched/core: Wait for tasks being pushed away on hotplug
config: powerpc-randconfig-r014-20200916 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 9e3842d60351f986d77dfe0a94f76e4fd895f188)
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 powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
git checkout b89bc5672b8331856b35fa6f63117c9832dd7416
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 error/warnings (new ones prefixed by >>):
__do_insw
^
arch/powerpc/include/asm/io.h:542:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/sched/core.c:10:
In file included from include/trace/events/sched.h:652:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:118:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:543:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/sched/core.c:10:
In file included from include/trace/events/sched.h:652:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:120:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:544:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/sched/core.c:10:
In file included from include/trace/events/sched.h:652:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:122:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:545:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from kernel/sched/core.c:10:
In file included from include/trace/events/sched.h:652:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:604:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:601:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:124:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:546:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
kernel/sched/core.c:2380:6: warning: no previous prototype for function 'sched_set_stop_task' [-Wmissing-prototypes]
void sched_set_stop_task(int cpu, struct task_struct *stop)
^
kernel/sched/core.c:2380:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_set_stop_task(int cpu, struct task_struct *stop)
^
static
>> kernel/sched/core.c:2601:26: error: no member named 'hotplug_wait' in 'struct rq'
rcuwait_wait_event(&rq->hotplug_wait, rq->nr_running == 1,
~~ ^
include/linux/rcuwait.h:59:21: note: expanded from macro 'rcuwait_wait_event'
prepare_to_rcuwait(w); \
^
>> kernel/sched/core.c:2601:26: error: no member named 'hotplug_wait' in 'struct rq'
rcuwait_wait_event(&rq->hotplug_wait, rq->nr_running == 1,
~~ ^
include/linux/rcuwait.h:76:17: note: expanded from macro 'rcuwait_wait_event'
finish_rcuwait(w); \
^
kernel/sched/core.c:4698:35: warning: no previous prototype for function 'schedule_user' [-Wmissing-prototypes]
asmlinkage __visible void __sched schedule_user(void)
^
kernel/sched/core.c:4698:22: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage __visible void __sched schedule_user(void)
^
static
>> kernel/sched/core.c:6968:8: warning: attribute declaration must precede definition [-Wignored-attributes]
static inline void balance_hotplug_wait(void) { }
^
include/linux/compiler_types.h:144:23: note: expanded from macro 'inline'
#define inline inline __gnu_inline __inline_maybe_unused notrace
^
include/linux/compiler_attributes.h:161:56: note: expanded from macro '__gnu_inline'
#define __gnu_inline __attribute__((__gnu_inline__))
^
kernel/sched/core.c:2597:13: note: previous definition is here
static void balance_hotplug_wait(void)
^
>> kernel/sched/core.c:6968:8: warning: attribute declaration must precede definition [-Wignored-attributes]
static inline void balance_hotplug_wait(void) { }
^
include/linux/compiler_types.h:144:58: note: expanded from macro 'inline'
#define inline inline __gnu_inline __inline_maybe_unused notrace
^
include/linux/compiler_types.h:124:34: note: expanded from macro 'notrace'
#define notrace __attribute__((__no_instrument_function__))
^
kernel/sched/core.c:2597:13: note: previous definition is here
static void balance_hotplug_wait(void)
^
>> kernel/sched/core.c:6968:20: error: redefinition of 'balance_hotplug_wait'
static inline void balance_hotplug_wait(void) { }
^
kernel/sched/core.c:2597:13: note: previous definition is here
static void balance_hotplug_wait(void)
^
kernel/sched/core.c:7055:2: error: implicit declaration of function 'balance_push_set' [-Werror,-Wimplicit-function-declaration]
balance_push_set(cpu, false);
^
kernel/sched/core.c:7055:2: note: did you mean 'balance_push'?
kernel/sched/core.c:6963:20: note: 'balance_push' declared here
static inline bool balance_push(struct rq *rq)
^
kernel/sched/core.c:7104:2: error: implicit declaration of function 'balance_push_set' [-Werror,-Wimplicit-function-declaration]
balance_push_set(cpu, true);
^
16 warnings and 5 errors generated.
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue sched/wip2
git checkout b89bc5672b8331856b35fa6f63117c9832dd7416
vim +2601 kernel/sched/core.c
2590
2591 /*
2592 * Invoked from a CPUs hotplug control thread after the CPU has been marked
2593 * inactive. All tasks which are not per CPU kernel threads are either
2594 * pushed off this CPU now via balance_push() or placed on a different CPU
2595 * during wakeup. Wait until the CPU is quiescent.
2596 */
2597 static void balance_hotplug_wait(void)
2598 {
2599 struct rq *rq = this_rq();
2600
> 2601 rcuwait_wait_event(&rq->hotplug_wait, rq->nr_running == 1,
2602 TASK_UNINTERRUPTIBLE);
2603 }
2604
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[rcu:dev.2020.09.10a 35/35] kernel/rcu/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.09.10a
head: ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
commit: ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec [35/35] rcutorture: Make grace-period kthread report match RCU flavor being tested
config: sh-allmodconfig (attached as .config)
compiler: sh4-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 ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
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/rcu/rcutorture.c:698:20: error: 'show_rcu_tasks_classic_gp_kthread' undeclared here (not in a function)
698 | .gp_kthread_dbg = show_rcu_tasks_classic_gp_kthread,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/rcu/rcutorture.c:768:20: error: 'show_rcu_tasks_rude_gp_kthread' undeclared here (not in a function)
768 | .gp_kthread_dbg = show_rcu_tasks_rude_gp_kthread,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/rcu/rcutorture.c:807:20: error: 'show_rcu_tasks_trace_gp_kthread' undeclared here (not in a function)
807 | .gp_kthread_dbg = show_rcu_tasks_trace_gp_kthread,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/com...
git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
git fetch --no-tags rcu dev.2020.09.10a
git checkout ccb38b2f3e160fbfecedbd0c80bde97a7dfcbdec
vim +/show_rcu_tasks_classic_gp_kthread +698 kernel/rcu/rcutorture.c
685
686 static struct rcu_torture_ops tasks_ops = {
687 .ttype = RCU_TASKS_FLAVOR,
688 .init = rcu_sync_torture_init,
689 .readlock = tasks_torture_read_lock,
690 .read_delay = rcu_read_delay, /* just reuse rcu's version. */
691 .readunlock = tasks_torture_read_unlock,
692 .get_gp_seq = rcu_no_completed,
693 .deferred_free = rcu_tasks_torture_deferred_free,
694 .sync = synchronize_rcu_tasks,
695 .exp_sync = synchronize_rcu_mult_test,
696 .call = call_rcu_tasks,
697 .cb_barrier = rcu_barrier_tasks,
> 698 .gp_kthread_dbg = show_rcu_tasks_classic_gp_kthread,
699 .fqs = NULL,
700 .stats = NULL,
701 .irq_capable = 1,
702 .slow_gps = 1,
703 .name = "tasks"
704 };
705
706 /*
707 * Definitions for trivial CONFIG_PREEMPT=n-only torture testing.
708 * This implementation does not necessarily work well with CPU hotplug.
709 */
710
711 static void synchronize_rcu_trivial(void)
712 {
713 int cpu;
714
715 for_each_online_cpu(cpu) {
716 rcutorture_sched_setaffinity(current->pid, cpumask_of(cpu));
717 WARN_ON_ONCE(raw_smp_processor_id() != cpu);
718 }
719 }
720
721 static int rcu_torture_read_lock_trivial(void) __acquires(RCU)
722 {
723 preempt_disable();
724 return 0;
725 }
726
727 static void rcu_torture_read_unlock_trivial(int idx) __releases(RCU)
728 {
729 preempt_enable();
730 }
731
732 static struct rcu_torture_ops trivial_ops = {
733 .ttype = RCU_TRIVIAL_FLAVOR,
734 .init = rcu_sync_torture_init,
735 .readlock = rcu_torture_read_lock_trivial,
736 .read_delay = rcu_read_delay, /* just reuse rcu's version. */
737 .readunlock = rcu_torture_read_unlock_trivial,
738 .get_gp_seq = rcu_no_completed,
739 .sync = synchronize_rcu_trivial,
740 .exp_sync = synchronize_rcu_trivial,
741 .fqs = NULL,
742 .stats = NULL,
743 .irq_capable = 1,
744 .name = "trivial"
745 };
746
747 /*
748 * Definitions for rude RCU-tasks torture testing.
749 */
750
751 static void rcu_tasks_rude_torture_deferred_free(struct rcu_torture *p)
752 {
753 call_rcu_tasks_rude(&p->rtort_rcu, rcu_torture_cb);
754 }
755
756 static struct rcu_torture_ops tasks_rude_ops = {
757 .ttype = RCU_TASKS_RUDE_FLAVOR,
758 .init = rcu_sync_torture_init,
759 .readlock = rcu_torture_read_lock_trivial,
760 .read_delay = rcu_read_delay, /* just reuse rcu's version. */
761 .readunlock = rcu_torture_read_unlock_trivial,
762 .get_gp_seq = rcu_no_completed,
763 .deferred_free = rcu_tasks_rude_torture_deferred_free,
764 .sync = synchronize_rcu_tasks_rude,
765 .exp_sync = synchronize_rcu_tasks_rude,
766 .call = call_rcu_tasks_rude,
767 .cb_barrier = rcu_barrier_tasks_rude,
> 768 .gp_kthread_dbg = show_rcu_tasks_rude_gp_kthread,
769 .fqs = NULL,
770 .stats = NULL,
771 .irq_capable = 1,
772 .name = "tasks-rude"
773 };
774
775 /*
776 * Definitions for tracing RCU-tasks torture testing.
777 */
778
779 static int tasks_tracing_torture_read_lock(void)
780 {
781 rcu_read_lock_trace();
782 return 0;
783 }
784
785 static void tasks_tracing_torture_read_unlock(int idx)
786 {
787 rcu_read_unlock_trace();
788 }
789
790 static void rcu_tasks_tracing_torture_deferred_free(struct rcu_torture *p)
791 {
792 call_rcu_tasks_trace(&p->rtort_rcu, rcu_torture_cb);
793 }
794
795 static struct rcu_torture_ops tasks_tracing_ops = {
796 .ttype = RCU_TASKS_TRACING_FLAVOR,
797 .init = rcu_sync_torture_init,
798 .readlock = tasks_tracing_torture_read_lock,
799 .read_delay = srcu_read_delay, /* just reuse srcu's version. */
800 .readunlock = tasks_tracing_torture_read_unlock,
801 .get_gp_seq = rcu_no_completed,
802 .deferred_free = rcu_tasks_tracing_torture_deferred_free,
803 .sync = synchronize_rcu_tasks_trace,
804 .exp_sync = synchronize_rcu_tasks_trace,
805 .call = call_rcu_tasks_trace,
806 .cb_barrier = rcu_barrier_tasks_trace,
> 807 .gp_kthread_dbg = show_rcu_tasks_trace_gp_kthread,
808 .fqs = NULL,
809 .stats = NULL,
810 .irq_capable = 1,
811 .slow_gps = 1,
812 .name = "tasks-tracing"
813 };
814
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:34:6: warning: no previous prototype for 'ia_css_isys_ibuf_rmgr_init'
by kernel test robot
Hi Mauro,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc4f28bb3daf3265d6bc5f73b497306985bb23ab
commit: 5b552b198c2557295becd471bff53bb520fefee5 media: atomisp: re-enable warnings again
date: 3 months ago
config: i386-randconfig-r011-20200916 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 5b552b198c2557295becd471bff53bb520fefee5
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
cc1: warning: drivers/staging/media/atomisp//pci/hive_isp_css_include/memory_access/: No such file or directory [-Wmissing-include-dirs]
>> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:34:6: warning: no previous prototype for 'ia_css_isys_ibuf_rmgr_init' [-Wmissing-prototypes]
34 | void ia_css_isys_ibuf_rmgr_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:40:6: warning: no previous prototype for 'ia_css_isys_ibuf_rmgr_uninit' [-Wmissing-prototypes]
40 | void ia_css_isys_ibuf_rmgr_uninit(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:46:6: warning: no previous prototype for 'ia_css_isys_ibuf_rmgr_acquire' [-Wmissing-prototypes]
46 | bool ia_css_isys_ibuf_rmgr_acquire(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:106:6: warning: no previous prototype for 'ia_css_isys_ibuf_rmgr_release' [-Wmissing-prototypes]
106 | void ia_css_isys_ibuf_rmgr_release(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/staging/media/atomisp//pci/input_system_local.h:10,
from drivers/staging/media/atomisp//pci/hive_isp_css_include/input_system.h:34,
from drivers/staging/media/atomisp//pci/runtime/isys/interface/ia_css_isys.h:20,
from drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:20:
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:402:26: warning: 'SUB_SYSTEM_OFFSET' defined but not used [-Wunused-const-variable=]
402 | static const hrt_address SUB_SYSTEM_OFFSET[N_SUB_SYSTEM_ID] = {
| ^~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:391:30: warning: 'MIPI_PORT_LANES' defined but not used [-Wunused-const-variable=]
391 | static const mipi_lane_cfg_t MIPI_PORT_LANES[N_RX_MODE][N_MIPI_PORT_ID] = {
| ^~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:380:19: warning: 'MIPI_PORT_ACTIVE' defined but not used [-Wunused-const-variable=]
380 | static const bool MIPI_PORT_ACTIVE[N_RX_MODE][N_MIPI_PORT_ID] = {
| ^~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:374:30: warning: 'MIPI_PORT_MAXLANES' defined but not used [-Wunused-const-variable=]
374 | static const mipi_lane_cfg_t MIPI_PORT_MAXLANES[N_MIPI_PORT_ID] = {
| ^~~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:368:26: warning: 'MIPI_PORT_OFFSET' defined but not used [-Wunused-const-variable=]
368 | static const hrt_address MIPI_PORT_OFFSET[N_MIPI_PORT_ID] = {
| ^~~~~~~~~~~~~~~~
In file included from drivers/staging/media/atomisp//pci/system_local.h:10,
from drivers/staging/media/atomisp//pci/hive_isp_css_include/input_system.h:33,
from drivers/staging/media/atomisp//pci/runtime/isys/interface/ia_css_isys.h:20,
from drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c:20:
drivers/staging/media/atomisp//pci/isp2400_system_local.h:178:26: warning: 'RX_BASE' defined but not used [-Wunused-const-variable=]
178 | static const hrt_address RX_BASE[N_RX_ID] = {
| ^~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:163:26: warning: 'INPUT_SYSTEM_BASE' defined but not used [-Wunused-const-variable=]
163 | static const hrt_address INPUT_SYSTEM_BASE[N_INPUT_SYSTEM_ID] = {
| ^~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:155:26: warning: 'INPUT_FORMATTER_BASE' defined but not used [-Wunused-const-variable=]
155 | static const hrt_address INPUT_FORMATTER_BASE[N_INPUT_FORMATTER_ID] = {
| ^~~~~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:150:26: warning: 'TIMED_CTRL_BASE' defined but not used [-Wunused-const-variable=]
150 | static const hrt_address TIMED_CTRL_BASE[N_TIMED_CTRL_ID] = {
| ^~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:145:26: warning: 'GPIO_BASE' defined but not used [-Wunused-const-variable=]
145 | static const hrt_address GPIO_BASE[N_GPIO_ID] = {
| ^~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:142:26: warning: 'GP_TIMER_BASE' defined but not used [-Wunused-const-variable=]
142 | static const hrt_address GP_TIMER_BASE =
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:135:26: warning: 'GP_DEVICE_BASE' defined but not used [-Wunused-const-variable=]
135 | static const hrt_address GP_DEVICE_BASE[N_GP_DEVICE_ID] = {
| ^~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:122:26: warning: 'FIFO_MONITOR_BASE' defined but not used [-Wunused-const-variable=]
122 | static const hrt_address FIFO_MONITOR_BASE[N_FIFO_MONITOR_ID] = {
| ^~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:116:26: warning: 'GDC_BASE' defined but not used [-Wunused-const-variable=]
116 | static const hrt_address GDC_BASE[N_GDC_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:104:26: warning: 'IRQ_BASE' defined but not used [-Wunused-const-variable=]
104 | static const hrt_address IRQ_BASE[N_IRQ_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:99:26: warning: 'DMA_BASE' defined but not used [-Wunused-const-variable=]
99 | static const hrt_address DMA_BASE[N_DMA_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:90:26: warning: 'MMU_BASE' defined but not used [-Wunused-const-variable=]
90 | static const hrt_address MMU_BASE[N_MMU_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:80:26: warning: 'SP_PMEM_BASE' defined but not used [-Wunused-const-variable=]
80 | static const hrt_address SP_PMEM_BASE[N_SP_ID] = {
| ^~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:76:26: warning: 'SP_DMEM_BASE' defined but not used [-Wunused-const-variable=]
76 | static const hrt_address SP_DMEM_BASE[N_SP_ID] = {
| ^~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:72:26: warning: 'SP_CTRL_BASE' defined but not used [-Wunused-const-variable=]
72 | static const hrt_address SP_CTRL_BASE[N_SP_ID] = {
| ^~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:67:26: warning: 'ISP_HMEM_BASE' defined but not used [-Wunused-const-variable=]
67 | static const hrt_address ISP_HMEM_BASE[N_HMEM_ID] = {
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:61:26: warning: 'ISP_VAMEM_BASE' defined but not used [-Wunused-const-variable=]
61 | static const hrt_address ISP_VAMEM_BASE[N_VAMEM_ID] = {
| ^~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:57:26: warning: 'ISP_BAMEM_BASE' defined but not used [-Wunused-const-variable=]
57 | static const hrt_address ISP_BAMEM_BASE[N_BAMEM_ID] = {
| ^~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:53:26: warning: 'ISP_DMEM_BASE' defined but not used [-Wunused-const-variable=]
53 | static const hrt_address ISP_DMEM_BASE[N_ISP_ID] = {
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:49:26: warning: 'ISP_CTRL_BASE' defined but not used [-Wunused-const-variable=]
49 | static const hrt_address ISP_CTRL_BASE[N_ISP_ID] = {
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:44:26: warning: 'DDR_BASE' defined but not used [-Wunused-const-variable=]
44 | static const hrt_address DDR_BASE[N_DDR_ID] = {
| ^~~~~~~~
--
cc1: warning: drivers/staging/media/atomisp//pci/hive_isp_css_include/memory_access/: No such file or directory [-Wmissing-include-dirs]
drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c: In function 'ia_css_isys_rx_configure':
>> drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c:488:7: warning: variable 'port_enabled' set but not used [-Wunused-but-set-variable]
488 | bool port_enabled[N_MIPI_PORT_ID];
| ^~~~~~~~~~~~
In file included from drivers/staging/media/atomisp//pci/hive_isp_css_include/input_formatter.h:34,
from drivers/staging/media/atomisp//pci/sh_css_internal.h:26,
from drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c:21:
At top level:
drivers/staging/media/atomisp//pci/hive_isp_css_common/host/input_formatter_local.h:118:27: warning: 'input_formatter_alignment' defined but not used [-Wunused-const-variable=]
118 | static const unsigned int input_formatter_alignment[N_INPUT_FORMATTER_ID] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/staging/media/atomisp//pci/input_system_local.h:10,
from drivers/staging/media/atomisp//pci/hive_isp_css_include/input_system.h:34,
from drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c:17:
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:380:19: warning: 'MIPI_PORT_ACTIVE' defined but not used [-Wunused-const-variable=]
380 | static const bool MIPI_PORT_ACTIVE[N_RX_MODE][N_MIPI_PORT_ID] = {
| ^~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_input_system_local.h:374:30: warning: 'MIPI_PORT_MAXLANES' defined but not used [-Wunused-const-variable=]
374 | static const mipi_lane_cfg_t MIPI_PORT_MAXLANES[N_MIPI_PORT_ID] = {
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/staging/media/atomisp//pci/system_local.h:10,
from drivers/staging/media/atomisp//pci/hive_isp_css_include/input_system.h:33,
from drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c:17:
drivers/staging/media/atomisp//pci/isp2400_system_local.h:155:26: warning: 'INPUT_FORMATTER_BASE' defined but not used [-Wunused-const-variable=]
155 | static const hrt_address INPUT_FORMATTER_BASE[N_INPUT_FORMATTER_ID] = {
| ^~~~~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:150:26: warning: 'TIMED_CTRL_BASE' defined but not used [-Wunused-const-variable=]
150 | static const hrt_address TIMED_CTRL_BASE[N_TIMED_CTRL_ID] = {
| ^~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:145:26: warning: 'GPIO_BASE' defined but not used [-Wunused-const-variable=]
145 | static const hrt_address GPIO_BASE[N_GPIO_ID] = {
| ^~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:142:26: warning: 'GP_TIMER_BASE' defined but not used [-Wunused-const-variable=]
142 | static const hrt_address GP_TIMER_BASE =
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:135:26: warning: 'GP_DEVICE_BASE' defined but not used [-Wunused-const-variable=]
135 | static const hrt_address GP_DEVICE_BASE[N_GP_DEVICE_ID] = {
| ^~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:122:26: warning: 'FIFO_MONITOR_BASE' defined but not used [-Wunused-const-variable=]
122 | static const hrt_address FIFO_MONITOR_BASE[N_FIFO_MONITOR_ID] = {
| ^~~~~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:116:26: warning: 'GDC_BASE' defined but not used [-Wunused-const-variable=]
116 | static const hrt_address GDC_BASE[N_GDC_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:104:26: warning: 'IRQ_BASE' defined but not used [-Wunused-const-variable=]
104 | static const hrt_address IRQ_BASE[N_IRQ_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:99:26: warning: 'DMA_BASE' defined but not used [-Wunused-const-variable=]
99 | static const hrt_address DMA_BASE[N_DMA_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:90:26: warning: 'MMU_BASE' defined but not used [-Wunused-const-variable=]
90 | static const hrt_address MMU_BASE[N_MMU_ID] = {
| ^~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:80:26: warning: 'SP_PMEM_BASE' defined but not used [-Wunused-const-variable=]
80 | static const hrt_address SP_PMEM_BASE[N_SP_ID] = {
| ^~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:76:26: warning: 'SP_DMEM_BASE' defined but not used [-Wunused-const-variable=]
76 | static const hrt_address SP_DMEM_BASE[N_SP_ID] = {
| ^~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:72:26: warning: 'SP_CTRL_BASE' defined but not used [-Wunused-const-variable=]
72 | static const hrt_address SP_CTRL_BASE[N_SP_ID] = {
| ^~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:67:26: warning: 'ISP_HMEM_BASE' defined but not used [-Wunused-const-variable=]
67 | static const hrt_address ISP_HMEM_BASE[N_HMEM_ID] = {
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:61:26: warning: 'ISP_VAMEM_BASE' defined but not used [-Wunused-const-variable=]
61 | static const hrt_address ISP_VAMEM_BASE[N_VAMEM_ID] = {
| ^~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:57:26: warning: 'ISP_BAMEM_BASE' defined but not used [-Wunused-const-variable=]
57 | static const hrt_address ISP_BAMEM_BASE[N_BAMEM_ID] = {
| ^~~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:53:26: warning: 'ISP_DMEM_BASE' defined but not used [-Wunused-const-variable=]
53 | static const hrt_address ISP_DMEM_BASE[N_ISP_ID] = {
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:49:26: warning: 'ISP_CTRL_BASE' defined but not used [-Wunused-const-variable=]
49 | static const hrt_address ISP_CTRL_BASE[N_ISP_ID] = {
| ^~~~~~~~~~~~~
drivers/staging/media/atomisp//pci/isp2400_system_local.h:44:26: warning: 'DDR_BASE' defined but not used [-Wunused-const-variable=]
44 | static const hrt_address DDR_BASE[N_DDR_ID] = {
| ^~~~~~~~
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 5b552b198c2557295becd471bff53bb520fefee5
vim +/ia_css_isys_ibuf_rmgr_init +34 drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 33
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 @34 void ia_css_isys_ibuf_rmgr_init(void)
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 35 {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 36 memset(&ibuf_rsrc, 0, sizeof(ibuf_rsrc));
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 37 ibuf_rsrc.free_size = MAX_INPUT_BUFFER_SIZE;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 38 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 39
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 @40 void ia_css_isys_ibuf_rmgr_uninit(void)
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 41 {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 42 memset(&ibuf_rsrc, 0, sizeof(ibuf_rsrc));
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 43 ibuf_rsrc.free_size = MAX_INPUT_BUFFER_SIZE;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 44 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 45
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 @46 bool ia_css_isys_ibuf_rmgr_acquire(
bdfe0beb95eebc8 drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 47 u32 size,
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 48 uint32_t *start_addr)
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 49 {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 50 bool retval = false;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 51 bool input_buffer_found = false;
bdfe0beb95eebc8 drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 52 u32 aligned_size;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 53 ibuf_handle_t *handle = NULL;
bdfe0beb95eebc8 drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 54 u16 i;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 55
bdfe0beb95eebc8 drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 56 assert(start_addr);
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 57 assert(size > 0);
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 58
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 59 aligned_size = (size + (IBUF_ALIGN - 1)) & ~(IBUF_ALIGN - 1);
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 60
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 61 /* Check if there is an available un-used handle with the size
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 62 * that will fulfill the request.
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 63 */
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 64 if (ibuf_rsrc.num_active < ibuf_rsrc.num_allocated) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 65 for (i = 0; i < ibuf_rsrc.num_allocated; i++) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 66 handle = getHandle(i);
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 67 if (!handle->active) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 68 if (handle->size >= aligned_size) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 69 handle->active = true;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 70 input_buffer_found = true;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 71 ibuf_rsrc.num_active++;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 72 break;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 73 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 74 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 75 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 76 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 77
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 78 if (!input_buffer_found) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 79 /* There were no available handles that fulfilled the
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 80 * request. Allocate a new handle with the requested size.
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 81 */
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 82 if ((ibuf_rsrc.num_allocated < MAX_IBUF_HANDLES) &&
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 83 (ibuf_rsrc.free_size >= aligned_size)) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 84 handle = getHandle(ibuf_rsrc.num_allocated);
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 85 handle->start_addr = ibuf_rsrc.free_start_addr;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 86 handle->size = aligned_size;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 87 handle->active = true;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 88
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 89 ibuf_rsrc.free_start_addr += aligned_size;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 90 ibuf_rsrc.free_size -= aligned_size;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 91 ibuf_rsrc.num_active++;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 92 ibuf_rsrc.num_allocated++;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 93
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 94 input_buffer_found = true;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 95 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 96 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 97
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 98 if (input_buffer_found && handle) {
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 99 *start_addr = handle->start_addr;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 100 retval = true;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 101 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 102
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 103 return retval;
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 104 }
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 105
ad85094b293e40e drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/isys/src/ibuf_ctrl_rmgr.c Mauro Carvalho Chehab 2020-04-19 @106 void ia_css_isys_ibuf_rmgr_release(
:::::: The code at line 34 was first introduced by commit
:::::: ad85094b293e40e7a2f831b0311a389d952ebd5e Revert "media: staging: atomisp: Remove driver"
:::::: TO: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org>
:::::: CC: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arm-platforms:kvm/protected-memory 11/16] arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2337:2: error: implicit declaration of function 'set_pte'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm/protected-memory
head: d9455e6eabef4b9be5f33c418a8046e0389edade
commit: cd614158250379351100ee6358b4d29d5456ec83 [11/16] KVM: Rework copy_to/from_guest() to avoid direct mapping
config: powerpc-allyesconfig (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 cd614158250379351100ee6358b4d29d5456ec83
# 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/kvm/../../../virt/kvm/kvm_main.c: In function 'map_page_atomic':
>> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2337:2: error: implicit declaration of function 'set_pte'; did you mean 'set_tb'? [-Werror=implicit-function-declaration]
2337 | set_pte(pte, mk_pte(page, PAGE_KERNEL));
| ^~~~~~~
| set_tb
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function 'unmap_page_atomic':
>> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2345:2: error: implicit declaration of function '__flush_tlb_one_kernel'; did you mean '__flush_tlb_pending'? [-Werror=implicit-function-declaration]
2345 | __flush_tlb_one_kernel((unsigned long)vaddr);
| ^~~~~~~~~~~~~~~~~~~~~~
| __flush_tlb_pending
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: In function 'protect_memory':
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2778:31: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
2778 | if (down_write_killable(&mm->mmap_sem))
| ^~~~~~~~
| mmap_base
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:2832:16: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
2832 | up_write(&mm->mmap_sem);
| ^~~~~~~~
| mmap_base
cc1: some warnings being treated as errors
# https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/com...
git remote add arm-platforms https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
git fetch --no-tags arm-platforms kvm/protected-memory
git checkout cd614158250379351100ee6358b4d29d5456ec83
vim +2337 arch/powerpc/kvm/../../../virt/kvm/kvm_main.c
2328
2329 static void *map_page_atomic(struct page *page)
2330 {
2331 pte_t *pte;
2332 void *vaddr;
2333
2334 preempt_disable();
2335 pte = guest_map_ptes[smp_processor_id()];
2336 vaddr = guest_map_area->addr + smp_processor_id() * PAGE_SIZE;
> 2337 set_pte(pte, mk_pte(page, PAGE_KERNEL));
2338 return vaddr;
2339 }
2340
2341 static void unmap_page_atomic(void *vaddr)
2342 {
2343 pte_t *pte = guest_map_ptes[smp_processor_id()];
2344 set_pte(pte, __pte(0));
> 2345 __flush_tlb_one_kernel((unsigned long)vaddr);
2346 preempt_enable();
2347 }
2348
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years