mlxsw: spectrum_router: Introduce per-ASIC XM initialization
authorJiri Pirko <jiri@nvidia.com>
Mon, 14 Dec 2020 11:30:34 +0000 (13:30 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Dec 2020 03:09:54 +0000 (19:09 -0800)
commite0bc244dcf583e2de3ca9eef14410d43dca82350
tree35620df358c7ead4a67d8dfd09aeecd3715f634b
parentec54677e55bbdad8a5f485b9e3d3d92f7611ed84
mlxsw: spectrum_router: Introduce per-ASIC XM initialization

During the router init flow, call into XM code and initialize couple of
items needed for XM functionality:

1) Query the capabilities and sizes. Check the XM device id.
2) Initialize the M-value. Note that currently the M-value is set fixed
   to 16 for IPv4. In future this may change to better cover the actual
   inserted routes.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h
drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c