All of lore.kernel.org
 help / color / mirror / Atom feed
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 12:08:26 +0800	[thread overview]
Message-ID: <202403061121.TsVV67xo-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-121-20240306 (https://download.01.org/0day-ci/archive/20240306/202403061121.TsVV67xo-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/202403061121.TsVV67xo-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/202403061121.TsVV67xo-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/crypto/dwc-spacc/spacc_core.c:1418: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_core.c:1418:44: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1418:44: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:1421: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_core.c:1421:44: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1421:44: sparse:     got void *
>> drivers/crypto/dwc-spacc/spacc_core.c:1550:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:1550:47: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1550:47: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:1553:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:1553:47: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1553:47: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:1562:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:1562:38: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1562:38: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:1563:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:1563:49: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1563:49: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:1650:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:1650:49: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1650:49: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:1651:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:1651:55: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:1651:55: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2513:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2513:50: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2513:50: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2514:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2514:50: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2514:50: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2515:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2515:34: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2515:34: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2516:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2516:34: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2516:34: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2517:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2517:34: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2517:34: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2518:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2518:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2518:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2519:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2519:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2519:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2545:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2545:63: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2545:63: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2550:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2550:60: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2550:60: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2557:65: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2557:65: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2557:65: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2560:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2560:68: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2560:68: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2575:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2575:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2575:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2576:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2576:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2576:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2577:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2577:42: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2577:42: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2579:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2579:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2579:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2580:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2580:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2580:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2581:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2581:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2581:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2582:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2582:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2582:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2583:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2583:33: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2583:33: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2689:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2689:42: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2689:42: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2690:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2690:58: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2690:58: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2698:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2698:34: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2698:34: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2716:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2716:42: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2716:42: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2742:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2742:45: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2742:45: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2743:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2743:45: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2743:45: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2744:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2744:38: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2744:38: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2746:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2746:38: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/crypto/dwc-spacc/spacc_core.c:2746:38: sparse:     got void *
   drivers/crypto/dwc-spacc/spacc_core.c:2756:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/crypto/dwc-spacc/spacc_core.c:2756:33: sparse:     expected void volatile [noderef] __iomem *addr

vim +1418 drivers/crypto/dwc-spacc/spacc_core.c

6ad822cec22644 Pavitrakumar M 2024-03-05  1414  
6ad822cec22644 Pavitrakumar M 2024-03-05  1415  static int _spacc_fifo_full(struct spacc_device *spacc, uint32_t prio)
6ad822cec22644 Pavitrakumar M 2024-03-05  1416  {
6ad822cec22644 Pavitrakumar M 2024-03-05  1417  	if (spacc->config.is_qos)
6ad822cec22644 Pavitrakumar M 2024-03-05 @1418  		return readl(spacc->regmap + SPACC_REG_FIFO_STAT) &
6ad822cec22644 Pavitrakumar M 2024-03-05  1419  			SPACC_FIFO_STAT_CMDX_FULL(prio);
6ad822cec22644 Pavitrakumar M 2024-03-05  1420  	else
6ad822cec22644 Pavitrakumar M 2024-03-05  1421  		return readl(spacc->regmap + SPACC_REG_FIFO_STAT) &
6ad822cec22644 Pavitrakumar M 2024-03-05  1422  			SPACC_FIFO_STAT_CMD0_FULL;
6ad822cec22644 Pavitrakumar M 2024-03-05  1423  }
6ad822cec22644 Pavitrakumar M 2024-03-05  1424  
6ad822cec22644 Pavitrakumar M 2024-03-05  1425  /* When proc_sz != 0 it overrides the ddt_len value
6ad822cec22644 Pavitrakumar M 2024-03-05  1426   * defined in the context referenced by 'job_idx'
6ad822cec22644 Pavitrakumar M 2024-03-05  1427   */
6ad822cec22644 Pavitrakumar M 2024-03-05  1428  int spacc_packet_enqueue_ddt_ex(struct spacc_device *spacc, int use_jb, int
6ad822cec22644 Pavitrakumar M 2024-03-05  1429  		job_idx, struct pdu_ddt *src_ddt, struct pdu_ddt *dst_ddt,
6ad822cec22644 Pavitrakumar M 2024-03-05  1430  		u32 proc_sz, uint32_t aad_offset, uint32_t pre_aad_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1431  		u32 post_aad_sz, uint32_t iv_offset, uint32_t prio)
6ad822cec22644 Pavitrakumar M 2024-03-05  1432  {
6ad822cec22644 Pavitrakumar M 2024-03-05  1433  	int ret = CRYPTO_OK, proc_len;
6ad822cec22644 Pavitrakumar M 2024-03-05  1434  	struct spacc_job *job;
6ad822cec22644 Pavitrakumar M 2024-03-05  1435  
6ad822cec22644 Pavitrakumar M 2024-03-05  1436  	if (job_idx < 0 || job_idx > SPACC_MAX_JOBS)
6ad822cec22644 Pavitrakumar M 2024-03-05  1437  		return -ENXIO;
6ad822cec22644 Pavitrakumar M 2024-03-05  1438  
6ad822cec22644 Pavitrakumar M 2024-03-05  1439  	switch (prio)  {
6ad822cec22644 Pavitrakumar M 2024-03-05  1440  	case SPACC_SW_CTRL_PRIO_MED:
6ad822cec22644 Pavitrakumar M 2024-03-05  1441  		if (spacc->config.cmd1_fifo_depth == 0)
6ad822cec22644 Pavitrakumar M 2024-03-05  1442  			return -EINVAL;
6ad822cec22644 Pavitrakumar M 2024-03-05  1443  		break;
6ad822cec22644 Pavitrakumar M 2024-03-05  1444  	case SPACC_SW_CTRL_PRIO_LOW:
6ad822cec22644 Pavitrakumar M 2024-03-05  1445  		if (spacc->config.cmd2_fifo_depth == 0)
6ad822cec22644 Pavitrakumar M 2024-03-05  1446  			return -EINVAL;
6ad822cec22644 Pavitrakumar M 2024-03-05  1447  		break;
6ad822cec22644 Pavitrakumar M 2024-03-05  1448  	}
6ad822cec22644 Pavitrakumar M 2024-03-05  1449  
6ad822cec22644 Pavitrakumar M 2024-03-05  1450  	job = &spacc->job[job_idx];
6ad822cec22644 Pavitrakumar M 2024-03-05  1451  	if (!job) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1452  		ret = -EIO;
6ad822cec22644 Pavitrakumar M 2024-03-05  1453  	} else {
6ad822cec22644 Pavitrakumar M 2024-03-05  1454  		/* process any jobs in the jb*/
6ad822cec22644 Pavitrakumar M 2024-03-05  1455  		if (use_jb && spacc_process_jb(spacc) != 0)
6ad822cec22644 Pavitrakumar M 2024-03-05  1456  			goto fifo_full;
6ad822cec22644 Pavitrakumar M 2024-03-05  1457  
6ad822cec22644 Pavitrakumar M 2024-03-05  1458  		if (_spacc_fifo_full(spacc, prio)) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1459  			if (use_jb)
6ad822cec22644 Pavitrakumar M 2024-03-05  1460  				goto fifo_full;
6ad822cec22644 Pavitrakumar M 2024-03-05  1461  			else
6ad822cec22644 Pavitrakumar M 2024-03-05  1462  				return -EBUSY;
6ad822cec22644 Pavitrakumar M 2024-03-05  1463  		}
6ad822cec22644 Pavitrakumar M 2024-03-05  1464  
6ad822cec22644 Pavitrakumar M 2024-03-05  1465  		/* compute the length we must process, in decrypt mode
6ad822cec22644 Pavitrakumar M 2024-03-05  1466  		 * with an ICV (hash, hmac or CCM modes)
6ad822cec22644 Pavitrakumar M 2024-03-05  1467  		 * we must subtract the icv length from the buffer size
6ad822cec22644 Pavitrakumar M 2024-03-05  1468  		 */
6ad822cec22644 Pavitrakumar M 2024-03-05  1469  		if (proc_sz == SPACC_AUTO_SIZE) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1470  			if (job->op == OP_DECRYPT &&
6ad822cec22644 Pavitrakumar M 2024-03-05  1471  			    (job->hash_mode > 0 || (job->enc_mode ==
6ad822cec22644 Pavitrakumar M 2024-03-05  1472  				    CRYPTO_MODE_AES_CCM || job->enc_mode ==
6ad822cec22644 Pavitrakumar M 2024-03-05  1473  				    CRYPTO_MODE_AES_GCM)) &&	!(job->ctrl &
6ad822cec22644 Pavitrakumar M 2024-03-05  1474  				    SPACC_CTRL_MASK(SPACC_CTRL_ICV_ENC))) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1475  				proc_len = src_ddt->len - job->icv_len;
6ad822cec22644 Pavitrakumar M 2024-03-05  1476  			} else {
6ad822cec22644 Pavitrakumar M 2024-03-05  1477  				proc_len = src_ddt->len;
6ad822cec22644 Pavitrakumar M 2024-03-05  1478  			}
6ad822cec22644 Pavitrakumar M 2024-03-05  1479  		} else {
6ad822cec22644 Pavitrakumar M 2024-03-05  1480  			proc_len = proc_sz;
6ad822cec22644 Pavitrakumar M 2024-03-05  1481  		}
6ad822cec22644 Pavitrakumar M 2024-03-05  1482  
6ad822cec22644 Pavitrakumar M 2024-03-05  1483  		if (pre_aad_sz & SPACC_AADCOPY_FLAG) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1484  			job->ctrl |= SPACC_CTRL_MASK(SPACC_CTRL_AAD_COPY);
6ad822cec22644 Pavitrakumar M 2024-03-05  1485  			pre_aad_sz &= ~(SPACC_AADCOPY_FLAG);
6ad822cec22644 Pavitrakumar M 2024-03-05  1486  		} else {
6ad822cec22644 Pavitrakumar M 2024-03-05  1487  			job->ctrl &= ~SPACC_CTRL_MASK(SPACC_CTRL_AAD_COPY);
6ad822cec22644 Pavitrakumar M 2024-03-05  1488  		}
6ad822cec22644 Pavitrakumar M 2024-03-05  1489  
6ad822cec22644 Pavitrakumar M 2024-03-05  1490  		job->pre_aad_sz  = pre_aad_sz;
6ad822cec22644 Pavitrakumar M 2024-03-05  1491  		job->post_aad_sz = post_aad_sz;
6ad822cec22644 Pavitrakumar M 2024-03-05  1492  
6ad822cec22644 Pavitrakumar M 2024-03-05  1493  		if (spacc->config.dma_type == SPACC_DMA_DDT) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1494  			pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1495  					SPACC_REG_SRC_PTR,
6ad822cec22644 Pavitrakumar M 2024-03-05  1496  					(uint32_t)src_ddt->phys,
6ad822cec22644 Pavitrakumar M 2024-03-05  1497  					&spacc->cache.src_ptr);
6ad822cec22644 Pavitrakumar M 2024-03-05  1498  			pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1499  					SPACC_REG_DST_PTR,
6ad822cec22644 Pavitrakumar M 2024-03-05  1500  					(uint32_t)dst_ddt->phys,
6ad822cec22644 Pavitrakumar M 2024-03-05  1501  					&spacc->cache.dst_ptr);
6ad822cec22644 Pavitrakumar M 2024-03-05  1502  		} else if (spacc->config.dma_type == SPACC_DMA_LINEAR) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1503  			pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1504  					SPACC_REG_SRC_PTR,
6ad822cec22644 Pavitrakumar M 2024-03-05  1505  					(uint32_t)src_ddt->virt[0],
6ad822cec22644 Pavitrakumar M 2024-03-05  1506  					&spacc->cache.src_ptr);
6ad822cec22644 Pavitrakumar M 2024-03-05  1507  			pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1508  					SPACC_REG_DST_PTR,
6ad822cec22644 Pavitrakumar M 2024-03-05  1509  					(uint32_t)dst_ddt->virt[0],
6ad822cec22644 Pavitrakumar M 2024-03-05  1510  					&spacc->cache.dst_ptr);
6ad822cec22644 Pavitrakumar M 2024-03-05  1511  		} else {
6ad822cec22644 Pavitrakumar M 2024-03-05  1512  			return -EIO;
6ad822cec22644 Pavitrakumar M 2024-03-05  1513  		}
6ad822cec22644 Pavitrakumar M 2024-03-05  1514  
6ad822cec22644 Pavitrakumar M 2024-03-05  1515  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1516  				SPACC_REG_PROC_LEN,     proc_len -
6ad822cec22644 Pavitrakumar M 2024-03-05  1517  				job->post_aad_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1518  				&spacc->cache.proc_len);
6ad822cec22644 Pavitrakumar M 2024-03-05  1519  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1520  				SPACC_REG_ICV_LEN,      job->icv_len,
6ad822cec22644 Pavitrakumar M 2024-03-05  1521  				&spacc->cache.icv_len);
6ad822cec22644 Pavitrakumar M 2024-03-05  1522  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1523  				SPACC_REG_ICV_OFFSET,
6ad822cec22644 Pavitrakumar M 2024-03-05  1524  				job->icv_offset,
6ad822cec22644 Pavitrakumar M 2024-03-05  1525  				&spacc->cache.icv_offset);
6ad822cec22644 Pavitrakumar M 2024-03-05  1526  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1527  				SPACC_REG_PRE_AAD_LEN,
6ad822cec22644 Pavitrakumar M 2024-03-05  1528  				job->pre_aad_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1529  				&spacc->cache.pre_aad);
6ad822cec22644 Pavitrakumar M 2024-03-05  1530  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1531  				SPACC_REG_POST_AAD_LEN,
6ad822cec22644 Pavitrakumar M 2024-03-05  1532  				job->post_aad_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1533  				&spacc->cache.post_aad);
6ad822cec22644 Pavitrakumar M 2024-03-05  1534  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1535  				SPACC_REG_IV_OFFSET,    iv_offset,
6ad822cec22644 Pavitrakumar M 2024-03-05  1536  				&spacc->cache.iv_offset);
6ad822cec22644 Pavitrakumar M 2024-03-05  1537  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1538  				SPACC_REG_OFFSET,
6ad822cec22644 Pavitrakumar M 2024-03-05  1539  				aad_offset, &spacc->cache.offset);
6ad822cec22644 Pavitrakumar M 2024-03-05  1540  		pdu_io_cached_write(spacc->regmap +
6ad822cec22644 Pavitrakumar M 2024-03-05  1541  				SPACC_REG_AUX_INFO,
6ad822cec22644 Pavitrakumar M 2024-03-05  1542  				AUX_DIR(job->auxinfo_dir) |
6ad822cec22644 Pavitrakumar M 2024-03-05  1543  				AUX_BIT_ALIGN(job->auxinfo_bit_align) |
6ad822cec22644 Pavitrakumar M 2024-03-05  1544  				AUX_CBC_CS(job->auxinfo_cs_mode),
6ad822cec22644 Pavitrakumar M 2024-03-05  1545  				&spacc->cache.aux);
6ad822cec22644 Pavitrakumar M 2024-03-05  1546  
6ad822cec22644 Pavitrakumar M 2024-03-05  1547  		if (job->first_use == 1) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1548  			writel(job->ckey_sz |
6ad822cec22644 Pavitrakumar M 2024-03-05  1549  				SPACC_SET_KEY_CTX(job->ctx_idx),
6ad822cec22644 Pavitrakumar M 2024-03-05 @1550  				spacc->regmap + SPACC_REG_KEY_SZ);
6ad822cec22644 Pavitrakumar M 2024-03-05  1551  			writel(job->hkey_sz |
6ad822cec22644 Pavitrakumar M 2024-03-05  1552  				SPACC_SET_KEY_CTX(job->ctx_idx),
6ad822cec22644 Pavitrakumar M 2024-03-05  1553  				spacc->regmap + SPACC_REG_KEY_SZ);
6ad822cec22644 Pavitrakumar M 2024-03-05  1554  		}
6ad822cec22644 Pavitrakumar M 2024-03-05  1555  
6ad822cec22644 Pavitrakumar M 2024-03-05  1556  		job->job_swid = spacc->job_next_swid;
6ad822cec22644 Pavitrakumar M 2024-03-05  1557  		spacc->job_lookup[job->job_swid] = job_idx;
6ad822cec22644 Pavitrakumar M 2024-03-05  1558  		spacc->job_next_swid = (spacc->job_next_swid + 1) %
6ad822cec22644 Pavitrakumar M 2024-03-05  1559  			SPACC_MAX_JOBS;
6ad822cec22644 Pavitrakumar M 2024-03-05  1560  		writel(SPACC_SW_CTRL_ID_SET(job->job_swid) |
6ad822cec22644 Pavitrakumar M 2024-03-05  1561  		       SPACC_SW_CTRL_PRIO_SET(prio),
6ad822cec22644 Pavitrakumar M 2024-03-05  1562  		       spacc->regmap + SPACC_REG_SW_CTRL);
6ad822cec22644 Pavitrakumar M 2024-03-05  1563  		writel(job->ctrl, spacc->regmap + SPACC_REG_CTRL);
6ad822cec22644 Pavitrakumar M 2024-03-05  1564  
6ad822cec22644 Pavitrakumar M 2024-03-05  1565  		/* Clear an expansion key after the first call*/
6ad822cec22644 Pavitrakumar M 2024-03-05  1566  		if (job->first_use == 1) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1567  			job->first_use = 0;
6ad822cec22644 Pavitrakumar M 2024-03-05  1568  			job->ctrl &= ~SPACC_CTRL_MASK(SPACC_CTRL_KEY_EXP);
6ad822cec22644 Pavitrakumar M 2024-03-05  1569  		}
6ad822cec22644 Pavitrakumar M 2024-03-05  1570  	}
6ad822cec22644 Pavitrakumar M 2024-03-05  1571  
6ad822cec22644 Pavitrakumar M 2024-03-05  1572  
6ad822cec22644 Pavitrakumar M 2024-03-05  1573  	return ret;
6ad822cec22644 Pavitrakumar M 2024-03-05  1574  fifo_full:
6ad822cec22644 Pavitrakumar M 2024-03-05  1575  	/* try to add a job to the job buffers*/
6ad822cec22644 Pavitrakumar M 2024-03-05  1576  	{
6ad822cec22644 Pavitrakumar M 2024-03-05  1577  		int i;
6ad822cec22644 Pavitrakumar M 2024-03-05  1578  
6ad822cec22644 Pavitrakumar M 2024-03-05  1579  		i = spacc->jb_head + 1;
6ad822cec22644 Pavitrakumar M 2024-03-05  1580  		if (i == SPACC_MAX_JOB_BUFFERS)
6ad822cec22644 Pavitrakumar M 2024-03-05  1581  			i = 0;
6ad822cec22644 Pavitrakumar M 2024-03-05  1582  
6ad822cec22644 Pavitrakumar M 2024-03-05  1583  		if (i == spacc->jb_tail)
6ad822cec22644 Pavitrakumar M 2024-03-05  1584  			return -EBUSY;
6ad822cec22644 Pavitrakumar M 2024-03-05  1585  
6ad822cec22644 Pavitrakumar M 2024-03-05  1586  		spacc->job_buffer[spacc->jb_head] = (struct spacc_job_buffer) {
6ad822cec22644 Pavitrakumar M 2024-03-05  1587  			.active		= 1,
6ad822cec22644 Pavitrakumar M 2024-03-05  1588  			.job_idx	= job_idx,
6ad822cec22644 Pavitrakumar M 2024-03-05  1589  			.src		= src_ddt,
6ad822cec22644 Pavitrakumar M 2024-03-05  1590  			.dst		= dst_ddt,
6ad822cec22644 Pavitrakumar M 2024-03-05  1591  			.proc_sz	= proc_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1592  			.aad_offset	= aad_offset,
6ad822cec22644 Pavitrakumar M 2024-03-05  1593  			.pre_aad_sz	= pre_aad_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1594  			.post_aad_sz	= post_aad_sz,
6ad822cec22644 Pavitrakumar M 2024-03-05  1595  			.iv_offset	= iv_offset,
6ad822cec22644 Pavitrakumar M 2024-03-05  1596  			.prio		= prio
6ad822cec22644 Pavitrakumar M 2024-03-05  1597  		};
6ad822cec22644 Pavitrakumar M 2024-03-05  1598  
6ad822cec22644 Pavitrakumar M 2024-03-05  1599  		spacc->jb_head = i;
6ad822cec22644 Pavitrakumar M 2024-03-05  1600  
6ad822cec22644 Pavitrakumar M 2024-03-05  1601  		return CRYPTO_USED_JB;
6ad822cec22644 Pavitrakumar M 2024-03-05  1602  	}
6ad822cec22644 Pavitrakumar M 2024-03-05  1603  }
6ad822cec22644 Pavitrakumar M 2024-03-05  1604  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2024-03-06  4:09 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 [this message]
2024-03-06  6:43   ` kernel test robot
2024-03-06  6:43   ` kernel test robot
2024-03-06  7:26   ` kernel test robot
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=202403061121.TsVV67xo-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.