This patch series reorganizes the main datastructure for each queue, struct ionic_qcq. Its constituent struct ionic_queue and struct ionic_cq are stripped down first. Then the generic struct ionic_qcq is stripped down, and a unique struct is created for each queue type.
The adminq code is consolidated into ionic_main.c as part of the cleanup. Next comes some minor performance fixups related to queue posting and doorbells. Finally, a minor improvement to Tx packet prep and a minor fix for LIF init. Signed-off-by: Andrew Boyer <abo...@pensando.io> -- v2: * Resend for new DPDK release cycle * Insert a new patch "net/ionic: remove unused filter delete function" so that even more adminq code can be staticized * Update second-to-last patch which was partially applied in 21.02 Andrew Boyer (15): net/ionic: cut down completion queue structure net/ionic: remove unused filter delete function net/ionic: consolidate adminq code net/ionic: convert info array to generic pointers net/ionic: remove unused field from queue structure net/ionic: remove unused interrupt free function net/ionic: cut down queue structure net/ionic: split up queue-completion queue structure net/ionic: use the socket id passed in for Rx and Tx queues net/ionic: log queue counters when tearing down net/ionic: break up queue post function net/ionic: ring doorbell once at the end of each burst net/ionic: send as many packets as possible net/ionic: store Tx fragment limit in queue net/ionic: fix code around lif init devcmd drivers/net/ionic/ionic.h | 13 +- drivers/net/ionic/ionic_dev.c | 132 +------------- drivers/net/ionic/ionic_dev.h | 82 +++------ drivers/net/ionic/ionic_lif.c | 242 +++++++++++++------------ drivers/net/ionic/ionic_lif.h | 77 +++++--- drivers/net/ionic/ionic_main.c | 95 +++++++++- drivers/net/ionic/ionic_rx_filter.c | 15 +- drivers/net/ionic/ionic_rx_filter.h | 1 - drivers/net/ionic/ionic_rxtx.c | 265 ++++++++++++++++------------ 9 files changed, 458 insertions(+), 464 deletions(-) -- 2.17.1