====== Supporting AR9003 and later NICs in FreeBSD ====== ===== Overview ===== AR9003 and later support requires some driver changes as well as a new HAL. This page will cover the needed steps. ===== Steps ===== ==== HAL ==== * New HAL code * Extend HAL API with new methods (the AR9003 and later descriptors contain data/len pointers for up to four fragments; it also supports descriptor 'checksum' support; there are likely other things needed.) ==== Driver ==== * PAPRD calibration support (double-check?) * MSI support (message-signaled interrupts, for PCIe) * Changes to TX/RX descriptor sizes - make it configurable at run-time? Or just compile-time? * Rate control changes to support 3-stream and up to MCS31 * TX/RX DMA changes ("EDMA") to support the new ring-based TX/RX FIFO * RX 'high' and 'low' priority changes ==== Net80211 ==== * Verify that 3-stream support (up to MCS31) is correctly functioning