mlxsw: spectrum_fid: Split a helper out of mlxsw_sp_fid_flood_table_mid()
In future patches, for CFF flood mode support, we will need a way to determine a PGT base dynamically, as an op. Therefore, for symmetry, split out a helper, mlxsw_sp_fid_pgt_base_ctl(), that determines a PGT base in the controlled mode as well. Now that the helper is available, use it in mlxsw_sp_fid_flood_table_init() which currently invokes the FID->MID helper to that end. Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Amit Cohen <amcohen@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Link: https://lore.kernel.org/r/fd41c66a1df4df6499d3da34f40e7b9efa15bc3e.1701183892.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
ab68bd743a
commit
82ff7a196d
@ -329,14 +329,21 @@ mlxsw_sp_fid_family_pgt_size(const struct mlxsw_sp_fid_family *fid_family)
|
||||
}
|
||||
|
||||
static u16
|
||||
mlxsw_sp_fid_flood_table_mid(const struct mlxsw_sp_fid_family *fid_family,
|
||||
const struct mlxsw_sp_flood_table *flood_table,
|
||||
u16 fid_offset)
|
||||
mlxsw_sp_fid_pgt_base_ctl(const struct mlxsw_sp_fid_family *fid_family,
|
||||
const struct mlxsw_sp_flood_table *flood_table)
|
||||
{
|
||||
u16 num_fids;
|
||||
|
||||
num_fids = mlxsw_sp_fid_family_num_fids(fid_family);
|
||||
return fid_family->pgt_base + num_fids * flood_table->table_index +
|
||||
return fid_family->pgt_base + num_fids * flood_table->table_index;
|
||||
}
|
||||
|
||||
static u16
|
||||
mlxsw_sp_fid_flood_table_mid(const struct mlxsw_sp_fid_family *fid_family,
|
||||
const struct mlxsw_sp_flood_table *flood_table,
|
||||
u16 fid_offset)
|
||||
{
|
||||
return mlxsw_sp_fid_pgt_base_ctl(fid_family, flood_table) +
|
||||
fid_offset;
|
||||
}
|
||||
|
||||
@ -1671,7 +1678,7 @@ mlxsw_sp_fid_flood_table_init(struct mlxsw_sp_fid_family *fid_family,
|
||||
u16 mid_base;
|
||||
int err, i;
|
||||
|
||||
mid_base = mlxsw_sp_fid_flood_table_mid(fid_family, flood_table, 0);
|
||||
mid_base = mlxsw_sp_fid_pgt_base_ctl(fid_family, flood_table);
|
||||
|
||||
sfgc_packet_types = mlxsw_sp_packet_type_sfgc_types[packet_type];
|
||||
for (i = 0; i < MLXSW_REG_SFGC_TYPE_MAX; i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user