mbox series

[net-next,00/10] eth: fbnic: support basic RSS config and setting channel count

Message ID 20241220025241.1522781-1-kuba@kernel.org (mailing list archive)
Headers show
Series eth: fbnic: support basic RSS config and setting channel count | expand

Message

Jakub Kicinski Dec. 20, 2024, 2:52 a.m. UTC
Add support for basic RSS config (indirection table, key get and set),
and changing the number of channels.

  # ./ksft-net-drv/run_kselftest.sh -t drivers/net/hw:rss_ctx.py
  TAP version 13
  1..1
  # timeout set to 0
  # selftests: drivers/net/hw: rss_ctx.py
  # KTAP version 1
  # 1..15
  # ok 1 rss_ctx.test_rss_key_indir
  # ok 2 rss_ctx.test_rss_queue_reconfigure
  # ok 3 rss_ctx.test_rss_resize
  # ok 4 rss_ctx.test_hitless_key_update

  .. the rest of the tests are for additional contexts so they
  get skipped..

The slicing of the patches (and bugs) are mine, but I'm keeping
Alex as the author on the patches where he wrote 100% of the code.

Alexander Duyck (4):
  eth: fbnic: support querying RSS config
  eth: fbnic: support setting RSS configuration
  eth: fbnic: let user control the RSS hash fields
  eth: fbnic: centralize the queue count and NAPI<>queue setting

Jakub Kicinski (6):
  eth: fbnic: reorder ethtool code
  eth: fbnic: don't reset the secondary RSS indir table
  eth: fbnic: store NAPIs in an array instead of the list
  eth: fbnic: add IRQ reuse support
  eth: fbnic: support ring channel get and set while down
  eth: fbnic: support ring channel set while up

 drivers/net/ethernet/meta/fbnic/fbnic.h       |  15 +
 .../net/ethernet/meta/fbnic/fbnic_ethtool.c   | 551 +++++++++++++++---
 drivers/net/ethernet/meta/fbnic/fbnic_irq.c   |  53 ++
 .../net/ethernet/meta/fbnic/fbnic_netdev.c    |  12 +-
 .../net/ethernet/meta/fbnic/fbnic_netdev.h    |   7 +-
 drivers/net/ethernet/meta/fbnic/fbnic_pci.c   |   2 +-
 drivers/net/ethernet/meta/fbnic/fbnic_rpc.c   |   7 +-
 drivers/net/ethernet/meta/fbnic/fbnic_txrx.c  | 236 ++++----
 drivers/net/ethernet/meta/fbnic/fbnic_txrx.h  |  16 +-
 9 files changed, 699 insertions(+), 200 deletions(-)