qcacld-3.0: CL 1450690 update fw common interface files

WMI per-peer max/min tx rate spec

Change-Id: I7af4dc75058062f9b4b088133a0696b8fc6da04d
CRs-Fixed: 865207
This commit is contained in:
Govind Singh
2016-02-01 19:26:59 +05:30
parent d0c80a3e18
commit 67b83b8266
3 changed files with 71 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2011-2015 The Linux Foundation. All rights reserved. * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
* *
* Previously licensed under the ISC license by Qualcomm Atheros, Inc. * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
* *
@@ -143,6 +143,8 @@ typedef enum {
WMI_SERVICE_SYNC_DELETE_CMDS, /* FW sends response event for Peer, Vdev delete commands */ WMI_SERVICE_SYNC_DELETE_CMDS, /* FW sends response event for Peer, Vdev delete commands */
WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT, WMI_SERVICE_SMART_ANTENNA_SW_SUPPORT,
WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT, WMI_SERVICE_SMART_ANTENNA_HW_SUPPORT,
/* allow per-peer tx MCS min/max limits by host */
WMI_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES,
WMI_MAX_SERVICE = 128 /* max service */ WMI_MAX_SERVICE = 128 /* max service */
} WMI_SERVICE; } WMI_SERVICE;

View File

@@ -6117,6 +6117,10 @@ typedef struct {
#define WMI_PEER_PARAM_FIXED_RATE 0xF #define WMI_PEER_PARAM_FIXED_RATE 0xF
/** Whitelist peer TIDs */ /** Whitelist peer TIDs */
#define WMI_PEER_SET_MU_WHITELIST 0x10 #define WMI_PEER_SET_MU_WHITELIST 0x10
/** Set peer max tx rate (MCS) in adaptive rate ctrl */
#define WMI_PEER_SET_MAX_TX_RATE 0x11
/** Set peer minimal tx rate (MCS) in adaptive rate ctrl */
#define WMI_PEER_SET_MIN_TX_RATE 0x12
/** mimo ps values for the parameter WMI_PEER_MIMO_PS_STATE */ /** mimo ps values for the parameter WMI_PEER_MIMO_PS_STATE */
#define WMI_PEER_MIMO_PS_NONE 0x0 #define WMI_PEER_MIMO_PS_NONE 0x0
@@ -6136,6 +6140,69 @@ typedef struct {
A_UINT32 param_value; A_UINT32 param_value;
} wmi_peer_set_param_cmd_fixed_param; } wmi_peer_set_param_cmd_fixed_param;
typedef union {
/*
* The A_UINT16 "mode" and "tx_rate" fields can only be directly used
* by the target or a little-endian host.
* A big-endian host needs to use the WMI_PEER_MAX_MIN_TX_xxx_GET/SET
* macros on the A_UINT32 "value" field.
*/
struct {
/* 0:CCK, 1:OFDM, 2:HT, 3:VHT (see WMI_RATE_PREAMBLE) */
A_UINT16 mode;
A_UINT16 tx_rate; /* see per-mode specs below */
};
A_UINT32 value; /* for use by big-endian host */
} wmi_peer_max_min_tx_rate;
/*
* Any access to the mode/tx_rate in an big endian system should use
* the below Macros on the wmi_peer_max_min_tx_rate.value field.
*/
#define WMI_PEER_MAX_MIN_TX_MODE_GET(value32) WMI_GET_BITS(value32, 0, 16)
#define WMI_PEER_MAX_MIN_TX_MODE_SET(value32, tx_mode) WMI_SET_BITS(value32, 0, 16, tx_mode)
#define WMI_PEER_MAX_MIN_TX_RATE_GET(value32) WMI_GET_BITS(value32, 16, 16)
#define WMI_PEER_MAX_MIN_TX_RATE_SET(value32, tx_mode) WMI_SET_BITS(value32, 16, 16, tx_mode)
/*
* CCK max/min tx Rate description
* tx_rate = 0: 1Mbps,
* tx_rate = 1: 2Mbps
* tx_rate = 2: 5.5Mbps
* tx_rate = 3: 11Mbps
* tx_rate = else : invalid.
*/
#define WMI_MAX_CCK_TX_RATE 0x03
/*
* OFDM max/min tx Rate description
* tx_rate = 0: 6Mbps,
* tx_rate = 1: 9Mbps
* tx_rate = 2: 12Mbps
* tx_rate = 3: 18Mbps
* tx_rate = 4: 24Mbps
* tx_rate = 5: 32Mbps
* tx_rate = 6: 48Mbps
* tx_rate = 7: 54Mbps
* tx_rate = else : invalid.
*/
#define WMI_MAX_OFDM_TX_RATE 0x07
/*
* HT max/min tx rate description
* tx_rate = 0~7 : MCS Rate 0~7
* tx_rate=else : invalid.
*/
#define WMI_MAX_HT_TX_MCS 0x07
/*
* VHT max/min tx rate description
* tx_rate = 0~9 : MCS Rate 0~9
* tx_rate=else : invalid.
*/
#define WMI_MAX_VHT_TX_MCS 0x09
#define MAX_SUPPORTED_RATES 128 #define MAX_SUPPORTED_RATES 128
typedef struct { typedef struct {

View File

@@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0 #define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a /** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility */ * change that may or may not break compatibility */
#define __WMI_REVISION_ 203 #define __WMI_REVISION_ 204
/** The Version Namespace should not be normally changed. Only /** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work * host and firmware of the same WMI namespace will work