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: 29+ 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 --
2024-03-13 5:08 [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file kernel test robot
2024-03-11 2:38 kernel test robot
2024-03-10 15:40 kernel test robot
2024-03-07 14:17 kernel test robot
2023-11-14 13:42 kernel test robot
2023-11-15 2:00 ` kernel test robot
2023-11-14 11:45 kernel test robot
2023-11-15 1:58 ` kernel test robot
2023-11-14 10:40 kernel test robot
2023-11-15 1:57 ` kernel test robot
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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.