Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27eedbf5 authored by Russell King's avatar Russell King Committed by Dan Williams
Browse files

iop: when scanning PCI bus, translate the PCI addresses according to the outbound window settings



... otherwise we end up trying to access peripherals using wrong PCI
addresses.

Cc: Lennert Buytenhek <kernel@wantstofly.org>
Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent c3a1c9c7
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -209,8 +209,11 @@ int iop3xx_pci_setup(int nr, struct pci_sys_data *sys)
	res[1].flags = IORESOURCE_MEM;
	res[1].flags = IORESOURCE_MEM;
	request_resource(&iomem_resource, &res[1]);
	request_resource(&iomem_resource, &res[1]);


	sys->mem_offset = IOP3XX_PCI_LOWER_MEM_PA - IOP3XX_PCI_LOWER_MEM_BA;
	/*
	sys->io_offset  = IOP3XX_PCI_LOWER_IO_PA - IOP3XX_PCI_LOWER_IO_BA;
	 * Use whatever translation is already setup.
	 */
	sys->mem_offset = IOP3XX_PCI_LOWER_MEM_PA - *IOP3XX_OMWTVR0;
	sys->io_offset  = IOP3XX_PCI_LOWER_IO_PA - *IOP3XX_OIOWTVR;


	sys->resource[0] = &res[0];
	sys->resource[0] = &res[0];
	sys->resource[1] = &res[1];
	sys->resource[1] = &res[1];