crypto: atmel: Add capability case for the 0x600 SHA and AES IP versions

Message ID 20221207135953.136557-1-sergiu.moga@microchip.com
State New
Headers
Series crypto: atmel: Add capability case for the 0x600 SHA and AES IP versions |

Commit Message

Sergiu Moga Dec. 7, 2022, 1:59 p.m. UTC
  In order for the driver to be made aware of the capabilities of the SHA
and AES IP versions 0x600 , such as those present on the SAM9X60 SoC's,
add a corresponding switch case to the capability method of the respective
drivers. Without this, besides the capabilities not being correctly set,
the self tests may hang since the driver is endlessly waiting for a
completion to be set by a never occurring DMA interrupt handler.

Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
---
 drivers/crypto/atmel-aes.c | 1 +
 drivers/crypto/atmel-sha.c | 1 +
 2 files changed, 2 insertions(+)
  

Comments

Nicolas Ferre Dec. 8, 2022, 10:56 a.m. UTC | #1
On 07/12/2022 at 14:59, Sergiu Moga wrote:
> In order for the driver to be made aware of the capabilities of the SHA
> and AES IP versions 0x600 , such as those present on the SAM9X60 SoC's,
> add a corresponding switch case to the capability method of the respective
> drivers. Without this, besides the capabilities not being correctly set,
> the self tests may hang since the driver is endlessly waiting for a
> completion to be set by a never occurring DMA interrupt handler.
> 
> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>

Thanks Sergiu, best regards,
   Nicolas

> ---
>   drivers/crypto/atmel-aes.c | 1 +
>   drivers/crypto/atmel-sha.c | 1 +
>   2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
> index 886bf258544c..063394cfa874 100644
> --- a/drivers/crypto/atmel-aes.c
> +++ b/drivers/crypto/atmel-aes.c
> @@ -2510,6 +2510,7 @@ static void atmel_aes_get_cap(struct atmel_aes_dev *dd)
>   	/* keep only major version number */
>   	switch (dd->hw_version & 0xff0) {
>   	case 0x700:
> +	case 0x600:
>   	case 0x500:
>   		dd->caps.has_dualbuff = 1;
>   		dd->caps.has_cfb64 = 1;
> diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
> index ca4b01926d1b..00be792e605c 100644
> --- a/drivers/crypto/atmel-sha.c
> +++ b/drivers/crypto/atmel-sha.c
> @@ -2509,6 +2509,7 @@ static void atmel_sha_get_cap(struct atmel_sha_dev *dd)
>   	/* keep only major version number */
>   	switch (dd->hw_version & 0xff0) {
>   	case 0x700:
> +	case 0x600:
>   	case 0x510:
>   		dd->caps.has_dma = 1;
>   		dd->caps.has_dualbuff = 1;
  
Herbert Xu Dec. 30, 2022, 3:03 p.m. UTC | #2
On Wed, Dec 07, 2022 at 03:59:55PM +0200, Sergiu Moga wrote:
> In order for the driver to be made aware of the capabilities of the SHA
> and AES IP versions 0x600 , such as those present on the SAM9X60 SoC's,
> add a corresponding switch case to the capability method of the respective
> drivers. Without this, besides the capabilities not being correctly set,
> the self tests may hang since the driver is endlessly waiting for a
> completion to be set by a never occurring DMA interrupt handler.
> 
> Signed-off-by: Sergiu Moga <sergiu.moga@microchip.com>
> ---
>  drivers/crypto/atmel-aes.c | 1 +
>  drivers/crypto/atmel-sha.c | 1 +
>  2 files changed, 2 insertions(+)

Patch applied.  Thanks.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
  

Patch

diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
index 886bf258544c..063394cfa874 100644
--- a/drivers/crypto/atmel-aes.c
+++ b/drivers/crypto/atmel-aes.c
@@ -2510,6 +2510,7 @@  static void atmel_aes_get_cap(struct atmel_aes_dev *dd)
 	/* keep only major version number */
 	switch (dd->hw_version & 0xff0) {
 	case 0x700:
+	case 0x600:
 	case 0x500:
 		dd->caps.has_dualbuff = 1;
 		dd->caps.has_cfb64 = 1;
diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index ca4b01926d1b..00be792e605c 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -2509,6 +2509,7 @@  static void atmel_sha_get_cap(struct atmel_sha_dev *dd)
 	/* keep only major version number */
 	switch (dd->hw_version & 0xff0) {
 	case 0x700:
+	case 0x600:
 	case 0x510:
 		dd->caps.has_dma = 1;
 		dd->caps.has_dualbuff = 1;