]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/ath/wcn36xx/hal.h
Merge remote-tracking branch 'bjorn/for-srini/wcn36xx-fixes-4.4' into release/qcomlt-4.4
[karo-tx-linux.git] / drivers / net / wireless / ath / wcn36xx / hal.h
index df4425d410e664c34a1064334ab073ad873d83ca..c5c347a2748f9c0f50c5bbb71ffab9673552d5d1 100644 (file)
 
 #define WCN36XX_HAL_IPV4_ADDR_LEN       4
 
-#define WALN_HAL_STA_INVALID_IDX 0xFF
+#define WCN36XX_HAL_STA_INVALID_IDX 0xFF
 #define WCN36XX_HAL_BSS_INVALID_IDX 0xFF
 
-/* Default Beacon template size */
-#define BEACON_TEMPLATE_SIZE 0x180
+/* Default Beacon template size. */
+#define BEACON_TEMPLATE_SIZE 0x17C
+
+/* Minimum PVM size that the FW expects. See comment in smd.c for details. */
+#define TIM_MIN_PVM_SIZE 6
 
 /* Param Change Bitmap sent to HAL */
 #define PARAM_BCN_INTERVAL_CHANGED                      (1 << 0)
@@ -2886,6 +2889,9 @@ struct update_beacon_rsp_msg {
 struct wcn36xx_hal_send_beacon_req_msg {
        struct wcn36xx_hal_msg_header header;
 
+       /* length of the template + 6. Only qcom knows why */
+       u32 beacon_length6;
+
        /* length of the template. */
        u32 beacon_length;
 
@@ -4263,9 +4269,9 @@ struct wcn36xx_hal_rcv_flt_mc_addr_list_type {
        u8 data_offset;
 
        u32 mc_addr_count;
-       u8 mc_addr[ETH_ALEN][WCN36XX_HAL_MAX_NUM_MULTICAST_ADDRESS];
+       u8 mc_addr[WCN36XX_HAL_MAX_NUM_MULTICAST_ADDRESS][ETH_ALEN];
        u8 bss_index;
-};
+} __packed;
 
 struct wcn36xx_hal_set_pkt_filter_rsp_msg {
        struct wcn36xx_hal_msg_header header;
@@ -4319,7 +4325,7 @@ struct wcn36xx_hal_rcv_flt_pkt_clear_rsp_msg {
 struct wcn36xx_hal_rcv_flt_pkt_set_mc_list_req_msg {
        struct wcn36xx_hal_msg_header header;
        struct wcn36xx_hal_rcv_flt_mc_addr_list_type mc_addr_list;
-};
+} __packed;
 
 struct wcn36xx_hal_rcv_flt_pkt_set_mc_list_rsp_msg {
        struct wcn36xx_hal_msg_header header;