mbox series

[00/20] mlx5: refactor devargs management

Message ID 20220127153950.812953-1-michaelba@nvidia.com (mailing list archive)
Headers
Series mlx5: refactor devargs management |

Message

Michael Baum Jan. 27, 2022, 3:39 p.m. UTC
These patches rearrange the management of the devargs on two different
levels.

The first splits the net driver's devargs into two categories,
device-dependent devargs and port-dependent devargs.
Arguments that depend on the device are updated once in the creation of
the shared device context structure, and do not change even if the user
has sent new devargs in the probe again. In contrast, the arguments that
depend on the port are updated separately for each port.

The second layer deals with the parsing of devargs in the common driver.
The common driver once parses the devargs into a dictionary, then sends
it to all the drivers that will use it during the their probing. Each
driver updates within dictionary which keys it has used, then the common
driver checks the updated dictionary and reports about unknown devargs.

Michael Baum (20):
  net/mlx5: fix wrong check sibling device config mismatch
  net/mlx5: fix ineffective metadata argument adjustment
  net/mlx5: fix wrong place of ASO CT object release
  net/mlx5: fix inconsistency errno update in SH creation
  net/mlx5: remove declaration duplications
  net/mlx5: remove checking devargs duplication
  net/mlx5: remove HCA attr structure duplication
  net/mlx5: remove DevX flag duplication
  net/mlx5: remove Verbs query device duplication
  common/mlx5: share VF checking function
  net/mlx5: share realtime timestamp configure
  net/mlx5: share counter config function
  net/mlx5: add E-switch mode flag
  net/mlx5: rearrange device attribute structure
  net/mlx5: concentrate all device configurations
  net/mlx5: add share device context config structure
  net/mlx5: using function to detect operation by DevX
  net/mlx5: separate per port configuration
  common/mlx5: add check for common devargs in probing again
  common/mlx5: refactor devargs management

 drivers/common/mlx5/mlx5_common.c       | 345 +++++++--
 drivers/common/mlx5/mlx5_common.h       |  51 +-
 drivers/common/mlx5/mlx5_common_pci.c   |  18 +
 drivers/common/mlx5/version.map         |   3 +
 drivers/compress/mlx5/mlx5_compress.c   |  38 +-
 drivers/crypto/mlx5/mlx5_crypto.c       |  39 +-
 drivers/net/mlx5/linux/mlx5_flow_os.c   |   3 +-
 drivers/net/mlx5/linux/mlx5_os.c        | 885 +++++++++---------------
 drivers/net/mlx5/linux/mlx5_verbs.c     |   9 +-
 drivers/net/mlx5/linux/mlx5_vlan_os.c   |   3 +-
 drivers/net/mlx5/mlx5.c                 | 872 +++++++++++++++++------
 drivers/net/mlx5/mlx5.h                 | 216 +++---
 drivers/net/mlx5/mlx5_devx.c            |  19 +-
 drivers/net/mlx5/mlx5_ethdev.c          |  31 +-
 drivers/net/mlx5/mlx5_flow.c            |  50 +-
 drivers/net/mlx5/mlx5_flow.h            |   2 +-
 drivers/net/mlx5/mlx5_flow_dv.c         |  93 ++-
 drivers/net/mlx5/mlx5_flow_flex.c       |   4 +-
 drivers/net/mlx5/mlx5_flow_meter.c      |  14 +-
 drivers/net/mlx5/mlx5_rxmode.c          |   8 +-
 drivers/net/mlx5/mlx5_rxq.c             |  49 +-
 drivers/net/mlx5/mlx5_trigger.c         |  35 +-
 drivers/net/mlx5/mlx5_tx.c              |   2 +-
 drivers/net/mlx5/mlx5_txpp.c            |  14 +-
 drivers/net/mlx5/mlx5_txq.c             |  62 +-
 drivers/net/mlx5/mlx5_vlan.c            |   4 +-
 drivers/net/mlx5/windows/mlx5_flow_os.c |   2 +-
 drivers/net/mlx5/windows/mlx5_os.c      | 342 +++------
 drivers/regex/mlx5/mlx5_regex.c         |   3 +-
 drivers/vdpa/mlx5/mlx5_vdpa.c           |  32 +-
 30 files changed, 1841 insertions(+), 1407 deletions(-)