diff mbox series

[PATCHv6,6/6] coresight: debug: Add Unique Component Identifier (UCI) table

Message ID f724b28e5bfd7bca062aa5380cfd9328289559bf.1548943727.git.saiprakash.ranjan@codeaurora.org (mailing list archive)
State Superseded, archived
Headers show
Series Add coresight support for SDM845, MSM8998 and MSM8996 | expand

Commit Message

Sai Prakash Ranjan Jan. 31, 2019, 2:22 p.m. UTC
Add UCI table for coresight CPU debug module. This patch adds
the UCI entries for Kryo CPUs found on MSM8996 which shares
the same PIDs as ETMs.

Without this, below error is observed on MSM8996:

[    5.429867] OF: graph: no port node found in /soc/debug@3810000
[    5.429938] coresight-etm4x: probe of 3810000.debug failed with error -22
[    5.435415] coresight-cpu-debug 3810000.debug: Coresight debug-CPU0 initialized
[    5.446474] OF: graph: no port node found in /soc/debug@3910000
[    5.448927] coresight-etm4x: probe of 3910000.debug failed with error -22
[    5.454681] coresight-cpu-debug 3910000.debug: Coresight debug-CPU1 initialized
[    5.487765] OF: graph: no port node found in /soc/debug@3a10000
[    5.488007] coresight-etm4x: probe of 3a10000.debug failed with error -22
[    5.493024] coresight-cpu-debug 3a10000.debug: Coresight debug-CPU2 initialized
[    5.501802] OF: graph: no port node found in /soc/debug@3b10000
[    5.512901] coresight-etm4x: probe of 3b10000.debug failed with error -22
[    5.513192] coresight-cpu-debug 3b10000.debug: Coresight debug-CPU3 initialized

Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>

---
For testing, all dependent patches are in below tree:
 * https://github.com/saiprakash-ranjan/linux/tree/coresight-next

This patch depends on UCI support by Mike Leach in below link:
 * https://lore.kernel.org/lkml/20190130234051.2294-1-mike.leach@linaro.org/
---
 .../hwtracing/coresight/coresight-cpu-debug.c | 33 +++++++++----------
 1 file changed, 16 insertions(+), 17 deletions(-)

Comments

Stephen Boyd Jan. 31, 2019, 4:31 p.m. UTC | #1
Quoting Sai Prakash Ranjan (2019-01-31 06:22:24)
> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> index e8819d750938..915d86a39cee 100644
> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> @@ -655,24 +655,23 @@ static int debug_remove(struct amba_device *adev)
>         return 0;
>  }
>  
> +static struct amba_cs_uci_id uci_id_debug[] = {

Can this be const?

> +       {
> +               /*  CPU Debug UCI data */
> +               .devarch        = 0x47706a15,
> +               .devarch_mask   = 0xfff0ffff,
> +               .devtype        = 0x00000015,
> +       }
> +};
Suzuki K Poulose Jan. 31, 2019, 6:01 p.m. UTC | #2
On 31/01/2019 14:22, Sai Prakash Ranjan wrote:
> Add UCI table for coresight CPU debug module. This patch adds
> the UCI entries for Kryo CPUs found on MSM8996 which shares
> the same PIDs as ETMs.
> 
> Without this, below error is observed on MSM8996:

nit: Subject doesn't match the patch contents. You could simply say :

coresight: cpu-debug: Add support for Qualcomm Kryo


> 
> [    5.429867] OF: graph: no port node found in /soc/debug@3810000
> [    5.429938] coresight-etm4x: probe of 3810000.debug failed with error -22
> [    5.435415] coresight-cpu-debug 3810000.debug: Coresight debug-CPU0 initialized
> [    5.446474] OF: graph: no port node found in /soc/debug@3910000
> [    5.448927] coresight-etm4x: probe of 3910000.debug failed with error -22
> [    5.454681] coresight-cpu-debug 3910000.debug: Coresight debug-CPU1 initialized
> [    5.487765] OF: graph: no port node found in /soc/debug@3a10000
> [    5.488007] coresight-etm4x: probe of 3a10000.debug failed with error -22
> [    5.493024] coresight-cpu-debug 3a10000.debug: Coresight debug-CPU2 initialized
> [    5.501802] OF: graph: no port node found in /soc/debug@3b10000
> [    5.512901] coresight-etm4x: probe of 3b10000.debug failed with error -22
> [    5.513192] coresight-cpu-debug 3b10000.debug: Coresight debug-CPU3 initialized
> 
> Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
> 
> ---
> For testing, all dependent patches are in below tree:
>   * https://github.com/saiprakash-ranjan/linux/tree/coresight-next
> 
> This patch depends on UCI support by Mike Leach in below link:
>   * https://lore.kernel.org/lkml/20190130234051.2294-1-mike.leach@linaro.org/
> ---
>   .../hwtracing/coresight/coresight-cpu-debug.c | 33 +++++++++----------
>   1 file changed, 16 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> index e8819d750938..915d86a39cee 100644
> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> @@ -655,24 +655,23 @@ static int debug_remove(struct amba_device *adev)
>   	return 0;
>   }
>   
> +static struct amba_cs_uci_id uci_id_debug[] = {

As Stephen mentioned, this must be "const".

Rest looks fine.

Suzuki
Sai Prakash Ranjan Feb. 1, 2019, 12:45 a.m. UTC | #3
On 1/31/2019 10:01 PM, Stephen Boyd wrote:
> Quoting Sai Prakash Ranjan (2019-01-31 06:22:24)
>> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c
>> index e8819d750938..915d86a39cee 100644
>> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
>> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
>> @@ -655,24 +655,23 @@ static int debug_remove(struct amba_device *adev)
>>          return 0;
>>   }
>>   
>> +static struct amba_cs_uci_id uci_id_debug[] = {
> 
> Can this be const?
> 
>> +       {
>> +               /*  CPU Debug UCI data */
>> +               .devarch        = 0x47706a15,
>> +               .devarch_mask   = 0xfff0ffff,
>> +               .devtype        = 0x00000015,
>> +       }
>> +};

Yes and done in next version, thanks.
Sai Prakash Ranjan Feb. 1, 2019, 12:47 a.m. UTC | #4
On 1/31/2019 11:31 PM, Suzuki K Poulose wrote:
> 
> 
> On 31/01/2019 14:22, Sai Prakash Ranjan wrote:
>> Add UCI table for coresight CPU debug module. This patch adds
>> the UCI entries for Kryo CPUs found on MSM8996 which shares
>> the same PIDs as ETMs.
>>
>> Without this, below error is observed on MSM8996:
> 
> nit: Subject doesn't match the patch contents. You could simply say :
> 
> coresight: cpu-debug: Add support for Qualcomm Kryo
> 

Done.

>>
>> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c 
>> b/drivers/hwtracing/coresight/coresight-cpu-debug.c
>> index e8819d750938..915d86a39cee 100644
>> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
>> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
>> @@ -655,24 +655,23 @@ static int debug_remove(struct amba_device *adev)
>>       return 0;
>>   }
>> +static struct amba_cs_uci_id uci_id_debug[] = {
> 
> As Stephen mentioned, this must be "const".
> 
> Rest looks fine.

Done.

Thanks,
Sai
Sai Prakash Ranjan Feb. 1, 2019, 12:50 a.m. UTC | #5
On 2/1/2019 6:17 AM, Sai Prakash Ranjan wrote:
> On 1/31/2019 11:31 PM, Suzuki K Poulose wrote:
>>
>>
>> On 31/01/2019 14:22, Sai Prakash Ranjan wrote:
>>> Add UCI table for coresight CPU debug module. This patch adds
>>> the UCI entries for Kryo CPUs found on MSM8996 which shares
>>> the same PIDs as ETMs.
>>>
>>> Without this, below error is observed on MSM8996:
>>
>> nit: Subject doesn't match the patch contents. You could simply say :
>>
>> coresight: cpu-debug: Add support for Qualcomm Kryo
>>
> 
> Done.
> 
>>>
>>> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c 
>>> b/drivers/hwtracing/coresight/coresight-cpu-debug.c
>>> index e8819d750938..915d86a39cee 100644
>>> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
>>> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
>>> @@ -655,24 +655,23 @@ static int debug_remove(struct amba_device *adev)
>>>       return 0;
>>>   }
>>> +static struct amba_cs_uci_id uci_id_debug[] = {
>>
>> As Stephen mentioned, this must be "const".
>>
>> Rest looks fine.
> 
> Done.
> 

Also it should be changed in Mike's patch I suppose or else:

In file included from 
drivers/hwtracing/coresight/coresight-cpu-debug.c:26:0:
drivers/hwtracing/coresight/coresight-cpu-debug.c:672:29: warning: 
initialization discards ‘const’ qualifier from pointer target type 
[-Wdiscarded-qualifiers]
   CS_AMBA_UCI_ID(0x000f0205, uci_id_debug), /* Qualcomm Kryo */
                              ^
drivers/hwtracing/coresight/coresight-priv.h:192:11: note: in definition 
of macro ‘CS_AMBA_UCI_ID’
    .data = uci_ptr \
            ^~~~~~~
drivers/hwtracing/coresight/coresight-cpu-debug.c:673:29: warning: 
initialization discards ‘const’ qualifier from pointer target type 
[-Wdiscarded-qualifiers]
   CS_AMBA_UCI_ID(0x000f0211, uci_id_debug), /* Qualcomm Kryo */
                              ^
drivers/hwtracing/coresight/coresight-priv.h:192:11: note: in definition 
of macro ‘CS_AMBA_UCI_ID’
    .data = uci_ptr \
            ^~~~~~~
diff mbox series

Patch

diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c
index e8819d750938..915d86a39cee 100644
--- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
+++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
@@ -655,24 +655,23 @@  static int debug_remove(struct amba_device *adev)
 	return 0;
 }
 
+static struct amba_cs_uci_id uci_id_debug[] = {
+	{
+		/*  CPU Debug UCI data */
+		.devarch	= 0x47706a15,
+		.devarch_mask	= 0xfff0ffff,
+		.devtype	= 0x00000015,
+	}
+};
+
 static const struct amba_id debug_ids[] = {
-	{       /* Debug for Cortex-A53 */
-		.id	= 0x000bbd03,
-		.mask	= 0x000fffff,
-	},
-	{       /* Debug for Cortex-A57 */
-		.id	= 0x000bbd07,
-		.mask	= 0x000fffff,
-	},
-	{       /* Debug for Cortex-A72 */
-		.id	= 0x000bbd08,
-		.mask	= 0x000fffff,
-	},
-	{       /* Debug for Cortex-A73 */
-		.id	= 0x000bbd09,
-		.mask	= 0x000fffff,
-	},
-	{ 0, 0 },
+	CS_AMBA_ID(0x000bbd03),				/* Cortex-A53 */
+	CS_AMBA_ID(0x000bbd07),				/* Cortex-A57 */
+	CS_AMBA_ID(0x000bbd08),				/* Cortex-A72 */
+	CS_AMBA_ID(0x000bbd09),				/* Cortex-A73 */
+	CS_AMBA_UCI_ID(0x000f0205, uci_id_debug),	/* Qualcomm Kryo */
+	CS_AMBA_UCI_ID(0x000f0211, uci_id_debug),	/* Qualcomm Kryo */
+	{},
 };
 
 static struct amba_driver debug_driver = {