Merge "qcacld-3.0: Remove obsolete P2P Listen Offload from WMA" into wlan-cld3.driver.lnx.2.0

This commit is contained in:
CNSS_WLAN Service 2018-12-07 02:22:08 -08:00 committed by Gerrit - the friendly Code Review server
commit 6a9d8bc820
3 changed files with 0 additions and 195 deletions

View File

@ -242,8 +242,6 @@ QDF_STATUS wma_set_tx_power_scale_decr_db(uint8_t vdev_id, int value);
bool wma_is_csa_offload_enabled(void);
#ifdef FEATURE_P2P_LISTEN_OFFLOAD
bool wma_is_p2p_lo_capable(void);
QDF_STATUS wma_p2p_lo_start(struct sir_p2p_lo_start *params);
QDF_STATUS wma_p2p_lo_stop(u_int32_t vdev_id);
#else
static inline bool wma_is_p2p_lo_capable(void)
{

View File

@ -1280,10 +1280,6 @@ int wma_peer_delete_handler(void *handle, uint8_t *cmd_param_info,
uint32_t len);
void wma_remove_req(tp_wma_handle wma, uint8_t vdev_id,
uint8_t type);
#ifdef FEATURE_P2P_LISTEN_OFFLOAD
int wma_p2p_lo_event_handler(void *handle, uint8_t *event_buf,
uint32_t len);
#endif
QDF_STATUS wma_process_hal_pwr_dbg_cmd(WMA_HANDLE handle,
struct sir_mac_pwr_dbg_cmd *

View File

@ -4938,195 +4938,6 @@ QDF_STATUS wma_set_sw_retry_threshold(
return QDF_STATUS_SUCCESS;
}
#ifdef FEATURE_P2P_LISTEN_OFFLOAD
/**
* wma_p2p_lo_start() - P2P listen offload start
* @params: p2p listen offload parameters
*
* This function sends WMI command to start P2P listen offload.
*
* Return: QDF_STATUS enumeration
*/
QDF_STATUS wma_p2p_lo_start(struct sir_p2p_lo_start *params)
{
wmi_buf_t buf;
wmi_p2p_lo_start_cmd_fixed_param *cmd;
int32_t len = sizeof(*cmd);
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
uint8_t *buf_ptr;
int ret;
int device_types_len_aligned, probe_resp_len_aligned;
if (NULL == wma) {
WMA_LOGE("%s: wma context is NULL", __func__);
return QDF_STATUS_E_INVAL;
}
device_types_len_aligned = qdf_roundup(params->dev_types_len,
sizeof(A_UINT32));
probe_resp_len_aligned = qdf_roundup(params->probe_resp_len,
sizeof(A_UINT32));
len += 2 * WMI_TLV_HDR_SIZE + device_types_len_aligned +
probe_resp_len_aligned;
buf = wmi_buf_alloc(wma->wmi_handle, len);
if (!buf)
return QDF_STATUS_E_NOMEM;
cmd = (wmi_p2p_lo_start_cmd_fixed_param *)wmi_buf_data(buf);
buf_ptr = (uint8_t *) wmi_buf_data(buf);
WMITLV_SET_HDR(&cmd->tlv_header,
WMITLV_TAG_STRUC_wmi_p2p_lo_start_cmd_fixed_param,
WMITLV_GET_STRUCT_TLVLEN(
wmi_p2p_lo_start_cmd_fixed_param));
cmd->vdev_id = params->vdev_id;
cmd->ctl_flags = params->ctl_flags;
cmd->channel = params->freq;
cmd->period = params->period;
cmd->interval = params->interval;
cmd->count = params->count;
cmd->device_types_len = params->dev_types_len;
cmd->prob_resp_len = params->probe_resp_len;
buf_ptr += sizeof(wmi_p2p_lo_start_cmd_fixed_param);
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE,
device_types_len_aligned);
buf_ptr += WMI_TLV_HDR_SIZE;
qdf_mem_copy(buf_ptr, params->device_types, params->dev_types_len);
buf_ptr += device_types_len_aligned;
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE, probe_resp_len_aligned);
buf_ptr += WMI_TLV_HDR_SIZE;
qdf_mem_copy(buf_ptr, params->probe_resp_tmplt, params->probe_resp_len);
WMA_LOGI("%s: Sending WMI_P2P_LO_START command, channel=%d, period=%d, interval=%d, count=%d",
__func__, cmd->channel, cmd->period,
cmd->interval, cmd->count);
ret = wmi_unified_cmd_send(wma->wmi_handle,
buf, len,
WMI_P2P_LISTEN_OFFLOAD_START_CMDID);
if (ret)
wmi_buf_free(buf);
else
WMA_LOGI("%s: Successfully sent WMI_P2P_LO_START", __func__);
wma->interfaces[params->vdev_id].p2p_lo_in_progress = true;
return ret;
}
/**
* wma_p2p_lo_stop() - P2P listen offload stop
* @vdev_id: vdev identifier
*
* This function sends WMI command to stop P2P listen offload.
*
* Return: QDF_STATUS enumeration
*/
QDF_STATUS wma_p2p_lo_stop(u_int32_t vdev_id)
{
wmi_buf_t buf;
wmi_p2p_lo_stop_cmd_fixed_param *cmd;
int32_t len;
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
int ret;
if (NULL == wma) {
WMA_LOGE("%s: wma context is NULL", __func__);
return QDF_STATUS_E_INVAL;
}
len = sizeof(*cmd);
buf = wmi_buf_alloc(wma->wmi_handle, len);
if (!buf)
return QDF_STATUS_E_NOMEM;
cmd = (wmi_p2p_lo_stop_cmd_fixed_param *)wmi_buf_data(buf);
WMITLV_SET_HDR(&cmd->tlv_header,
WMITLV_TAG_STRUC_wmi_p2p_lo_stop_cmd_fixed_param,
WMITLV_GET_STRUCT_TLVLEN(
wmi_p2p_lo_stop_cmd_fixed_param));
cmd->vdev_id = vdev_id;
WMA_LOGI("%s: Sending WMI_P2P_LO_STOP command", __func__);
ret = wmi_unified_cmd_send(wma->wmi_handle,
buf, len,
WMI_P2P_LISTEN_OFFLOAD_STOP_CMDID);
if (ret)
wmi_buf_free(buf);
else
WMA_LOGI("%s: Successfully sent WMI_P2P_LO_STOP", __func__);
wma->interfaces[vdev_id].p2p_lo_in_progress = false;
return ret;
}
/**
* wma_p2p_lo_event_handler() - p2p lo event
* @handle: the WMA handle
* @event_buf: buffer with the event parameters
* @len: length of the buffer
*
* This function receives P2P listen offload stop event from FW and
* pass the event information to upper layer.
*
* Return: 0 on success
*/
int wma_p2p_lo_event_handler(void *handle, uint8_t *event_buf,
uint32_t len)
{
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
struct sir_p2p_lo_event *event;
WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID_param_tlvs *param_tlvs;
wmi_p2p_lo_stopped_event_fixed_param *fix_param;
struct mac_context *p_mac = cds_get_context(QDF_MODULE_ID_PE);
if (!wma) {
WMA_LOGE("%s: Invalid WMA Context", __func__);
return -EINVAL;
}
if (!p_mac) {
WMA_LOGE("%s: Invalid p_mac", __func__);
return -EINVAL;
}
if (!p_mac->sme.p2p_lo_event_callback) {
WMA_LOGE("%s: Callback not registered", __func__);
return -EINVAL;
}
param_tlvs = (WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID_param_tlvs *)
event_buf;
fix_param = param_tlvs->fixed_param;
if (fix_param->vdev_id >= wma->max_bssid) {
WMA_LOGE("%s: received invalid vdev_id %d",
__func__, fix_param->vdev_id);
return -EINVAL;
}
event = qdf_mem_malloc(sizeof(*event));
if (!event)
return -ENOMEM;
event->vdev_id = fix_param->vdev_id;
event->reason_code = fix_param->reason;
p_mac->sme.p2p_lo_event_callback(p_mac->sme.p2p_lo_event_context,
event);
wma->interfaces[event->vdev_id].p2p_lo_in_progress = false;
return 0;
}
#endif /* FEATURE_P2P_LISTEN_OFFLOAD */
#ifndef QCA_SUPPORT_CP_STATS
/**
* wma_get_wakelock_stats() - Populates wake lock stats