From 6f38d2e7b0599f9b61c04686eb9a7faf3264b8ec Mon Sep 17 00:00:00 2001 From: Andrew Gallatin Date: Wed, 15 Nov 2023 16:22:00 -0500 Subject: [PATCH] acpi: Add workaround for Altra I2C memory resource Submitted by: allanjude Sponsored by: Ampere Computing LLC Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D28741 --- sys/dev/acpica/acpi_resource.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/dev/acpica/acpi_resource.c b/sys/dev/acpica/acpi_resource.c index 373cc6da982..b845fd146f6 100644 --- a/sys/dev/acpica/acpi_resource.c +++ b/sys/dev/acpica/acpi_resource.c @@ -517,6 +517,13 @@ acpi_parse_resources(device_t dev, ACPI_HANDLE handle, acpi_MatchHid(handle, "ARMHD620") != ACPI_MATCHHID_NOMATCH) arc.ignore_producer_flag = true; + /* + * The DesignWare I2C Controller on Ampere Altra sets ResourceProducer on + * memory resources. + */ + if (acpi_MatchHid(handle, "APMC0D0F") != ACPI_MATCHHID_NOMATCH) + arc.ignore_producer_flag = true; + status = AcpiWalkResources(handle, "_CRS", acpi_parse_resource, &arc); if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { printf("can't fetch resources for %s - %s\n",