linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Ilkka Koskinen <ilkka@os.amperecomputing.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	 linux-arm-kernel@lists.infradead.org,
	patches@amperecomputing.com
Subject: Re: [PATCH] perf/arm-cmn: Move overlapping wp_combine field
Date: Mon, 20 Mar 2023 16:47:17 -0700 (PDT)	[thread overview]
Message-ID: <7cd271db-c9d7-966a-cdc8-f4b0733f6e6a@os.amperecomputing.com> (raw)
In-Reply-To: <629b13d5-10bd-899a-ba19-964fab9efdb5@os.amperecomputing.com>


Hi Robin,

On Wed, 1 Mar 2023, Ilkka Koskinen wrote:
>
> Hi Robin,
>
> On Wed, 1 Mar 2023, Robin Murphy wrote:
>> On 2023-03-01 17:55, Ilkka Koskinen wrote:
>>> As eventid field was expanded to support new mesh versions, it started to
>>> overlap with wp_combine field. Move wp_combine to fix the issue.
>> 
>> Watchpoint events still only strictly need 2 bits of eventid, though. Could 
>> you clarify whether userspace is getting confused by this, or whether it's 
>> just arm_cmn_event_init() falling over itself (FWIW I can see how I broke 
>> things there...)
>
> Basically, perf seems to set eventid at first and then wp_combine field into 
> the config argument. The problem is when arm_cmn_event_init() is doing:
>
> 	eventid = CMN_EVENT_EVENTID(event);
> 	....
> 	if (eventid != CMN_WP_UP && eventid != CMN_WP_DOWN)
> 		return -EINVAL;
>
> If wp_combine has any of the overlapping bits set, eventid doesn't match with 
> either up or down event.

I probably should have also copy pasted what the format files say:

 	$ cat format/eventid format/wp_combine
 	config:16-26
 	config:24-27

So, here you can see that those two fields overlap. If wp_combine has any 
of the bits 24-26 set, arm_cmn_event_init() returns -EINVAL as shown in 
the code above.

Would you need some more clarification from me?

Br, Ilkka


>
> Cheers, Ilkka
>
>> 
>> Thanks,
>> Robin.
>> 
>>> Fixes: 23760a014417 ("perf/arm-cmn: Add CMN-700 support")
>>> Signed-off-by: Ilkka Koskinen <ilkka@os.amperecomputing.com>
>>> ---
>>>   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 c9689861be3f..9f2edc28d16e 100644
>>> --- a/drivers/perf/arm-cmn.c
>>> +++ b/drivers/perf/arm-cmn.c
>>> @@ -166,7 +166,7 @@
>>>   #define CMN_EVENT_BYNODEID(event)	FIELD_GET(CMN_CONFIG_BYNODEID, 
>>> (event)->attr.config)
>>>   #define CMN_EVENT_NODEID(event)		FIELD_GET(CMN_CONFIG_NODEID, 
>>> (event)->attr.config)
>>>   -#define CMN_CONFIG_WP_COMBINE		GENMASK_ULL(27, 24)
>>> +#define CMN_CONFIG_WP_COMBINE		GENMASK_ULL(30, 27)
>>>   #define CMN_CONFIG_WP_DEV_SEL		GENMASK_ULL(50, 48)
>>>   #define CMN_CONFIG_WP_CHN_SEL		GENMASK_ULL(55, 51)
>>>   /* Note that we don't yet support the tertiary match group on newer IPs 
>>> */
>> 
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-03-20 23:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-01 17:55 [PATCH] perf/arm-cmn: Move overlapping wp_combine field Ilkka Koskinen
2023-03-01 18:39 ` Robin Murphy
2023-03-02  0:55   ` Ilkka Koskinen
2023-03-20 23:47     ` Ilkka Koskinen [this message]
2023-03-27 15:01 ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7cd271db-c9d7-966a-cdc8-f4b0733f6e6a@os.amperecomputing.com \
    --to=ilkka@os.amperecomputing.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=patches@amperecomputing.com \
    --cc=robin.murphy@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).