CONFIG_PCI_64BIT_PREF_MEM is 0, so it's not clear to me why Linux is seeing the PCI_PREF_RANGE_TYPE_64 bit set in the configuration registers of those bridges.
Because it's a hardware property.
The error means a single bar needed 4GB or more of address space, btw. Sounds like something is wrong :-)
Perhaps the pref64 bit is set by default by the hardware; if so, is there a way to clear it in LinuxBIOS?
No. BARs are 64-bit or not, there's no way to change that. It doesn't matter however; if the top half of a 64-bit BAR is set to zeroes, it works fine on a 32-bit system.
Segher