On Wed, Sep 06, 2023 at 08:52:40PM +0100, Robin Murphy wrote:
On 2023-09-06 19:36, Antonio Terceiro wrote:
I'm pretty sure I saw reports of people using PCI GPUs on this machine, but I would need to confirm.
GPUs and any other PCIe devices will be fine, since they will use memory BARs - I/O space is pretty much deprecated in PCIe, and as mentioned some systems don't even support it at all. I found a datasheet for CMI8738, and they seem to be right at the other end of the scale as legacy PCI chips with *only* an I/O BAR (and so I guess your card includes a PCIe-PCI bridge as well), so are definitely going to be hitting paths that are less well-exercised on arm64 in general.
OK, that makes sense. So If I'm able to find a card that is genuinely PCIe¹, then it should work?
¹ this one has a connector that looks like a PCIe x1, but it's not really PCIe as the chipset was designed for legacy PCI?
What info would I need to gather from the machine in order to figure this out?
The first thing I'd try is rebuilding the kernel with CONFIG_INDIRECT_PIO disabled and see what difference that makes. I'm not too familiar with that area of the code, so the finer details of how to debug broken I/O space beyond that would be more of a linux-pci question.
Tried that, didn't help.