This patchset lays the groundwork for multi queue support in the alx driver and enables multi queue support for the tx path by default. The hardware supports up to 4 tx queues.
The rx path is a little bit harder because apparently (based on the limited information from the downstream driver) the hardware supports up to 8 rss queues but only has one hardware descriptor ring on the rx side. So the rx path will be part of another patchset. This work is based on the downstream driver at github.com/qca/alx I had a hard time splitting these changes up into reasonable parts because this is my first bigger kernel patchset, so please be patient if this is not the right approach. Tobias Regnery (9): alx: refactor descriptor allocation alx: extend data structures for multi queue support alx: add ability to allocate and free alx_napi structures alx: switch to per queue data structures alx: prepare interrupt functions for multiple queues alx: prepare resource allocation for multi queue support alx: prepare tx path for multi queue support alx: enable msi-x interrupts by default alx: enable multiple tx queues drivers/net/ethernet/atheros/alx/alx.h | 36 ++- drivers/net/ethernet/atheros/alx/main.c | 554 ++++++++++++++++++++++---------- 2 files changed, 420 insertions(+), 170 deletions(-) -- 2.7.4