linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: mike.leach@linaro.org, saiprakash.ranjan@codeaurora.org
Cc: rnayak@codeaurora.org, mathieu.poirier@linaro.org,
	coresight@lists.linaro.org, linux@armlinux.org.uk,
	linux-kernel@vger.kernel.org, sibis@codeaurora.org,
	vivek.gautam@codeaurora.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCH v3 1/2] drivers: amba: Updates to component identification for driver matching.
Date: Fri, 25 Jan 2019 10:42:23 +0000	[thread overview]
Message-ID: <f4d78f6f-1b85-22ca-bfa6-abaf0d67a898@arm.com> (raw)
In-Reply-To: <CAJ9a7Vh6McpjtyRuBDPSYMWec0TuWkXeOLBOpKvv8tWUU0sV2A@mail.gmail.com>

Mike,

On 25/01/2019 10:37, Mike Leach wrote:
> Hello Sai
> On Fri, 25 Jan 2019 at 07:20, Sai Prakash Ranjan
> <saiprakash.ranjan@codeaurora.org> wrote:
>>
>> Hi Mike,
>>
>> Thanks for the patch.
>>
>> BTW somehow I can't find the latest series in my inbox, so commenting
>> on this here.
>>
>> Mathieu pointed me to this patch series.This solves CPU debug module
>> sharing same PID as ETM on MSM8996. I will be posting patch for CPU
>> debug UCI table soon.
>>
>> But please find my one comment inline.
>>
>> On 12/19/2018 3:29 AM, Mike Leach wrote:
>>> The CoreSight specification (ARM IHI 0029E), updates the ID register
>>> requirements for components on an AMBA bus, to cover both traditional
>>> ARM Primecell type devices, and newer CoreSight and other components.
>>>
>>> The Peripheral ID (PID) / Component ID (CID) pair is extended in certain
>>> cases to uniquely identify components. CoreSight components related to
>>> a single function can share Peripheral ID values, and must be further
>>> identified using a Unique Component Identifier (UCI). e.g. the ETM, CTI,
>>> PMU and Debug hardware of the A35 all share the same PID.
>>>
>>
>> [..]
>>
>>> +static const struct amba_id *
>>> +amba_lookup(const struct amba_id *table, struct amba_device *dev)
>>> +{
>>>        while (table->mask) {
>>> -             ret = (dev->periphid & table->mask) == table->id;
>>> -             if (ret)
>>> -                     break;
>>> +             if (((dev->periphid & table->mask) == table->id) &&
>>> +                     ((dev->cid != CORESIGHT_CID) ||
>>> +                      (amba_cs_uci_id_match(table, dev))))
>>
>> Shouldn't the check be (dev->cid == CORESIGHT_CID) ?
>> Without this STM fails to probe on both SDM845 and MSM8996.
>>
> I believe the test is correct
> 
> To expand the logic here:
> 
> if  (dev->periphid & table->mask) == table->id) {
>        //** match on peripheral ID at this point
>       if (CID != CORESIGHT_ID)
>                 return table; //** not coresight - match on peripheral ID only
>       //** or
>       if (amba_cs_uci_id_match() )
>                  return table;  //** is coresight - match on UCI if
> available - otherwise peripheral ID only;
> 
> However - looking at the coresight STM driver - this is using the
> private .data field in the amba_id for a name - which I had not
> spotted before.

Good point. We also use this field for Coresight SOC-600 ETR for
advertising the caps not detected from hardware.

> I will have to revisit this patchset to fix either the amba id struct
> or the method for getting the uci data into the amba_id.data which
> allows for multiple uses.

Thanks Mike !

Cheers
Suzuki

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

  reply	other threads:[~2019-01-25 10:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-18 21:59 [RESEND PATCH v3 0/2] Update AMBA driver for enhanced component ID spec Mike Leach
2018-12-18 21:59 ` [RESEND PATCH v3 1/2] drivers: amba: Updates to component identification for driver matching Mike Leach
2019-01-11 11:43   ` Suzuki K Poulose
2019-01-25  7:20   ` Sai Prakash Ranjan
2019-01-25 10:37     ` Mike Leach
2019-01-25 10:42       ` Suzuki K Poulose [this message]
2018-12-18 21:59 ` [RESEND PATCH v3 2/2] coresight: etmv4: Update ID register table to add UCI support Mike Leach
2019-01-11 11:44   ` Suzuki K Poulose

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=f4d78f6f-1b85-22ca-bfa6-abaf0d67a898@arm.com \
    --to=suzuki.poulose@arm.com \
    --cc=coresight@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=rnayak@codeaurora.org \
    --cc=saiprakash.ranjan@codeaurora.org \
    --cc=sibis@codeaurora.org \
    --cc=vivek.gautam@codeaurora.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).