Re: [PATCH v4 3/3] irqchip/gic-v3: Enable non-coherent redistributors/ITSes ACPI probing

From: Marc Zyngier
Date: Mon Jan 22 2024 - 13:58:01 EST


On Mon, 22 Jan 2024 16:18:04 +0000,
Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx> wrote:
>
> On Wed, Dec 27, 2023 at 12:00:38PM +0100, Lorenzo Pieralisi wrote:
>
> [...]
>
> > @@ -2380,6 +2385,10 @@ gic_acpi_parse_madt_gicc(union acpi_subtable_headers *header,
> > return -ENOMEM;
> > gic_request_region(gicc->gicr_base_address, size, "GICR");
> >
> > + if (gic_acpi_non_coherent_flag(gicc->flags,
> > + ACPI_MADT_GICC_NON_COHERENT))
> > + gic_data.rdists.flags |= RDIST_FLAGS_FORCE_NON_SHAREABLE;
> > +
>
> Quick question before reposting it. We run this function for
> every GICC entry, I didn't add a check to make sure all GICC
> entries have the same flag value, please let me know if that's
> OK.
>
> I don't think there is a point in keeping a live variable across
> calls to set the flag once for all either.

I don't think that's useful. Once we see the flag being set, we'll
enforce the non-coherency. If it wasn't set before, it's because it
wasn't necessary.

If one day we find a firmware that only randomly exposes the flag,
we'll treat it as a quirk.

Thanks,

M.

--
Without deviation from the norm, progress is not possible.