From b7048ab2f205c08da83d2100a9a8dbff1874f26e Mon Sep 17 00:00:00 2001 From: Krishna Kumaar Natarajan Date: Fri, 21 Nov 2014 12:11:24 -0800 Subject: qcacld: CL 1143872 - update fw common interface files This change set add a WMI command to set slow and fast antenna diversity and also update few comments. Change-Id: I547543eeb6ac41596ec005ba2b23b6df3a9effdc CRs-Fixed: 761102 --- CORE/SERVICES/COMMON/wmi_services.h | 2 +- CORE/SERVICES/COMMON/wmi_tlv_defs.h | 11 +++++++++-- CORE/SERVICES/COMMON/wmi_unified.h | 15 +++++++++++++-- CORE/SERVICES/COMMON/wmi_version.h | 2 +- CORE/SERVICES/WMI/wmi_unified.c | 1 + 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h index 41ad47d36a98..57e28185d5af 100644 --- a/CORE/SERVICES/COMMON/wmi_services.h +++ b/CORE/SERVICES/COMMON/wmi_services.h @@ -93,7 +93,7 @@ typedef enum { WMI_SERVICE_QPOWER, /* QPower service */ WMI_SERVICE_PLMREQ, WMI_SERVICE_THERMAL_MGMT, - WMI_SERVICE_RMC, /* reliable multicast support */ + WMI_SERVICE_RMC, /* RMC support */ WMI_SERVICE_MHF_OFFLOAD, /* multi-hop forwarding offload */ WMI_SERVICE_COEX_SAR, /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */ WMI_SERVICE_BCN_TXRATE_OVERRIDE, /* Will support the bcn/prb rsp rate override */ diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index 1800a1e7e4ca..d9c0e7a4fe96 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -520,7 +520,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mdns_get_stats_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_mdns_stats_event_fixed_param, WMITLV_TAG_STRUC_wmi_roam_invoke_cmd_fixed_param, - WMITLV_TAG_STRUC_wmi_pdev_resume_event_fixed_param + WMITLV_TAG_STRUC_wmi_pdev_resume_event_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param } WMITLV_TAG_ID; /* @@ -717,7 +718,8 @@ typedef enum { OP(WMI_MDNS_OFFLOAD_ENABLE_CMDID) \ OP(WMI_MDNS_SET_FQDN_CMDID) \ OP(WMI_MDNS_SET_RESPONSE_CMDID) \ - OP(WMI_MDNS_GET_STATS_CMDID) + OP(WMI_MDNS_GET_STATS_CMDID) \ + OP(WMI_SET_ANTENNA_DIVERSITY_CMDID) @@ -1955,6 +1957,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_D0_WOW_ENABLE_DISABLE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_temperature_cmd_fixed_param, wmi_pdev_get_temperature_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TEMPERATURE_CMDID); +/* Set antenna diversiry Cmd */ +#define WMITLV_TABLE_WMI_SET_ANTENNA_DIVERSITY_CMDID(id,op,buf,len) \ +WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param, wmi_pdev_set_antenna_diversity_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_SET_ANTENNA_DIVERSITY_CMDID); + /* DHCP server offload param Cmd */ #define WMITLV_TABLE_WMI_SET_DHCP_SERVER_OFFLOAD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_dhcp_server_offload_cmd_fixed_param, wmi_set_dhcp_server_offload_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 6bd1e9db9b30..300f7d55316b 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -574,6 +574,8 @@ typedef enum { WMI_HOST_AUTO_SHUTDOWN_CFG_CMDID, /** set tpc chainmask config command */ WMI_TPC_CHAINMASK_CONFIG_CMDID, + /** set Antenna diversity command */ + WMI_SET_ANTENNA_DIVERSITY_CMDID, /* GPIO Configuration */ WMI_GPIO_CONFIG_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_GPIO), @@ -2454,6 +2456,15 @@ typedef struct { A_UINT32 param; } wmi_pdev_get_tpc_config_cmd_fixed_param; +#define WMI_FAST_DIVERSITY_BIT_OFFSET 0 +#define WMI_SLOW_DIVERSITY_BIT_OFFSET 1 + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param */ + A_UINT32 mac_id; /** placeholder for pdev_id of future multiple MAC products. Init. to 0. */ + /** parameter */ + A_UINT32 value; /** bit0 is for enable/disable FAST diversity, and bit1 is for enable/disable SLOW diversity, 0->disable, 1->enable */ +} wmi_pdev_set_antenna_diversity_cmd_fixed_param; typedef struct { /** parameter */ @@ -7585,7 +7596,7 @@ enum wmi_rmc_mode { WMI_RMC_MODE_ENABLED = 1, }; -/** Enable reliable multicast transmitter functionality. Upon +/** Enable RMC transmitter functionality. Upon * receiving this, the FW shall mutlicast frames with * reliablity. This is a vendor * proprietary feature. */ @@ -7601,7 +7612,7 @@ typedef struct { } wmi_rmc_set_mode_cmd_fixed_param; /** Configure transmission periodicity of action frames in a - * reliable multicast network for the multicast transmitter */ + * RMC network for the multicast transmitter */ typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_rmc_set_action_period_cmd_fixed_param */ diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index b4b66cd58851..14f2b22af044 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_ 79 +#define __WMI_REVISION_ 81 /** 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 4552682f12b8..833b363ff6fd 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -601,6 +601,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_MDNS_SET_RESPONSE_CMDID); CASE_RETURN_STRING(WMI_MDNS_GET_STATS_CMDID); CASE_RETURN_STRING(WMI_ROAM_INVOKE_CMDID); + CASE_RETURN_STRING(WMI_SET_ANTENNA_DIVERSITY_CMDID); } return "Invalid WMI cmd"; } -- cgit v1.2.3