diff options
| author | tinlin <tinlin@codeaurora.org> | 2017-11-20 18:26:32 +0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-11-28 02:33:21 -0800 |
| commit | f12d90ae9ff1c97e76553e44d8eb33a5cc3d45a3 (patch) | |
| tree | 0d3ce6a4e1ca3b4acdaa99e1230de53b44a37bb8 | |
| parent | f36c8f552b033e6a63c75bf1250ac733cba97e8c (diff) | |
qcacld-2.0: CL 3174922 - Update fw common interface files
Add WMI_VDEV_LIMIT_OFFCHAN_CMDID. WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID
& EVENTID of 3094881 is not propagated. Fix them here.
Change-Id: I572ee48d6582063c98a09c2dbd9a33026ab61681
CRs-fixed: 865207
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_services.h | 1 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 23 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 58 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 |
4 files changed, 83 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h index 1256fe610845..3fcaae8a2ffe 100644 --- a/CORE/SERVICES/COMMON/wmi_services.h +++ b/CORE/SERVICES/COMMON/wmi_services.h @@ -303,6 +303,7 @@ typedef enum { WMI_SERVICE_CHAN_LOAD_INFO=128, /* The values in WMI_CHAN_INFO_EVENTID is the difference in cycle counters */ WMI_SERVICE_TX_PPDU_INFO_STATS_SUPPORT=129, /* support to report tx ppdu info stats via htt events */ + WMI_SERVICE_VDEV_LIMIT_OFFCHAN_SUPPORT=130, /* support to report the offchannel duration limiting capability on connected interface */ /******* ADD NEW SERVICES HERE *******/ diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index 50f6e1d76835..71bcfff50e8b 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -830,6 +830,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_request_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_event_fixed_param, WMITLV_TAG_STRUC_wmi_roam_lca_disallow_config_tlv_param, + WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1162,6 +1163,9 @@ typedef enum { OP(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID) \ OP(WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID) \ OP(WMI_THERM_THROT_SET_CONF_CMDID) \ + OP(WMI_OEM_DMA_RING_CFG_REQ_CMDID) \ + OP(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID) \ + OP(WMI_VDEV_LIMIT_OFFCHAN_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -1343,6 +1347,9 @@ typedef enum { OP(WMI_OFFCHAN_DATA_TX_COMPLETION_EVENTID) \ OP(WMI_THERM_THROT_STATS_EVENTID) \ OP(WMI_PDEV_DIV_RSSI_ANTID_EVENTID) \ + OP(WMI_OEM_DMA_RING_CFG_RSP_EVENTID) \ + OP(WMI_OEM_DMA_BUF_RELEASE_EVENTID) \ + OP(WMI_PDEV_BSS_CHAN_INFO_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -2166,11 +2173,22 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TPC_CONFIG_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID); +#define WMITLV_TABLE_WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_request_fixed_param, wmi_pdev_bss_chan_info_request_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID); + /* VDEV Get Tx power Cmd */ #define WMITLV_TABLE_WMI_VDEV_GET_TX_POWER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_tx_power_cmd_fixed_param, wmi_vdev_get_tx_power_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_TX_POWER_CMDID); +/* Limit Offchannel duration Cmd */ +#define WMITLV_TABLE_WMI_VDEV_LIMIT_OFFCHAN_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param, wmi_vdev_limit_offchan_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_LIMIT_OFFCHAN_CMDID); + /* PDEV Set Base Mac Address Cmd */ #define WMITLV_TABLE_WMI_PDEV_SET_BASE_MACADDR_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_base_macaddr_cmd_fixed_param, wmi_pdev_set_base_macaddr_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) @@ -3441,6 +3459,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_TPC_CONFIG_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_div_rssi_antid_event_fixed_param, wmi_pdev_div_rssi_antid_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DIV_RSSI_ANTID_EVENTID); +/* PDEV BSS CHAN info Event */ +#define WMITLV_TABLE_WMI_PDEV_BSS_CHAN_INFO_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_event_fixed_param, wmi_pdev_bss_chan_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_BSS_CHAN_INFO_EVENTID); + /* VDEV Tx Power Event */ #define WMITLV_TABLE_WMI_VDEV_GET_TX_POWER_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_tx_power_event_fixed_param, wmi_vdev_get_tx_power_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 1144995f71c8..871064757efe 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -432,6 +432,8 @@ typedef enum { /** get tx power for the current vdev */ WMI_VDEV_GET_TX_POWER_CMDID, + /* limit STA offchannel activity */ + WMI_VDEV_LIMIT_OFFCHAN_CMDID, /* peer specific commands */ @@ -1135,6 +1137,9 @@ typedef enum { /** Report chain RSSI and antenna index to host */ WMI_PDEV_DIV_RSSI_ANTID_EVENTID, + /** provide noise floor and cycle counts for a channel */ + WMI_PDEV_BSS_CHAN_INFO_EVENTID, + /* VDEV specific events */ /** VDEV started event in response to VDEV_START request */ WMI_VDEV_START_RESP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_VDEV), @@ -3909,6 +3914,26 @@ typedef struct { A_UINT32 vdev_id; /** unique id identifying the VDEV, generated by the caller */ } wmi_vdev_get_tx_power_event_fixed_param; +typedef enum { + /** Limit the offchannel duration */ + WMI_VDEV_LIMIT_OFFCHAN_ENABLE = 0x1, + /** Skip DFS channels from Scan channel list. + * valid for both host scans and FW scans */ + WMI_VDEV_LIMIT_OFFCHAN_SKIP_DFS = 0x2, +} wmi_vdev_limit_offchan_flags; + +typedef struct { + A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param */ + /** Limit the duration of offchannel events requested by the vdev corresponding to the specified vdev_id */ + A_UINT32 vdev_id; + /** see enum wmi_vdev_limit_offchan_flags */ + A_UINT32 flags; + /** max offchannel time allowed in msec when WMI_VDEV_LIMIT_OFFCHAN_ENABLE flag is set */ + A_UINT32 max_offchan_time; + /** rest time in msec on the BSS channel */ + A_UINT32 rest_time; +} wmi_vdev_limit_offchan_cmd_fixed_param; + /* information sub element id for QSBW, expected value is 0x02 */ #define WMI_CSA_EVENT_QSBW_ISE_ID_MASK 0x000000FF /* length of QSBW ISE data, expected value is 0x02 */ @@ -4459,6 +4484,11 @@ typedef struct { wmi_mac_addr macaddr; } wmi_pdev_div_get_rssi_antid_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_request_fixed_param */ + A_UINT32 param; /* 1 = read only, 2= read and clear */ +} wmi_pdev_bss_chan_info_request_fixed_param; + #define WMI_FAST_DIVERSITY_BIT_OFFSET 0 #define WMI_SLOW_DIVERSITY_BIT_OFFSET 1 @@ -4646,6 +4676,31 @@ typedef struct { } wmi_pdev_div_rssi_antid_event_fixed_param; typedef struct { + A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_event_fixed_param */ + A_UINT32 freq; /* Units in MHz */ + A_INT32 noise_floor; /* units are dBm */ + + /* rx clear - how often the channel was unused */ + A_UINT32 rx_clear_count_low; /* low 31 bits of rx_clear cnt in 64bits format */ + A_UINT32 rx_clear_count_high; /* high 31 bits of rx_clear cnt in 64bits format */ + + /* cycle count - elapsed time during the measured period, in clock ticks */ + A_UINT32 cycle_count_low; /* low 31 bits of cycle cnt in 64bits format */ + A_UINT32 cycle_count_high; /* high 31 bits of cycle cnt in 64bits format */ + + /* tx cycle count - elapsed time spent in tx, in clock ticks */ + A_UINT32 tx_cycle_count_low; /* low 31 bits of tx_cycle cnt in 64bits format */ + A_UINT32 tx_cycle_count_high; /* high 31 bits of tx_cycle cnt in 64bits format */ + + /* rx cycle count - elapsed time spent in rx, in clock ticks */ + A_UINT32 rx_cycle_count_low; /* low 31 bits of rx_cycle cnt in 64bits format */ + A_UINT32 rx_cycle_count_high; /* high 31 bits of rx_cycle cnt in 64bits format */ + + A_UINT32 rx_bss_cycle_count_low; /* low 31 bits of rx cycle cnt for my bss in 64bits format */ + A_UINT32 rx_bss_cycle_count_high; /* high 31 bits of rx_cycle cnt for my bss in 64bits format */ +} wmi_pdev_bss_chan_info_event_fixed_param; + +typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_l1ss_track_event_fixed_param */ A_UINT32 periodCnt; A_UINT32 L1Cnt; @@ -19368,6 +19423,9 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_SET_INIT_COUNTRY_CMDID); WMI_RETURN_STRING(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); WMI_RETURN_STRING(WMI_THERM_THROT_SET_CONF_CMDID); + WMI_RETURN_STRING(WMI_OEM_DMA_RING_CFG_REQ_CMDID); + WMI_RETURN_STRING(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID); + WMI_RETURN_STRING(WMI_VDEV_LIMIT_OFFCHAN_CMDID); } return "Invalid WMI cmd"; diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 1e2660491c24..df82b3234fe2 100644 --- a/CORE/SERVICES/COMMON/wmi_version.h +++ b/CORE/SERVICES/COMMON/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 406 +#define __WMI_REVISION_ 407 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
