From: kernel test robot <lkp@intel.com>
To: Pavitrakumar M <pavitrakumarm@vayavyalabs.com>,
herbert@gondor.apana.org.au, linux-crypto@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, Ruud.Derwig@synopsys.com,
manjunath.hadli@vayavyalabs.com,
Pavitrakumar M <pavitrakumarm@vayavyalabs.com>
Subject: Re: [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file
Date: Wed, 6 Mar 2024 15:26:55 +0800 [thread overview]
Message-ID: <202403061522.phoAmD4a-lkp@intel.com> (raw)
In-Reply-To: <20240305112831.3380896-5-pavitrakumarm@vayavyalabs.com>
Hi Pavitrakumar,
kernel test robot noticed the following build warnings:
[auto build test WARNING on herbert-cryptodev-2.6/master]
[also build test WARNING on herbert-crypto-2.6/master linus/master v6.8-rc7 next-20240305]
[cannot apply to xilinx-xlnx/master]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Pavitrakumar-M/Add-SPAcc-driver-to-Linux-kernel/20240305-193337
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
patch link: https://lore.kernel.org/r/20240305112831.3380896-5-pavitrakumarm%40vayavyalabs.com
patch subject: [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file
config: x86_64-randconfig-122-20240306 (https://download.01.org/0day-ci/archive/20240306/202403061522.phoAmD4a-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240306/202403061522.phoAmD4a-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403061522.phoAmD4a-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/crypto/dwc-spacc/spacc_interrupt.c:17:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:17:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:17:36: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_interrupt.c:21:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:21:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:21:17: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:46:63: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:46:63: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:46:63: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:54:63: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:54:63: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:54:63: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:65:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:65:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:65:25: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:82:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:82:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:82:33: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:97:35: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:97:35: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:97:35: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:108:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:108:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:108:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:112:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:112:39: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:112:39: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:114:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:114:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:114:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:116:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:116:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:116:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:121:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:121:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:121:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:123:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:123:39: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:123:39: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:130:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:130:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:130:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:139:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:139:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:139:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:140:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:140:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:140:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:142:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:142:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:142:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:147:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:147:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:147:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:149:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:149:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:149:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:154:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:154:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:154:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:156:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:156:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:156:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:161:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:161:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:161:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:163:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:163:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:163:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:168:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:168:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:168:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:170:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:170:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:170:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:175:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:175:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:175:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:177:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:177:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:177:47: sparse: got void *
drivers/crypto/dwc-spacc/spacc_interrupt.c:182:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_interrupt.c:182:33: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_interrupt.c:182:33: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_interrupt.c:180:6: sparse: sparse: symbol 'spacc_disable_int' was not declared. Should it be static?
--
>> drivers/crypto/dwc-spacc/spacc_device.c:106:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *baseaddr @@ got void [noderef] __iomem * @@
drivers/crypto/dwc-spacc/spacc_device.c:106:18: sparse: expected void *baseaddr
drivers/crypto/dwc-spacc/spacc_device.c:106:18: sparse: got void [noderef] __iomem *
>> drivers/crypto/dwc-spacc/spacc_device.c:227:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_device.c:227:36: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_device.c:227:36: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_device.c:229:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_device.c:229:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_device.c:229:36: sparse: got void *
drivers/crypto/dwc-spacc/spacc_device.c:233:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_device.c:233:28: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_device.c:233:28: sparse: got void *
--
>> drivers/crypto/dwc-spacc/spacc_skcipher.c:15:17: sparse: sparse: symbol 'possible_ciphers' was not declared. Should it be static?
>> drivers/crypto/dwc-spacc/spacc_skcipher.c:153:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_skcipher.c:153:50: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_skcipher.c:153:50: sparse: got void *
drivers/crypto/dwc-spacc/spacc_skcipher.c:477:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_skcipher.c:477:44: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_skcipher.c:477:44: sparse: got void *
drivers/crypto/dwc-spacc/spacc_skcipher.c:492:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_skcipher.c:492:51: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_skcipher.c:492:51: sparse: got void *
drivers/crypto/dwc-spacc/spacc_skcipher.c:509:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_skcipher.c:509:51: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_skcipher.c:509:51: sparse: got void *
drivers/crypto/dwc-spacc/spacc_skcipher.c:526:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_skcipher.c:526:51: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_skcipher.c:526:51: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_skcipher.c:651:21: sparse: sparse: symbol 'spacc_skcipher_alg' was not declared. Should it be static?
drivers/crypto/dwc-spacc/spacc_skcipher.c: note: in included file (through include/linux/smp.h, include/linux/lockdep.h, include/linux/spinlock.h, ...):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
--
>> drivers/crypto/dwc-spacc/spacc_aead.c:522:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_aead.c:522:50: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_aead.c:522:50: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_aead.c:1246:17: sparse: sparse: symbol 'spacc_aead_algs' was not declared. Should it be static?
drivers/crypto/dwc-spacc/spacc_aead.c: note: in included file (through include/linux/swait.h, include/linux/completion.h, include/linux/crypto.h, ...):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
--
>> drivers/crypto/dwc-spacc/spacc_ahash.c:1106:24: sparse: sparse: symbol 'spacc_hash_template' was not declared. Should it be static?
drivers/crypto/dwc-spacc/spacc_ahash.c: note: in included file (through include/linux/swait.h, include/linux/completion.h, include/linux/crypto.h, ...):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
--
>> drivers/crypto/dwc-spacc/spacc_hal.c:25:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:25:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:25:25: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_hal.c:46:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:46:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:46:32: sparse: got void *
drivers/crypto/dwc-spacc/spacc_hal.c:48:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:48:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:48:23: sparse: got void *
drivers/crypto/dwc-spacc/spacc_hal.c:57:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:57:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:57:25: sparse: got void *
drivers/crypto/dwc-spacc/spacc_hal.c:66:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:66:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:66:25: sparse: got void *
drivers/crypto/dwc-spacc/spacc_hal.c:86:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:86:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:86:33: sparse: got void *
drivers/crypto/dwc-spacc/spacc_hal.c:92:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/crypto/dwc-spacc/spacc_hal.c:92:31: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:92:31: sparse: got void *
>> drivers/crypto/dwc-spacc/spacc_hal.c:103:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:103:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:103:32: sparse: got unsigned char *addr
>> drivers/crypto/dwc-spacc/spacc_hal.c:113:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:113:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:113:32: sparse: got unsigned char *addr
drivers/crypto/dwc-spacc/spacc_hal.c:130:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:130:27: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:130:27: sparse: got unsigned char *addr
drivers/crypto/dwc-spacc/spacc_hal.c:142:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:142:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:142:27: sparse: got unsigned char *addr
drivers/crypto/dwc-spacc/spacc_hal.c:163:27: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:163:27: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:163:27: sparse: got unsigned char *addr
drivers/crypto/dwc-spacc/spacc_hal.c:175:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:175:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:175:27: sparse: got unsigned char *addr
>> drivers/crypto/dwc-spacc/spacc_hal.c:212:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *addr @@
drivers/crypto/dwc-spacc/spacc_hal.c:212:21: sparse: expected void volatile [noderef] __iomem *addr
drivers/crypto/dwc-spacc/spacc_hal.c:212:21: sparse: got void *addr
vim +17 drivers/crypto/dwc-spacc/spacc_interrupt.c
6ad822cec22644 Pavitrakumar M 2024-03-05 8
6ad822cec22644 Pavitrakumar M 2024-03-05 9 uint32_t spacc_process_irq(struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 10 {
6ad822cec22644 Pavitrakumar M 2024-03-05 11 u32 temp, tempreg;
6ad822cec22644 Pavitrakumar M 2024-03-05 12 int x, cmd_max;
6ad822cec22644 Pavitrakumar M 2024-03-05 13 unsigned long lock_flag;
6ad822cec22644 Pavitrakumar M 2024-03-05 14
6ad822cec22644 Pavitrakumar M 2024-03-05 15 spin_lock_irqsave(&spacc->lock, lock_flag);
6ad822cec22644 Pavitrakumar M 2024-03-05 16
6ad822cec22644 Pavitrakumar M 2024-03-05 @17 temp = readl(spacc->regmap + SPACC_REG_IRQ_STAT);
6ad822cec22644 Pavitrakumar M 2024-03-05 18
6ad822cec22644 Pavitrakumar M 2024-03-05 19 /* clear interrupt pin and run registered callback */
6ad822cec22644 Pavitrakumar M 2024-03-05 20 if (temp & SPACC_IRQ_STAT_STAT) {
6ad822cec22644 Pavitrakumar M 2024-03-05 @21 SPACC_IRQ_STAT_CLEAR_STAT(spacc);
6ad822cec22644 Pavitrakumar M 2024-03-05 22 if (spacc->op_mode == SPACC_OP_MODE_IRQ) {
6ad822cec22644 Pavitrakumar M 2024-03-05 23 spacc->config.fifo_cnt <<= 2;
6ad822cec22644 Pavitrakumar M 2024-03-05 24 if (spacc->config.fifo_cnt >=
6ad822cec22644 Pavitrakumar M 2024-03-05 25 spacc->config.stat_fifo_depth)
6ad822cec22644 Pavitrakumar M 2024-03-05 26 spacc->config.fifo_cnt =
6ad822cec22644 Pavitrakumar M 2024-03-05 27 spacc->config.stat_fifo_depth;
6ad822cec22644 Pavitrakumar M 2024-03-05 28
6ad822cec22644 Pavitrakumar M 2024-03-05 29 /* update fifo count to allow more stati to pile up*/
6ad822cec22644 Pavitrakumar M 2024-03-05 30 spacc_irq_stat_enable(spacc, spacc->config.fifo_cnt);
6ad822cec22644 Pavitrakumar M 2024-03-05 31 /* reenable CMD0 empty interrupt*/
6ad822cec22644 Pavitrakumar M 2024-03-05 32 spacc_irq_cmdx_enable(spacc, 0, 0);
6ad822cec22644 Pavitrakumar M 2024-03-05 33 } else if (spacc->op_mode == SPACC_OP_MODE_WD) {
6ad822cec22644 Pavitrakumar M 2024-03-05 34 }
6ad822cec22644 Pavitrakumar M 2024-03-05 35 if (spacc->irq_cb_stat)
6ad822cec22644 Pavitrakumar M 2024-03-05 36 spacc->irq_cb_stat(spacc);
6ad822cec22644 Pavitrakumar M 2024-03-05 37 }
6ad822cec22644 Pavitrakumar M 2024-03-05 38
6ad822cec22644 Pavitrakumar M 2024-03-05 39 /* Watchdog IRQ */
6ad822cec22644 Pavitrakumar M 2024-03-05 40 if (spacc->op_mode == SPACC_OP_MODE_WD) {
6ad822cec22644 Pavitrakumar M 2024-03-05 41 if (temp & SPACC_IRQ_STAT_STAT_WD) {
6ad822cec22644 Pavitrakumar M 2024-03-05 42 if (++spacc->wdcnt == SPACC_WD_LIMIT) {
6ad822cec22644 Pavitrakumar M 2024-03-05 43 /* this happens when you get too many IRQs that
6ad822cec22644 Pavitrakumar M 2024-03-05 44 * go unanswered
6ad822cec22644 Pavitrakumar M 2024-03-05 45 */
6ad822cec22644 Pavitrakumar M 2024-03-05 46 tempreg = readl(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05 47 SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 48 spacc_irq_stat_wd_disable(spacc);
6ad822cec22644 Pavitrakumar M 2024-03-05 49 /* we set the STAT CNT to 1 so that every job
6ad822cec22644 Pavitrakumar M 2024-03-05 50 * generates an IRQ now
6ad822cec22644 Pavitrakumar M 2024-03-05 51 */
6ad822cec22644 Pavitrakumar M 2024-03-05 52 spacc_irq_stat_enable(spacc, 1);
6ad822cec22644 Pavitrakumar M 2024-03-05 53 spacc->op_mode = SPACC_OP_MODE_IRQ;
6ad822cec22644 Pavitrakumar M 2024-03-05 54 tempreg = readl(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05 55 SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 56 } else if (spacc->config.wd_timer < (0xFFFFFFUL >> 4)) {
6ad822cec22644 Pavitrakumar M 2024-03-05 57 /* if the timer isn't too high lets bump it up
6ad822cec22644 Pavitrakumar M 2024-03-05 58 * a bit so as to give the IRQ a chance to
6ad822cec22644 Pavitrakumar M 2024-03-05 59 * reply
6ad822cec22644 Pavitrakumar M 2024-03-05 60 */
6ad822cec22644 Pavitrakumar M 2024-03-05 61 spacc_set_wd_count(spacc,
6ad822cec22644 Pavitrakumar M 2024-03-05 62 spacc->config.wd_timer << 4);
6ad822cec22644 Pavitrakumar M 2024-03-05 63 }
6ad822cec22644 Pavitrakumar M 2024-03-05 64
6ad822cec22644 Pavitrakumar M 2024-03-05 65 SPACC_IRQ_STAT_CLEAR_STAT_WD(spacc);
6ad822cec22644 Pavitrakumar M 2024-03-05 66 if (spacc->irq_cb_stat_wd)
6ad822cec22644 Pavitrakumar M 2024-03-05 67 spacc->irq_cb_stat_wd(spacc);
6ad822cec22644 Pavitrakumar M 2024-03-05 68 }
6ad822cec22644 Pavitrakumar M 2024-03-05 69 }
6ad822cec22644 Pavitrakumar M 2024-03-05 70
6ad822cec22644 Pavitrakumar M 2024-03-05 71 if (spacc->op_mode == SPACC_OP_MODE_IRQ) {
6ad822cec22644 Pavitrakumar M 2024-03-05 72 cmd_max = (spacc->config.is_qos ? SPACC_CMDX_MAX_QOS :
6ad822cec22644 Pavitrakumar M 2024-03-05 73 SPACC_CMDX_MAX);
6ad822cec22644 Pavitrakumar M 2024-03-05 74 for (x = 0; x < cmd_max; x++) {
6ad822cec22644 Pavitrakumar M 2024-03-05 75 if (temp & SPACC_IRQ_STAT_CMDX(x)) {
6ad822cec22644 Pavitrakumar M 2024-03-05 76 spacc->config.fifo_cnt = 1;
6ad822cec22644 Pavitrakumar M 2024-03-05 77 /* disable CMD0 interrupt since STAT=1 */
6ad822cec22644 Pavitrakumar M 2024-03-05 78 spacc_irq_cmdx_disable(spacc, x);
6ad822cec22644 Pavitrakumar M 2024-03-05 79 spacc_irq_stat_enable(spacc,
6ad822cec22644 Pavitrakumar M 2024-03-05 80 spacc->config.fifo_cnt);
6ad822cec22644 Pavitrakumar M 2024-03-05 81
6ad822cec22644 Pavitrakumar M 2024-03-05 82 SPACC_IRQ_STAT_CLEAR_CMDX(spacc, x);
6ad822cec22644 Pavitrakumar M 2024-03-05 83 /* run registered callback */
6ad822cec22644 Pavitrakumar M 2024-03-05 84 if (spacc->irq_cb_cmdx)
6ad822cec22644 Pavitrakumar M 2024-03-05 85 spacc->irq_cb_cmdx(spacc, x);
6ad822cec22644 Pavitrakumar M 2024-03-05 86 }
6ad822cec22644 Pavitrakumar M 2024-03-05 87 }
6ad822cec22644 Pavitrakumar M 2024-03-05 88 }
6ad822cec22644 Pavitrakumar M 2024-03-05 89
6ad822cec22644 Pavitrakumar M 2024-03-05 90 spin_unlock_irqrestore(&spacc->lock, lock_flag);
6ad822cec22644 Pavitrakumar M 2024-03-05 91
6ad822cec22644 Pavitrakumar M 2024-03-05 92 return temp;
6ad822cec22644 Pavitrakumar M 2024-03-05 93 }
6ad822cec22644 Pavitrakumar M 2024-03-05 94
6ad822cec22644 Pavitrakumar M 2024-03-05 95 void spacc_set_wd_count(struct spacc_device *spacc, uint32_t val)
6ad822cec22644 Pavitrakumar M 2024-03-05 96 {
6ad822cec22644 Pavitrakumar M 2024-03-05 97 writel(val, spacc->regmap + SPACC_REG_STAT_WD_CTRL);
6ad822cec22644 Pavitrakumar M 2024-03-05 98 }
6ad822cec22644 Pavitrakumar M 2024-03-05 99
6ad822cec22644 Pavitrakumar M 2024-03-05 100 /* cmdx and cmdx_cnt depend on HW config */
6ad822cec22644 Pavitrakumar M 2024-03-05 101 /* cmdx can be 0, 1 or 2 */
6ad822cec22644 Pavitrakumar M 2024-03-05 102 /* cmdx_cnt must be 2^6 or less */
6ad822cec22644 Pavitrakumar M 2024-03-05 103 void spacc_irq_cmdx_enable(struct spacc_device *spacc, int cmdx, int cmdx_cnt)
6ad822cec22644 Pavitrakumar M 2024-03-05 104 {
6ad822cec22644 Pavitrakumar M 2024-03-05 105 u32 temp;
6ad822cec22644 Pavitrakumar M 2024-03-05 106
6ad822cec22644 Pavitrakumar M 2024-03-05 107 /* read the reg, clear the bit range and set the new value */
6ad822cec22644 Pavitrakumar M 2024-03-05 108 temp = readl(spacc->regmap + SPACC_REG_IRQ_CTRL) &
6ad822cec22644 Pavitrakumar M 2024-03-05 109 (~SPACC_IRQ_CTRL_CMDX_CNT_MASK(cmdx));
6ad822cec22644 Pavitrakumar M 2024-03-05 110 temp |= SPACC_IRQ_CTRL_CMDX_CNT_SET(cmdx, cmdx_cnt);
6ad822cec22644 Pavitrakumar M 2024-03-05 111 writel(temp | SPACC_IRQ_CTRL_CMDX_CNT_SET(cmdx, cmdx_cnt),
6ad822cec22644 Pavitrakumar M 2024-03-05 112 spacc->regmap + SPACC_REG_IRQ_CTRL);
6ad822cec22644 Pavitrakumar M 2024-03-05 113
6ad822cec22644 Pavitrakumar M 2024-03-05 114 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) |
6ad822cec22644 Pavitrakumar M 2024-03-05 115 SPACC_IRQ_EN_CMD(cmdx),
6ad822cec22644 Pavitrakumar M 2024-03-05 116 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 117 }
6ad822cec22644 Pavitrakumar M 2024-03-05 118
6ad822cec22644 Pavitrakumar M 2024-03-05 119 void spacc_irq_cmdx_disable(struct spacc_device *spacc, int cmdx)
6ad822cec22644 Pavitrakumar M 2024-03-05 120 {
6ad822cec22644 Pavitrakumar M 2024-03-05 121 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) &
6ad822cec22644 Pavitrakumar M 2024-03-05 122 (~SPACC_IRQ_EN_CMD(cmdx)),
6ad822cec22644 Pavitrakumar M 2024-03-05 123 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 124 }
6ad822cec22644 Pavitrakumar M 2024-03-05 125
6ad822cec22644 Pavitrakumar M 2024-03-05 126 void spacc_irq_stat_enable(struct spacc_device *spacc, int stat_cnt)
6ad822cec22644 Pavitrakumar M 2024-03-05 127 {
6ad822cec22644 Pavitrakumar M 2024-03-05 128 u32 temp;
6ad822cec22644 Pavitrakumar M 2024-03-05 129
6ad822cec22644 Pavitrakumar M 2024-03-05 130 temp = readl(spacc->regmap + SPACC_REG_IRQ_CTRL);
6ad822cec22644 Pavitrakumar M 2024-03-05 131 if (spacc->config.is_qos) {
6ad822cec22644 Pavitrakumar M 2024-03-05 132 temp &= (~SPACC_IRQ_CTRL_STAT_CNT_MASK_QOS);
6ad822cec22644 Pavitrakumar M 2024-03-05 133 temp |= SPACC_IRQ_CTRL_STAT_CNT_SET_QOS(stat_cnt);
6ad822cec22644 Pavitrakumar M 2024-03-05 134 } else {
6ad822cec22644 Pavitrakumar M 2024-03-05 135 temp &= (~SPACC_IRQ_CTRL_STAT_CNT_MASK);
6ad822cec22644 Pavitrakumar M 2024-03-05 136 temp |= SPACC_IRQ_CTRL_STAT_CNT_SET(stat_cnt);
6ad822cec22644 Pavitrakumar M 2024-03-05 137 }
6ad822cec22644 Pavitrakumar M 2024-03-05 138
6ad822cec22644 Pavitrakumar M 2024-03-05 139 writel(temp, spacc->regmap + SPACC_REG_IRQ_CTRL);
6ad822cec22644 Pavitrakumar M 2024-03-05 140 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) |
6ad822cec22644 Pavitrakumar M 2024-03-05 141 SPACC_IRQ_EN_STAT,
6ad822cec22644 Pavitrakumar M 2024-03-05 142 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 143 }
6ad822cec22644 Pavitrakumar M 2024-03-05 144
6ad822cec22644 Pavitrakumar M 2024-03-05 145 void spacc_irq_stat_disable(struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 146 {
6ad822cec22644 Pavitrakumar M 2024-03-05 147 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) &
6ad822cec22644 Pavitrakumar M 2024-03-05 148 (~SPACC_IRQ_EN_STAT),
6ad822cec22644 Pavitrakumar M 2024-03-05 149 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 150 }
6ad822cec22644 Pavitrakumar M 2024-03-05 151
6ad822cec22644 Pavitrakumar M 2024-03-05 152 void spacc_irq_stat_wd_enable(struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 153 {
6ad822cec22644 Pavitrakumar M 2024-03-05 154 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) |
6ad822cec22644 Pavitrakumar M 2024-03-05 155 SPACC_IRQ_EN_STAT_WD,
6ad822cec22644 Pavitrakumar M 2024-03-05 156 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 157 }
6ad822cec22644 Pavitrakumar M 2024-03-05 158
6ad822cec22644 Pavitrakumar M 2024-03-05 159 void spacc_irq_stat_wd_disable(struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 160 {
6ad822cec22644 Pavitrakumar M 2024-03-05 161 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) &
6ad822cec22644 Pavitrakumar M 2024-03-05 162 (~SPACC_IRQ_EN_STAT_WD),
6ad822cec22644 Pavitrakumar M 2024-03-05 163 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 164 }
6ad822cec22644 Pavitrakumar M 2024-03-05 165
6ad822cec22644 Pavitrakumar M 2024-03-05 166 void spacc_irq_glbl_enable(struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 167 {
6ad822cec22644 Pavitrakumar M 2024-03-05 168 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) |
6ad822cec22644 Pavitrakumar M 2024-03-05 169 SPACC_IRQ_EN_GLBL,
6ad822cec22644 Pavitrakumar M 2024-03-05 170 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 171 }
6ad822cec22644 Pavitrakumar M 2024-03-05 172
6ad822cec22644 Pavitrakumar M 2024-03-05 173 void spacc_irq_glbl_disable(struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 174 {
6ad822cec22644 Pavitrakumar M 2024-03-05 @175 writel(readl(spacc->regmap + SPACC_REG_IRQ_EN) &
6ad822cec22644 Pavitrakumar M 2024-03-05 176 (~SPACC_IRQ_EN_GLBL),
6ad822cec22644 Pavitrakumar M 2024-03-05 177 spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 178 }
6ad822cec22644 Pavitrakumar M 2024-03-05 179
6ad822cec22644 Pavitrakumar M 2024-03-05 @180 void spacc_disable_int (struct spacc_device *spacc)
6ad822cec22644 Pavitrakumar M 2024-03-05 181 {
6ad822cec22644 Pavitrakumar M 2024-03-05 182 writel(0, spacc->regmap + SPACC_REG_IRQ_EN);
6ad822cec22644 Pavitrakumar M 2024-03-05 183 }
6ad822cec22644 Pavitrakumar M 2024-03-05 184
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-03-06 7:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-05 11:28 [PATCH 0/4] Add spacc crypto driver support Pavitrakumar M
2024-03-05 11:28 ` [PATCH 1/4] Add SPAcc driver to Linux kernel Pavitrakumar M
2024-03-05 11:28 ` [PATCH 2/4] Add SPACC Kconfig and Makefile Pavitrakumar M
2024-03-06 5:42 ` Easwar Hariharan
2024-03-06 6:38 ` Pavitrakumar Managutte
2024-03-05 11:28 ` [PATCH 3/4] Add SPAcc dts overlay Pavitrakumar M
2024-03-05 11:28 ` [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file Pavitrakumar M
2024-03-06 4:08 ` kernel test robot
2024-03-06 6:43 ` kernel test robot
2024-03-06 6:43 ` kernel test robot
2024-03-06 7:26 ` kernel test robot [this message]
2024-03-07 14:24 ` Dan Carpenter
2024-03-11 7:40 ` Dan Carpenter
2024-03-13 10:43 ` kernel test robot
2024-03-05 21:13 ` [PATCH 0/4] Add spacc crypto driver support Eric Biggers
2024-03-06 3:46 ` Pavitrakumar Managutte
2024-03-06 4:00 ` Eric Biggers
2024-03-06 5:07 ` Pavitrakumar Managutte
-- strict thread matches above, loose matches on Subject: below --
2023-11-14 5:05 [PATCH 0/4] Add crypto spacc driver to support cipher, hash and aead Pavitrakumar M
2023-11-14 5:05 ` [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file Pavitrakumar M
2023-11-15 1:57 ` kernel test robot
2023-11-15 1:58 ` kernel test robot
2023-11-15 2:00 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202403061522.phoAmD4a-lkp@intel.com \
--to=lkp@intel.com \
--cc=Ruud.Derwig@synopsys.com \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=manjunath.hadli@vayavyalabs.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pavitrakumarm@vayavyalabs.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).