]> git.baikalelectronics.ru Git - kernel.git/commit
ionic: support longer tx sg lists
authorShannon Nelson <snelson@pensando.io>
Tue, 12 May 2020 00:59:27 +0000 (17:59 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 May 2020 19:19:30 +0000 (12:19 -0700)
commit116c726777b3f6f01416d28404ec50d9e965ace8
treeabe26559e104c6e1157f3954540fc70b7ba7da5b
parentab29a4c2567db2516adef004a5b1dc96ca60a4a2
ionic: support longer tx sg lists

The version 1 Tx queues can use longer SG lists than the
original version 0 queues, but we need to check to see if the
firmware supports the v1 Tx queues.  This implements the queue
type query for all queue types, and uses the information to
set up for using the longer Tx SG lists.

Because the Tx SG list can be longer, we need to limit the
max ring length to be sure we stay inside the boundaries of a
DMA allocation max size, so we lower the max Tx ring size.

The driver sets its highest known version in the Q_IDENTITY
command, and the FW returns the highest version that it knows,
bounded by the driver's version.  The negotiated version number
is later used in the Q_INIT commands.

Signed-off-by: Shannon Nelson <snelson@pensando.io>
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_ethtool.c
drivers/net/ethernet/pensando/ionic/ionic_if.h
drivers/net/ethernet/pensando/ionic/ionic_lif.c
drivers/net/ethernet/pensando/ionic/ionic_lif.h
drivers/net/ethernet/pensando/ionic/ionic_main.c
drivers/net/ethernet/pensando/ionic/ionic_txrx.c