Commit e39f4d4d authored by c_rrajiv's avatar c_rrajiv Committed by Madan Mohan Koyyalamudi
Browse files

qcacld-2.0: CL 1384356 - update fw common interface files

Add WMI_LRO_CONFIG_CMDID message.
Add WOW WMI Reason code for handling management frames in wow mode.

CRs-Fixed: 865207
Change-Id: Ia5142b94ee5a6280546f2e9ea672e75f19bdb7d4
parent 0ec27c0a
......@@ -587,6 +587,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_mgmt_tx_compl_event_fixed_param,
WMITLV_TAG_STRUC_wmi_soc_set_antenna_mode_cmd_fixed_param,
WMITLV_TAG_STRUC_WMI_WOW_UDP_SVC_OFLD_CMD_fixed_param,
WMITLV_TAG_STRUC_wmi_lro_info_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
......@@ -2301,6 +2302,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_soc_set_antenna_mode_cmd_fixed_param, wmi_soc_set_antenna_mode_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SOC_SET_ANTENNA_MODE_CMDID);
#define WMITLV_TABLE_WMI_LRO_CONFIG_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_lro_info_cmd_fixed_param, wmi_lro_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_LRO_CONFIG_CMDID);
/************************** TLV definitions of WMI events *******************************/
/* Service Ready event */
......
......@@ -672,6 +672,8 @@ typedef enum {
WMI_OCB_SET_SCHED_CMDID,
/** Set rssi monitoring config command */
WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID,
/** Enable/disable Large Receive Offload processing; provide cfg params */
WMI_LRO_CONFIG_CMDID,
/* GPIO Configuration */
WMI_GPIO_CONFIG_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_GPIO),
WMI_GPIO_OUTPUT_CMDID,
......@@ -6420,6 +6422,10 @@ typedef enum wake_reason_e {
WOW_REASON_IOAC_SOCK_EVENT,
WOW_REASON_NLO_SCAN_COMPLETE,
WOW_REASON_PACKET_FILTER_MATCH,
WOW_REASON_ASSOC_RES_RECV,
WOW_REASON_REASSOC_REQ_RECV,
WOW_REASON_REASSOC_RES_RECV,
WOW_REASON_ACTION_FRAME_RECV,
WOW_REASON_DEBUG_TEST = 0xFF,
} WOW_WAKE_REASON_TYPE;
......@@ -11425,6 +11431,172 @@ typedef struct {
A_UINT32 enable; /* WMI_PACKET_FILTER_RUNTIME_ENABLE */
} WMI_PACKET_FILTER_ENABLE_CMD_fixed_param;
#define WMI_LRO_INFO_TCP_FLAG_VALS_BITPOS 0
#define WMI_LRO_INFO_TCP_FLAG_VALS_NUMBITS 9
#define WMI_LRO_INFO_TCP_FLAG_VALS_SET(tcp_flag_u32, tcp_flag_values) \
WMI_SET_BITS(tcp_flag_u32, \
WMI_LRO_INFO_TCP_FLAG_VALS_BITPOS, \
WMI_LRO_INFO_TCP_FLAG_VALS_NUMBITS, \
tcp_flag_values)
#define WMI_LRO_INFO_TCP_FLAG_VALS_GET(tcp_flag_u32) \
WMI_SET_BITS(tcp_flag_u32, \
WMI_LRO_INFO_TCP_FLAG_VALS_BITPOS, \
WMI_LRO_INFO_TCP_FLAG_VALS_NUMBITS)
#define WMI_LRO_INFO_TCP_FLAGS_MASK_BITPOS 9
#define WMI_LRO_INFO_TCP_FLAGS_MASK_NUMBITS 9
#define WMI_LRO_INFO_TCP_FLAGS_MASK_SET(tcp_flag_u32, tcp_flags_mask) \
WMI_SET_BITS(tcp_flag_u32, \
WMI_LRO_INFO_TCP_FLAGS_MASK_BITPOS, \
WMI_LRO_INFO_TCP_FLAGS_MASK_NUMBITS, \
tcp_flags_mask)
#define WMI_LRO_INFO_TCP_FLAGS_MASK_GET(tcp_flag_u32) \
WMI_SET_BITS(tcp_flag_u32, \
WMI_LRO_INFO_TCP_FLAGS_MASK_BITPOS, \
WMI_LRO_INFO_TCP_FLAGS_MASK_NUMBITS)
typedef struct {
A_UINT32 tlv_header;
/**
* @brief lro_enable - indicates whether lro is enabled
* [0] LRO Enable
*/
A_UINT32 lro_enable;
/**
* @brief tcp_flag_u32 - mask of which TCP flags to check and
* values to check for
* [8:0] TCP flag values - If the TCP flags from the packet do not match
* the values in this field after masking with TCP flags mask below,
* LRO eligible will not be set
* [17:9] TCP flags mask - Mask field for comparing the TCP values
* provided above with the TCP flags field in the received packet
* Use WMI_LRO_INFO_TCP_FLAG_VALS and WMI_LRO_INFO_TCP_FLAGS_MASK
* macros to isolate the mask field and values field that are packed
* into this u32 "word".
*/
A_UINT32 tcp_flag_u32;
/**
* @brief toeplitz_hash_ipv4 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv4 packets. Contains
* bytes 0 to 3
*
* In this and all the below toeplitz_hash fields, the bytes are
* specified in little-endian order. For example:
* toeplitz_hash_ipv4_0_3 bits 7:0 holds seed byte 0
* toeplitz_hash_ipv4_0_3 bits 15:8 holds seed byte 1
* toeplitz_hash_ipv4_0_3 bits 23:16 holds seed byte 2
* toeplitz_hash_ipv4_0_3 bits 31:24 holds seed byte 3
*/
A_UINT32 toeplitz_hash_ipv4_0_3;
/**
* @brief toeplitz_hash_ipv4 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv4 packets. Contains
* bytes 4 to 7
*/
A_UINT32 toeplitz_hash_ipv4_4_7;
/**
* @brief toeplitz_hash_ipv4 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv4 packets. Contains
* bytes 8 to 11
*/
A_UINT32 toeplitz_hash_ipv4_8_11;
/**
* @brief toeplitz_hash_ipv4 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv4 packets. Contains
* bytes 12 to 15
*/
A_UINT32 toeplitz_hash_ipv4_12_15;
/**
* @brief toeplitz_hash_ipv4 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv4 packets. Contains
* byte 16
*/
A_UINT32 toeplitz_hash_ipv4_16;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 0 to 3
*/
A_UINT32 toeplitz_hash_ipv6_0_3;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 4 to 7
*/
A_UINT32 toeplitz_hash_ipv6_4_7;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 8 to 11
*/
A_UINT32 toeplitz_hash_ipv6_8_11;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 12 to 15
*/
A_UINT32 toeplitz_hash_ipv6_12_15;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 16 to 19
*/
A_UINT32 toeplitz_hash_ipv6_16_19;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 20 to 22
*/
A_UINT32 toeplitz_hash_ipv6_20_23;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 24 to 27
*/
A_UINT32 toeplitz_hash_ipv6_24_27;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 28 to 31
*/
A_UINT32 toeplitz_hash_ipv6_28_31;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 32 to 35
*/
A_UINT32 toeplitz_hash_ipv6_32_35;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* bytes 36 to 39
*/
A_UINT32 toeplitz_hash_ipv6_36_39;
/**
* @brief toeplitz_hash_ipv6 - contains seed needed to compute
* the flow id 5-tuple toeplitz hash for IPv6 packets. Contains
* byte 40
*/
A_UINT32 toeplitz_hash_ipv6_40;
} wmi_lro_info_cmd_fixed_param;
/* ADD NEW DEFS HERE */
/*****************************************************************************
......
......@@ -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_ 157
#define __WMI_REVISION_ 159
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work
......
......@@ -462,6 +462,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
/** set thermal management params **/
CASE_RETURN_STRING(WMI_THERMAL_MGMT_CMDID);
CASE_RETURN_STRING(WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID);
CASE_RETURN_STRING(WMI_LRO_CONFIG_CMDID);
/* GPIO Configuration */
CASE_RETURN_STRING(WMI_GPIO_CONFIG_CMDID);
CASE_RETURN_STRING(WMI_GPIO_OUTPUT_CMDID);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment