From: James Clark <james.clark@arm.com>
To: Jinlong Mao <quic_jinlmao@quicinc.com>, coresight@lists.linaro.org
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>,
Mike Leach <mike.leach@linaro.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 6/9] coresight: Store in-connections as well as out-connections
Date: Wed, 29 Mar 2023 13:06:51 +0100 [thread overview]
Message-ID: <eab64b08-34fb-996c-e57a-8f179c132de5@arm.com> (raw)
In-Reply-To: <b0cf2f22-1824-bb06-1648-3570fd6540a4@quicinc.com>
On 14/03/2023 05:35, Jinlong Mao wrote:
>
> On 3/11/2023 12:06 AM, James Clark wrote:
>> This will allow CATU to get its associated ETR in a generic way where
>> currently the enable path has some hard coded searches which avoid
>> the need to store input connections.
>>
>> Signed-off-by: James Clark <james.clark@arm.com>
>> ---
>> drivers/hwtracing/coresight/coresight-core.c | 56 +++++++++++++++--
>> .../hwtracing/coresight/coresight-platform.c | 61 ++++++++++++++++---
>> drivers/hwtracing/coresight/coresight-sysfs.c | 1 -
>> include/linux/coresight.h | 25 ++++++++
>> 4 files changed, 130 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-core.c
>> b/drivers/hwtracing/coresight/coresight-core.c
>> index f457914e445e..a8ba7493c09a 100644
>> --- a/drivers/hwtracing/coresight/coresight-core.c
>> +++ b/drivers/hwtracing/coresight/coresight-core.c
>> @@ -59,6 +59,7 @@ const u32 coresight_barrier_pkt[4] = {0x7fffffff,
>> 0x7fffffff, 0x7fffffff, 0x7fff
>> EXPORT_SYMBOL_GPL(coresight_barrier_pkt);
>> static const struct cti_assoc_op *cti_assoc_ops;
>> +static int coresight_fixup_inputs(struct coresight_device *csdev);
>> ssize_t coresight_simple_show_pair(struct device *_dev,
>> struct device_attribute *attr, char *buf)
>> @@ -1369,6 +1370,35 @@ static int coresight_fixup_orphan_conns(struct
>> coresight_device *csdev)
>> csdev, coresight_orphan_match);
>> }
>> +/*
>> + * Device connections are discovered before one/both devices have
>> been created,
>> + * so inputs must be added later.
>> + */
>> +static int coresight_fixup_inputs(struct coresight_device *csdev)
>> +{
>> + int i, ret = 0;
>> + struct coresight_connection *out_conn;
>> + struct coresight_connection in_conn;
>> +
>> + for (i = 0; i < csdev->pdata->nr_outconns; i++) {
>> + out_conn = &csdev->pdata->out_conns[i];
>> + if (!out_conn->remote_dev || !out_conn->remote_dev->pdata)
>> + continue;
>
> Hi James,
>
> If out_conn->remote_dev is null here, the in_conn of
> out_conn->remote_dev->pdata will never be set.
> For example, device A is connected to in_port 0 of device B. If device A
> is probed first, the in_conn of device
> B will not be set.
> Do we need to add Defer probe return here ? I tested with defer probe
> return, it works.
>
> for (i = 0; i < csdev->pdata->nr_outconns; i++) {
> out_conn = &csdev->pdata->out_conns[i];
> if (!out_conn->remote_dev || !out_conn->remote_dev->pdata)
> - continue;
> + return -EPROBE_DEFER;
>
> Thanks
> Jinlong Mao
I think you are right but I thought that EPROBE_DEFER was too big of a
change and that it might break something in some unexpected way.
In V3 I used the orphan mechanism for inputs in the same way as outputs
so the problem should be gone now but without having to defer loading.
next prev parent reply other threads:[~2023-03-29 12:07 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 16:05 [PATCH v2 0/9] coresight: Fix CTI module refcount leak by making it a helper device James Clark
2023-03-10 16:06 ` [PATCH v2 1/9] coresight: Use enum type for cs_mode wherever possible James Clark
2023-03-16 16:47 ` Suzuki K Poulose
2023-03-21 15:12 ` Mike Leach
2023-03-10 16:06 ` [PATCH v2 2/9] coresight: Change name of pdata->conns James Clark
2023-03-16 17:17 ` Suzuki K Poulose
2023-03-21 15:12 ` Mike Leach
2023-03-10 16:06 ` [PATCH v2 3/9] coresight: Rename nr_outports to nr_outconns James Clark
2023-03-16 17:18 ` Suzuki K Poulose
2023-03-21 17:33 ` Mike Leach
2023-03-10 16:06 ` [PATCH v2 4/9] coresight: Rename connection members to allow for input connections James Clark
2023-03-21 17:33 ` Mike Leach
2023-03-10 16:06 ` [PATCH v2 5/9] coresight: Dynamically add connections James Clark
2023-03-16 17:12 ` Suzuki K Poulose
2023-03-21 17:56 ` Mike Leach
2023-03-23 10:49 ` James Clark
2023-03-29 12:02 ` James Clark
2023-03-10 16:06 ` [PATCH v2 6/9] coresight: Store in-connections as well as out-connections James Clark
2023-03-14 5:35 ` Jinlong Mao
2023-03-29 12:06 ` James Clark [this message]
2023-03-16 20:23 ` Suzuki K Poulose
2023-03-21 17:56 ` Mike Leach
2023-03-29 11:59 ` James Clark
2023-03-10 16:06 ` [PATCH v2 7/9] coresight: Refactor out buffer allocation function for ETR James Clark
2023-03-21 18:01 ` Mike Leach
2023-03-10 16:06 ` [PATCH v2 8/9] coresight: Enable and disable helper devices adjacent to the path James Clark
2023-03-17 11:04 ` Suzuki K Poulose
2023-03-22 9:29 ` Mike Leach
2023-03-29 12:04 ` James Clark
2023-03-29 13:23 ` Suzuki K Poulose
2023-03-29 14:10 ` James Clark
2023-03-10 16:06 ` [PATCH v2 9/9] coresight: Fix CTI module refcount leak by making it a helper device James Clark
2023-03-17 11:40 ` Suzuki K Poulose
2023-03-22 9:29 ` Mike Leach
2023-03-21 15:12 ` [PATCH v2 0/9] " Mike Leach
2023-03-22 9:26 ` James Clark
[not found] ` <CAJ9a7VgbehyFVF1PUZSSGVzhdSY083AvN0bC2xKH=JEUp8oVbw@mail.gmail.com>
2023-03-22 17:18 ` James Clark
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=eab64b08-34fb-996c-e57a-8f179c132de5@arm.com \
--to=james.clark@arm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@linaro.org \
--cc=quic_jinlmao@quicinc.com \
/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
all inboxes | Powered by JetHome®