mlxsw: Add ubridge to config profile
The unified bridge model is enabled via the CONFIG_PROFILE command during driver initialization. Add the definition of the relevant fields to the command's payload in preparation for unified bridge enablement. Signed-off-by: Amit Cohen <amcohen@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bf73904f5f
commit
e9cf8990fa
3 changed files with 20 additions and 0 deletions
|
|
@ -633,6 +633,12 @@ MLXSW_ITEM32(cmd_mbox, config_profile,
|
|||
*/
|
||||
MLXSW_ITEM32(cmd_mbox, config_profile, set_ar_sec, 0x0C, 15, 1);
|
||||
|
||||
/* cmd_mbox_config_set_ubridge
|
||||
* Capability bit. Setting a bit to 1 configures the profile
|
||||
* according to the mailbox contents.
|
||||
*/
|
||||
MLXSW_ITEM32(cmd_mbox, config_profile, set_ubridge, 0x0C, 22, 1);
|
||||
|
||||
/* cmd_mbox_config_set_kvd_linear_size
|
||||
* Capability bit. Setting a bit to 1 configures the profile
|
||||
* according to the mailbox contents.
|
||||
|
|
@ -792,6 +798,13 @@ MLXSW_ITEM32(cmd_mbox, config_profile, adaptive_routing_group_cap, 0x4C, 0, 16);
|
|||
*/
|
||||
MLXSW_ITEM32(cmd_mbox, config_profile, arn, 0x50, 31, 1);
|
||||
|
||||
/* cmd_mbox_config_profile_ubridge
|
||||
* Unified Bridge
|
||||
* 0 - non unified bridge
|
||||
* 1 - unified bridge
|
||||
*/
|
||||
MLXSW_ITEM32(cmd_mbox, config_profile, ubridge, 0x50, 4, 1);
|
||||
|
||||
/* cmd_mbox_config_kvd_linear_size
|
||||
* KVD Linear Size
|
||||
* Valid for Spectrum only
|
||||
|
|
|
|||
|
|
@ -295,6 +295,7 @@ struct mlxsw_config_profile {
|
|||
used_max_pkey:1,
|
||||
used_ar_sec:1,
|
||||
used_adaptive_routing_group_cap:1,
|
||||
used_ubridge:1,
|
||||
used_kvd_sizes:1;
|
||||
u8 max_vepa_channels;
|
||||
u16 max_mid;
|
||||
|
|
@ -314,6 +315,7 @@ struct mlxsw_config_profile {
|
|||
u8 ar_sec;
|
||||
u16 adaptive_routing_group_cap;
|
||||
u8 arn;
|
||||
u8 ubridge;
|
||||
u32 kvd_linear_size;
|
||||
u8 kvd_hash_single_parts;
|
||||
u8 kvd_hash_double_parts;
|
||||
|
|
|
|||
|
|
@ -1235,6 +1235,11 @@ static int mlxsw_pci_config_profile(struct mlxsw_pci *mlxsw_pci, char *mbox,
|
|||
mlxsw_cmd_mbox_config_profile_adaptive_routing_group_cap_set(
|
||||
mbox, profile->adaptive_routing_group_cap);
|
||||
}
|
||||
if (profile->used_ubridge) {
|
||||
mlxsw_cmd_mbox_config_profile_set_ubridge_set(mbox, 1);
|
||||
mlxsw_cmd_mbox_config_profile_ubridge_set(mbox,
|
||||
profile->ubridge);
|
||||
}
|
||||
if (profile->used_kvd_sizes && MLXSW_RES_VALID(res, KVD_SIZE)) {
|
||||
err = mlxsw_pci_profile_get_kvd_sizes(mlxsw_pci, profile, res);
|
||||
if (err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue