qcacmn: Add wma apis for High Latency systems (Part 4 - HL Datapath)

Initialize bad peer tx control data structure in WMA,
send down the initial configuration info to fw and
configure the peer status update setting in the tx_rx module.

CRs-Fixed: 975526
Change-Id: Ib380e10a0b343b6a8f9c2c0bf6d6dd602d2601c5
This commit is contained in:
Poddar, Siddarth
2016-04-28 15:49:11 +05:30
committed by Vishwajith Upendra
parent 7b76800323
commit 794b996b00
4 changed files with 71 additions and 0 deletions

View File

@@ -438,6 +438,9 @@ QDF_STATUS wmi_unified_lro_config_cmd(void *wmi_hdl,
QDF_STATUS wmi_unified_set_thermal_mgmt_cmd(void *wmi_hdl, QDF_STATUS wmi_unified_set_thermal_mgmt_cmd(void *wmi_hdl,
struct thermal_cmd_params *thermal_info); struct thermal_cmd_params *thermal_info);
QDF_STATUS wmi_unified_peer_rate_report_cmd(void *wmi_hdl,
struct wmi_peer_rate_report_params *rate_report_params);
QDF_STATUS wmi_unified_set_mcc_channel_time_quota_cmd QDF_STATUS wmi_unified_set_mcc_channel_time_quota_cmd
(void *wmi_hdl, (void *wmi_hdl,
uint32_t adapter_1_chan_freq, uint32_t adapter_1_chan_freq,

View File

@@ -197,6 +197,7 @@
#define WMI_HOST_TPC_TX_NUM_CHAIN 4 #define WMI_HOST_TPC_TX_NUM_CHAIN 4
#define WMI_HOST_RXG_CAL_CHAN_MAX 4 #define WMI_HOST_RXG_CAL_CHAN_MAX 4
#define WMI_HOST_MAX_NUM_CHAINS 4 #define WMI_HOST_MAX_NUM_CHAINS 4
#define WMI_MAX_NUM_OF_RATE_THRESH 4
#include "qdf_atomic.h" #include "qdf_atomic.h"
@@ -1339,6 +1340,67 @@ struct ocb_config_param {
void *dcc_ndl_active_state_list; void *dcc_ndl_active_state_list;
}; };
enum wmi_peer_rate_report_cond_phy_type {
WMI_PEER_RATE_REPORT_COND_11B = 0,
WMI_PEER_RATE_REPORT_COND_11A_G,
WMI_PEER_RATE_REPORT_COND_11N,
WMI_PEER_RATE_REPORT_COND_11AC,
WMI_PEER_RATE_REPORT_COND_MAX_NUM
};
/**
* struct report_rate_delta - peer specific parameters
* @percent: percentage
* @delta_min: rate min delta
*/
struct report_rate_delta {
A_UINT32 percent; /* in unit of 12.5% */
A_UINT32 delta_min; /* in unit of Mbps */
};
/**
* struct report_rate_per_phy - per phy report parameters
* @cond_flags: condition flag val
* @delta: rate delta
* @report_rate_threshold: rate threshold
*/
struct report_rate_per_phy {
/*
* PEER_RATE_REPORT_COND_FLAG_DELTA,
* PEER_RATE_REPORT_COND_FLAG_THRESHOLD
* Any of these two conditions or both of
* them can be set.
*/
A_UINT32 cond_flags;
struct report_rate_delta delta;
/*
* In unit of Mbps. There are at most 4 thresholds
* If the threshold count is less than 4, set zero to
* the one following the last threshold
*/
A_UINT32 report_rate_threshold[WMI_MAX_NUM_OF_RATE_THRESH];
};
/**
* struct peer_rate_report_params - peer rate report parameters
* @rate_report_enable: enable rate report param
* @backoff_time: backoff time
* @timer_period: timer
* @report_per_phy: report per phy type
*/
struct wmi_peer_rate_report_params {
A_UINT32 rate_report_enable;
A_UINT32 backoff_time; /* in unit of msecond */
A_UINT32 timer_period; /* in unit of msecond */
/*
*In the following field, the array index means the phy type,
* please see enum wmi_peer_rate_report_cond_phy_type for detail
*/
struct report_rate_per_phy report_per_phy[
WMI_PEER_RATE_REPORT_COND_MAX_NUM];
};
/** /**
* struct t_thermal_cmd_params - thermal command parameters * struct t_thermal_cmd_params - thermal command parameters
* @min_temp: minimum temprature * @min_temp: minimum temprature

View File

@@ -314,6 +314,9 @@ QDF_STATUS (*send_lro_config_cmd)(wmi_unified_t wmi_handle,
QDF_STATUS (*send_set_thermal_mgmt_cmd)(wmi_unified_t wmi_handle, QDF_STATUS (*send_set_thermal_mgmt_cmd)(wmi_unified_t wmi_handle,
struct thermal_cmd_params *thermal_info); struct thermal_cmd_params *thermal_info);
QDF_STATUS (*send_peer_rate_report_cmd)(wmi_unified_t wmi_handle,
struct wmi_peer_rate_report_params *rate_report_params);
QDF_STATUS (*send_set_mcc_channel_time_quota_cmd) QDF_STATUS (*send_set_mcc_channel_time_quota_cmd)
(wmi_unified_t wmi_handle, (wmi_unified_t wmi_handle,
uint32_t adapter_1_chan_freq, uint32_t adapter_1_chan_freq,

View File

@@ -190,6 +190,9 @@ QDF_STATUS send_lro_config_cmd_tlv(wmi_unified_t wmi_handle,
QDF_STATUS send_set_thermal_mgmt_cmd_tlv(wmi_unified_t wmi_handle, QDF_STATUS send_set_thermal_mgmt_cmd_tlv(wmi_unified_t wmi_handle,
struct thermal_cmd_params *thermal_info); struct thermal_cmd_params *thermal_info);
QDF_STATUS send_peer_rate_report_cmd_tlv(wmi_unified_t wmi_handle,
struct wmi_peer_rate_report_params *rate_report_params);
QDF_STATUS send_set_mcc_channel_time_quota_cmd_tlv QDF_STATUS send_set_mcc_channel_time_quota_cmd_tlv
(wmi_unified_t wmi_handle, (wmi_unified_t wmi_handle,
uint32_t adapter_1_chan_freq, uint32_t adapter_1_chan_freq,