qca-wifi: Added component_dev support for Quiet IE
Moved support for Quiet IE from cmn_dev to component_dev. Change-Id: Ib5ca7356ff4a25e1e674cbc831d35928e12cd0f4 CRs-Fixed: 2376067
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
c68e9fb218
commit
2b7289b241
@@ -124,6 +124,10 @@ QDF_STATUS wmi_extract_swba_num_vdevs(void *wmi_hdl, void *evt_buf,
|
|||||||
QDF_STATUS wmi_extract_swba_tim_info(void *wmi_hdl, void *evt_buf,
|
QDF_STATUS wmi_extract_swba_tim_info(void *wmi_hdl, void *evt_buf,
|
||||||
uint32_t idx, wmi_host_tim_info *tim_info);
|
uint32_t idx, wmi_host_tim_info *tim_info);
|
||||||
|
|
||||||
|
QDF_STATUS wmi_extract_swba_quiet_info(void *wmi_hdl, void *evt_buf,
|
||||||
|
uint32_t idx,
|
||||||
|
wmi_host_quiet_info *quiet_info);
|
||||||
|
|
||||||
QDF_STATUS wmi_extract_swba_noa_info(void *wmi_hdl, void *evt_buf,
|
QDF_STATUS wmi_extract_swba_noa_info(void *wmi_hdl, void *evt_buf,
|
||||||
uint32_t idx, wmi_host_p2p_noa_info *p2p_desc);
|
uint32_t idx, wmi_host_p2p_noa_info *p2p_desc);
|
||||||
|
|
||||||
|
@@ -493,6 +493,28 @@ QDF_STATUS wmi_extract_swba_tim_info(void *wmi_hdl, void *evt_buf,
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_extract_swba_quiet_info() - extract swba quiet info from event
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @param evt_buf: pointer to event buffer
|
||||||
|
* @param idx: Index to bcn info
|
||||||
|
* @param quiet_info: Pointer to hold quiet info
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_extract_swba_quiet_info(void *wmi_hdl, void *evt_buf,
|
||||||
|
uint32_t idx,
|
||||||
|
wmi_host_quiet_info *quiet_info)
|
||||||
|
{
|
||||||
|
wmi_unified_t wmi_handle = (wmi_unified_t)wmi_hdl;
|
||||||
|
|
||||||
|
if (wmi_handle->ops->extract_swba_quiet_info)
|
||||||
|
return wmi_handle->ops->extract_swba_quiet_info(wmi_handle,
|
||||||
|
evt_buf, idx,
|
||||||
|
quiet_info);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wmi_extract_swba_noa_info() - extract swba NoA information from event
|
* wmi_extract_swba_noa_info() - extract swba NoA information from event
|
||||||
* @wmi_handle: wmi handle
|
* @wmi_handle: wmi handle
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -1076,13 +1076,15 @@ static QDF_STATUS extract_swba_tim_info_tlv(wmi_unified_t wmi_handle,
|
|||||||
|
|
||||||
tim_info_ev = ¶m_buf->tim_info[idx];
|
tim_info_ev = ¶m_buf->tim_info[idx];
|
||||||
|
|
||||||
tim_info->tim_len = tim_info_ev->tim_len;
|
if (tim_info_ev->tim_len != 0) {
|
||||||
tim_info->tim_mcast = tim_info_ev->tim_mcast;
|
tim_info->tim_len = tim_info_ev->tim_len;
|
||||||
qdf_mem_copy(tim_info->tim_bitmap, tim_info_ev->tim_bitmap,
|
tim_info->tim_mcast = tim_info_ev->tim_mcast;
|
||||||
(sizeof(uint32_t) * WMI_TIM_BITMAP_ARRAY_SIZE));
|
qdf_mem_copy(tim_info->tim_bitmap, tim_info_ev->tim_bitmap,
|
||||||
tim_info->tim_changed = tim_info_ev->tim_changed;
|
(sizeof(uint32_t) * WMI_TIM_BITMAP_ARRAY_SIZE));
|
||||||
tim_info->tim_num_ps_pending = tim_info_ev->tim_num_ps_pending;
|
tim_info->tim_changed = tim_info_ev->tim_changed;
|
||||||
tim_info->vdev_id = tim_info_ev->vdev_id;
|
tim_info->tim_num_ps_pending = tim_info_ev->tim_num_ps_pending;
|
||||||
|
tim_info->vdev_id = tim_info_ev->vdev_id;
|
||||||
|
}
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
@@ -1141,6 +1143,44 @@ static QDF_STATUS extract_swba_noa_info_tlv(wmi_unified_t wmi_handle,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* extract_swba_quiet_info_tlv() - extract swba quiet info from event
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @param evt_buf: pointer to event buffer
|
||||||
|
* @param idx: Index to bcn info
|
||||||
|
* @param quiet_info: Pointer to hold quiet info
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS for success or error code
|
||||||
|
*/
|
||||||
|
static QDF_STATUS extract_swba_quiet_info_tlv(wmi_unified_t wmi_handle,
|
||||||
|
void *evt_buf, uint32_t idx,
|
||||||
|
wmi_host_quiet_info *quiet_info)
|
||||||
|
{
|
||||||
|
WMI_HOST_SWBA_EVENTID_param_tlvs *param_buf;
|
||||||
|
wmi_quiet_offload_info *quiet_info_ev;
|
||||||
|
|
||||||
|
param_buf = (WMI_HOST_SWBA_EVENTID_param_tlvs *)evt_buf;
|
||||||
|
if (!param_buf) {
|
||||||
|
WMI_LOGE("Invalid swba event buffer");
|
||||||
|
return QDF_STATUS_E_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!param_buf->quiet_offload_info)
|
||||||
|
return QDF_STATUS_E_NULL_VALUE;
|
||||||
|
|
||||||
|
quiet_info_ev = ¶m_buf->quiet_offload_info[idx];
|
||||||
|
|
||||||
|
if (quiet_info_ev->tbttcount != 0) {
|
||||||
|
quiet_info->vdev_id = quiet_info_ev->vdev_id;
|
||||||
|
quiet_info->tbttcount = quiet_info_ev->tbttcount;
|
||||||
|
quiet_info->period = quiet_info_ev->period;
|
||||||
|
quiet_info->duration = quiet_info_ev->duration;
|
||||||
|
quiet_info->offset = quiet_info_ev->offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* extract_offchan_data_tx_compl_param_tlv() -
|
* extract_offchan_data_tx_compl_param_tlv() -
|
||||||
* extract Offchan data tx completion event params
|
* extract Offchan data tx completion event params
|
||||||
@@ -2640,6 +2680,7 @@ void wmi_ap_attach_tlv(wmi_unified_t wmi_handle)
|
|||||||
extract_ext_tbttoffset_num_vdevs_tlv;
|
extract_ext_tbttoffset_num_vdevs_tlv;
|
||||||
ops->extract_swba_num_vdevs = extract_swba_num_vdevs_tlv;
|
ops->extract_swba_num_vdevs = extract_swba_num_vdevs_tlv;
|
||||||
ops->extract_swba_tim_info = extract_swba_tim_info_tlv;
|
ops->extract_swba_tim_info = extract_swba_tim_info_tlv;
|
||||||
|
ops->extract_swba_quiet_info = extract_swba_quiet_info_tlv;
|
||||||
ops->extract_swba_noa_info = extract_swba_noa_info_tlv;
|
ops->extract_swba_noa_info = extract_swba_noa_info_tlv;
|
||||||
ops->extract_offchan_data_tx_compl_param =
|
ops->extract_offchan_data_tx_compl_param =
|
||||||
extract_offchan_data_tx_compl_param_tlv;
|
extract_offchan_data_tx_compl_param_tlv;
|
||||||
|
Reference in New Issue
Block a user