Thread (5 messages) flat view 5 messages, 3 authors, 2021-06-03

Re: Arm64 double PCI ECAM reservations in acpi_resource_consumer()

From: Qian Cai <hidden>
Date: 2021-06-03 15:47:01
Also in: linux-pci


On 6/3/2021 10:16 AM, Lorenzo Pieralisi wrote:
This is not the "reservation". AFAICS acpi_resource_consumer() checks
whether the ECAM region is part of _a_ given ACPI device _CRS in the
namespace, it does not "reserve" anything.

IIUC the issue here is that we request the ECAM region in
pci_ecam_create() and later the code in:
Okay, I was confused by the code. I thought once acpi_resource_consumer() returned something, it is "reserved".

	adev = acpi_resource_consumer(&cfgres);
	if (adev)
		dev_info(dev, "ECAM area %pR reserved by %s\n", &cfgres,
			 dev_name(&adev->dev));
	else
		dev_warn(dev, FW_BUG "ECAM area %pR not reserved in ACPI namespace\n",
			 &cfgres);
drivers/pnp/system.c

tries to request the ECAM region (that lives in the PNP0C02 _CRS) and
fails (see reserve_range() and request_mem_region()).

As the comment in reserve_range() goes, this is harmless, not sure
whether there is anything to do about it.
Actually, the comment said it is "usually harmless", so it is a tricky for an average Joe to figure out if one case falls into the "usual" bracket or not at the first place.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help