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, two minor fixes to Tx packet prep and LIF init. Signed-off-by: Andrew Boyer <abo...@pensando.io> Andrew Boyer (14): net/ionic: cut down completion queue structure 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: fix Tx fragment limit check 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 | 81 +++------ drivers/net/ionic/ionic_lif.c | 242 +++++++++++++------------ drivers/net/ionic/ionic_lif.h | 77 +++++--- drivers/net/ionic/ionic_main.c | 93 +++++++++- drivers/net/ionic/ionic_rx_filter.c | 1 + drivers/net/ionic/ionic_rxtx.c | 265 ++++++++++++++++------------ 8 files changed, 458 insertions(+), 446 deletions(-) -- 2.17.1