[PATCH v2] powerpc/setup_64: Set cache-line-size based on cache-block-size

Chris Packham Chris.Packham at alliedtelesis.co.nz
Thu Apr 16 14:36:29 AEST 2020


Hi All,

On Wed, 2020-03-25 at 16:18 +1300, Chris Packham wrote:
> If {i,d}-cache-block-size is set and {i,d}-cache-line-size is not,
> use
> the block-size value for both. Per the devicetree spec cache-line-
> size
> is only needed if it differs from the block size.
> 
> Signed-off-by: Chris Packham <chris.packham at alliedtelesis.co.nz>
> ---
> It looks as though the bsizep = lsizep is not required per the spec
> but it's
> probably safer to retain it.
> 
> Changes in v2:
> - Scott pointed out that u-boot should be filling in the cache
> properties
>   (which it does). But it does not specify a cache-line-size because
> it
>   provides a cache-block-size and the spec says you don't have to if
> they are
>   the same. So the error is in the parsing not in the devicetree
> itself.
> 

Ping? This thread went kind of quiet.

>  arch/powerpc/kernel/setup_64.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/powerpc/kernel/setup_64.c
> b/arch/powerpc/kernel/setup_64.c
> index e05e6dd67ae6..dd8a238b54b8 100644
> --- a/arch/powerpc/kernel/setup_64.c
> +++ b/arch/powerpc/kernel/setup_64.c
> @@ -516,6 +516,8 @@ static bool __init parse_cache_info(struct
> device_node *np,
>  	lsizep = of_get_property(np, propnames[3], NULL);
>  	if (bsizep == NULL)
>  		bsizep = lsizep;
> +	if (lsizep == NULL)
> +		lsizep = bsizep;
>  	if (lsizep != NULL)
>  		lsize = be32_to_cpu(*lsizep);
>  	if (bsizep != NULL)


More information about the Linuxppc-dev mailing list