qcacmn: WMI service ready convergence changes

Converge on common WMI event handling for (ext)service ready
such that common PSOC object can be populated after common parsing.
Legacy (ext)service ready handlers continue to co-exist to support
legacy modules. Legacy service ready handlers can be removed once
legacy modules are also componentized and start using new object
model of PSOC, PDEV, VDEV and PEER.

To support multiple SoCs register for various psoc objects via legacy
callback registration routine during psoc probe and populate common
psoc object once WMI (ext)service ready event is parsed.

CRs-Fixed: 1110768
Change-Id: I966b8f7c775a19ac6e51ad5217a2dd0287acfada
This commit is contained in:
Rajeev Kumar
2017-02-12 02:12:17 -08:00
committed by qcabuildsw
parent fd3473792a
commit 7790147799
3 changed files with 28 additions and 7 deletions

View File

@@ -11920,12 +11920,14 @@ static QDF_STATUS init_cmd_send_tlv(wmi_unified_t wmi_handle,
* save_service_bitmap_tlv() - save service bitmap
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param bitmap_buf: bitmap buffer, for converged legacy support
*
* Return: None
*/
#ifndef CONFIG_MCL
static
void save_service_bitmap_tlv(wmi_unified_t wmi_handle, void *evt_buf)
void save_service_bitmap_tlv(wmi_unified_t wmi_handle, void *evt_buf,
void *bitmap_buf)
{
WMI_SERVICE_READY_EVENTID_param_tlvs *param_buf;
param_buf = (WMI_SERVICE_READY_EVENTID_param_tlvs *) evt_buf;
@@ -11933,14 +11935,25 @@ void save_service_bitmap_tlv(wmi_unified_t wmi_handle, void *evt_buf)
qdf_mem_copy(wmi_handle->wmi_service_bitmap,
param_buf->wmi_service_bitmap,
(WMI_SERVICE_BM_SIZE * sizeof(uint32_t)));
if (bitmap_buf)
qdf_mem_copy(bitmap_buf,
param_buf->wmi_service_bitmap,
(WMI_SERVICE_BM_SIZE * sizeof(uint32_t)));
}
#else
static
void save_service_bitmap_tlv(wmi_unified_t wmi_handle, void *evt_buf)
void save_service_bitmap_tlv(wmi_unified_t wmi_handle, void *evt_buf,
void *bitmap_buf)
{
return;
}
WMI_SERVICE_READY_EVENTID_param_tlvs *param_buf;
param_buf = (WMI_SERVICE_READY_EVENTID_param_tlvs *) evt_buf;
if (bitmap_buf)
qdf_mem_copy(bitmap_buf,
param_buf->wmi_service_bitmap,
(WMI_SERVICE_BM_SIZE * sizeof(uint32_t)));
}
#endif
/**