> -----Original Message-----
> From: Horia Geantă [mailto:[email protected]]
> Sent: Monday, December 05, 2016 5:07 PM
> To: Herbert Xu <[email protected]>
> Cc: David S. Miller <[email protected]>; [email protected];
> Dan Douglass <[email protected]>; Alison Wang <[email protected]>
> Subject: [PATCH] crypto: caam - fix pointer size for AArch64 boot
> loader, AArch32 kernel
> 
> Start with a clean slate before dealing with bit 16 (pointer size) of
> Master Configuration Register.
> This fixes the case of AArch64 boot loader + AArch32 kernel, when the
> boot loader might set MCFGR[PS] and kernel would fail to clear it.
> 
> Cc: <[email protected]>
> Reported-by: Alison Wang <[email protected]>
> Signed-off-by: Horia Geantă <[email protected]>
> ---
>  drivers/crypto/caam/ctrl.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
> index be62a7f482ac..0a6ca3919270 100644
> --- a/drivers/crypto/caam/ctrl.c
> +++ b/drivers/crypto/caam/ctrl.c
> @@ -556,8 +556,9 @@ static int caam_probe(struct platform_device *pdev)
>        * Enable DECO watchdogs and, if this is a PHYS_ADDR_T_64BIT
> kernel,
>        * long pointers in master configuration register
>        */
> -     clrsetbits_32(&ctrl->mcr, MCFGR_AWCACHE_MASK, MCFGR_AWCACHE_CACH
> |
> -                   MCFGR_AWCACHE_BUFF | MCFGR_WDENABLE |
> MCFGR_LARGE_BURST |
> +     clrsetbits_32(&ctrl->mcr, MCFGR_AWCACHE_MASK | MCFGR_LONG_PTR,
> +                   MCFGR_AWCACHE_CACH | MCFGR_AWCACHE_BUFF |
> +                   MCFGR_WDENABLE | MCFGR_LARGE_BURST |
>                     (sizeof(dma_addr_t) == sizeof(u64) ? MCFGR_LONG_PTR :
> 0));
> 
>       /*
> 
Reviewed-By: Alison Wang <[email protected]>


Best Regards,
Alison Wang

Reply via email to