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

Suzuki K Poulose suzuki.poulose at arm.com
Tue Jun 27 02:06:11 PDT 2023


Hi Greg,

On 29/05/2023 07:25, Anshuman Khandual wrote:
> From: Suzuki K Poulose <suzuki.poulose at 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 at kernel.org>
> Cc: Len Brown <lenb at kernel.org>
> Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
> Cc: Suzuki K Poulose <suzuki.poulose at arm.com>
> Cc: Mike Leach <mike.leach at linaro.org>
> Cc: Leo Yan <leo.yan at linaro.org>
> Cc: Sudeep Holla <sudeep.holla at arm.com>
> Cc: Lorenzo Pieralisi <lpieralisi at kernel.org>
> Cc: linux-acpi at vger.kernel.org
> Cc: coresight at lists.linaro.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> Reviewed-by: Sudeep Holla <sudeep.holla at arm.com> (for ACPI specific changes)
> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual at 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,
>   	},




More information about the linux-arm-kernel mailing list