diff options
| author | Himanshu Agarwal <himanaga@qti.qualcomm.com> | 2016-05-13 11:58:27 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-05-18 14:36:30 +0530 |
| commit | d869d85695b9c8b2004d3bb469830107d061b9bc (patch) | |
| tree | f379cb4d985717985a5602668207d4480bc7fbc3 | |
| parent | 27215a35d9694e4aa3cf7492b8cfc090c6d15e3d (diff) | |
qcacld-2.0: CL 1508507 – update fw common interface files
WMI RMC leader cmd and event msgs
Change-Id: I803ab38903602dfe2fa41189a4c56077769d39e0
CRs-Fixed: 865207
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 12 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 47 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 1 |
4 files changed, 61 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index 075fa61f27f3..733fae756ab1 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -707,6 +707,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_bwf_request_fixed_param, WMITLV_TAG_STRUC_wmi_bwf_peer_info, WMITLV_TAG_STRUC_wmi_dbglog_time_stamp_sync_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param, } WMITLV_TAG_ID; /* @@ -994,6 +996,7 @@ typedef enum { OP(WMI_WOW_SET_ACTION_WAKE_UP_CMDID) \ OP(WMI_PEER_BWF_REQUEST_CMDID) \ OP(WMI_DBGLOG_TIME_STAMP_SYNC_CMDID) \ + OP(WMI_RMC_SET_MANUAL_LEADER_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -1144,6 +1147,7 @@ typedef enum { OP(WMI_PDEV_HW_MODE_TRANSITION_EVENTID) \ OP(WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID) \ OP(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID) \ + OP(WMI_RMC_NEW_LEADER_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -2855,6 +2859,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_WAL_POWER_DEBUG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_bwf_peer_info, peer_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_BWF_REQUEST_CMDID); +#define WMITLV_TABLE_WMI_RMC_SET_MANUAL_LEADER_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param, wmi_rmc_set_leader_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_RMC_SET_MANUAL_LEADER_CMDID); + /************************** TLV definitions of WMI events *******************************/ /* Service Ready event */ @@ -3675,6 +3683,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_INST_RSSI_STATS_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, tx_time_per_power_level, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID) +#define WMITLV_TABLE_WMI_RMC_NEW_LEADER_EVENTID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param, wmi_rmc_manual_leader_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_RMC_NEW_LEADER_EVENTID); + #ifdef __cplusplus } diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index e4bec3ba4ca5..4261b5900df6 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -828,6 +828,8 @@ typedef enum { /** For debug/future enhancement purposes only, * configures/finetunes RMC algorithms */ WMI_RMC_CONFIG_CMDID, + /** select manual leader */ + WMI_RMC_SET_MANUAL_LEADER_CMDID, /** WLAN MHF offload commands */ /** enable/disable MHF offload */ @@ -1315,6 +1317,10 @@ typedef enum { WMI_BPF_CAPABILIY_INFO_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_BPF_OFFLOAD), WMI_BPF_VDEV_STATS_INFO_EVENTID, + /* RMC specific event */ + /* RMC manual leader selected event */ + WMI_RMC_NEW_LEADER_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_RMC), + /** Events in Prototyping phase */ WMI_NDI_CAP_RSP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PROTOTYPE), WMI_NDP_INITIATOR_RSP_EVENTID, @@ -5197,6 +5203,18 @@ typedef enum { * to all vdevs sharing the TSF. */ WMI_VDEV_PARAM_TSF_INCREMENT, + + /* Disable/Enable AMPDU of vdev per AC: + * bit | AC + * -------- + * 0 | VO + * 1 | VI + * 2 | BE + * 3 | BK + * A value of 0 in a given bit disables A-MPDU aggregation for + * that AC; a value of 1 enables A-MPDU aggregation + */ + WMI_VDEV_PARAM_AMPDU_PER_AC, } WMI_VDEV_PARAM; /* vdev capabilities bit mask */ @@ -14576,6 +14594,35 @@ typedef struct { **/ } wmi_pdev_wal_power_debug_cmd_fixed_param; +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param + */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /* Leader's mac address */ + wmi_mac_addr leader_mac_addr; +} wmi_rmc_set_leader_cmd_fixed_param; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param + */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /* 0: success + * 1: selected leader not found in network, able to find using auto selection + * -1: error + * non zero value should be return to userspace in case of failure + */ + A_INT32 status; + /* bssid of new leader */ + wmi_mac_addr leader_mac_addr; +} wmi_rmc_manual_leader_event_fixed_param; + + typedef enum { WLAN_2G_CAPABILITY = 0x1, WLAN_5G_CAPABILITY = 0x2, diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 2dbe13edd1e8..1dd25b4ee571 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_ 244 +#define __WMI_REVISION_ 245 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c index aecda1f89c30..699f6c590156 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -702,6 +702,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_WOW_SET_ACTION_WAKE_UP_CMDID); CASE_RETURN_STRING(WMI_PEER_BWF_REQUEST_CMDID); CASE_RETURN_STRING(WMI_DBGLOG_TIME_STAMP_SYNC_CMDID); + CASE_RETURN_STRING(WMI_RMC_SET_MANUAL_LEADER_CMDID); } return "Invalid WMI cmd"; } |
