Re: [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx/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@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403061522.phoAmD4a-lkp@xxxxxxxxx/

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




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux