mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2
authorJiri Pirko <jiri@mellanox.com>
Wed, 18 Jul 2018 08:14:31 +0000 (11:14 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Jul 2018 17:13:13 +0000 (02:13 +0900)
commit742f75a600cab552482f1b17449ba528584f65de
tree816a306b6d9689de084894756c5bf7df3a437105
parentc33d0cb1922e2914de91a293f3aa253e9f9aa585
mlxsw: spectrum: Add KVDL manager implementation for Spectrum-2

In Spectrum-2, KVD linear indexes are hashed into KVD hash. Therefore it
is possible for multiple resource types to use same indexes. There are
multiple index spaces. Also, the index space is bigger than the actual
KVD hash area, which allows to have holes in the index space without any
penalization. The HW has to be told in case the index for particular
resource type is no longer used so it can be freed from KVD hash. IEDR
register is used for that.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/Makefile
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
drivers/net/ethernet/mellanox/mlxsw/spectrum2_kvdl.c [new file with mode: 0644]