• Raptor Engineering Development Team's avatar
    ovpxa24xx: Work around defective OpenVox PCIe hardware / firmware design · 8fa12149
    Raptor Engineering Development Team authored
    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.
    8fa12149
base.c 86.6 KB