ionic: use specialized desc info structs
authorShannon Nelson <shannon.nelson@amd.com>
Wed, 6 Mar 2024 23:29:51 +0000 (15:29 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Mar 2024 11:54:34 +0000 (11:54 +0000)
commit4dcd4575bfb17d0f6e3d53e2f217a0414518a20c
tree3d8b5153916b47fd81b9ba8b71b665abc027c50d
parent65e548f6b0ffc4222a99feda8a033a2a9fb9f3e7
ionic: use specialized desc info structs

Make desc_info structure specific to the queue type, which
allows us to cut down the Rx and AdminQ descriptor sizes by
not including all the fields needed for the Tx desriptors.

Before:
    struct ionic_desc_info {
/* size: 464, cachelines: 8, members: 6 */

After:
    struct ionic_tx_desc_info {
/* size: 464, cachelines: 8, members: 6 */
    struct ionic_rx_desc_info {
/* size: 224, cachelines: 4, members: 2 */
    struct ionic_admin_desc_info {
/* size: 8, cachelines: 1, members: 1 */

Suggested-by: Neel Patel <npatel2@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_dev.c
drivers/net/ethernet/pensando/ionic/ionic_dev.h
drivers/net/ethernet/pensando/ionic/ionic_lif.c
drivers/net/ethernet/pensando/ionic/ionic_main.c
drivers/net/ethernet/pensando/ionic/ionic_txrx.c