Subject: [PATCH v2 0/2] ACPI/IORT: rework num_ids off-by-one quirk

From: Ard Biesheuvel <[email-masked]>
Date: Fri, 1 May 2020 18:10:12 +0200

Replace the ACPI OEM ID matching based IORT quirk for the ID region size
ambiguity with runtime handling of this condition.

This is based on the observation that we only care about this when it
causes ambiguity regarding the output reference, which means that we
will have more than one match for the input ID. In this case, we can
just disregard the one at the end of a multi-ID region: if we hit it
first, we record it tentatively but allow a subsequent match to
supersede it. If we hit the correct match first, there is nothing we
need to do.

Changes since v1:
- print FW_BUG error to the kernel log when a duplicate match is found
- ignore duplicate matches unless they occur at the start of a region
  (for compatibility with broken systems that might exist that happen to
  work today because the first match is always chosen)

Cc: Hanjun Guo <[email-masked]>
Cc: Lorenzo Pieralisi <[email-masked]>
Cc: Pankaj Bansal <[email-masked]>
Cc: Will Deacon <[email-masked]>
Cc: Sudeep Holla <[email-masked]>
Cc: Catalin Marinas <[email-masked]>
Cc: Robin Murphy <[email-masked]>

Ard Biesheuvel (2):
  Revert "ACPI/IORT: Fix 'Number of IDs' handling in iort_id_map()"
  ACPI/IORT: work around num_ids ambiguity

 drivers/acpi/arm64/iort.c | 95 ++++++++------------
 1 file changed, 35 insertions(+), 60 deletions(-)

-- 
2.17.1

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel