qcacmn: Add tlv formation of wmi data commands in common wmi layer

Move tlv formation of wmi data-path commands from umac to
common wmi layer.

Change-Id: I6994103441997935a82464b0e195597305a09557
CRs-Fixed: 983619
This commit is contained in:
Govind Singh
2016-03-01 15:54:59 +05:30
parent 2edc80f080
commit 17a9cfae00
2 changed files with 466 additions and 0 deletions

View File

@@ -923,3 +923,121 @@ int32_t wmi_unified_ocb_set_config(void *wmi_hdl,
return CDF_STATUS_E_FAILURE;
}
/**
* wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd() - control mcc scheduler
* @wmi_handle: wmi handle
* @mcc_adaptive_scheduler: enable/disable
*
* This function enable/disable mcc adaptive scheduler in fw.
*
* Return: CDF_STATUS_SUCCESS for sucess or error code
*/
int32_t wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd(
void *wmi_hdl, uint32_t mcc_adaptive_scheduler)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->send_set_enable_disable_mcc_adaptive_scheduler_cmd)
return wmi_handle->ops->send_set_enable_disable_mcc_adaptive_scheduler_cmd(wmi_handle,
mcc_adaptive_scheduler);
return CDF_STATUS_E_FAILURE;
}
/**
* wmi_unified_set_mcc_channel_time_latency_cmd() - set MCC channel time latency
* @wmi: wmi handle
* @mcc_channel: mcc channel
* @mcc_channel_time_latency: MCC channel time latency.
*
* Currently used to set time latency for an MCC vdev/adapter using operating
* channel of it and channel number. The info is provided run time using
* iwpriv command: iwpriv <wlan0 | p2p0> setMccLatency <latency in ms>.
*
* Return: CDF status
*/
int32_t wmi_unified_set_mcc_channel_time_latency_cmd
(void *wmi_hdl,
uint32_t mcc_channel_freq, uint32_t mcc_channel_time_latency)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->send_set_mcc_channel_time_latency_cmd)
return wmi_handle->ops->send_set_mcc_channel_time_latency_cmd(wmi_handle,
mcc_channel_freq,
mcc_channel_time_latency);
return CDF_STATUS_E_FAILURE;
}
/**
* wmi_unified_set_mcc_channel_time_quota_cmd() - set MCC channel time quota
* @wmi: wmi handle
* @adapter_1_chan_number: adapter 1 channel number
* @adapter_1_quota: adapter 1 quota
* @adapter_2_chan_number: adapter 2 channel number
*
* Return: CDF status
*/
int32_t wmi_unified_set_mcc_channel_time_quota_cmd
(void *wmi_hdl,
uint32_t adapter_1_chan_freq,
uint32_t adapter_1_quota, uint32_t adapter_2_chan_freq)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->send_set_mcc_channel_time_quota_cmd)
return wmi_handle->ops->send_set_mcc_channel_time_quota_cmd(wmi_handle,
adapter_1_chan_freq,
adapter_1_quota,
adapter_2_chan_freq);
return CDF_STATUS_E_FAILURE;
}
/**
* wmi_unified_set_thermal_mgmt_cmd() - set thermal mgmt command to fw
* @wmi_handle: Pointer to wmi handle
* @thermal_info: Thermal command information
*
* This function sends the thermal management command
* to the firmware
*
* Return: CDF_STATUS_SUCCESS for success otherwise failure
*/
int32_t wmi_unified_set_thermal_mgmt_cmd(void *wmi_hdl,
struct thermal_cmd_params *thermal_info)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->send_set_thermal_mgmt_cmd)
return wmi_handle->ops->send_set_thermal_mgmt_cmd(wmi_handle,
thermal_info);
return CDF_STATUS_E_FAILURE;
}
/**
* wmi_unified_lro_config_cmd() - process the LRO config command
* @wmi: Pointer to wmi handle
* @wmi_lro_cmd: Pointer to LRO configuration parameters
*
* This function sends down the LRO configuration parameters to
* the firmware to enable LRO, sets the TCP flags and sets the
* seed values for the toeplitz hash generation
*
* Return: CDF_STATUS_SUCCESS for success otherwise failure
*/
int32_t wmi_unified_lro_config_cmd(void *wmi_hdl,
struct wmi_lro_config_cmd_t *wmi_lro_cmd)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->send_lro_config_cmd)
return wmi_handle->ops->send_lro_config_cmd(wmi_handle,
wmi_lro_cmd);
return CDF_STATUS_E_FAILURE;
}