Re: [PATCH v7 04/14] crypto: add a new driver for Marvell's CESA

2015-06-19 Thread Herbert Xu
On Thu, Jun 18, 2015 at 03:46:20PM +0200, Boris Brezillon wrote:

 + dram = mv_mbus_dram_info_nooverlap();

This doesn't compile because it hasn't made it into mainline yet.
I'm afraid this patch-set will have to wait until that happens.

Cheers,
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 00/14] crypto: add a new driver for Marvell's CESA

2015-06-19 Thread Herbert Xu
On Thu, Jun 18, 2015 at 03:46:16PM +0200, Boris Brezillon wrote:
 Hello,
 
 This patch series adds a new driver supporting Marvell's CESA IP.
 This driver addresses some limitations of the existing one.
 From a performance and CPU load point of view the most important
 limitation in the existing driver is the lack of DMA support, thus
 preventing us from chaining crypto operations.

All applied to cryptodev.  Thanks a lot!
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in


[PATCH] arm: crypto: picoxcell: Update to the current clk API

2015-06-19 Thread Michael van der Westhuizen
The picoXcell hardware crypto accelerator driver was using an
older version of the clk framework, and not (un)preparing the
clock before enabling/disabling it.  This change uses the handy
clk_prepare_enable function to interact with the current clk
framework correctly.

Signed-off-by: Michael van der Westhuizen mich...@smart-africa.com
---
 drivers/crypto/picoxcell_crypto.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/picoxcell_crypto.c 
b/drivers/crypto/picoxcell_crypto.c
index 5da5b98..c5a9e5d 100644
--- a/drivers/crypto/picoxcell_crypto.c
+++ b/drivers/crypto/picoxcell_crypto.c
@@ -1754,15 +1754,15 @@ static int spacc_probe(struct platform_device *pdev)
return PTR_ERR(engine-clk);
}
 
-   if (clk_enable(engine-clk)) {
-   dev_info(pdev-dev, unable to enable clk\n);
+   if (clk_prepare_enable(engine-clk)) {
+   dev_info(pdev-dev, unable to prepare/enable clk\n);
clk_put(engine-clk);
return -EIO;
}
 
err = device_create_file(pdev-dev, dev_attr_stat_irq_thresh);
if (err) {
-   clk_disable(engine-clk);
+   clk_disable_unprepare(engine-clk);
clk_put(engine-clk);
return err;
}
@@ -1830,7 +1830,7 @@ static int spacc_remove(struct platform_device *pdev)
crypto_unregister_alg(alg-alg);
}
 
-   clk_disable(engine-clk);
+   clk_disable_unprepare(engine-clk);
clk_put(engine-clk);
 
return 0;
-- 
2.1.4

--
To unsubscribe from this list: send the line unsubscribe linux-crypto in


Re: [PATCH v7 04/14] crypto: add a new driver for Marvell's CESA

2015-06-19 Thread Herbert Xu
On Fri, Jun 19, 2015 at 10:40:15AM +0200, Gregory CLEMENT wrote:
 
 For this option you can use the branch mvebu/drivers located at
  git://git.infradead.org/linux-mvebu.git.
 
 In this branch there is the commit bus: mvebu-mbus: add 
 mv_mbus_dram_info_nooverlap()
 but not only this one because it depends also on fixes which have been
 merged in this same branch.

It looks like the parent of this changeset is already in the mainline
so it's literally just a single patch.  I'll try to pull it into
cryptodev.

Thanks,
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in


Re: [PATCH] crypto: nx - add LE support to pSeries platform driver

2015-06-19 Thread Herbert Xu
On Thu, Jun 18, 2015 at 12:05:30PM -0400, Dan Streetman wrote:
 Add support to the nx-842-pseries.c driver for running in little endian
 mode.
 
 The pSeries platform NX 842 driver currently only works as big endian.
 This adds cpu_to_be*() and be*_to_cpu() in the appropriate places to
 work in LE mode also.
 
 Signed-off-by: Dan Streetman ddstr...@ieee.org

Both patches applied.
-- 
Email: Herbert Xu herb...@gondor.apana.org.au
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 04/14] crypto: add a new driver for Marvell's CESA

2015-06-19 Thread Gregory CLEMENT
Hi Thomas, Herbert,

On 19/06/2015 10:24, Thomas Petazzoni wrote:
 Hello Herbert,
 
 On Fri, 19 Jun 2015 14:42:56 +0800, Herbert Xu wrote:
 On Thu, Jun 18, 2015 at 03:46:20PM +0200, Boris Brezillon wrote:

 +   dram = mv_mbus_dram_info_nooverlap();

 This doesn't compile because it hasn't made it into mainline yet.
 I'm afraid this patch-set will have to wait until that happens.
 
 We have two options here:
 
  1/ We can ask the mach-mvebu maintainers to provide a branch with just
 the commit implementing mv_mbus_dram_info_nooverlap(), and you
 merge that branch into your tree as a dependency.

For this option you can use the branch mvebu/drivers located at
 git://git.infradead.org/linux-mvebu.git.

In this branch there is the commit bus: mvebu-mbus: add 
mv_mbus_dram_info_nooverlap()
but not only this one because it depends also on fixes which have been
merged in this same branch.

This branch is immutable and have already been merged in arm-soc.

Thanks,

Gregory

 
  2/ We temporarily revert back to using mv_mbus_dram_info(). For the
 vast majority of platforms, this is OK. It's only if you have 4 GB
 of RAM or more that it causes problem. And then we switch to
 mv_mbus_dram_info_nooverlap() as part of the -rc cycle.
 
 (2) is probably easier. Herbert, what do you think?
 
 Thomas
 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v7 04/14] crypto: add a new driver for Marvell's CESA

2015-06-19 Thread Thomas Petazzoni
Hello Herbert,

On Fri, 19 Jun 2015 14:42:56 +0800, Herbert Xu wrote:
 On Thu, Jun 18, 2015 at 03:46:20PM +0200, Boris Brezillon wrote:
 
  +   dram = mv_mbus_dram_info_nooverlap();
 
 This doesn't compile because it hasn't made it into mainline yet.
 I'm afraid this patch-set will have to wait until that happens.

We have two options here:

 1/ We can ask the mach-mvebu maintainers to provide a branch with just
the commit implementing mv_mbus_dram_info_nooverlap(), and you
merge that branch into your tree as a dependency.

 2/ We temporarily revert back to using mv_mbus_dram_info(). For the
vast majority of platforms, this is OK. It's only if you have 4 GB
of RAM or more that it causes problem. And then we switch to
mv_mbus_dram_info_nooverlap() as part of the -rc cycle.

(2) is probably easier. Herbert, what do you think?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[cryptodev:master 269/278] drivers/crypto/marvell/cipher.c:298:60: sparse: incorrect type in argument 2 (different base types)

2015-06-19 Thread kbuild test robot
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git 
master
head:   2df6bb5d8b22bc06a6ea83e8b2a6bcf3bb445304
commit: db509a45339fd786de355b11db34ff7421488cb1 [269/278] crypto: marvell/cesa 
- add TDMA support
reproduce:
  # apt-get install sparse
  git checkout db509a45339fd786de355b11db34ff7421488cb1
  make ARCH=x86_64 allmodconfig
  make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by )

   drivers/crypto/marvell/cipher.c:82:47: sparse: incorrect type in argument 3 
(different address spaces)
   drivers/crypto/marvell/cipher.c:82:47:expected void *buf
   drivers/crypto/marvell/cipher.c:82:47:got void [noderef] asn:2*
   drivers/crypto/marvell/cesa.h:656:26: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:656:26:expected unsigned int [unsigned] 
[usertype] enc_len
   drivers/crypto/marvell/cesa.h:656:26:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cipher.c:90:17: sparse: incorrect type in argument 1 
(different address spaces)
   drivers/crypto/marvell/cipher.c:90:17:expected void *to
   drivers/crypto/marvell/cipher.c:90:17:got void [noderef] asn:2*sram
   drivers/crypto/marvell/cipher.c:93:17: sparse: incorrect type in argument 1 
(different address spaces)
   drivers/crypto/marvell/cipher.c:93:17:expected void *to
   drivers/crypto/marvell/cipher.c:93:17:got void [noderef] asn:2*sram
   drivers/crypto/marvell/cipher.c:110:49: sparse: incorrect type in argument 3 
(different address spaces)
   drivers/crypto/marvell/cipher.c:110:49:expected void *buf
   drivers/crypto/marvell/cipher.c:110:49:got void [noderef] asn:2*
   drivers/crypto/marvell/cipher.c:137:9: sparse: incorrect type in argument 2 
(different address spaces)
   drivers/crypto/marvell/cipher.c:137:9:expected void const *from
   drivers/crypto/marvell/cipher.c:137:9:got void [noderef] asn:2*
   drivers/crypto/marvell/cipher.c:235:41: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cipher.c:235:41:expected unsigned int [unsigned] 
noident
   drivers/crypto/marvell/cipher.c:235:41:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:656:26: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:656:26:expected unsigned int [unsigned] 
[usertype] enc_len
   drivers/crypto/marvell/cesa.h:656:26:got restricted __le32 [usertype] 
noident
 drivers/crypto/marvell/cipher.c:298:60: sparse: incorrect type in argument 2 
 (different base types)
   drivers/crypto/marvell/cipher.c:298:60:expected unsigned int [unsigned] 
[usertype] flags
   drivers/crypto/marvell/cipher.c:298:60:got restricted gfp_t [usertype] 
flags
   drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: =
   drivers/crypto/marvell/cesa.h:625:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:625:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:626:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:626:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:631:16: sparse: cast to restricted __le32
   drivers/crypto/marvell/cipher.c:383:44: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cipher.c:383:44:expected unsigned int [unsigned] 
noident
   drivers/crypto/marvell/cipher.c:383:44:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: =
   drivers/crypto/marvell/cesa.h:625:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:625:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:626:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:626:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:636:25: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:636:25:expected unsigned int [unsigned] 
[usertype] config
   drivers/crypto/marvell/cesa.h:636:25:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:636:25: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:636:25:expected unsigned int [unsigned] 
[usertype] config
   drivers/crypto/marvell/cesa.h:636:25:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: =
   drivers/crypto/marvell/cesa.h:625:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:625:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:626:25:left 

[cryptodev:master 272/278] drivers/crypto/marvell/hash.c:356:48: sparse: incorrect type in assignment (different base types)

2015-06-19 Thread kbuild test robot
tree:   git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git 
master
head:   2df6bb5d8b22bc06a6ea83e8b2a6bcf3bb445304
commit: 7aeef693d18d359134f47bf7b6621ec303b570f9 [272/278] crypto: marvell/cesa 
- add MD5 support
reproduce:
  # apt-get install sparse
  git checkout 7aeef693d18d359134f47bf7b6621ec303b570f9
  make ARCH=x86_64 allmodconfig
  make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by )

   drivers/crypto/marvell/hash.c:206:17: sparse: incorrect type in argument 1 
(different address spaces)
   drivers/crypto/marvell/hash.c:206:17:expected void *to
   drivers/crypto/marvell/hash.c:206:17:got void [noderef] asn:2*
   drivers/crypto/marvell/hash.c:220:77: sparse: incorrect type in argument 3 
(different address spaces)
   drivers/crypto/marvell/hash.c:220:77:expected void *buf
   drivers/crypto/marvell/hash.c:220:77:got void [noderef] asn:2*
   drivers/crypto/marvell/cesa.h:631:16: sparse: cast to restricted __le32
   drivers/crypto/marvell/cesa.h:663:28: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:663:28:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:663:28:right side has type restricted 
__le32
   drivers/crypto/marvell/hash.c:248:33: sparse: incorrect type in argument 2 
(different address spaces)
   drivers/crypto/marvell/hash.c:248:33:expected void const *from
   drivers/crypto/marvell/hash.c:248:33:got void [noderef] asn:2*
   drivers/crypto/marvell/hash.c:254:68: sparse: incorrect type in argument 2 
(different address spaces)
   drivers/crypto/marvell/hash.c:254:68:expected unsigned char [usertype] 
*buf
   drivers/crypto/marvell/hash.c:254:68:got void [noderef] asn:2*
   drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:670:29:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:670:29:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: =
   drivers/crypto/marvell/cesa.h:625:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:625:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:626:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:626:25:right side has type restricted 
__le32
   drivers/crypto/marvell/hash.c:269:9: sparse: incorrect type in argument 1 
(different address spaces)
   drivers/crypto/marvell/hash.c:269:9:expected void *to
   drivers/crypto/marvell/hash.c:269:9:got void [noderef] asn:2*sram
   drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: =
   drivers/crypto/marvell/cesa.h:625:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:625:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:626:25:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:626:25:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:644:24: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:644:24:expected unsigned int [unsigned] 
[usertype] enc_p
   drivers/crypto/marvell/cesa.h:644:24:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:645:28: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:645:28:expected unsigned int [unsigned] 
[usertype] enc_key_p
   drivers/crypto/marvell/cesa.h:645:28:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:646:25: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:646:25:expected unsigned int [unsigned] 
[usertype] enc_iv
   drivers/crypto/marvell/cesa.h:646:25:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/cesa.h:648:28: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:648:28:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:648:28:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:650:29: sparse: invalid assignment: |=
   drivers/crypto/marvell/cesa.h:650:29:left side has type unsigned int
   drivers/crypto/marvell/cesa.h:650:29:right side has type restricted 
__le32
   drivers/crypto/marvell/cesa.h:651:25: sparse: incorrect type in assignment 
(different base types)
   drivers/crypto/marvell/cesa.h:651:25:expected unsigned int [unsigned] 
[usertype] mac_iv
   drivers/crypto/marvell/cesa.h:651:25:got restricted __le32 [usertype] 
noident
   drivers/crypto/marvell/hash.c:309:9: sparse: incorrect type in argument 1 
(different address spaces)
   drivers/crypto/marvell/hash.c:309:9:expected void *to
   drivers/crypto/marvell/hash.c:309:9:got void [noderef] asn:2*sram