scenario:
A multifunction device behind a bridge (with fast back-to-back transfers
enabled) behind a TI PCIe-PCI bridge.
One of the functions performs dma while a transaction occurs on the second
device (function).
At that point the TI bridge corrupts the data (or sends some other crazy
packets). TI is aware of the issue and they have suggested to disable fast
back-to-back on the bus segment.
How can we set the command register on a PCI-PCI bridge in order to disable
fast b2b if we are not even the driver (i.e. microsoft machine.inf is
associated with the bridge)? Are there any
HKEY\CurrentControlSet\Services\Pci\Parameter hack flags we can use/set that
would do the trick (are those even documented?)?
Say we were able to add ourselves to the bridge’s device stack (i.e. usning
some sort of class filter driver on the System Class) in order to perform the
necessary configuration writes to the bridge’s command register; is their any
guarantee that those writes would persist? i.e. Would Microsoft’s pci.sys
driver simply write back the control register, undoing our change?
Any help is appreciated. Thank you!
