Re: acpi: Remove ETM from AMBA scan list (was Re: [PATCH V6 6/6] coresight: etm4x: Add ACPI support in platform driver)

From: Steve Clevenger OS
Date: Tue Jul 25 2023 - 16:18:17 EST



Hi Rafael, Len,

On 7/24/2023 9:25 AM, Suzuki K Poulose wrote:
> Hi Rafael/Len
>
> On 19/07/2023 11:11, Suzuki K Poulose wrote:
>> 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@xxxxxxx>
>>>>
>>>> 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@xxxxxxxxxx>
>>>> Cc: Len Brown <lenb@xxxxxxxxxx>
>>>> Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
>>>> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
>>>> Cc: Mike Leach <mike.leach@xxxxxxxxxx>
>>>> Cc: Leo Yan <leo.yan@xxxxxxxxxx>
>>>> Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
>>>> Cc: Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>
>>>> Cc: linux-acpi@xxxxxxxxxxxxxxx
>>>> Cc: coresight@xxxxxxxxxxxxxxxx
>>>> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>>>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>>>> Reviewed-by: Sudeep Holla <sudeep.holla@xxxxxxx> (for ACPI specific
>>>> changes)
>>>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
>>>> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
>>>
>>> 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 ?
>>>
>
> Please could one of you respond to this patch ? We are blocked on your
> Ack for queuing this. There are machines out there, which rely on this
> patch to use Arm self-hosted tracing based on CoreSight.
>
> Kind regards
> Suzuki

Ampere Computing AmpereOne machines rely on this patch series to enable
System Register Access to the ETMv4. Ampere removed the ETM MMIO
descriptions from our CoreSight ACPI to use this.

Suzuki's e-mail requests for review/Ack of this patch thread date back
to May 30.

Thanks in advance,
Steve C.

>
>>
>> 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,
>>>>       },
>>>
>>
>