Merge remote-tracking branch 'origin/wlan-cmn.driver.lnx.1.0-dev' into wlan-cmn.driver.lnx.2.0-dev

Fast-forwarding wlan-cmn.driver.lnx.2.0-dev to the tip of
wlan-cmn.driver.lnx.1.0-dev which has driver version 5.1.0.22W

* origin/wlan-cmn.driver.lnx.1.0-dev:
  Release 5.1.0.22W
  qcacmn: Modify __qdf_assert to invoke QDF_BUG
  Release 5.1.0.22V
  qcacmn: Reduce wake up IRQ enable/disable log level
  Release 5.1.0.22U
  qcacmn: Add API to update mark parameter in sk_buff structure
  qcacmn: Send anycast addresses for NS offload
  Release 5.1.0.22T
  qcacmn: Add support to provide assoc IEs to FW in RSO command
  qcacmn: Send anycast addresses for NS offload

Change-Id: Ibc028c027427b2b31bb0123be2bcc0236b7c7389
This commit is contained in:
Vishwajith Upendra 2016-08-30 11:31:39 -07:00
commit a57aacae73
7 changed files with 81 additions and 5 deletions

View file

@ -1,2 +1,2 @@
Current Component wlan-cmn.driver.lnx.1.0 version 5.1.0.22S
Current Component wlan-cmn.driver.lnx.1.0 version 5.1.0.22W
Matches Component wlan-cld3.driver.lnx.1.1 version 5.1.0.22C

View file

@ -371,8 +371,8 @@ QDF_STATUS hif_snoc_setup_wakeup_sources(struct hif_softc *scn, bool enable)
return QDF_STATUS_E_RESOURCES;
}
HIF_ERROR("%s: expecting wake from ce %d, irq %d",
__func__, dl_pipe, irq_to_wake_on);
HIF_INFO("%s: expecting wake from ce %d, irq %d enable %d",
__func__, dl_pipe, irq_to_wake_on, enable);
return QDF_STATUS_SUCCESS;
}

View file

@ -2057,4 +2057,17 @@ qdf_nbuf_get_priv_ptr(qdf_nbuf_t buf)
*/
unsigned int qdf_nbuf_update_radiotap(struct mon_rx_status *rx_status,
qdf_nbuf_t nbuf, uint32_t headroom_sz);
/**
* qdf_nbuf_mark_wakeup_frame() - mark wakeup frame.
* @buf: Pointer to nbuf
*
* Return: None
*/
static inline void
qdf_nbuf_mark_wakeup_frame(qdf_nbuf_t buf)
{
__qdf_nbuf_mark_wakeup_frame(buf);
}
#endif /* _QDF_NBUF_H */

View file

@ -66,6 +66,9 @@ typedef struct sk_buff *__qdf_nbuf_t;
#define QDF_NBUF_CB_PACKET_TYPE_WAPI 3
#define QDF_NBUF_CB_PACKET_TYPE_DHCP 4
/* mark the first packet after wow wakeup */
#define QDF_MARK_FIRST_WAKEUP_PACKET 0x80000000
/*
* Make sure that qdf_dma_addr_t in the cb block is always 64 bit aligned
*/
@ -1655,5 +1658,16 @@ static inline void __qdf_invalidate_range(void *start, void *end)
}
#endif
/**
* __qdf_nbuf_mark_wakeup_frame() - mark wakeup frame.
* @buf: Pointer to nbuf
*
* Return: None
*/
static inline void
__qdf_nbuf_mark_wakeup_frame(__qdf_nbuf_t buf)
{
buf->mark |= QDF_MARK_FIRST_WAKEUP_PACKET;
}
#endif /*_I_QDF_NET_BUF_H */

View file

@ -203,7 +203,7 @@ static inline bool __qdf_is_macaddr_equal(struct qdf_mac_addr *mac_addr1,
pr_err("Assertion failed! %s:%s %s:%d\n", \
# expr, __func__, __FILE__, __LINE__); \
dump_stack(); \
BUG_ON(1); \
QDF_BUG(0); \
} \
} while (0)

View file

@ -237,6 +237,8 @@
#define TARGET_INIT_STATUS_GEN_FAILED 0x1
#define TARGET_GET_INIT_STATUS_REASON(status) ((status) & 0xffff)
#define TARGET_GET_INIT_STATUS_MODULE_ID(status) (((status) >> 16) & 0xffff)
#define MAX_ASSOC_IE_LENGTH 1024
typedef uint32_t TARGET_INIT_STATUS;
typedef enum {
@ -1714,6 +1716,8 @@ struct roam_offload_scan_params {
* structure */
roam_offload_param roam_offload_params;
#endif
uint32_t assoc_ie_length;
uint8_t assoc_ie[MAX_ASSOC_IE_LENGTH];
};
/* struct roam_offload_scan_rssi_params - structure containing
@ -3080,6 +3084,7 @@ struct wmi_dual_mac_config {
* @self_macaddr: self mac address
* @srcIPv6AddrValid: src ipv6 address valid flag
* @targetIPv6AddrValid: target ipv6 address valid flag
* @target_ipv6_addr_ac_type: target ipv6 address type
* @slotIdx: slot index
*/
struct ns_offload_req_params {
@ -3089,6 +3094,7 @@ struct ns_offload_req_params {
struct qdf_mac_addr self_macaddr;
uint8_t srcIPv6AddrValid;
uint8_t targetIPv6AddrValid[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
uint8_t target_ipv6_addr_ac_type[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
uint8_t slotIdx;
};
#endif /* WLAN_NS_OFFLOAD */

View file

@ -4082,6 +4082,7 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
wmi_roam_11i_offload_tlv_param *roam_offload_11i;
wmi_roam_11r_offload_tlv_param *roam_offload_11r;
wmi_roam_ese_offload_tlv_param *roam_offload_ese;
wmi_tlv_buf_len_param *assoc_ies;
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
/* Need to create a buf with roam_scan command at
* front and piggyback with scan command */
@ -4116,13 +4117,17 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
} else {
len += WMI_TLV_HDR_SIZE;
}
len += (sizeof(*assoc_ies) + (2*WMI_TLV_HDR_SIZE)
+ roundup(roam_req->assoc_ie_length,
sizeof(uint32_t)));
} else {
if (roam_req->is_roam_req_valid)
WMI_LOGD("%s : roam offload = %d",
__func__, roam_req->roam_offload_enabled);
else
WMI_LOGD("%s : roam_req is NULL", __func__);
len += (2 * WMI_TLV_HDR_SIZE);
len += (4 * WMI_TLV_HDR_SIZE);
}
if (roam_req->is_roam_req_valid &&
roam_req->roam_offload_enabled) {
@ -4138,6 +4143,7 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
}
buf_ptr = (uint8_t *) wmi_buf_data(buf);
roam_scan_mode_fp = (wmi_roam_scan_mode_fixed_param *) buf_ptr;
WMITLV_SET_HDR(&roam_scan_mode_fp->tlv_header,
WMITLV_TAG_STRUC_wmi_roam_scan_mode_fixed_param,
@ -4312,7 +4318,30 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
buf_ptr += WMI_TLV_HDR_SIZE;
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
WMITLV_GET_STRUCT_TLVLEN(0));
buf_ptr += WMI_TLV_HDR_SIZE;
}
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
sizeof(*assoc_ies));
buf_ptr += WMI_TLV_HDR_SIZE;
assoc_ies = (wmi_tlv_buf_len_param *) buf_ptr;
WMITLV_SET_HDR(&assoc_ies->tlv_header,
WMITLV_TAG_STRUC_wmi_tlv_buf_len_param,
WMITLV_GET_STRUCT_TLVLEN(wmi_tlv_buf_len_param));
assoc_ies->buf_len = roam_req->assoc_ie_length;
buf_ptr += sizeof(*assoc_ies);
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE,
roundup(assoc_ies->buf_len, sizeof(uint32_t)));
buf_ptr += WMI_TLV_HDR_SIZE;
if (assoc_ies->buf_len != 0) {
qdf_mem_copy(buf_ptr, roam_req->assoc_ie,
assoc_ies->buf_len);
}
} else {
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
WMITLV_GET_STRUCT_TLVLEN(0));
@ -4325,6 +4354,12 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
buf_ptr += WMI_TLV_HDR_SIZE;
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
WMITLV_GET_STRUCT_TLVLEN(0));
buf_ptr += WMI_TLV_HDR_SIZE;
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
WMITLV_GET_STRUCT_TLVLEN(0));
buf_ptr += WMI_TLV_HDR_SIZE;
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_BYTE,
WMITLV_GET_STRUCT_TLVLEN(0));
}
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
status = wmi_unified_cmd_send(wmi_handle, buf,
@ -9823,6 +9858,10 @@ QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle,
A_MEMCPY(&ns_tuple->solicitation_ipaddr,
&param->nsOffloadInfo.
selfIPv6Addr[i], sizeof(WMI_IPV6_ADDR));
if (param->nsOffloadInfo.
target_ipv6_addr_ac_type[i])
ns_tuple->flags |=
WMI_NSOFF_FLAGS_IS_IPV6_ANYCAST;
WMI_LOGD("NS solicitedIp: %pI6, targetIp: %pI6",
&param->nsOffloadInfo.selfIPv6Addr[i],
&param->nsOffloadInfo.
@ -9893,6 +9932,10 @@ QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle,
A_MEMCPY(&ns_tuple->solicitation_ipaddr,
&param->nsOffloadInfo.selfIPv6Addr[i],
sizeof(WMI_IPV6_ADDR));
if (param->nsOffloadInfo.
target_ipv6_addr_ac_type[i])
ns_tuple->flags |=
WMI_NSOFF_FLAGS_IS_IPV6_ANYCAST;
WMI_LOGD("Index %d NS solicitedIp: %pI6, targetIp: %pI6", i,
&param->nsOffloadInfo.selfIPv6Addr[i],
&param->nsOffloadInfo.targetIPv6Addr[i]);