qcacmn: Add Bitmap support for Multi-Vdev-Restart

Update MVR handlers and init to setup/use MVR bitmap
depending on bitmap MVR support by FW.

Change-Id: I3a73ddefeae85d8f6b4fc31f9c1f1164fa5346c7
CRs-Fixed: 3355001
Cette révision appartient à :
Chetan Kumar Sanga
2022-12-08 09:14:52 +05:30
révisé par Madan Koyyalamudi
Parent 5c2acdff8d
révision 176650cce4
6 fichiers modifiés avec 21 ajouts et 12 suppressions

Voir le fichier

@@ -802,12 +802,14 @@ static QDF_STATUS vdev_mgr_multiple_restart_param_update(
param->cac_duration_ms = WLAN_DFS_WAIT_MS;
param->num_vdevs = num_vdevs;
qdf_mem_copy(param->vdev_ids, vdev_ids,
sizeof(uint32_t) * (param->num_vdevs));
qdf_mem_copy(&param->ch_param, chan,
sizeof(struct mlme_channel_param));
qdf_mem_copy(param->mvr_param, mvr_param,
sizeof(*mvr_param) * (param->num_vdevs));
param->vdev_ids = vdev_ids;
param->mvr_param = mvr_param;
param->max_vdevs = wlan_pdev_get_max_vdev_count(pdev);
param->mvr_bmap_enabled = wlan_pdev_nif_feat_cap_get(pdev,
WLAN_PDEV_F_MULTIVDEV_RESTART_BMAP);
return QDF_STATUS_SUCCESS;
}

Voir le fichier

@@ -411,7 +411,9 @@ struct vdev_mlme_mvr_param {
* @num_vdevs: No. of vdevs that need to be restarted
* @ch_param: Pointer to channel_param
* @vdev_ids: Pointer to array of vdev_ids
* @mvr_param: array holding multi vdev restart param
* @mvr_param: Pointer to array of multi vdev restart param
* @max_vdevs: Maximum vdev count of this pdev
* @mvr_bmap_enabled: flag indicating mvr-bitmap support
*/
struct multiple_vdev_restart_params {
uint32_t pdev_id;
@@ -420,8 +422,10 @@ struct multiple_vdev_restart_params {
uint32_t cac_duration_ms;
uint32_t num_vdevs;
struct mlme_channel_param ch_param;
uint32_t vdev_ids[WLAN_UMAC_PDEV_MAX_VDEVS];
struct vdev_mlme_mvr_param mvr_param[WLAN_UMAC_PDEV_MAX_VDEVS];
uint32_t *vdev_ids;
struct vdev_mlme_mvr_param *mvr_param;
uint32_t max_vdevs;
uint8_t mvr_bmap_enabled;
};
/**