ovpxa24xx: Work around defective OpenVox PCIe hardware / firmware design
The OpenVox A1610P/A1610E/A2410P/A2410E series cards all appear to share a design flaw, where wild DMA reads are occassionally emitted from the card. We suspect this design flaw is related to setup timing for the address bus inside the FPGA PCI controller not being met, as it seems temperature dependent and is largely, if not completely, eliminated by ensuring the upper 14 address bits of the PCI bus are never set and forcing the link speed to 2.5GT/s. As all wild DMA, even wild DMA read, is caught by the advanced PCIe controllers on high availability platforms (mostly OpenPOWER, such as Talos II / Blackbird), these cards will regularly drop offline due to the PCIe interface freezing and invoking the EEH handler. Since recovery from this state without a full reload of Asterisk and DAHDI, along with the driver module, is not guaranteed, the wild DMA presents a significant problem for high availability analog PBX servers. For now, work around the broken hardware by setting a DMA mask of 14 bits. Should OpenVox fix the problem in future hardware / firmware revisions, the DMA mask can be reset to the standard 32 bits for this type of PCI device.
Showing with 28 additions and 3 deletions
Please register or sign in to comment