mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 16:46:45 +07:00
mlxsw: spectrum_acl: Push rehash dw struct into rehash sub-struct
More rehash related fields are going to come. Push "dw" into sub-struct that will accommodate the others as well. 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>
This commit is contained in:
parent
91cf8eceff
commit
f9b274ce01
@ -192,7 +192,9 @@ struct mlxsw_sp_acl_tcam_vregion {
|
||||
struct mlxsw_afk_key_info *key_info;
|
||||
struct mlxsw_sp_acl_tcam *tcam;
|
||||
struct mlxsw_sp_acl_tcam_vgroup *vgroup;
|
||||
struct delayed_work rehash_dw;
|
||||
struct {
|
||||
struct delayed_work dw;
|
||||
} rehash;
|
||||
struct mlxsw_sp *mlxsw_sp;
|
||||
bool failed_rollback; /* Indicates failed rollback during migration */
|
||||
unsigned int ref_count;
|
||||
@ -718,7 +720,7 @@ mlxsw_sp_acl_tcam_vregion_rehash_work_schedule(struct mlxsw_sp_acl_tcam_vregion
|
||||
|
||||
if (!interval)
|
||||
return;
|
||||
mlxsw_core_schedule_dw(&vregion->rehash_dw,
|
||||
mlxsw_core_schedule_dw(&vregion->rehash.dw,
|
||||
msecs_to_jiffies(interval));
|
||||
}
|
||||
|
||||
@ -730,7 +732,7 @@ static void mlxsw_sp_acl_tcam_vregion_rehash_work(struct work_struct *work)
|
||||
{
|
||||
struct mlxsw_sp_acl_tcam_vregion *vregion =
|
||||
container_of(work, struct mlxsw_sp_acl_tcam_vregion,
|
||||
rehash_dw.work);
|
||||
rehash.dw.work);
|
||||
|
||||
mlxsw_sp_acl_tcam_vregion_rehash(vregion->mlxsw_sp, vregion);
|
||||
mlxsw_sp_acl_tcam_vregion_rehash_work_schedule(vregion);
|
||||
@ -778,7 +780,7 @@ mlxsw_sp_acl_tcam_vregion_create(struct mlxsw_sp *mlxsw_sp,
|
||||
|
||||
if (vgroup->vregion_rehash_enabled && ops->region_rehash_hints_get) {
|
||||
/* Create the delayed work for vregion periodic rehash */
|
||||
INIT_DELAYED_WORK(&vregion->rehash_dw,
|
||||
INIT_DELAYED_WORK(&vregion->rehash.dw,
|
||||
mlxsw_sp_acl_tcam_vregion_rehash_work);
|
||||
mlxsw_sp_acl_tcam_vregion_rehash_work_schedule(vregion);
|
||||
mutex_lock(&tcam->lock);
|
||||
@ -809,7 +811,7 @@ mlxsw_sp_acl_tcam_vregion_destroy(struct mlxsw_sp *mlxsw_sp,
|
||||
mutex_lock(&tcam->lock);
|
||||
list_del(&vregion->tlist);
|
||||
mutex_unlock(&tcam->lock);
|
||||
cancel_delayed_work_sync(&vregion->rehash_dw);
|
||||
cancel_delayed_work_sync(&vregion->rehash.dw);
|
||||
}
|
||||
mlxsw_sp_acl_tcam_vgroup_vregion_detach(mlxsw_sp, vregion);
|
||||
if (vregion->region2)
|
||||
@ -847,9 +849,9 @@ int mlxsw_sp_acl_tcam_vregion_rehash_intrvl_set(struct mlxsw_sp *mlxsw_sp,
|
||||
mutex_lock(&tcam->lock);
|
||||
list_for_each_entry(vregion, &tcam->vregion_list, tlist) {
|
||||
if (val)
|
||||
mlxsw_core_schedule_dw(&vregion->rehash_dw, 0);
|
||||
mlxsw_core_schedule_dw(&vregion->rehash.dw, 0);
|
||||
else
|
||||
cancel_delayed_work_sync(&vregion->rehash_dw);
|
||||
cancel_delayed_work_sync(&vregion->rehash.dw);
|
||||
}
|
||||
mutex_unlock(&tcam->lock);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user