HomeFreeBSD

Allwinner Gigabit EMAC performance improvements.

Description

Allwinner Gigabit EMAC performance improvements.

  • Support DEVICE_POLLING
  • Increase TX descriptors to 1024
  • Add support for passing a chain of mbufs to if_input, reducing the number of calls to mtx_unlock/mtx_lock under load.
  • Remove duplicate byteswap when setting TX_INT_CTL in TX descriptor.
  • Set undocumented "TX_NEXT_FRAME" bit in TX control 1 register. According to the A83T BSP, setting this bit allows the DMA engine to operate on a packet while receiving another.

Tested on A83T (1000Mbps PHY) and H3 (100Mbps PHY).

Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D7031

Details

Provenance
jmcneillAuthored on
Reviewer
manu
Differential Revision
D7031: if_awg: performance improvements
Parents
rS302785: H3/A83T: Use PLL_PERIPH/2 for AHB2 parent clock.
Branches
Unknown
Tags
Unknown