diff options
| author | Rajesh Chauhan <rajeshc@qca.qualcomm.com> | 2014-02-14 16:36:09 -0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-02-20 21:42:19 -0800 |
| commit | b1a999685802af98c7418d3cf80ce5b2fde29f9a (patch) | |
| tree | 4bee48b391d3a279875a3603a85f23808a975e58 | |
| parent | f218636d4b7a7306ebf0825f6588d58b40c197b4 (diff) | |
qcacld: CL 842584 - update fw common interface files
Update wmi header files with power save command for coex.
Change-Id: Ib4fbd9c74ab07c751e68baab9334d4f9a268f769
CRs-Fixed: 616480
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 9 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 32 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 2 |
4 files changed, 43 insertions, 2 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index c13b2cfc1ad8..5ea671fc5491 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -422,6 +422,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_nan_event_hdr, WMITLV_TAG_STRUC_wmi_pdev_l1ss_track_event_fixed_param, WMITLV_TAG_STRUC_wmi_diag_data_container_event_fixed_param, + WMITLV_TAG_STRUC_wmi_modem_power_state_cmd_param, } WMITLV_TAG_ID; /* @@ -572,7 +573,8 @@ typedef enum { OP(WMI_THERMAL_MGMT_CMDID) \ OP(WMI_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID) \ OP(WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID) \ - OP(WMI_NAN_CMDID) + OP(WMI_NAN_CMDID) \ + OP(WMI_MODEM_POWER_STATE_CMDID) /* * IMPORTANT: Please add _ALL_ WMI Events Here. @@ -1523,6 +1525,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_NAN_CMDID); +/* Modem power state cmd */ +#define WMITLV_TABLE_WMI_MODEM_POWER_STATE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_modem_power_state_cmd_param, wmi_modem_power_state_cmd_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_MODEM_POWER_STATE_CMDID); + /************************** TLV definitions of WMI events *******************************/ /* Service Ready event */ diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index bf7c31a81213..c5e803378a43 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -171,6 +171,7 @@ typedef enum { WMI_GRP_LOCATION_SCAN, WMI_GRP_OEM, WMI_GRP_NAN, + WMI_GRP_COEX, } WMI_GRP_ID; #define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1) @@ -589,6 +590,9 @@ typedef enum { /** Nan Request */ WMI_NAN_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_NAN), + + /** Modem power state command */ + WMI_MODEM_POWER_STATE_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_COEX), } WMI_CMD_ID; typedef enum { @@ -6377,6 +6381,34 @@ enum { #define GET_PDEV_PARAM_TXPOWER_REASON(txpower_param) \ (((txpower_param) & PDEV_PARAM_TXPOWER_REASON_MASK) >> PDEV_PARAM_TXPOWER_REASON_SHIFT) +/** + * This command is sent from WLAN host driver to firmware to + * notify the current modem power state. Host would receive a + * message from modem when modem is powered on. Host driver + * would then send this command to firmware. Firmware would then + * power on WCI-2 (UART) interface for LTE/MWS Coex. + * + * This command is only applicable for APQ platform which has + * modem on the platform. If firmware doesn't support MWS Coex, + * this command can be dropped by firmware. + * + * This is a requirement from modem team that WCN can't toggle + * UART before modem is powered on. + */ +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_modem_power_state_cmd_param */ + A_UINT32 tlv_header; + + /** Modem power state parameter */ + A_UINT32 modem_power_state; +} wmi_modem_power_state_cmd_param; + +enum { + WMI_MODEM_STATE_OFF = 0, + WMI_MODEM_STATE_ON +}; + #ifdef __cplusplus } #endif diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 82da71e89ca9..12899afbe057 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_ 35 +#define __WMI_REVISION_ 36 /** 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 28c4bae3b3d7..88784aa6ca51 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -483,6 +483,8 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_OEM_REQ_CMDID); /* NAN request cmd */ CASE_RETURN_STRING(WMI_NAN_CMDID); + /* Modem power state cmd */ + CASE_RETURN_STRING(WMI_MODEM_POWER_STATE_CMDID); } return "Invalid WMI cmd"; } |
