RE: [PATCH] crypto: caam - fix pointer size for AArch64 boot loader, AArch32 kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Horia Geantă [mailto:horia.geanta@xxxxxxx]
> Sent: Monday, December 05, 2016 5:07 PM
> To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>; linux-crypto@xxxxxxxxxxxxxxx;
> Dan Douglass <dan.douglass@xxxxxxx>; Alison Wang <alison.wang@xxxxxxx>
> 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: <stable@xxxxxxxxxxxxxxx>
> Reported-by: Alison Wang <alison.wang@xxxxxxx>
> Signed-off-by: Horia Geantă <horia.geanta@xxxxxxx>
> ---
>  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 <Alison.wang@xxxxxxx>


Best Regards,
Alison Wang
��.n��������+%������w��{.n�����{���{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux