net: wifi: rockchip: update broadcom drivers for kernel4.4
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rkwifi / bcmdhd / bcmevent.c
index dc308d71028b400906d93bc6c1bdf2ab3869f59e..1746f47fd613bdd813f7065ae8893eb221d189ee 100755 (executable)
@@ -1,12 +1,35 @@
 /*
  * bcmevent read-only data shared by kernel or app layers
  *
- * $Copyright Open Broadcom Corporation$
- * $Id: bcmevent.c 492377 2014-07-21 19:54:06Z $
+ * Copyright (C) 1999-2016, Broadcom Corporation
+ * 
+ *      Unless you and Broadcom execute a separate written software license
+ * agreement governing use of this software, this software is licensed to you
+ * under the terms of the GNU General Public License version 2 (the "GPL"),
+ * available at http://www.broadcom.com/licenses/GPLv2.php, with the
+ * following added to such license:
+ * 
+ *      As a special exception, the copyright holders of this software give you
+ * permission to link this software with independent modules, and to copy and
+ * distribute the resulting executable under terms of your choice, provided that
+ * you also meet, for each linked independent module, the terms and conditions of
+ * the license of that module.  An independent module is a module which is not
+ * derived from this software.  The special exception does not apply to any
+ * modifications of the software.
+ * 
+ *      Notwithstanding the above, under no circumstances may you combine this
+ * software in any way with any other Broadcom software provided under a license
+ * other than the GPL, without Broadcom's express prior written consent.
+ *
+ *
+ * <<Broadcom-WL-IPTag/Open:>>
+ *
+ * $Id: bcmevent.c 530174 2015-01-29 09:47:55Z $
  */
 
 #include <typedefs.h>
 #include <bcmutils.h>
+#include <bcmendian.h>
 #include <proto/ethernet.h>
 #include <proto/bcmeth.h>
 #include <proto/bcmevent.h>
@@ -56,16 +79,13 @@ static const bcmevent_name_str_t bcmevent_names[] = {
        BCMEVENT_NAME(WLC_E_BCNLOST_MSG),
        BCMEVENT_NAME(WLC_E_ROAM_PREP),
        BCMEVENT_NAME(WLC_E_PFN_NET_FOUND),
+       BCMEVENT_NAME(WLC_E_PFN_SCAN_ALLGONE),
        BCMEVENT_NAME(WLC_E_PFN_NET_LOST),
 #if defined(IBSS_PEER_DISCOVERY_EVENT)
        BCMEVENT_NAME(WLC_E_IBSS_ASSOC),
 #endif /* defined(IBSS_PEER_DISCOVERY_EVENT) */
        BCMEVENT_NAME(WLC_E_RADIO),
        BCMEVENT_NAME(WLC_E_PSM_WATCHDOG),
-#if defined(BCMCCX) && defined(CCX_SDK)
-       BCMEVENT_NAME(WLC_E_CCX_ASSOC_START),
-       BCMEVENT_NAME(WLC_E_CCX_ASSOC_ABORT),
-#endif /* BCMCCX && CCX_SDK */
        BCMEVENT_NAME(WLC_E_PROBREQ_MSG),
        BCMEVENT_NAME(WLC_E_SCAN_CONFIRM_IND),
        BCMEVENT_NAME(WLC_E_PSK_SUP),
@@ -75,25 +95,15 @@ static const bcmevent_name_str_t bcmevent_names[] = {
        BCMEVENT_NAME(WLC_E_UNICAST_DECODE_ERROR),
        BCMEVENT_NAME(WLC_E_MULTICAST_DECODE_ERROR),
        BCMEVENT_NAME(WLC_E_TRACE),
-#ifdef WLBTAMP
-       BCMEVENT_NAME(WLC_E_BTA_HCI_EVENT),
-#endif
        BCMEVENT_NAME(WLC_E_IF),
 #ifdef WLP2P
        BCMEVENT_NAME(WLC_E_P2P_DISC_LISTEN_COMPLETE),
 #endif
        BCMEVENT_NAME(WLC_E_RSSI),
-       BCMEVENT_NAME(WLC_E_PFN_SCAN_COMPLETE),
        BCMEVENT_NAME(WLC_E_EXTLOG_MSG),
-#ifdef WIFI_ACT_FRAME
        BCMEVENT_NAME(WLC_E_ACTION_FRAME),
        BCMEVENT_NAME(WLC_E_ACTION_FRAME_RX),
        BCMEVENT_NAME(WLC_E_ACTION_FRAME_COMPLETE),
-#endif
-#ifdef BCMWAPI_WAI
-       BCMEVENT_NAME(WLC_E_WAI_STA_EVENT),
-       BCMEVENT_NAME(WLC_E_WAI_MSG),
-#endif /* BCMWAPI_WAI */
        BCMEVENT_NAME(WLC_E_ESCAN_RESULT),
        BCMEVENT_NAME(WLC_E_ACTION_FRAME_OFF_CHAN_COMPLETE),
 #ifdef WLP2P
@@ -143,20 +153,25 @@ static const bcmevent_name_str_t bcmevent_names[] = {
 #ifdef PROP_TXSTATUS
        BCMEVENT_NAME(WLC_E_BCMC_CREDIT_SUPPORT),
 #endif
+       BCMEVENT_NAME(WLC_E_PSTA_PRIMARY_INTF_IND),
        BCMEVENT_NAME(WLC_E_TXFAIL_THRESH),
-#ifdef WLAIBSS
-       BCMEVENT_NAME(WLC_E_AIBSS_TXFAIL),
-#endif /* WLAIBSS */
+#ifdef GSCAN_SUPPORT
+       BCMEVENT_NAME(WLC_E_PFN_GSCAN_FULL_RESULT),
+       BCMEVENT_NAME(WLC_E_PFN_SWC),
+#endif /* GSCAN_SUPPORT */
 #ifdef WLBSSLOAD_REPORT
        BCMEVENT_NAME(WLC_E_BSS_LOAD),
 #endif
 #if defined(BT_WIFI_HANDOVER) || defined(WL_TBOW)
        BCMEVENT_NAME(WLC_E_BT_WIFI_HANDOVER_REQ),
 #endif
-#ifdef WLFBT
-       BCMEVENT_NAME(WLC_E_FBT_AUTH_REQ_IND),
-#endif /* WLFBT */
+       BCMEVENT_NAME(WLC_E_AUTHORIZED),
+       BCMEVENT_NAME(WLC_E_PROBREQ_MSG_RX),
+       BCMEVENT_NAME(WLC_E_CSA_START_IND),
+       BCMEVENT_NAME(WLC_E_CSA_DONE_IND),
+       BCMEVENT_NAME(WLC_E_CSA_FAILURE_IND),
        BCMEVENT_NAME(WLC_E_RMC_EVENT),
+       BCMEVENT_NAME(WLC_E_DPSTA_INTF_IND),
 };
 
 
@@ -183,3 +198,33 @@ const char *bcmevent_get_name(uint event_type)
         */
        return ((event_name) ? event_name : "Unknown Event");
 }
+
+void
+wl_event_to_host_order(wl_event_msg_t * evt)
+{
+       /* Event struct members passed from dongle to host are stored in network
+       * byte order. Convert all members to host-order.
+       */
+       evt->event_type = ntoh32(evt->event_type);
+       evt->flags = ntoh16(evt->flags);
+       evt->status = ntoh32(evt->status);
+       evt->reason = ntoh32(evt->reason);
+       evt->auth_type = ntoh32(evt->auth_type);
+       evt->datalen = ntoh32(evt->datalen);
+       evt->version = ntoh16(evt->version);
+}
+
+void
+wl_event_to_network_order(wl_event_msg_t * evt)
+{
+       /* Event struct members passed from dongle to host are stored in network
+       * byte order. Convert all members to host-order.
+       */
+       evt->event_type = hton32(evt->event_type);
+       evt->flags = hton16(evt->flags);
+       evt->status = hton32(evt->status);
+       evt->reason = hton32(evt->reason);
+       evt->auth_type = hton32(evt->auth_type);
+       evt->datalen = hton32(evt->datalen);
+       evt->version = hton16(evt->version);
+}