[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f2ccc321-c892-0e35-3760-1d0ed5b5dbf3@arm.com>
Date: Tue, 9 Aug 2022 11:05:39 +0100
From: Robin Murphy <robin.murphy@....com>
To: Ilkka Koskinen <ilkka@...amperecomputing.com>,
Will Deacon <will@...nel.org>,
Mark Rutland <mark.rutland@....com>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
patches@...erecomputing.com
Subject: Re: [PATCH 1/1] perf/arm-cmn: Add more bits to child node address
offset field
On 2022-08-08 20:54, 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.
Ah, I don't think it ever even crossed my mind to look for changes here,
but of course if the node regions have grown from 16KB to 64KB then it's
only natural that offsets grow to match. I expect the CMN-700 config
that we tested on internally would have been small enough for this not
to make a difference. Thanks for the catch!
Reviewed-by: Robin Murphy <robin.murphy@....com>
> Signed-off-by: Ilkka Koskinen <ilkka@...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
Powered by blists - more mailing lists