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

Message ID 20230529062511.52016-7-anshuman.khandual@arm.com
State New
Headers
Series coresight: etm4x: Migrate ACPI AMBA devices to platform driver |

Commit Message

Anshuman Khandual May 29, 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 May 30, 2023, 9:57 a.m. UTC | #1
Hi Rafael

On 29/05/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>
> ---
>   drivers/acpi/acpi_amba.c                           |  1 -

We would like to push this via the coresight tree. Please could you Ack 
this change if you are happy with the proposal and the change ?

Suzuki


>   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 e10f6676dd9b..fd6f9dff5881 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>
> @@ -2344,12 +2345,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 June 6, 2023, 9:36 a.m. UTC | #2
Hi Rafael,

Gentle ping.

On 30/05/2023 10:57, Suzuki K Poulose wrote:
> Hi Rafael
> 
> On 29/05/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>
>> ---
>>   drivers/acpi/acpi_amba.c                           |  1 -
> 
> We would like to push this via the coresight tree. Please could you Ack 
> this change if you are happy with the proposal and the change ?
> 


Suzuki


> Suzuki
> 
> 
>>   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 e10f6676dd9b..fd6f9dff5881 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>
>> @@ -2344,12 +2345,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 June 14, 2023, 12:52 p.m. UTC | #3
On 06/06/2023 10:36, Suzuki K Poulose wrote:
> Hi Rafael,
> 
> Gentle ping.

Gentle ping..

> 
> On 30/05/2023 10:57, Suzuki K Poulose wrote:
>> Hi Rafael
>>
>> On 29/05/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>
>>> ---
>>>   drivers/acpi/acpi_amba.c                           |  1 -
>>
>> We would like to push this via the coresight tree. Please could you 
>> Ack this change if you are happy with the proposal and the change ?
>>
> 
> 
> Suzuki
> 

Suzuki


> 
>> Suzuki
>>
>>
>>>   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 e10f6676dd9b..fd6f9dff5881 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>
>>> @@ -2344,12 +2345,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 June 21, 2023, 5:54 p.m. UTC | #4
On 14/06/2023 14:52, Suzuki K Poulose wrote:
> On 06/06/2023 10:36, Suzuki K Poulose wrote:
>> Hi Rafael,
>>
>> Gentle ping.
> 
> Gentle ping..
> 

Gentle reminder, Rafael.

Suzuki

>>
>> On 30/05/2023 10:57, Suzuki K Poulose wrote:
>>> Hi Rafael
>>>
>>> On 29/05/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>
>>>> ---
>>>>   drivers/acpi/acpi_amba.c                           |  1 -
>>>
>>> We would like to push this via the coresight tree. Please could you 
>>> Ack this change if you are happy with the proposal and the change ?
>>>
>>
>>
>> Suzuki
>>
> 
> Suzuki
> 
> 
>>
>>> Suzuki
>>>
>>>
>>>>   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 e10f6676dd9b..fd6f9dff5881 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>
>>>> @@ -2344,12 +2345,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 June 27, 2023, 9:06 a.m. UTC | #5
Hi Greg,

On 29/05/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>
> ---
>   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 */

This is a bit awkward request.

I would like to get your opinion on merging this to coresight tree.
This change is removing the coresight ETMv4 from the ACPI AMBA
scan list and moving it to the coresight driver. This change is
essential for
1) Adding ACPI support for later versions of ETMv4 that are not AMBA
    devices.
2) Adding power management support for AMBA ETMv4 with ACPI.

The above change has been reviewed by Sudeep (Arm64 ACPI reviewer), but
hasn't been Acked by the ACPI maintainer (Rafael) even after a month of
follow up with at least 4 reminders [0].

Are you happy with the Reviews from Sudeep and given the minimal
change to the drivers/acpi/acpi_amba.c file ?

Kind regards
Suzuki

[0] https://lkml.kernel.org/r/0327c5b6-9b6b-460a-dc7e-3a891485a9bd@arm.com


> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> index e10f6676dd9b..fd6f9dff5881 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>
> @@ -2344,12 +2345,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,
>   	},
  
Greg KH June 27, 2023, 9:20 a.m. UTC | #6
On Tue, Jun 27, 2023 at 10:06:11AM +0100, Suzuki K Poulose wrote:
> Hi Greg,
> 
> On 29/05/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>
> > ---
> >   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 */
> 
> This is a bit awkward request.
> 
> I would like to get your opinion on merging this to coresight tree.
> This change is removing the coresight ETMv4 from the ACPI AMBA
> scan list and moving it to the coresight driver. This change is
> essential for
> 1) Adding ACPI support for later versions of ETMv4 that are not AMBA
>    devices.
> 2) Adding power management support for AMBA ETMv4 with ACPI.
> 
> The above change has been reviewed by Sudeep (Arm64 ACPI reviewer), but
> hasn't been Acked by the ACPI maintainer (Rafael) even after a month of
> follow up with at least 4 reminders [0].
> 
> Are you happy with the Reviews from Sudeep and given the minimal
> change to the drivers/acpi/acpi_amba.c file ?

As we can't do anything now with the merge window open, please resend
after 6.5-rc1 is out and ask for the ACPI developers to ack this.

thanks,

greg k-h
  
Suzuki K Poulose June 27, 2023, 9:42 a.m. UTC | #7
On 27/06/2023 10:20, Greg Kroah-Hartman wrote:
> On Tue, Jun 27, 2023 at 10:06:11AM +0100, Suzuki K Poulose wrote:
>> Hi Greg,
>>
>> On 29/05/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>
>>> ---
>>>    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 */
>>
>> This is a bit awkward request.
>>
>> I would like to get your opinion on merging this to coresight tree.
>> This change is removing the coresight ETMv4 from the ACPI AMBA
>> scan list and moving it to the coresight driver. This change is
>> essential for
>> 1) Adding ACPI support for later versions of ETMv4 that are not AMBA
>>     devices.
>> 2) Adding power management support for AMBA ETMv4 with ACPI.
>>
>> The above change has been reviewed by Sudeep (Arm64 ACPI reviewer), but
>> hasn't been Acked by the ACPI maintainer (Rafael) even after a month of
>> follow up with at least 4 reminders [0].
>>
>> Are you happy with the Reviews from Sudeep and given the minimal
>> change to the drivers/acpi/acpi_amba.c file ?
> 
> As we can't do anything now with the merge window open, please resend
> after 6.5-rc1 is out and ask for the ACPI developers to ack this.

Sure, will do that.

Thanks
Greg
  

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 e10f6676dd9b..fd6f9dff5881 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>
@@ -2344,12 +2345,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,
 	},