qcacmn: Add support of extended service bitmap handling

Extended service bitmap is used by FW to indicate supported services
bitmap for services excedding the current limitation of 128. Add support
to save and use this bitmap to check services supported in FW. Also,
change exisiting services bitmap to be dynamic allocated buffer to
optimize the buffer used to save the bitmap.

Change-Id: I24a0321bc1a06ee3aedf1c6acbc379e907bbd464
CRs-Fixed: 2103617
This commit is contained in:
Kiran Venkatappa
2017-09-01 17:02:34 +05:30
committed by snandini
parent 5f1ccf6b7e
commit 7d73914da9
4 changed files with 133 additions and 22 deletions

View File

@@ -2573,8 +2573,6 @@ void wmi_interface_logging_init(struct wmi_unified *wmi_handle)
static inline void wmi_target_params_init(struct wmi_soc *soc,
struct wmi_unified *wmi_handle)
{
/* WMI service bitmap recieved from target */
wmi_handle->wmi_service_bitmap = soc->wmi_service_bitmap;
wmi_handle->pdev_param = soc->pdev_param;
wmi_handle->vdev_param = soc->vdev_param;
wmi_handle->services = soc->services;
@@ -2783,6 +2781,17 @@ void wmi_unified_detach(struct wmi_unified *wmi_handle)
}
}
qdf_spinlock_destroy(&soc->ctx_lock);
if (soc->wmi_service_bitmap) {
qdf_mem_free(soc->wmi_service_bitmap);
soc->wmi_service_bitmap = NULL;
}
if (soc->wmi_ext_service_bitmap) {
qdf_mem_free(soc->wmi_ext_service_bitmap);
soc->wmi_ext_service_bitmap = NULL;
}
/* Decrease the ref count once refcount infra is present */
soc->wmi_psoc = NULL;
qdf_mem_free(soc);