mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 23:24:22 -04:00
fw-api: CL 2969188 - update fw common interface files
WMI additional changes for regulatory database offload Change-Id: I59a9a1237c5df5ee8b2b695f3b86e07921051489 CRs-Fixed: 1107600
This commit is contained in:
parent
46dc1a82ed
commit
0df3c65cdc
3 changed files with 62 additions and 8 deletions
|
|
@ -819,6 +819,7 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_tx_send_params,
|
||||
WMITLV_TAG_STRUC_wmi_he_rate_set,
|
||||
WMITLV_TAG_STRUC_wmi_congestion_stats,
|
||||
WMITLV_TAG_STRUC_wmi_set_init_country_cmd_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
|
|
@ -1148,6 +1149,7 @@ typedef enum {
|
|||
OP(WMI_VDEV_GET_ARP_STAT_CMDID) \
|
||||
OP(WMI_VDEV_GET_TX_POWER_CMDID) \
|
||||
OP(WMI_OFFCHAN_DATA_TX_SEND_CMDID) \
|
||||
OP(WMI_SET_INIT_COUNTRY_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -3245,6 +3247,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_PEER_STATS_INFO_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_current_country_cmd_fixed_param, wmi_set_current_country_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_SET_CURRENT_COUNTRY_CMDID);
|
||||
|
||||
/* Host sets the init country code */
|
||||
#define WMITLV_TABLE_WMI_SET_INIT_COUNTRY_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_init_country_cmd_fixed_param, wmi_set_init_country_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_SET_INIT_COUNTRY_CMDID);
|
||||
|
||||
/* Start 11d scan in FW */
|
||||
#define WMITLV_TABLE_WMI_11D_SCAN_START_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_11d_scan_start_cmd_fixed_param, wmi_11d_scan_start_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
|
|||
|
|
@ -1025,6 +1025,7 @@ typedef enum {
|
|||
WMI_SET_CURRENT_COUNTRY_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_REGULATORY),
|
||||
WMI_11D_SCAN_START_CMDID,
|
||||
WMI_11D_SCAN_STOP_CMDID,
|
||||
WMI_SET_INIT_COUNTRY_CMDID,
|
||||
|
||||
/**
|
||||
* Nan Data commands
|
||||
|
|
@ -18810,6 +18811,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_VDEV_GET_ARP_STAT_CMDID);
|
||||
WMI_RETURN_STRING(WMI_VDEV_GET_TX_POWER_CMDID);
|
||||
WMI_RETURN_STRING(WMI_OFFCHAN_DATA_TX_SEND_CMDID);
|
||||
WMI_RETURN_STRING(WMI_SET_INIT_COUNTRY_CMDID);
|
||||
}
|
||||
|
||||
return "Invalid WMI cmd";
|
||||
|
|
@ -18821,9 +18823,32 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
/** Host indicating current country code to FW */
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_set_current_country_cmd_fixed_param */
|
||||
A_UINT32 pdev_id;
|
||||
A_UINT32 new_alpha2; /** alpha2 characters representing the country code */
|
||||
} wmi_set_current_country_cmd_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
WMI_COUNTRYCODE_ALPHA2,
|
||||
WMI_COUNTRYCODE_COUNTRY_ID,
|
||||
WMI_COUNTRYCODE_DOMAIN_CODE,
|
||||
} WMI_COUNTRYCODE_TYPE;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_set_init_country_cmd_fixed_param */
|
||||
A_UINT32 pdev_id;
|
||||
A_UINT32 countrycode_type; /* WMI_COUNTRYCODE_TYPE */
|
||||
union {
|
||||
struct {
|
||||
/* Three character for alpha2. The first two is ISO name for country the last one
|
||||
present if it is indoor and out door. First char in bits 7:0 and second char in bits 15:8 ... */
|
||||
A_UINT32 alpha2:24,
|
||||
unused:8;
|
||||
};
|
||||
A_UINT32 country_id; /* Country ID */
|
||||
A_UINT32 domain_code; /* Domain code */
|
||||
} country_code;
|
||||
} wmi_set_init_country_cmd_fixed_param;
|
||||
|
||||
/* Freq units in MHz */
|
||||
#define WMI_REG_RULE_START_FREQ_GET(freq_info) WMI_GET_BITS(freq_info, 0, 16)
|
||||
#define WMI_REG_RULE_START_FREQ_SET(freq_info, value) WMI_SET_BITS(freq_info, 0, 16, value)
|
||||
|
|
@ -18831,11 +18856,14 @@ typedef struct {
|
|||
#define WMI_REG_RULE_END_FREQ_SET(freq_info, value) WMI_SET_BITS(freq_info, 16, 16, value)
|
||||
|
||||
/* BW in MHz */
|
||||
#define WMI_REG_RULE_MAX_BW_GET(bw_info) WMI_GET_BITS(bw_info, 0, 16)
|
||||
#define WMI_REG_RULE_MAX_BW_SET(bw_info, value) WMI_SET_BITS(bw_info, 0, 16, value)
|
||||
#define WMI_REG_RULE_MAX_BW_GET(bw_pwr_info) WMI_GET_BITS(bw_pwr_info, 0, 16)
|
||||
#define WMI_REG_RULE_MAX_BW_SET(bw_pwr_info, value) WMI_SET_BITS(bw_pwr_info, 0, 16, value)
|
||||
/* regpower in dBm */
|
||||
#define WMI_REG_RULE_REG_POWER_GET(bw_info) WMI_GET_BITS(bw_info, 16, 8)
|
||||
#define WMI_REG_RULE_REG_POWER_SET(bw_info, value) WMI_SET_BITS(bw_info, 16, 8, value)
|
||||
#define WMI_REG_RULE_REG_POWER_GET(bw_pwr_info) WMI_GET_BITS(bw_pwr_info, 16, 8)
|
||||
#define WMI_REG_RULE_REG_POWER_SET(bw_pwr_info, value) WMI_SET_BITS(bw_pwr_info, 16, 8, value)
|
||||
/* antenna gain */
|
||||
#define WMI_REG_RULE_ANTENNA_GAIN_GET(bw_pwr_info) WMI_GET_BITS(bw_pwr_info, 24, 8)
|
||||
#define WMI_REG_RULE_ANTENNA_GAIN_SET(bw_pwr_info, value) WMI_SET_BITS(bw_pwr_info, 24, 8, value)
|
||||
|
||||
typedef enum {
|
||||
WMI_REG_FLAG_CHAN_NO_IR = 0x0001, /* passive channel */
|
||||
|
|
@ -18849,9 +18877,14 @@ typedef enum {
|
|||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_regulatory_rule_struct */
|
||||
A_UINT32 freq_info; /* u16 start_freq, u16 end_freq */
|
||||
A_UINT32 bw_info; /* u16 max_bw, u8 reg_power, u8 reserved */
|
||||
A_UINT32 power_flag_info; /* u16 flags, u16 reserved */
|
||||
A_UINT32 freq_info; /* bits 15:0 = u16 start_freq,
|
||||
* bits 31:16 = u16 end_freq
|
||||
* (both in MHz units) */
|
||||
A_UINT32 bw_pwr_info; /* bits 15:0 = u16 max_bw (MHz units),
|
||||
bits 23:16 = u8 reg_power (dBm units),
|
||||
bits 31:24 = u8 ant_gain (dB units) */
|
||||
A_UINT32 flag_info; /* bits 15:0 = u16 flags,
|
||||
bits 31:16 reserved */
|
||||
} wmi_regulatory_rule_struct;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -18875,9 +18908,23 @@ typedef enum {
|
|||
WMI_REGULATORY_PHYMODE_NO11AX = 0x0020, /* NO 11AX */
|
||||
} WMI_REGULATORY_PHYBITMAP;
|
||||
|
||||
typedef enum {
|
||||
WMI_REG_SET_CC_STATUS_PASS = 0,
|
||||
WMI_REG_CURRENT_ALPHA2_NOT_FOUND = 1,
|
||||
WMI_REG_INIT_ALPHA2_NOT_FOUND = 2,
|
||||
WMI_REG_SET_CC_CHANGE_NOT_ALLOWED = 3,
|
||||
WMI_REG_SET_CC_STATUS_NO_MEMORY = 4,
|
||||
WMI_REG_SET_CC_STATUS_FAIL = 5,
|
||||
} WMI_REG_SET_CC_STATUS_CODE;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_fixed_param */
|
||||
A_UINT32 status_code; /* WMI_REG_SET_CC_STATUS_CODE */
|
||||
A_UINT32 phy_id;
|
||||
A_UINT32 alpha2;
|
||||
A_UINT32 num_phy;
|
||||
A_UINT32 country_id;
|
||||
A_UINT32 domain_code;
|
||||
A_UINT32 dfs_region; /* WMI_REG_DFS_REGION */
|
||||
A_UINT32 phybitmap; /* WMI_REGULATORY_PHYBITMAP */
|
||||
A_UINT32 min_bw_2g; /* BW in MHz */
|
||||
|
|
|
|||
|
|
@ -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_ 373
|
||||
#define __WMI_REVISION_ 374
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue