Re: [PATCH v2 1/1] MIPS: Malta: Use pcibios_align_resource() to block io range
From: Guenter Roeck
Date: Fri Oct 17 2025 - 20:33:58 EST
On 10/17/25 15:12, Bjorn Helgaas wrote:
On Fri, Oct 17, 2025 at 02:09:03PM +0300, Ilpo Järvinen wrote:
According to Maciej W. Rozycki <macro@xxxxxxxxxxx>, the
mips_pcibios_init() for malta adjusts root bus IO resource start
address to prevent interfering with PIIX4 I/O cycle decoding. Adjusting
lower bound leaves PIIX4 IO resources outside of the root bus resource
and assign_fixed_resource_on_bus() does not link the resources into the
resource tree.
Prior to commit ae81aad5c2e1 ("MIPS: PCI: Use pci_enable_resources()")
the arch specific pcibios_enable_resources() did not check if the
resources were assigned which diverges from what PCI core checks,
effectively hiding the PIIX4 IO resources were not properly within the
resource tree. After starting to use pcibios_enable_resources() from
PCI core, enabling PIIX4 fails:
ata_piix 0000:00:0a.1: BAR 0 [io 0x01f0-0x01f7]: not claimed; can't enable device
ata_piix 0000:00:0a.1: probe with driver ata_piix failed with error -22
MIPS PCI code already has support for enforcing lower bounds using
PCIBIOS_MIN_IO in pcibios_align_resource() without altering the IO
window start address itself. Make malta PCI code too to use
PCIBIOS_MIN_IO.
Fixes: ae81aad5c2e1 ("MIPS: PCI: Use pci_enable_resources()")
Fixes: aa0980b80908 ("Fixes for system controllers for Atlas/Malta core cards.")
Link: https://lore.kernel.org/linux-pci/9085ab12-1559-4462-9b18-f03dcb9a4088@xxxxxxxxxxxx/
Link: https://lore.kernel.org/linux-pci/alpine.DEB.2.21.2510132229120.39634@xxxxxxxxxxxxxxxxx/
Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Suggested-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Since ae81aad5c2e1 ("MIPS: PCI: Use pci_enable_resources()") came
through the PCI tree, I'd be happy to merge this as well, given your
ack, Thomas. It would be ideal to have a tested-by from Guenter.
I'll run it through my testbed tonight.
Guenter