mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
Merge 04d57479ae on remote branch
Change-Id: I81f43500c64f684c5a4f39ea6fb8abc82fd4b140
This commit is contained in:
commit
31aee86f90
4 changed files with 155 additions and 3 deletions
21
fw/htt.h
21
fw/htt.h
|
|
@ -263,9 +263,10 @@
|
|||
* 3.133 Add packet_type_enable_data_flags fields in rx_ring_selection_cfg.
|
||||
* 3.134 Add qdata_refill flag in rx_peer_metadata_v1a.
|
||||
* 3.135 Add HTT_HOST4_TO_FW_RXBUF_RING def.
|
||||
* 3.136 Add htt_ext_present flag in htt_tx_tcl_global_seq_metadata.
|
||||
*/
|
||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||
#define HTT_CURRENT_VERSION_MINOR 135
|
||||
#define HTT_CURRENT_VERSION_MINOR 136
|
||||
|
||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||
|
||||
|
|
@ -2699,7 +2700,7 @@ typedef struct {
|
|||
type: 2, /* vdev_id based or peer_id or svc_id or global seq based */
|
||||
host_inspected: 1,
|
||||
global_seq_no: 12,
|
||||
rsvd: 1,
|
||||
htt_ext_present:1,
|
||||
padding: 16; /* These 16 bits cannot be used by FW for the tcl command */
|
||||
} htt_tx_tcl_global_seq_metadata;
|
||||
|
||||
|
|
@ -2742,6 +2743,13 @@ PREPACK struct htt_tx_tcl_metadata_v2 {
|
|||
#define HTT_TX_TCL_METADATA_GLBL_SEQ_NO_M 0x00007ff8
|
||||
#define HTT_TX_TCL_METADATA_GLBL_SEQ_NO_S 3
|
||||
|
||||
/* HTT ext present flag:
|
||||
* Specify whether there is a htt ext desc present for this packet,
|
||||
* accompanying the global seq no metadata.
|
||||
*/
|
||||
#define HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_M 0x00008000
|
||||
#define HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_S 15
|
||||
|
||||
|
||||
/*----- Get and Set V2 type field in Vdev, Peer, Svc_Class_Id, Global_seq_no */
|
||||
#define HTT_TX_TCL_METADATA_TYPE_V2_GET(_var) \
|
||||
|
|
@ -2829,6 +2837,15 @@ PREPACK struct htt_tx_tcl_metadata_v2 {
|
|||
((_var) |= ((_val) << HTT_TX_TCL_METADATA_GLBL_SEQ_NO_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_GET(_var) \
|
||||
(((_var) & HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_M) >> \
|
||||
HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_S)
|
||||
#define HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT, _val); \
|
||||
((_var) |= ((_val) << HTT_TX_TCL_METADATA_GLBL_SEQ_HTT_EXT_PRESENT_S)); \
|
||||
} while (0)
|
||||
|
||||
/*------------------------------------------------------------------
|
||||
* End V2 Version of TCL Data Command
|
||||
*-----------------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -1446,6 +1446,9 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_ext_additional_params,
|
||||
WMITLV_TAG_STRUC_wmi_regulatory_rule_meta_data,
|
||||
WMITLV_TAG_STRUC_wmi_vdev_report_ap_oper_bw_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_mlo_peer_tid_to_link_map_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_usd_service_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
|
|
@ -1999,6 +2002,7 @@ typedef enum {
|
|||
OP(WMI_SET_AP_SUSPEND_RESUME_CMDID) \
|
||||
OP(WMI_P2P_GO_DFS_AP_CONFIG_CMDID) \
|
||||
OP(WMI_VDEV_REPORT_AP_OPER_BW_CMDID) \
|
||||
OP(WMI_USD_SERVICE_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2325,6 +2329,8 @@ typedef enum {
|
|||
OP(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID) \
|
||||
OP(WMI_MGMT_SRNG_REAP_EVENTID) \
|
||||
OP(WMI_MLO_TLT_SELECTION_FOR_TID_SPRAY_EVENTID) \
|
||||
OP(WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID) \
|
||||
OP(WMI_USD_SERVICE_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -5650,6 +5656,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SET_AP_SUSPEND_RESUME_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_report_ap_oper_bw_cmd_fixed_param, wmi_vdev_report_ap_oper_bw_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_REPORT_AP_OPER_BW_CMDID);
|
||||
|
||||
/* Unsynchronized Service Discovery Service Cmd */
|
||||
#define WMITLV_TABLE_WMI_USD_SERVICE_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_usd_service_cmd_fixed_param, wmi_usd_service_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, element_container_attr_data, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, chan_list, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, service_specific_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_USD_SERVICE_CMDID);
|
||||
|
||||
|
||||
|
||||
/************************** TLV definitions of WMI events *******************************/
|
||||
|
|
@ -7708,6 +7722,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_XLNA_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_srng_reap_event_fixed_param, wmi_mgmt_srng_reap_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_SRNG_REAP_EVENTID);
|
||||
|
||||
/** WMI event used to send status of Tid to link map configured */
|
||||
#define WMITLV_TABLE_WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_peer_tid_to_link_map_event_fixed_param, wmi_mlo_peer_tid_to_link_map_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID);
|
||||
|
||||
/* USD Service Event */
|
||||
#define WMITLV_TABLE_WMI_USD_SERVICE_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param, wmi_usd_service_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_USD_SERVICE_EVENTID);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
111
fw/wmi_unified.h
111
fw/wmi_unified.h
|
|
@ -258,6 +258,27 @@ static INLINE void wmi_packed_arr_set_bits(A_UINT32 *arr, A_UINT32 entry_index,
|
|||
(pwmi_mac_addr)->mac_addr47to32 = ((c_macaddr)[4] | ((c_macaddr)[5] << 8));\
|
||||
} while (0)
|
||||
|
||||
/** macro to convert generic hash of 6 bytes from WMI word format to char array */
|
||||
#define WMI_GENERIC_HASH_TO_CHAR_ARRAY(pwmi_generic_hash,c_generic_hash) do { \
|
||||
(c_generic_hash)[0] = (((pwmi_generic_hash)->generic_hash31to0) >> 0) & 0xff; \
|
||||
(c_generic_hash)[1] = (((pwmi_generic_hash)->generic_hash31to0) >> 8) & 0xff; \
|
||||
(c_generic_hash)[2] = (((pwmi_generic_hash)->generic_hash31to0) >> 16) & 0xff; \
|
||||
(c_generic_hash)[3] = (((pwmi_generic_hash)->generic_hash31to0) >> 24) & 0xff; \
|
||||
(c_generic_hash)[4] = (((pwmi_generic_hash)->generic_hash47to32) >> 0) & 0xff; \
|
||||
(c_generic_hash)[5] = (((pwmi_generic_hash)->generic_hash47to32) >> 8) & 0xff; \
|
||||
} while (0)
|
||||
|
||||
/** macro to convert generic hash from char array to WMI word format */
|
||||
#define WMI_CHAR_ARRAY_TO_GENERIC_HASH(c_generic_hash,pwmi_generic_hash) do { \
|
||||
(pwmi_generic_hash)->generic_hash31to0 = \
|
||||
(((A_UINT32)(c_generic_hash)[0] << 0) | \
|
||||
((A_UINT32)(c_generic_hash)[1] << 8) | \
|
||||
((A_UINT32)(c_generic_hash)[2] << 16) | \
|
||||
((A_UINT32)(c_generic_hash)[3] << 24)); \
|
||||
(pwmi_generic_hash)->generic_hash47to32 = \
|
||||
((c_generic_hash)[4] | ((c_generic_hash)[5] << 8)); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* The below function declarations are for implementations on some
|
||||
* platforms of the above macros, but in function form, to save code
|
||||
|
|
@ -1319,6 +1340,9 @@ typedef enum {
|
|||
/** WMI command to Request SAP suspend/resume */
|
||||
WMI_SET_AP_SUSPEND_RESUME_CMDID,
|
||||
|
||||
/** Unsynchronized Service Discovery */
|
||||
WMI_USD_SERVICE_CMDID,
|
||||
|
||||
|
||||
/* Offload 11k related requests */
|
||||
WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD),
|
||||
|
|
@ -2346,6 +2370,11 @@ typedef enum {
|
|||
/* WMI evt to indicate switch type either to WLAN(XPAN) or non_WLAN(BLE) */
|
||||
WMI_AUDIO_TRANSPORT_SWITCH_TYPE_EVENTID,
|
||||
|
||||
/** Usynchronized Service Discovery:
|
||||
* Send USD event with USD mode status as success or fail.
|
||||
*/
|
||||
WMI_USD_SERVICE_EVENTID,
|
||||
|
||||
|
||||
/* GPIO Event */
|
||||
WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO),
|
||||
|
|
@ -2533,6 +2562,8 @@ typedef enum {
|
|||
WMI_MLO_LINK_INFO_SYNC_EVENTID,
|
||||
/** WMI Event to announce host about the TLT update for TID */
|
||||
WMI_MLO_TLT_SELECTION_FOR_TID_SPRAY_EVENTID,
|
||||
/** WMI Event to send the status of T2LM configured */
|
||||
WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID,
|
||||
|
||||
/* WMI event specific to Quiet handling */
|
||||
WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL),
|
||||
|
|
@ -31458,6 +31489,78 @@ typedef struct {
|
|||
/** This is followed by a TLV array of wmi_ocb_schedule_element. */
|
||||
} wmi_ocb_set_config_cmd_fixed_param;
|
||||
|
||||
/** WMI Generic hash to be used by any 6 byte or 8 byte hash
|
||||
* Used for 6 byte USD Service ID
|
||||
*/
|
||||
typedef struct _wmi_generic_hash {
|
||||
/** upper 4 bytes of hash */
|
||||
A_UINT32 generic_hash31to0;
|
||||
/** lower 4 bytes of hash */
|
||||
A_UINT32 generic_hash47to32;
|
||||
} wmi_generic_hash;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_usd_add_delete_update_service_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
/* picks service type from WMI_USD_MODE */
|
||||
A_UINT32 usd_mode;
|
||||
/* element_container_attribute struct:
|
||||
* A_UINT8 element_container_attr_data[element_container_attr_len] */
|
||||
A_UINT32 element_container_attr_data_len;
|
||||
/* 6 bytes of service id hash */
|
||||
wmi_generic_hash service_id;
|
||||
/* Instance ID of the service */
|
||||
A_UINT32 instance_id;
|
||||
/* Default frequency in MHz */
|
||||
A_UINT32 default_freq;
|
||||
/* length of the Service Specific Info */
|
||||
A_UINT32 service_specific_info_len;
|
||||
/* Time to live in seconds */
|
||||
A_UINT32 time_to_live;
|
||||
/* picks protocol type from WMI_USD_SERVICE_PROTOCOL_TYPE */
|
||||
A_UINT32 protocol_type;
|
||||
wmi_mac_addr device_mac_addr;
|
||||
} wmi_usd_service_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
/* picks values from WMI_USD_MODE_STATUS */
|
||||
A_UINT32 usd_mode_status;
|
||||
} wmi_usd_service_event_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
WMI_USD_MODE_FLUSH,
|
||||
WMI_USD_MODE_PUBLISH,
|
||||
WMI_USD_MODE_SUBSCRIBE,
|
||||
WMI_USD_MODE_UPDATE_PUBLISH,
|
||||
WMI_USD_MODE_CANCEL_PUBLISH,
|
||||
WMI_USD_MODE_CANCEL_SUBSCRIBE,
|
||||
} WMI_USD_MODE;
|
||||
|
||||
typedef enum {
|
||||
WMI_USD_MODE_FLUSH_SUCCESS,
|
||||
WMI_USD_MODE_FLUSH_FAIL,
|
||||
WMI_USD_MODE_PUBLISH_SUCCESS,
|
||||
WMI_USD_MODE_PUBLISH_FAIL,
|
||||
WMI_USD_MODE_SUBSCRIBE_SUCCESS,
|
||||
WMI_USD_MODE_SUBSCRIBE_FAIL,
|
||||
WMI_USD_MODE_UPDATE_PUBLISH_SUCCESS,
|
||||
WMI_USD_MODE_UPDATE_PUBLISH_FAIL,
|
||||
WMI_USD_MODE_CANCEL_PUBLISH_SUCCESS,
|
||||
WMI_USD_MODE_CANCEL_PUBLISH_FAIL,
|
||||
WMI_USD_MODE_CANCEL_SUBSCRIBE_SUCCESS,
|
||||
WMI_USD_MODE_CANCEL_SUBSCRIBE_FAIL,
|
||||
} WMI_USD_MODE_STATUS;
|
||||
|
||||
typedef enum {
|
||||
WMI_USD_SERVICE_PROTOCOL_TYPE_BONJOUR = 1,
|
||||
WMI_USD_SERVICE_PROTOCOL_TYPE_GENERIC = 2,
|
||||
WMI_USD_SERVICE_PROTOCOL_TYPE_CSA_MATTER = 3,
|
||||
} WMI_USD_SERVICE_PROTOCOL_TYPE;
|
||||
|
||||
#define EXPIRY_TIME_IN_TSF_TIMESTAMP_OFFSET 0
|
||||
#define EXPIRY_TIME_IN_TSF_TIMESTAMP_MASK 1
|
||||
|
||||
|
|
@ -48754,6 +48857,14 @@ typedef struct {
|
|||
A_UINT32 tail_pointer;
|
||||
} wmi_mgmt_srng_reap_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_mlo_peer_tid_to_link_map_event_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/* status takes values from WMI_MLO_TID_TO_LINK_MAP_STATUS */
|
||||
A_UINT32 status;
|
||||
} wmi_mlo_peer_tid_to_link_map_event_fixed_param;
|
||||
|
||||
|
||||
|
||||
/* ADD NEW DEFS HERE */
|
||||
|
|
|
|||
|
|
@ -37,7 +37,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_ 1503
|
||||
#define __WMI_REVISION_ 1505
|
||||
|
||||
/** 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