在 2023/9/7 9:18, Manivannan Sadhasivam 写道:
[...]
Why do you need to walk through every single device instead of just bridges?
I'm not the maintainer, but my suggestion is to go for Huacai Chen's solution.
Hi Mani,
Thanks for your reply, unfortunately Huacai's solution is impractical in
this case.
The problem we have, is firmware (or BIOS) setting improper MRRS for devices
attached under those bridges. So we have to fix up MRRS for every single
device.
We can't iterate child device in bridge quirk because there is no
guarantee that
bridge will be probed before it's child device, partly due to hotplug.
This quirk has been in tree for a while, until Huacai refactored it and
broke some
systems in 8b3517f88ff2 ("PCI: loongson: Prevent LS7A MRRS increases").
Also to note that ks_pcie_quirk in drivers/pci/controller/dwc/pci-keystone.c
uses similar approach.
This avoids iterating over bridges/devices two times.
Also, please rename firmware to BIOS, as firmware commonly represents the
software running on PCIe endpoint devices.
Ack, will fix in next reversion.
Thanks
- Jiaxun
- Mani
[...]