crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-15 Thread Haren Myneni

System gets checkstop if RxFIFO overruns with more requests than the
maximum possible number of CRBs in FIFO at the same time. So find max
CRBs from FIFO size and set it to receive window credits.
   
CC: sta...@vger.kernel.org # v4.14+
Signed-off-by:Haren Myneni 

diff --git a/drivers/crypto/nx/nx-842-powernv.c 
b/drivers/crypto/nx/nx-842-powernv.c
index 4acbc47..e78ff5c 100644
--- a/drivers/crypto/nx/nx-842-powernv.c
+++ b/drivers/crypto/nx/nx-842-powernv.c
@@ -27,8 +27,6 @@
 #define WORKMEM_ALIGN  (CRB_ALIGN)
 #define CSB_WAIT_MAX   (5000) /* ms */
 #define VAS_RETRIES(10)
-/* # of requests allowed per RxFIFO at a time. 0 for unlimited */
-#define MAX_CREDITS_PER_RXFIFO (1024)
 
 struct nx842_workmem {
/* Below fields must be properly aligned */
@@ -812,7 +810,11 @@ static int __init vas_cfg_coproc_info(struct device_node 
*dn, int chip_id,
rxattr.lnotify_lpid = lpid;
rxattr.lnotify_pid = pid;
rxattr.lnotify_tid = tid;
-   rxattr.wcreds_max = MAX_CREDITS_PER_RXFIFO;
+   /*
+* Maximum RX window credits can not be more than #CRBs in
+* RxFIFO. Otherwise, can get checkstop if RxFIFO overruns.
+*/
+   rxattr.wcreds_max = fifo_size / CRB_SIZE;
 
/*
 * Open a VAS receice window which is used to configure RxFIFO




Re: crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-18 Thread Michael Ellerman
Haren Myneni  writes:
> 
> System gets checkstop if RxFIFO overruns with more requests than the
> maximum possible number of CRBs in FIFO at the same time. So find max
> CRBs from FIFO size and set it to receive window credits.
>
> CC: sta...@vger.kernel.org # v4.14+
> Signed-off-by:Haren Myneni 

It's helpful to mention the actual commit that's fixed, so that people
with backports can join things up, so should that be:

  Fixes: b0d6c9bab5e4 ("crypto/nx: Add P9 NX support for 842 compression 
engine")

???

cheers

> diff --git a/drivers/crypto/nx/nx-842-powernv.c 
> b/drivers/crypto/nx/nx-842-powernv.c
> index 4acbc47..e78ff5c 100644
> --- a/drivers/crypto/nx/nx-842-powernv.c
> +++ b/drivers/crypto/nx/nx-842-powernv.c
> @@ -27,8 +27,6 @@
>  #define WORKMEM_ALIGN(CRB_ALIGN)
>  #define CSB_WAIT_MAX (5000) /* ms */
>  #define VAS_RETRIES  (10)
> -/* # of requests allowed per RxFIFO at a time. 0 for unlimited */
> -#define MAX_CREDITS_PER_RXFIFO   (1024)
>  
>  struct nx842_workmem {
>   /* Below fields must be properly aligned */
> @@ -812,7 +810,11 @@ static int __init vas_cfg_coproc_info(struct device_node 
> *dn, int chip_id,
>   rxattr.lnotify_lpid = lpid;
>   rxattr.lnotify_pid = pid;
>   rxattr.lnotify_tid = tid;
> - rxattr.wcreds_max = MAX_CREDITS_PER_RXFIFO;
> + /*
> +  * Maximum RX window credits can not be more than #CRBs in
> +  * RxFIFO. Otherwise, can get checkstop if RxFIFO overruns.
> +  */
> + rxattr.wcreds_max = fifo_size / CRB_SIZE;
>  
>   /*
>* Open a VAS receice window which is used to configure RxFIFO


[PATCH V2] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-18 Thread Haren Myneni

System gets checkstop if RxFIFO overruns with more requests than the
maximum possible number of CRBs in FIFO at the same time. The max number
of requests per window is controlled by window credits. So find max
CRBs from FIFO size and set it to receive window credits.

Fixes: b0d6c9bab5e4 ("crypto/nx: Add P9 NX support for 842 compression engine")
CC: sta...@vger.kernel.org # v4.14+   
Signed-off-by:Haren Myneni 

diff --git a/drivers/crypto/nx/nx-842-powernv.c 
b/drivers/crypto/nx/nx-842-powernv.c
index 4acbc47..e78ff5c 100644
--- a/drivers/crypto/nx/nx-842-powernv.c
+++ b/drivers/crypto/nx/nx-842-powernv.c
@@ -27,8 +27,6 @@
 #define WORKMEM_ALIGN  (CRB_ALIGN)
 #define CSB_WAIT_MAX   (5000) /* ms */
 #define VAS_RETRIES(10)
-/* # of requests allowed per RxFIFO at a time. 0 for unlimited */
-#define MAX_CREDITS_PER_RXFIFO (1024)
 
 struct nx842_workmem {
/* Below fields must be properly aligned */
@@ -812,7 +810,11 @@ static int __init vas_cfg_coproc_info(struct device_node 
*dn, int chip_id,
rxattr.lnotify_lpid = lpid;
rxattr.lnotify_pid = pid;
rxattr.lnotify_tid = tid;
-   rxattr.wcreds_max = MAX_CREDITS_PER_RXFIFO;
+   /*
+* Maximum RX window credits can not be more than #CRBs in
+* RxFIFO. Otherwise, can get checkstop if RxFIFO overruns.
+*/
+   rxattr.wcreds_max = fifo_size / CRB_SIZE;
 
/*
 * Open a VAS receice window which is used to configure RxFIFO





Re: [EXTERNAL] Re: crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-18 Thread Haren Myneni
On 06/18/2019 05:35 AM, Michael Ellerman wrote:
> Haren Myneni  writes:
>> 
>> System gets checkstop if RxFIFO overruns with more requests than the
>> maximum possible number of CRBs in FIFO at the same time. So find max
>> CRBs from FIFO size and set it to receive window credits.
>>
>> CC: sta...@vger.kernel.org # v4.14+
>> Signed-off-by:Haren Myneni 
> 
> It's helpful to mention the actual commit that's fixed, so that people
> with backports can join things up, so should that be:
> 
>   Fixes: b0d6c9bab5e4 ("crypto/nx: Add P9 NX support for 842 compression 
> engine")
> 
> ???

Sorry, Yes, We use 1K for Rx window credits in b0d6c9bab5e41d07f (crypto/nx: 
Add P9 NX support for 842 compression engine). But credits should be based on 
FIFO size. 

I will repost the patch.  

> 
> cheers
> 
>> diff --git a/drivers/crypto/nx/nx-842-powernv.c 
>> b/drivers/crypto/nx/nx-842-powernv.c
>> index 4acbc47..e78ff5c 100644
>> --- a/drivers/crypto/nx/nx-842-powernv.c
>> +++ b/drivers/crypto/nx/nx-842-powernv.c
>> @@ -27,8 +27,6 @@
>>  #define WORKMEM_ALIGN   (CRB_ALIGN)
>>  #define CSB_WAIT_MAX(5000) /* ms */
>>  #define VAS_RETRIES (10)
>> -/* # of requests allowed per RxFIFO at a time. 0 for unlimited */
>> -#define MAX_CREDITS_PER_RXFIFO  (1024)
>>  
>>  struct nx842_workmem {
>>  /* Below fields must be properly aligned */
>> @@ -812,7 +810,11 @@ static int __init vas_cfg_coproc_info(struct 
>> device_node *dn, int chip_id,
>>  rxattr.lnotify_lpid = lpid;
>>  rxattr.lnotify_pid = pid;
>>  rxattr.lnotify_tid = tid;
>> -rxattr.wcreds_max = MAX_CREDITS_PER_RXFIFO;
>> +/*
>> + * Maximum RX window credits can not be more than #CRBs in
>> + * RxFIFO. Otherwise, can get checkstop if RxFIFO overruns.
>> + */
>> +rxattr.wcreds_max = fifo_size / CRB_SIZE;
>>  
>>  /*
>>   * Open a VAS receice window which is used to configure RxFIFO
> 



Re: [PATCH V2] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-26 Thread Herbert Xu
Haren Myneni  wrote:
>
> System gets checkstop if RxFIFO overruns with more requests than the
> maximum possible number of CRBs in FIFO at the same time. The max number
> of requests per window is controlled by window credits. So find max
> CRBs from FIFO size and set it to receive window credits.
> 
> Fixes: b0d6c9bab5e4 ("crypto/nx: Add P9 NX support for 842 compression 
> engine")
> CC: sta...@vger.kernel.org # v4.14+   
> Signed-off-by:Haren Myneni 

I presume this is being picked up by the powerpc tree?

Thanks,
-- 
Email: Herbert Xu 
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


Re: [PATCH V2] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-27 Thread Michael Ellerman
Herbert Xu  writes:
> Haren Myneni  wrote:
>>
>> System gets checkstop if RxFIFO overruns with more requests than the
>> maximum possible number of CRBs in FIFO at the same time. The max number
>> of requests per window is controlled by window credits. So find max
>> CRBs from FIFO size and set it to receive window credits.
>> 
>> Fixes: b0d6c9bab5e4 ("crypto/nx: Add P9 NX support for 842 compression 
>> engine")
>> CC: sta...@vger.kernel.org # v4.14+   
>> Signed-off-by:Haren Myneni 
>
> I presume this is being picked up by the powerpc tree?

No. I assumed you'd take it because it's in drivers/crypto.

If you want me to take it that's fine, just let me know.

cheers


Re: [PATCH V2] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-27 Thread Herbert Xu
On Fri, Jun 28, 2019 at 11:43:16AM +1000, Michael Ellerman wrote:
>
> No. I assumed you'd take it because it's in drivers/crypto.
> 
> If you want me to take it that's fine, just let me know.

No that's fine Michael.  I'll pick it up.

Thanks,
-- 
Email: Herbert Xu 
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


Re: [PATCH V2] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-27 Thread Herbert Xu
On Tue, Jun 18, 2019 at 12:09:22PM -0700, Haren Myneni wrote:
> 
> System gets checkstop if RxFIFO overruns with more requests than the
> maximum possible number of CRBs in FIFO at the same time. The max number
> of requests per window is controlled by window credits. So find max
> CRBs from FIFO size and set it to receive window credits.
> 
> Fixes: b0d6c9bab5e4 ("crypto/nx: Add P9 NX support for 842 compression 
> engine")
> CC: sta...@vger.kernel.org # v4.14+   
> Signed-off-by:Haren Myneni 

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


Re: [PATCH V2] crypto/NX: Set receive window credits to max number of CRBs in RxFIFO

2019-06-29 Thread Michael Ellerman
Herbert Xu  writes:
> On Fri, Jun 28, 2019 at 11:43:16AM +1000, Michael Ellerman wrote:
>>
>> No. I assumed you'd take it because it's in drivers/crypto.
>> 
>> If you want me to take it that's fine, just let me know.
>
> No that's fine Michael.  I'll pick it up.

Thanks.

cheers