On Thu, Jun 22, 2017 at 10:07:52AM +0300, Gilad Ben-Yossef wrote:
> The ccree driver has build time configurable support
> to work on top of coherent (e.g. ACP) vs. none coherent bus
> connections. Turn it to run-time configurable option
> based on device tree.
> 
> Signed-off-by: Gilad Ben-Yossef <gi...@benyossef.com>
> ---
>  drivers/staging/ccree/ssi_buffer_mgr.c | 37 
> ++++++++++++++++++----------------
>  drivers/staging/ccree/ssi_config.h     | 20 ------------------
>  drivers/staging/ccree/ssi_driver.c     | 14 +++++++++----
>  drivers/staging/ccree/ssi_driver.h     |  3 +++
>  4 files changed, 33 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/staging/ccree/ssi_buffer_mgr.c 
> b/drivers/staging/ccree/ssi_buffer_mgr.c
> index 88ebda8..75810dc 100644
> --- a/drivers/staging/ccree/ssi_buffer_mgr.c
> +++ b/drivers/staging/ccree/ssi_buffer_mgr.c
> @@ -627,6 +627,9 @@ void ssi_buffer_mgr_unmap_aead_request(
>       struct aead_req_ctx *areq_ctx = aead_request_ctx(req);
>       unsigned int hw_iv_size = areq_ctx->hw_iv_size;
>       struct crypto_aead *tfm = crypto_aead_reqtfm(req);
> +     struct ssi_drvdata *drvdata =
> +             (struct ssi_drvdata *)dev_get_drvdata(dev);

The cast is not needed.

> +

Don't put a blank in the middle of the declaration block.

>       u32 dummy;
>       bool chained;
>       u32 size_to_unmap = 0;

[ snip ]

> @@ -981,20 +983,22 @@ static inline int ssi_buffer_mgr_prepare_aead_data_mlli(
>                        * MAC verification upon request completion
>                        */
>                       if (direct == DRV_CRYPTO_DIRECTION_DECRYPT) {
> -#if !DX_HAS_ACP
> -                             /* In ACP platform we already copying ICV
> -                              * for any INPLACE-DECRYPT operation, hence
> +                             if (!drvdata->coherent) {
> +                             /* In coherent platforms (e.g. ACP)
> +                              * already copying ICV for any
> +                              * INPLACE-DECRYPT operation, hence
>                                * we must neglect this code.
>                                */
> -                             u32 size_to_skip = req->assoclen;
> -                             if (areq_ctx->is_gcm4543) {
> -                                     size_to_skip += crypto_aead_ivsize(tfm);
> +                                     u32 skip = req->assoclen;
> +
> +                                     if (areq_ctx->is_gcm4543)
> +                                             skip += crypto_aead_ivsize(tfm);
> +
> +                                     ssi_buffer_mgr_copy_scatterlist_portion(
> +areq_ctx->backup_mac, req->src,
> +(skip + req->cryptlen - areq_ctx->req_authsize),
> +skip + req->cryptlen, SSI_SG_TO_BUF);


Indenting is messed up.

>                               }
> -                             ssi_buffer_mgr_copy_scatterlist_portion(
> -                                     areq_ctx->backup_mac, req->src,
> -                                     size_to_skip+ req->cryptlen - 
> areq_ctx->req_authsize,
> -                                     size_to_skip+ req->cryptlen, 
> SSI_SG_TO_BUF);
> -#endif
>                               areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
>                       } else {
>                               areq_ctx->icv_virt_addr = areq_ctx->mac_buf;

[ snip ]

> @@ -533,7 +539,7 @@ int cc_clk_on(struct ssi_drvdata *drvdata)
>       struct clk *clk = drvdata->clk;
>  
>       if (IS_ERR(clk))
> -     /* No all devices have a clock associated with CCREE */
> +     /* Not all devices have a clock associated with CCREE */

This is not related.  Do unrelated things in different patches.  This
typo was introduced in an earlier patch.  There are a couple ways in git
to edit previous patches.

>               goto out;
>  
>       rc = clk_prepare_enable(clk);

regards,
dan carpenter

Reply via email to