Re: [PATCH] arm64: PCI: Enable SMC conduit
From: Will Deacon <will@kernel.org>
Date: 2021-01-07 18:15:15
Also in:
linux-pci, lkml
On Mon, Jan 04, 2021 at 10:57:35PM -0600, Jeremy Linton wrote:
Given that most arm64 platform's PCI implementations needs quirks to deal with problematic config accesses, this is a good place to apply a firmware abstraction. The ARM PCI SMMCCC spec details a standard SMC conduit designed to provide a simple PCI config accessor. This specification enhances the existing ACPI/PCI abstraction and expects power, config, etc functionality is handled by the platform. It also is very explicit that the resulting config space registers must behave as is specified by the pci specification. Lets hook the normal ACPI/PCI config path, and when we detect missing MADT data, attempt to probe the SMC conduit. If the conduit exists and responds for the requested segment number (provided by the ACPI namespace) attach a custom pci_ecam_ops which redirects all config read/write requests to the firmware. This patch is based on the Arm PCI Config space access document @ https://developer.arm.com/documentation/den0115/latest
Why does firmware need to be involved with this at all? Can't we just quirk Linux when these broken designs show up in production? We'll need to modify Linux _anyway_ when the firmware interface isn't implemented correctly... Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel