Re: [PATCH] arm: Enlarge IO_SPACE_LIMIT needed for some SoC

From: Ard Biesheuvel
Date: Tue May 11 2021 - 00:26:43 EST

On Tue, 11 May 2021 at 04:32, Ansuel Smith <ansuelsmth@xxxxxxxxx> wrote:
> On Tue, May 11, 2021 at 03:24:29AM +0100, Matthew Wilcox wrote:
> > On Tue, May 11, 2021 at 04:16:54AM +0200, Ansuel Smith wrote:
> > > Ipq8064 SoC requires larger IO_SPACE_LIMIT on second and third pci port.
> >
> > Do you really? I mean, yes, theoretically, I understand it, the
> > hardware supports 64kB of I/O port space per root port. But I/O
> > port space is rather deprecated these days. My laptop has precisely
> > two devices with I/O ports, one with 64 bytes and the other with 32
> > bytes. Would you really suffer by allocating 16kB of I/O port
> > space to each root port?
> We were talking about this in the other wrong patch. I also think this
> much space looks wrong. The current ipq806x dts have this space so it's
> actually broken from a long time. The only reason pci worked before was
> because the pci driver didn't actually check if the settings were right.
> New kernel introduced more checks and this problem showed up. (to be
> more precise, the pci port are commonly used by the ath10k wifi and the
> second ath10k wifi fails to init because of this problem)
> If you can give me any hint on how to check if the space can be reduced
> I would be very happy to investigate it.
> In the driver I notice that the max buffer is set to 2k, could be this a
> hint?

Could you share the output of lspci -vv from such a system?

I agree with Matthew that fiddling with the size of the I/O space
range probably papers over another problem, and with the odd
exception, no PCIe card used on ARM systems actually uses their I/O
BARs, even when they have them. (I used to carry a PCIe serial port
card to UEFI plugfests because that was the only thing that would stop
working if a system configured its I/O resource window incorrectly)