diff mbox series

[V6,6/6] coresight: etm4x: Add ACPI support in platform driver

Message ID 20230710062500.45147-7-anshuman.khandual@arm.com (mailing list archive)
State New, archived
Headers show
Series coresight: etm4x: Migrate ACPI AMBA devices to platform driver | expand

Commit Message

Anshuman Khandual July 10, 2023, 6:25 a.m. UTC
From: Suzuki K Poulose <suzuki.poulose@arm.com>

Drop ETM4X ACPI ID from the AMBA ACPI device list, and instead just move it
inside the new ACPI devices list detected and used via platform driver.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: linux-acpi@vger.kernel.org
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> (for ACPI specific changes)
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 drivers/acpi/acpi_amba.c                           |  1 -
 drivers/hwtracing/coresight/coresight-etm4x-core.c | 10 ++++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

Comments

Suzuki K Poulose July 10, 2023, 4:40 p.m. UTC | #1
Rafael, Len

On 10/07/2023 07:25, Anshuman Khandual wrote:
> From: Suzuki K Poulose <suzuki.poulose@arm.com>
> 
> Drop ETM4X ACPI ID from the AMBA ACPI device list, and instead just move it
> inside the new ACPI devices list detected and used via platform driver.
> 
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Cc: Len Brown <lenb@kernel.org>
> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
> Cc: Mike Leach <mike.leach@linaro.org>
> Cc: Leo Yan <leo.yan@linaro.org>
> Cc: Sudeep Holla <sudeep.holla@arm.com>
> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
> Cc: linux-acpi@vger.kernel.org
> Cc: coresight@lists.linaro.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> (for ACPI specific changes)
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

We would like to queue this via coresight tree. The acpi_amba bits have
been reviewed by Sudeep. Please could you give us an Ack, if you are
happy with the proposal ?

Kind regards
Suzuki


> ---
>   drivers/acpi/acpi_amba.c                           |  1 -
>   drivers/hwtracing/coresight/coresight-etm4x-core.c | 10 ++++++++++
>   2 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/acpi/acpi_amba.c b/drivers/acpi/acpi_amba.c
> index f5b443ab01c2..099966cbac5a 100644
> --- a/drivers/acpi/acpi_amba.c
> +++ b/drivers/acpi/acpi_amba.c
> @@ -22,7 +22,6 @@
>   static const struct acpi_device_id amba_id_list[] = {
>   	{"ARMH0061", 0}, /* PL061 GPIO Device */
>   	{"ARMH0330", 0}, /* ARM DMA Controller DMA-330 */
> -	{"ARMHC500", 0}, /* ARM CoreSight ETM4x */
>   	{"ARMHC501", 0}, /* ARM CoreSight ETR */
>   	{"ARMHC502", 0}, /* ARM CoreSight STM */
>   	{"ARMHC503", 0}, /* ARM CoreSight Debug */
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> index 43f583987250..703b6fcbb6a5 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> @@ -3,6 +3,7 @@
>    * Copyright (c) 2014, The Linux Foundation. All rights reserved.
>    */
>   
> +#include <linux/acpi.h>
>   #include <linux/bitops.h>
>   #include <linux/kernel.h>
>   #include <linux/moduleparam.h>
> @@ -2347,12 +2348,21 @@ static const struct of_device_id etm4_sysreg_match[] = {
>   	{}
>   };
>   
> +#ifdef CONFIG_ACPI
> +static const struct acpi_device_id etm4x_acpi_ids[] = {
> +	{"ARMHC500", 0}, /* ARM CoreSight ETM4x */
> +	{}
> +};
> +MODULE_DEVICE_TABLE(acpi, etm4x_acpi_ids);
> +#endif
> +
>   static struct platform_driver etm4_platform_driver = {
>   	.probe		= etm4_probe_platform_dev,
>   	.remove		= etm4_remove_platform_dev,
>   	.driver			= {
>   		.name			= "coresight-etm4x",
>   		.of_match_table		= etm4_sysreg_match,
> +		.acpi_match_table	= ACPI_PTR(etm4x_acpi_ids),
>   		.suppress_bind_attrs	= true,
>   		.pm			= &etm4_dev_pm_ops,
>   	},
Suzuki K Poulose July 19, 2023, 10:11 a.m. UTC | #2
Rafael, Len

Ping (packets 6, lost 100%).


On 10/07/2023 17:40, Suzuki K Poulose wrote:
> Rafael, Len
> 
> On 10/07/2023 07:25, Anshuman Khandual wrote:
>> From: Suzuki K Poulose <suzuki.poulose@arm.com>
>>
>> Drop ETM4X ACPI ID from the AMBA ACPI device list, and instead just 
>> move it
>> inside the new ACPI devices list detected and used via platform driver.
>>
>> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
>> Cc: Len Brown <lenb@kernel.org>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
>> Cc: Mike Leach <mike.leach@linaro.org>
>> Cc: Leo Yan <leo.yan@linaro.org>
>> Cc: Sudeep Holla <sudeep.holla@arm.com>
>> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
>> Cc: linux-acpi@vger.kernel.org
>> Cc: coresight@lists.linaro.org
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: linux-kernel@vger.kernel.org
>> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> (for ACPI specific 
>> changes)
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> 
> We would like to queue this via coresight tree. The acpi_amba bits have
> been reviewed by Sudeep. Please could you give us an Ack, if you are
> happy with the proposal ?
> 

Kind regards
Suzuki

> Kind regards
> Suzuki
> 
> 
>> ---
>>   drivers/acpi/acpi_amba.c                           |  1 -
>>   drivers/hwtracing/coresight/coresight-etm4x-core.c | 10 ++++++++++
>>   2 files changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/acpi/acpi_amba.c b/drivers/acpi/acpi_amba.c
>> index f5b443ab01c2..099966cbac5a 100644
>> --- a/drivers/acpi/acpi_amba.c
>> +++ b/drivers/acpi/acpi_amba.c
>> @@ -22,7 +22,6 @@
>>   static const struct acpi_device_id amba_id_list[] = {
>>       {"ARMH0061", 0}, /* PL061 GPIO Device */
>>       {"ARMH0330", 0}, /* ARM DMA Controller DMA-330 */
>> -    {"ARMHC500", 0}, /* ARM CoreSight ETM4x */
>>       {"ARMHC501", 0}, /* ARM CoreSight ETR */
>>       {"ARMHC502", 0}, /* ARM CoreSight STM */
>>       {"ARMHC503", 0}, /* ARM CoreSight Debug */
>> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c 
>> b/drivers/hwtracing/coresight/coresight-etm4x-core.c
>> index 43f583987250..703b6fcbb6a5 100644
>> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
>> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
>> @@ -3,6 +3,7 @@
>>    * Copyright (c) 2014, The Linux Foundation. All rights reserved.
>>    */
>> +#include <linux/acpi.h>
>>   #include <linux/bitops.h>
>>   #include <linux/kernel.h>
>>   #include <linux/moduleparam.h>
>> @@ -2347,12 +2348,21 @@ static const struct of_device_id 
>> etm4_sysreg_match[] = {
>>       {}
>>   };
>> +#ifdef CONFIG_ACPI
>> +static const struct acpi_device_id etm4x_acpi_ids[] = {
>> +    {"ARMHC500", 0}, /* ARM CoreSight ETM4x */
>> +    {}
>> +};
>> +MODULE_DEVICE_TABLE(acpi, etm4x_acpi_ids);
>> +#endif
>> +
>>   static struct platform_driver etm4_platform_driver = {
>>       .probe        = etm4_probe_platform_dev,
>>       .remove        = etm4_remove_platform_dev,
>>       .driver            = {
>>           .name            = "coresight-etm4x",
>>           .of_match_table        = etm4_sysreg_match,
>> +        .acpi_match_table    = ACPI_PTR(etm4x_acpi_ids),
>>           .suppress_bind_attrs    = true,
>>           .pm            = &etm4_dev_pm_ops,
>>       },
>
Tanmay Jagdale July 21, 2023, 5:42 a.m. UTC | #3
Hi Rafael, Len, Suzuki,

> Rafael, Len
> 
> Ping (packets 6, lost 100%).
>

We have a Marvell SoC based on ARMv9 architecture with Coresight ETE.

Without this patchset, we get following error on our platform:
[    0.042733] acpi ARMHC500:00: amba_handler_attach(): amba_device_add() failed (-16)

This patchset fixes the issue and helps in successfully probing
the Coresight ETE device when booted with ACPI tables.

Tested-by: Tanmay Jagdale <tanmay@marvell.com>

With Regards,
Tanmay

> 
> On 10/07/2023 17:40, Suzuki K Poulose wrote:
> > Rafael, Len
> >
> > On 10/07/2023 07:25, Anshuman Khandual wrote:
> >> From: Suzuki K Poulose <suzuki.poulose@arm.com>
> >>
> >> Drop ETM4X ACPI ID from the AMBA ACPI device list, and instead just
> >> move it
> >> inside the new ACPI devices list detected and used via platform driver.
> >>
> >> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> >> Cc: Len Brown <lenb@kernel.org>
> >> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
> >> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
> >> Cc: Mike Leach <mike.leach@linaro.org>
> >> Cc: Leo Yan <leo.yan@linaro.org>
> >> Cc: Sudeep Holla <sudeep.holla@arm.com>
> >> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
> >> Cc: linux-acpi@vger.kernel.org
> >> Cc: coresight@lists.linaro.org
> >> Cc: linux-arm-kernel@lists.infradead.org
> >> Cc: linux-kernel@vger.kernel.org
> >> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> (for ACPI specific
> >> changes)
> >> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
> >> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> >
> > We would like to queue this via coresight tree. The acpi_amba bits have
> > been reviewed by Sudeep. Please could you give us an Ack, if you are
> > happy with the proposal ?
> >
> 
> Kind regards
> Suzuki
> 
> > Kind regards
> > Suzuki
> >
> >
> >> ---
> >>   drivers/acpi/acpi_amba.c                           |  1 -
> >>   drivers/hwtracing/coresight/coresight-etm4x-core.c | 10 ++++++++++
> >>   2 files changed, 10 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/acpi/acpi_amba.c b/drivers/acpi/acpi_amba.c
> >> index f5b443ab01c2..099966cbac5a 100644
> >> --- a/drivers/acpi/acpi_amba.c
> >> +++ b/drivers/acpi/acpi_amba.c
> >> @@ -22,7 +22,6 @@
> >>   static const struct acpi_device_id amba_id_list[] = {
> >>       {"ARMH0061", 0}, /* PL061 GPIO Device */
> >>       {"ARMH0330", 0}, /* ARM DMA Controller DMA-330 */
> >> -    {"ARMHC500", 0}, /* ARM CoreSight ETM4x */
> >>       {"ARMHC501", 0}, /* ARM CoreSight ETR */
> >>       {"ARMHC502", 0}, /* ARM CoreSight STM */
> >>       {"ARMHC503", 0}, /* ARM CoreSight Debug */
> >> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> >> b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> >> index 43f583987250..703b6fcbb6a5 100644
> >> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> >> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> >> @@ -3,6 +3,7 @@
> >>    * Copyright (c) 2014, The Linux Foundation. All rights reserved.
> >>    */
> >> +#include <linux/acpi.h>
> >>   #include <linux/bitops.h>
> >>   #include <linux/kernel.h>
> >>   #include <linux/moduleparam.h>
> >> @@ -2347,12 +2348,21 @@ static const struct of_device_id
> >> etm4_sysreg_match[] = {
> >>       {}
> >>   };
> >> +#ifdef CONFIG_ACPI
> >> +static const struct acpi_device_id etm4x_acpi_ids[] = {
> >> +    {"ARMHC500", 0}, /* ARM CoreSight ETM4x */
> >> +    {}
> >> +};
> >> +MODULE_DEVICE_TABLE(acpi, etm4x_acpi_ids);
> >> +#endif
> >> +
> >>   static struct platform_driver etm4_platform_driver = {
> >>       .probe        = etm4_probe_platform_dev,
> >>       .remove        = etm4_remove_platform_dev,
> >>       .driver            = {
> >>           .name            = "coresight-etm4x",
> >>           .of_match_table        = etm4_sysreg_match,
> >> +        .acpi_match_table    = ACPI_PTR(etm4x_acpi_ids),
> >>           .suppress_bind_attrs    = true,
> >>           .pm            = &etm4_dev_pm_ops,
> >>       },
> >
> 
> _______________________________________________
> CoreSight mailing list -- coresight@lists.linaro.org
> To unsubscribe send an email to coresight-leave@lists.linaro.org
diff mbox series

Patch

diff --git a/drivers/acpi/acpi_amba.c b/drivers/acpi/acpi_amba.c
index f5b443ab01c2..099966cbac5a 100644
--- a/drivers/acpi/acpi_amba.c
+++ b/drivers/acpi/acpi_amba.c
@@ -22,7 +22,6 @@ 
 static const struct acpi_device_id amba_id_list[] = {
 	{"ARMH0061", 0}, /* PL061 GPIO Device */
 	{"ARMH0330", 0}, /* ARM DMA Controller DMA-330 */
-	{"ARMHC500", 0}, /* ARM CoreSight ETM4x */
 	{"ARMHC501", 0}, /* ARM CoreSight ETR */
 	{"ARMHC502", 0}, /* ARM CoreSight STM */
 	{"ARMHC503", 0}, /* ARM CoreSight Debug */
diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
index 43f583987250..703b6fcbb6a5 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
@@ -3,6 +3,7 @@ 
  * Copyright (c) 2014, The Linux Foundation. All rights reserved.
  */
 
+#include <linux/acpi.h>
 #include <linux/bitops.h>
 #include <linux/kernel.h>
 #include <linux/moduleparam.h>
@@ -2347,12 +2348,21 @@  static const struct of_device_id etm4_sysreg_match[] = {
 	{}
 };
 
+#ifdef CONFIG_ACPI
+static const struct acpi_device_id etm4x_acpi_ids[] = {
+	{"ARMHC500", 0}, /* ARM CoreSight ETM4x */
+	{}
+};
+MODULE_DEVICE_TABLE(acpi, etm4x_acpi_ids);
+#endif
+
 static struct platform_driver etm4_platform_driver = {
 	.probe		= etm4_probe_platform_dev,
 	.remove		= etm4_remove_platform_dev,
 	.driver			= {
 		.name			= "coresight-etm4x",
 		.of_match_table		= etm4_sysreg_match,
+		.acpi_match_table	= ACPI_PTR(etm4x_acpi_ids),
 		.suppress_bind_attrs	= true,
 		.pm			= &etm4_dev_pm_ops,
 	},