All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: mathieu.poirier@linaro.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, mike.leach@linaro.org,
	coresight@lists.linaro.org
Subject: Re: [RFC PATCH 04/14] coresight: etm4x: Free up argument of etm4_init_arch_data
Date: Fri, 31 Jul 2020 10:39:14 +0100	[thread overview]
Message-ID: <d732bde3-43b2-e49c-15c7-b48bf1108133@arm.com> (raw)
In-Reply-To: <20200730173131.GA3155687@xps15>

On 07/30/2020 06:31 PM, Mathieu Poirier wrote:
> On Wed, Jul 22, 2020 at 06:20:30PM +0100, Suzuki K Poulose wrote:
>> etm4_init_arch_data is called early during the device probe,
>> even before the coresight_device is registered. Since we are
>> about to replace the direct access via abstraction layer, we
>> need a way to pass in the csdev_access for the given device.
>> Towards this free up the argument, which is already available
>> via etmdrvdata[smp_processor_id()].
>>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Mike Leach <mike.leach@linaro.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> ---
>>   drivers/hwtracing/coresight/coresight-etm4x.c | 15 +++++++++++----
>>   1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-etm4x.c b/drivers/hwtracing/coresight/coresight-etm4x.c
>> index 7bb74c659c4f..67deb4a4e618 100644
>> --- a/drivers/hwtracing/coresight/coresight-etm4x.c
>> +++ b/drivers/hwtracing/coresight/coresight-etm4x.c
>> @@ -614,7 +614,8 @@ static const struct coresight_ops etm4_cs_ops = {
>>   	.source_ops	= &etm4_source_ops,
>>   };
>>   
>> -static void etm4_init_arch_data(void *info)
>> +
>> +static void etm4_init_arch_data(void *__unused)
>>   {
>>   	u32 etmidr0;
>>   	u32 etmidr1;
>> @@ -622,8 +623,14 @@ static void etm4_init_arch_data(void *info)
>>   	u32 etmidr3;
>>   	u32 etmidr4;
>>   	u32 etmidr5;
>> -	struct etmv4_drvdata *drvdata = info;
>> -	int i;
>> +	struct etmv4_drvdata *drvdata;
>> +	int i, cpu;
>> +
>> +	cpu = raw_smp_processor_id();
> 
> Can you provide details on the motivation to use the raw_ version over the regular
> one?  As far as I can see in linux/smp.h there is no difference between them
> unless DEBUB_PREEMPT is enabled.  Even then the debug version won't complain
> since the task is CPU affined.
> 

Right, it is partly my misunderstanding. debug_smp_processor_id() is to
detect cases where smp_processor_id() is called in pre-emptible
contexts. This is not the case here. So it is fine to use the
smp_processor_id(). I will switch to that in the next version.

Thanks
Suzuki

WARNING: multiple messages have this Message-ID (diff)
From: Suzuki K Poulose <suzuki.poulose@arm.com>
To: mathieu.poirier@linaro.org
Cc: coresight@lists.linaro.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, mike.leach@linaro.org
Subject: Re: [RFC PATCH 04/14] coresight: etm4x: Free up argument of etm4_init_arch_data
Date: Fri, 31 Jul 2020 10:39:14 +0100	[thread overview]
Message-ID: <d732bde3-43b2-e49c-15c7-b48bf1108133@arm.com> (raw)
In-Reply-To: <20200730173131.GA3155687@xps15>

On 07/30/2020 06:31 PM, Mathieu Poirier wrote:
> On Wed, Jul 22, 2020 at 06:20:30PM +0100, Suzuki K Poulose wrote:
>> etm4_init_arch_data is called early during the device probe,
>> even before the coresight_device is registered. Since we are
>> about to replace the direct access via abstraction layer, we
>> need a way to pass in the csdev_access for the given device.
>> Towards this free up the argument, which is already available
>> via etmdrvdata[smp_processor_id()].
>>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Mike Leach <mike.leach@linaro.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> ---
>>   drivers/hwtracing/coresight/coresight-etm4x.c | 15 +++++++++++----
>>   1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-etm4x.c b/drivers/hwtracing/coresight/coresight-etm4x.c
>> index 7bb74c659c4f..67deb4a4e618 100644
>> --- a/drivers/hwtracing/coresight/coresight-etm4x.c
>> +++ b/drivers/hwtracing/coresight/coresight-etm4x.c
>> @@ -614,7 +614,8 @@ static const struct coresight_ops etm4_cs_ops = {
>>   	.source_ops	= &etm4_source_ops,
>>   };
>>   
>> -static void etm4_init_arch_data(void *info)
>> +
>> +static void etm4_init_arch_data(void *__unused)
>>   {
>>   	u32 etmidr0;
>>   	u32 etmidr1;
>> @@ -622,8 +623,14 @@ static void etm4_init_arch_data(void *info)
>>   	u32 etmidr3;
>>   	u32 etmidr4;
>>   	u32 etmidr5;
>> -	struct etmv4_drvdata *drvdata = info;
>> -	int i;
>> +	struct etmv4_drvdata *drvdata;
>> +	int i, cpu;
>> +
>> +	cpu = raw_smp_processor_id();
> 
> Can you provide details on the motivation to use the raw_ version over the regular
> one?  As far as I can see in linux/smp.h there is no difference between them
> unless DEBUB_PREEMPT is enabled.  Even then the debug version won't complain
> since the task is CPU affined.
> 

Right, it is partly my misunderstanding. debug_smp_processor_id() is to
detect cases where smp_processor_id() is called in pre-emptible
contexts. This is not the case here. So it is fine to use the
smp_processor_id(). I will switch to that in the next version.

Thanks
Suzuki

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

  reply	other threads:[~2020-07-31  9:34 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-22 17:20 [RFC PATCH 00/14] coresight: Support for ETMv4.4 system instructions Suzuki K Poulose
2020-07-22 17:20 ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 01/14] coresight: etm4x: Skip save/restore before device registration Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-29 18:01   ` Mathieu Poirier
2020-07-29 18:01     ` Mathieu Poirier
2020-07-30 14:45     ` Suzuki K Poulose
2020-07-30 14:45       ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 02/14] coresight: Introduce device access abstraction Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-24  4:40   ` kernel test robot
2020-07-29 19:56   ` Mathieu Poirier
2020-07-29 19:56     ` Mathieu Poirier
2020-07-30 14:58     ` Suzuki K Poulose
2020-07-30 14:58       ` Suzuki K Poulose
2020-07-29 20:56   ` kernel test robot
2020-07-22 17:20 ` [RFC PATCH 03/14] coresight: tpiu: Use coresight " Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-29 21:01   ` Mathieu Poirier
2020-07-29 21:01     ` Mathieu Poirier
2020-07-31 11:36     ` Suzuki K Poulose
2020-07-31 11:36       ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 04/14] coresight: etm4x: Free up argument of etm4_init_arch_data Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-30 17:31   ` Mathieu Poirier
2020-07-30 17:31     ` Mathieu Poirier
2020-07-31  9:39     ` Suzuki K Poulose [this message]
2020-07-31  9:39       ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 05/14] coresight: Convert coresight_timeout to use access abstraction Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-30 18:00   ` Mathieu Poirier
2020-07-30 18:00     ` Mathieu Poirier
2020-07-22 17:20 ` [RFC PATCH 06/14] coresight: Convert claim and lock operations to use access wrappers Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-27  6:04   ` kernel test robot
2020-07-27 17:56   ` kernel test robot
2020-07-28  9:47     ` Suzuki K Poulose
2020-07-30 19:54   ` Mathieu Poirier
2020-07-30 19:54     ` Mathieu Poirier
2020-07-31  9:46     ` Suzuki K Poulose
2020-07-31  9:46       ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 07/14] coresight: etm4x: Always read the registers on the host CPU Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-30 19:56   ` Mathieu Poirier
2020-07-30 19:56     ` Mathieu Poirier
2020-07-22 17:20 ` [RFC PATCH 08/14] coresight: etm4x: Convert all register accesses Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-30 20:20   ` Mathieu Poirier
2020-07-30 20:20     ` Mathieu Poirier
2020-07-31  9:49     ` Suzuki K Poulose
2020-07-31  9:49       ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 09/14] coresight: etm4x: Add sysreg access helpers Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-30 21:41   ` Mathieu Poirier
2020-07-30 21:41     ` Mathieu Poirier
2020-07-31  9:51     ` Suzuki K Poulose
2020-07-31  9:51       ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 10/14] coresight: etm4x: Define DEVARCH register fields Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 11/14] coresight: etm4x: Detect system register access support Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 12/14] coresight: etm4x: Refactor probing routine Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 13/14] coresight: etm4x: Add support for sysreg only devices Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-22 17:20 ` [RFC PATCH 14/14] dts: bindings: coresight: ETMv4.4 system register access only units Suzuki K Poulose
2020-07-22 17:20   ` Suzuki K Poulose
2020-07-23 17:27   ` Rob Herring
2020-07-23 17:27     ` Rob Herring
2020-07-29 17:20   ` Mathieu Poirier
2020-07-29 17:20     ` Mathieu Poirier
2020-07-30 16:38     ` Suzuki K Poulose
2020-07-30 16:38       ` Suzuki K Poulose
2020-08-10 20:14       ` Mathieu Poirier
2020-08-10 20:14         ` Mathieu Poirier

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=d732bde3-43b2-e49c-15c7-b48bf1108133@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=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.