mirror of https://gitee.com/openkylin/linux.git
mlxsw: Move "resources_query_enable" out of mlxsw_config_profile
As struct mlxsw_config_profile is mapped to the payload of the FW command of the same name, resources_query_enable flag does not belong there. Move it to struct mlxsw_driver. 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
110d2d2141
commit
ad3f20b286
|
@ -1008,6 +1008,7 @@ int mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info,
|
|||
const char *device_kind = mlxsw_bus_info->device_kind;
|
||||
struct mlxsw_core *mlxsw_core;
|
||||
struct mlxsw_driver *mlxsw_driver;
|
||||
struct mlxsw_res *res;
|
||||
size_t alloc_size;
|
||||
int err;
|
||||
|
||||
|
@ -1032,8 +1033,8 @@ int mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info,
|
|||
mlxsw_core->bus_priv = bus_priv;
|
||||
mlxsw_core->bus_info = mlxsw_bus_info;
|
||||
|
||||
err = mlxsw_bus->init(bus_priv, mlxsw_core, mlxsw_driver->profile,
|
||||
&mlxsw_core->res);
|
||||
res = mlxsw_driver->res_query_enabled ? &mlxsw_core->res : NULL;
|
||||
err = mlxsw_bus->init(bus_priv, mlxsw_core, mlxsw_driver->profile, res);
|
||||
if (err)
|
||||
goto err_bus_init;
|
||||
|
||||
|
|
|
@ -257,7 +257,6 @@ struct mlxsw_config_profile {
|
|||
u32 kvd_linear_size;
|
||||
u8 kvd_hash_single_parts;
|
||||
u8 kvd_hash_double_parts;
|
||||
u8 resource_query_enable;
|
||||
struct mlxsw_swid_config swid_config[MLXSW_CONFIG_PROFILE_SWID_COUNT];
|
||||
};
|
||||
|
||||
|
@ -314,6 +313,7 @@ struct mlxsw_driver {
|
|||
u64 *p_linear_size);
|
||||
u8 txhdr_len;
|
||||
const struct mlxsw_config_profile *profile;
|
||||
bool res_query_enabled;
|
||||
};
|
||||
|
||||
int mlxsw_core_kvd_sizes_get(struct mlxsw_core *mlxsw_core,
|
||||
|
|
|
@ -1015,16 +1015,14 @@ mlxsw_pci_config_profile_swid_config(struct mlxsw_pci *mlxsw_pci,
|
|||
}
|
||||
|
||||
static int mlxsw_pci_resources_query(struct mlxsw_pci *mlxsw_pci, char *mbox,
|
||||
struct mlxsw_res *res,
|
||||
u8 query_enabled)
|
||||
struct mlxsw_res *res)
|
||||
{
|
||||
int index, i;
|
||||
u64 data;
|
||||
u16 id;
|
||||
int err;
|
||||
|
||||
/* Not all the versions support resources query */
|
||||
if (!query_enabled)
|
||||
if (!res)
|
||||
return 0;
|
||||
|
||||
mlxsw_cmd_mbox_zero(mbox);
|
||||
|
@ -1376,8 +1374,7 @@ static int mlxsw_pci_init(void *bus_priv, struct mlxsw_core *mlxsw_core,
|
|||
if (err)
|
||||
goto err_boardinfo;
|
||||
|
||||
err = mlxsw_pci_resources_query(mlxsw_pci, mbox, res,
|
||||
profile->resource_query_enable);
|
||||
err = mlxsw_pci_resources_query(mlxsw_pci, mbox, res);
|
||||
if (err)
|
||||
goto err_query_resources;
|
||||
|
||||
|
|
|
@ -3803,7 +3803,6 @@ static const struct mlxsw_config_profile mlxsw_sp_config_profile = {
|
|||
.type = MLXSW_PORT_SWID_TYPE_ETH,
|
||||
}
|
||||
},
|
||||
.resource_query_enable = 1,
|
||||
};
|
||||
|
||||
static u64 mlxsw_sp_resource_kvd_linear_occ_get(struct devlink *devlink)
|
||||
|
@ -4002,6 +4001,7 @@ static struct mlxsw_driver mlxsw_sp_driver = {
|
|||
.kvd_sizes_get = mlxsw_sp_kvd_sizes_get,
|
||||
.txhdr_len = MLXSW_TXHDR_LEN,
|
||||
.profile = &mlxsw_sp_config_profile,
|
||||
.res_query_enabled = true,
|
||||
};
|
||||
|
||||
bool mlxsw_sp_port_dev_check(const struct net_device *dev)
|
||||
|
|
|
@ -510,7 +510,6 @@ static const struct mlxsw_config_profile mlxsw_sib_config_profile = {
|
|||
.type = MLXSW_PORT_SWID_TYPE_IB,
|
||||
}
|
||||
},
|
||||
.resource_query_enable = 0,
|
||||
};
|
||||
|
||||
static struct mlxsw_driver mlxsw_sib_driver = {
|
||||
|
|
|
@ -1706,7 +1706,6 @@ static const struct mlxsw_config_profile mlxsw_sx_config_profile = {
|
|||
.type = MLXSW_PORT_SWID_TYPE_IB,
|
||||
}
|
||||
},
|
||||
.resource_query_enable = 0,
|
||||
};
|
||||
|
||||
static struct mlxsw_driver mlxsw_sx_driver = {
|
||||
|
|
Loading…
Reference in New Issue