qcacmn: Fix tlv formation of pno start command
Fix tlv formation of pno start command by adding the pno channel prediction parameter in variable length tlv of pno start command. Change-Id: I10274519eedf3d3cbcebfdc5e308fcf86bc2a804 CRs-Fixed: 987362
This commit is contained in:

committed by
Vishwajith Upendra

parent
712622fe81
commit
ccb0c27aa0
@@ -5328,6 +5328,38 @@ QDF_STATUS send_pno_stop_cmd_tlv(wmi_unified_t wmi_handle, uint8_t vdev_id)
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_set_pno_channel_prediction() - Set PNO channel prediction
|
||||||
|
* @buf_ptr: Buffer passed by upper layers
|
||||||
|
* @pno: Buffer to be sent to the firmware
|
||||||
|
*
|
||||||
|
* Copy the PNO Channel prediction configuration parameters
|
||||||
|
* passed by the upper layers to a WMI format TLV and send it
|
||||||
|
* down to the firmware.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static void wmi_set_pno_channel_prediction(uint8_t *buf_ptr,
|
||||||
|
struct pno_scan_req_params *pno)
|
||||||
|
{
|
||||||
|
nlo_channel_prediction_cfg *channel_prediction_cfg =
|
||||||
|
(nlo_channel_prediction_cfg *) buf_ptr;
|
||||||
|
WMITLV_SET_HDR(&channel_prediction_cfg->tlv_header,
|
||||||
|
WMITLV_TAG_ARRAY_BYTE,
|
||||||
|
WMITLV_GET_STRUCT_TLVLEN(nlo_channel_prediction_cfg));
|
||||||
|
channel_prediction_cfg->enable = pno->pno_channel_prediction;
|
||||||
|
channel_prediction_cfg->top_k_num = pno->top_k_num_of_channels;
|
||||||
|
channel_prediction_cfg->stationary_threshold = pno->stationary_thresh;
|
||||||
|
channel_prediction_cfg->full_scan_period_ms =
|
||||||
|
pno->channel_prediction_full_scan;
|
||||||
|
buf_ptr += sizeof(nlo_channel_prediction_cfg);
|
||||||
|
WMI_LOGD("enable: %d, top_k_num: %d, stat_thresh: %d, full_scan: %d",
|
||||||
|
channel_prediction_cfg->enable,
|
||||||
|
channel_prediction_cfg->top_k_num,
|
||||||
|
channel_prediction_cfg->stationary_threshold,
|
||||||
|
channel_prediction_cfg->full_scan_period_ms);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* send_pno_start_cmd_tlv() - PNO start request
|
* send_pno_start_cmd_tlv() - PNO start request
|
||||||
* @wmi_handle: wmi handle
|
* @wmi_handle: wmi handle
|
||||||
@@ -5454,6 +5486,7 @@ QDF_STATUS send_pno_start_cmd_tlv(wmi_unified_t wmi_handle,
|
|||||||
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
|
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
|
||||||
sizeof(nlo_channel_prediction_cfg));
|
sizeof(nlo_channel_prediction_cfg));
|
||||||
buf_ptr += WMI_TLV_HDR_SIZE;
|
buf_ptr += WMI_TLV_HDR_SIZE;
|
||||||
|
wmi_set_pno_channel_prediction(buf_ptr, pno);
|
||||||
buf_ptr += WMI_TLV_HDR_SIZE;
|
buf_ptr += WMI_TLV_HDR_SIZE;
|
||||||
/** TODO: Discrete firmware doesn't have command/option to configure
|
/** TODO: Discrete firmware doesn't have command/option to configure
|
||||||
* App IE which comes from wpa_supplicant as of part PNO start request.
|
* App IE which comes from wpa_supplicant as of part PNO start request.
|
||||||
|
Reference in New Issue
Block a user