qcacld-3.0: Store the nss, chain config in vdev priv obj

Store the ini and dynamic configurations in the
respective vdev's mlme priv obj.

Change-Id: Ib7a90937799a188dd729c91e7ee248d3287951c5
CRs-Fixed: 2349201
This commit is contained in:
gaurank kathpalia
2018-11-12 21:48:06 +05:30
committato da nshrivas
parent 24ed0f4056
commit 991e2fa092
2 ha cambiato i file con 83 aggiunte e 0 eliminazioni

Vedi File

@@ -82,8 +82,12 @@ struct mlme_legacy_priv {
/**
* struct vdev_mlme_obj - VDEV MLME component object
* @dynamic_cfg: current configuration of nss, chains for vdev.
* @ini_cfg: Max configuration of nss, chains supported for vdev.
*/
struct vdev_mlme_priv_obj {
struct wlan_mlme_nss_chains dynamic_cfg;
struct wlan_mlme_nss_chains ini_cfg;
};
/**
@@ -115,6 +119,24 @@ mlme_vdev_object_destroyed_notification(struct wlan_objmgr_vdev *vdev,
#endif
/**
* mlme_get_dynamic_vdev_config() - get the vdev dynamic config params
* @vdev: vdev pointer
*
* Return: pointer to the dynamic vdev config structure
*/
struct wlan_mlme_nss_chains *mlme_get_dynamic_vdev_config(
struct wlan_objmgr_vdev *vdev);
/**
* mlme_get_ini_vdev_config() - get the vdev ini config params
* @vdev: vdev pointer
*
* Return: pointer to the ini vdev config structure
*/
struct wlan_mlme_nss_chains *mlme_get_ini_vdev_config(
struct wlan_objmgr_vdev *vdev);
/**
* mlme_psoc_object_created_notification(): mlme psoc create handler
* @psoc: psoc which is going to created by objmgr

Vedi File

@@ -40,6 +40,39 @@ struct wlan_mlme_psoc_obj *mlme_get_psoc_obj(struct wlan_objmgr_psoc *psoc)
}
#ifdef CONFIG_VDEV_SM
struct wlan_mlme_nss_chains *mlme_get_dynamic_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_obj *vdev_mlme;
struct mlme_legacy_priv *mlme_priv;
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
if (!vdev_mlme) {
mlme_err("vdev component object is NULL");
return NULL;
}
mlme_priv = vdev_mlme->legacy_vdev_ptr;
return &mlme_priv->dynamic_cfg;
}
struct wlan_mlme_nss_chains *mlme_get_ini_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_obj *vdev_mlme;
struct mlme_legacy_priv *mlme_priv;
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
if (!vdev_mlme) {
mlme_err("vdev component object is NULL");
return NULL;
}
mlme_priv = vdev_mlme->legacy_vdev_ptr;
return &mlme_priv->ini_cfg;
}
#else
@@ -63,6 +96,34 @@ wlan_vdev_mlme_get_priv_obj(struct wlan_objmgr_vdev *vdev)
return vdev_mlme;
}
struct wlan_mlme_nss_chains *mlme_get_dynamic_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_priv_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_priv_obj(vdev);
if (!vdev_mlme) {
mlme_err("vdev component object is NULL");
return NULL;
}
return &vdev_mlme->dynamic_cfg;
}
struct wlan_mlme_nss_chains *mlme_get_ini_vdev_config(
struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_priv_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_priv_obj(vdev);
if (!vdev_mlme) {
mlme_err("vdev component object is NULL");
return NULL;
}
return &vdev_mlme->ini_cfg;
}
QDF_STATUS
mlme_vdev_object_created_notification(struct wlan_objmgr_vdev *vdev,
void *arg)