On Thu, Dec 16, 2021 at 12:44 PM Xi Ruoyao <xry111@xxxxxxxxxxxxxxxx> wrote: > > On Sat, 2021-09-25 at 22:32 +0200, Sergio Paracuellos wrote: > > To make PCI IO work we need to properly virtually map IO cpu physical address > > and set this virtual address as the address of the first PCI IO port which > > is set using function 'set_io_port_base()'. > > > > Acked-by: Arnd Bergmann <arnd@xxxxxxxx> > > Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx> > > Hi, > > the change is causing a WARNING on loongson64g-4core-ls7a: > > [ 0.105781] loongson-pci 1a000000.pci: IO 0x0018020000..0x001803ffff -> > 0x0000020000 > [ 0.105792] loongson-pci 1a000000.pci: MEM 0x0040000000..0x007fffffff -> > 0x0040000000 > [ 0.105801] ------------[ cut here ]------------ > [ 0.105804] WARNING: CPU: 0 PID: 1 at arch/mips/pci/pci-generic.c:55 pci_remap_iospace+0x80/0x88 > [ 0.105815] resource start address is not zero > > I'm not sure how to fix this one. It looks like this machine has two I/O spaces, one for ISA at 0x18000000/0x00000 and one for PCI at 0x18020000/0x20000, but the implementation assumes there is only one. If you want to use pci_remap_iospace() on this platform, it needs to be extended to allow more than one such space. Arnd