Re: [PATCH] ACPI/IORT: Fix PMCG node always look for a single ID mapping.
From: Lorenzo Pieralisi
Date: Tue May 12 2020 - 06:40:39 EST
On Mon, May 11, 2020 at 01:22:56PM -0700, Tuan Phan wrote:
> PMCG node can have zero ID mapping if its overflow interrupt
> is wire based. The code to parse PMCG node can not assume it will
> have a single ID mapping.
>
> Signed-off-by: Tuan Phan <tuanphan@xxxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/acpi/arm64/iort.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
> index ed3d2d1..72444e1 100644
> --- a/drivers/acpi/arm64/iort.c
> +++ b/drivers/acpi/arm64/iort.c
> @@ -441,7 +441,9 @@ static int iort_get_id_mapping_index(struct acpi_iort_node *node)
>
> return smmu->id_mapping_index;
> case ACPI_IORT_NODE_PMCG:
> - return 0;
> + if (node->mapping_count)
> + return 0;
Check struct acpi_iort_pmcg->overflow_gsiv to be coherent with SMMUv3
code.
Lorenzo
> + return -EINVAL;
> default:
> return -EINVAL;
> }
> --
> 2.7.4
>