[PATCH 1/1] perf/arm-cmn: Add more bits to child node address offset field

Robin Murphy robin.murphy at arm.com
Wed Sep 21 09:17:04 PDT 2022


On 08/08/2022 8:54 pm, Ilkka Koskinen wrote:
> CMN-600 uses bits [27:0] for child node address offset while bits [30:28]
> are required to be zero.
> 
> For CMN-650, the child node address offset field has been increased
> to include bits [29:0] while leaving only bit 30 set to zero.
> 
> Let's include the missing two bits and assume older implementations
> comply with the spec and set bits [29:28] to 0.

Just to add that other users have run into this as well, so getting it 
applied as a fix would be just lovely. Technically I think it's:

Fixes: 60d1504070c2 ("perf/arm-cmn: Support new IP features")

Cheers,
Robin.

> Signed-off-by: Ilkka Koskinen <ilkka at os.amperecomputing.com>
> ---
> 
> I have tested this patch on CMN-600 and CMN-650.
> 
> drivers/perf/arm-cmn.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c
> index 80d8309652a4..b80a9b74662b 100644
> --- a/drivers/perf/arm-cmn.c
> +++ b/drivers/perf/arm-cmn.c
> @@ -36,7 +36,7 @@
>   #define CMN_CI_CHILD_COUNT		GENMASK_ULL(15, 0)
>   #define CMN_CI_CHILD_PTR_OFFSET		GENMASK_ULL(31, 16)
>   
> -#define CMN_CHILD_NODE_ADDR		GENMASK(27, 0)
> +#define CMN_CHILD_NODE_ADDR		GENMASK(29, 0)
>   #define CMN_CHILD_NODE_EXTERNAL		BIT(31)
>   
>   #define CMN_MAX_DIMENSION		12



More information about the linux-arm-kernel mailing list