Merge pull request #93 from olerem/gcc-clean-2016.09.19.1
authorAdrian Chadd <adrian.chadd@gmail.com>
Tue, 20 Sep 2016 16:19:48 +0000 (09:19 -0700)
committerGitHub <noreply@github.com>
Tue, 20 Sep 2016 16:19:48 +0000 (09:19 -0700)
Gcc clean 2016.09.19.1

27 files changed:
Makefile
local/patches/binutils-elf32-xtensa-sec_cache.patch [deleted file]
local/patches/binutils.patch
local/patches/gcc.patch
target_firmware/CMakeLists.txt
target_firmware/include/rom.h [new file with mode: 0644]
target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c
target_firmware/magpie_fw_dev/target/cmnos/dbg_api.h
target_firmware/magpie_fw_dev/target/hif/k2_HIF_usb_patch.c
target_firmware/magpie_fw_dev/target/hif/usb_api_magpie_patch.c
target_firmware/magpie_fw_dev/target/hif/usb_api_main_patch.c
target_firmware/magpie_fw_dev/target/inc/adf_net.h
target_firmware/magpie_fw_dev/target/inc/k2/Magpie_api.h
target_firmware/magpie_fw_dev/target/init/app_start.c
target_firmware/magpie_fw_dev/target/init/app_start.h [new file with mode: 0644]
target_firmware/magpie_fw_dev/target/init/init.c
target_firmware/magpie_fw_dev/target/init/init.h
target_firmware/magpie_fw_dev/target/init/magpie.c
target_firmware/magpie_fw_dev/target/rompatch/HIF_usb_patch.c
target_firmware/magpie_fw_dev/target/wlan/wlan_pci.h
target_firmware/wlan/ieee80211_var.h
target_firmware/wlan/if_ath.c
target_firmware/wlan/if_athrate.h
target_firmware/wlan/if_athvar.h
target_firmware/wlan/if_owl.c
target_firmware/wlan/ratectrl.h
target_firmware/wlan/ratectrl11n.h

index 931c8bcc01794d6dd89b0da095a4f1bb28043fd6..c7afb9b1068b71881cf01d28b9d7ce9530a760d4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,25 +1,25 @@
-GMP_VER=5.0.5
+GMP_VER=6.1.1
 GMP_URL=https://ftp.gnu.org/gnu/gmp/gmp-$(GMP_VER).tar.bz2
 GMP_TAR=gmp-$(GMP_VER).tar.bz2
 GMP_DIR=gmp-$(GMP_VER)
 
-MPFR_VER=3.1.1
+MPFR_VER=3.1.4
 MPFR_URL=https://ftp.gnu.org/gnu/mpfr/mpfr-$(MPFR_VER).tar.bz2
 MPFR_TAR=mpfr-$(MPFR_VER).tar.bz2
 MPFR_DIR=mpfr-$(MPFR_VER)
 
-MPC_VER=1.0.1
+MPC_VER=1.0.3
 MPC_URL=https://ftp.gnu.org/gnu/mpc/mpc-$(MPC_VER).tar.gz
 MPC_TAR=mpc-$(MPC_VER).tar.gz
 MPC_DIR=mpc-$(MPC_VER)
 
-BINUTILS_VER=2.23.1
+BINUTILS_VER=2.26.1
 BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/binutils-$(BINUTILS_VER).tar.bz2
 BINUTILS_TAR=binutils-$(BINUTILS_VER).tar.bz2
 BINUTILS_DIR=binutils-$(BINUTILS_VER)
-BINUTILS_PATCHES=local/patches/binutils.patch local/patches/binutils-elf32-xtensa-sec_cache.patch
+BINUTILS_PATCHES=local/patches/binutils.patch
 
-GCC_VER=4.7.4
+GCC_VER=6.2.0
 GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VER)/gcc-$(GCC_VER).tar.bz2
 GCC_TAR=gcc-$(GCC_VER).tar.bz2
 GCC_DIR=gcc-$(GCC_VER)
diff --git a/local/patches/binutils-elf32-xtensa-sec_cache.patch b/local/patches/binutils-elf32-xtensa-sec_cache.patch
deleted file mode 100644 (file)
index facf709..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/bfd/elf32-xtensa.c       2012-06-29 17:46:01.000000000 +0300
-+++ b/bfd/elf32-xtensa.c       2013-05-08 19:16:39.436716824 +0300
-@@ -6075,7 +6075,7 @@
-       release_internal_relocs (sec_cache->sec, sec_cache->relocs);
-       if (sec_cache->ptbl)
-       free (sec_cache->ptbl);
--      memset (sec_cache, 0, sizeof (sec_cache));
-+      memset (sec_cache, 0, sizeof (*sec_cache));
-     }
- }
-@@ -6117,7 +6117,7 @@
-   /* Fill in the new section cache.  */
-   clear_section_cache (sec_cache);
--  memset (sec_cache, 0, sizeof (sec_cache));
-+  memset (sec_cache, 0, sizeof (*sec_cache));
-   sec_cache->sec = sec;
-   sec_cache->contents = contents;
index 9a8ec65de09884f5eba74e603c58ce18162b8bd9..8246771675d3b850a5d94177e3f474b1e84652c1 100644 (file)
@@ -28869,16 +28869,6 @@ diff --git a/include/xtensa-config.h b/include/xtensa-config.h
 index 30f4f41..fe9b051 100644
 --- a/include/xtensa-config.h
 +++ b/include/xtensa-config.h
-@@ -1,7 +1,7 @@
- /* Xtensa configuration settings.
--   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
-+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
-    Free Software Foundation, Inc.
--   Contributed by Bob Wilson (bob.wilson@acm.org) at Tensilica.
-+   Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
 @@ -44,10 +44,7 @@
  #define XCHAL_HAVE_L32R                       1
  
index 9f43902bef595e4c9fbc977438f56d2b1a6197ce..b26cc568aa150df596d5abefc2becf65125d4194 100644 (file)
@@ -1,28 +1,8 @@
-From c7162b8a3db42e7faf47606d3aa3dd61e64aea17 Mon Sep 17 00:00:00 2001
-From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
-Date: Mon, 7 Jan 2013 16:06:28 +0530
-Subject: [PATCH] gcc: AR9271/AR7010 config
-
-Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
----
- include/xtensa-config.h | 36 +++++++++++++++++-------------------
- 1 file changed, 17 insertions(+), 19 deletions(-)
-
 diff --git a/include/xtensa-config.h b/include/xtensa-config.h
-index 30f4f41..fe9b051 100644
+index 5ae4c80..8397564 100644
 --- a/include/xtensa-config.h
 +++ b/include/xtensa-config.h
-@@ -1,7 +1,7 @@
- /* Xtensa configuration settings.
--   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
-+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
-    Free Software Foundation, Inc.
--   Contributed by Bob Wilson (bob.wilson@acm.org) at Tensilica.
-+   Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -44,10 +44,7 @@
+@@ -43,10 +43,7 @@
  #define XCHAL_HAVE_L32R                       1
  
  #undef XSHAL_USE_ABSOLUTE_LITERALS
@@ -34,7 +14,7 @@ index 30f4f41..fe9b051 100644
  
  #undef XCHAL_HAVE_MAC16
  #define XCHAL_HAVE_MAC16              0
-@@ -59,10 +56,10 @@
+@@ -58,10 +55,10 @@
  #define XCHAL_HAVE_MUL32              1
  
  #undef XCHAL_HAVE_MUL32_HIGH
@@ -47,7 +27,7 @@ index 30f4f41..fe9b051 100644
  
  #undef XCHAL_HAVE_NSA
  #define XCHAL_HAVE_NSA                        1
-@@ -103,8 +100,6 @@
+@@ -102,8 +99,6 @@
  #undef XCHAL_HAVE_FP_RSQRT
  #define XCHAL_HAVE_FP_RSQRT           0
  
@@ -56,7 +36,7 @@ index 30f4f41..fe9b051 100644
  #undef XCHAL_HAVE_WINDOWED
  #define XCHAL_HAVE_WINDOWED           1
  
-@@ -119,32 +114,32 @@
+@@ -118,32 +113,32 @@
  
  
  #undef XCHAL_ICACHE_SIZE
@@ -97,7 +77,7 @@ index 30f4f41..fe9b051 100644
  
  
  #undef XCHAL_HAVE_DEBUG
-@@ -157,8 +152,11 @@
+@@ -156,8 +151,11 @@
  #define XCHAL_NUM_DBREAK              2
  
  #undef XCHAL_DEBUGLEVEL
@@ -110,6 +90,3 @@ index 30f4f41..fe9b051 100644
  
  #undef XCHAL_MAX_INSTRUCTION_SIZE
  #define XCHAL_MAX_INSTRUCTION_SIZE    3
--- 
-1.8.1
-
index 56e486a781228a7f7da609e16ef3ed6900dde92d..3710617905ed965ab08a7f7843d981cfc1bccaff 100644 (file)
@@ -77,6 +77,8 @@ ELSE()
 ENDIF()
 
 INCLUDE_DIRECTORIES(
+       ${CMAKE_SOURCE_DIR}/include
+       ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/
        ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc
        ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc/xtensa-elf
        ${CMAKE_SOURCE_DIR}/magpie_fw_dev/target/inc/${PLATFORM_NAME}
diff --git a/target_firmware/include/rom.h b/target_firmware/include/rom.h
new file mode 100644 (file)
index 0000000..3412299
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * Copyright (c) 2016 Oleksij Rempel <linux@rempel-privat.de>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _ATH_ROM_H_
+#define _ATH_ROM_H_
+
+#include <dt_defs.h>
+#include <hif_api.h>
+#include <htc.h>
+
+int strcmp(const char *s1, const char *s2);
+
+LOCAL BOOLEAN bSet_configuration(void);
+LOCAL void HTCControlSvcProcessMsg(HTC_ENDPOINT_ID EndpointID,
+               adf_nbuf_t hdr_buf, adf_nbuf_t pBuffers, void *arg);
+LOCAL void HTCMsgRecvHandler(adf_nbuf_t hdr_buf,
+               adf_nbuf_t buffer, void *context);
+
+void athos_indirection_table_install(void);
+
+void HIFusb_DescTraceDump(void);
+void _HIFusb_isr_handler(hif_handle_t);
+void _HIFusb_start(hif_handle_t);
+void mUsbEPinHighBandSet(uint8_t EPn, uint8_t dir, uint16_t size);
+void mUsbEPMap(uint8_t EPn, uint8_t MAP);
+void mUsbEPMxPtSzHigh(uint8_t EPn, uint8_t dir, uint16_t size);
+void mUsbEPMxPtSzLow(uint8_t EPn, uint8_t dir, uint16_t size);
+void mUsbFIFOConfig(uint8_t FIFOn, uint8_t cfg);
+void mUsbFIFOMap(uint8_t FIFOn, uint8_t MAP);
+
+#endif /* _ATH_ROM_H_ */
index 451059bd0e19592679757a242e76d49dc1758396..2391034452e30f121d529db3b081538afc33de04 100755 (executable)
@@ -32,6 +32,9 @@
  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
+#include <rom.h>
+
 #include "sys_cfg.h"
 #include "athos_api.h"
 
index fa771ec6b5feaa0684d6f1673bfed9fc162c0bff..956eec41d5338abba7f08aa6ee873d09483f8cb4 100755 (executable)
@@ -72,5 +72,6 @@ struct dbg_api {
     void (*_dbg_task)(void);
 };
 
+void cmnos_dbg_module_install(struct dbg_api *apis);
 
 #endif
index ab8237f54f99653bbcdeca80d9d8088ba79e0a8a..fd0075c82aee2068b110845de5eef080ca87c123 100755 (executable)
@@ -42,6 +42,7 @@
 #include <vdesc_api.h>
 #include <adf_os_mem.h> 
 #include <adf_os_io.h>
+#include <rom.h>
 
 #include "hif_usb.h"
 
@@ -67,5 +68,5 @@ void _HIFusb_isr_handler_patch(hif_handle_t h)
 {
     A_USB_FW_TASK();
 
-    _HIFusb_isr_handler();
+    _HIFusb_isr_handler(h);
 }
index 699ce73a32bd9349581bf5744e7a441ba0d1e231..3391a698e0b48b584ef70b0e330e5dc0d1dbe931 100755 (executable)
@@ -32,6 +32,9 @@
  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
+#include <init/app_start.h>
+
 #include "usb_defs.h"
 #include "usb_type.h"
 #include "usb_pre.h"
index d1cc35e4e7132d7f49092456dab46ac3f7a1c7f5..3c52e02dbf5e0e0d8e25ad0f483d893a2e116ffb 100644 (file)
@@ -1,5 +1,8 @@
 /* shared patches for k2 and magpie */
 
+#include <ah_osdep.h>
+#include <rom.h>
+
 #include "usb_defs.h"
 #include "usb_type.h"
 #include "usb_pre.h"
index 1cf82dff8a7942b4da3ed3e671a733eb4fc105e4..3279b03bcb04a4d1061ae8fcfbb43b025fcccd5c 100755 (executable)
@@ -121,20 +121,6 @@ adf_net_dev_create(adf_drv_handle_t   hdl,
     return (__adf_net_dev_create(hdl, op, info));
 }
 
-
-/**
- * @brief unregister a real device with the kernel
- * 
- * @param[in] hdl opaque device handle returned by adf_net_dev_create()
- * @see adf_net_dev_create()
- */
-static inline void
-adf_net_dev_delete(adf_net_handle_t hdl)
-{
-    __adf_net_dev_delete(hdl);
-}
-
-
 /**
  * @brief register a virtual device with the kernel.
  * A virtual device is always backed by a real device.
@@ -157,66 +143,6 @@ adf_net_vdev_create(adf_net_handle_t   dev_hdl,
     return (__adf_net_vdev_create(dev_hdl, hdl, op, info));
 }
 
-
-/**
- * @brief unregister the virtual device with the kernel.
- * 
- * @param[in] hdl opaque device handle returned by adf_net_vdev_create()
- *
- * @see adf_net_vdev_create()
- */
-static inline void
-adf_net_vdev_delete(adf_net_handle_t hdl)
-{
-    __adf_net_vdev_delete(hdl);
-}
-
-
-/**
- * @brief open the real device
- * 
- * @param[in] hdl opaque device handle
- * 
- * @return status of the operation
- *
- * @see adf_net_dev_create()
- */
-static inline a_status_t
-adf_net_dev_open(adf_net_handle_t hdl)
-{
-        return (__adf_net_dev_open(hdl));
-}
-
-
-/**
- * @brief close the real device
- * 
- * @param[in] hdl opaque device handle
- * 
- * @see adf_net_dev_open()
- */
-static inline void
-adf_net_dev_close(adf_net_handle_t hdl)
-{
-    __adf_net_dev_close(hdl);
-}
-
-
-/**
- * @brief transmit a network buffer using a device
- * 
- * @param[in] hdl opaque device handle
- * @param[in] pkt network buffer to transmit
- * 
- * @return status of the operation
- */
-static inline a_status_t 
-adf_net_dev_tx(adf_net_handle_t hdl, adf_nbuf_t pkt)
-{
-       return (__adf_net_dev_tx(hdl,pkt));
-}
-
-
 /**
  * @brief Checks if the interface is running or not
  * 
@@ -344,45 +270,6 @@ adf_net_queue_stopped(adf_net_handle_t hdl)
     return(__adf_net_queue_stopped(hdl));
 }
 
-
-/**
- * @brief This indicates a packet to the networking stack
- * (minus the FCS). The driver should just strip
- * the FCS and give the packet as a whole. This is
- * necessary because different native stacks have
- * different expectation of how they want to recv the
- * packet. This fucntion will strip off whatever is
- * required for the OS interface. The routine will also
- * figure out whether its being called in irq context and
- * call the appropriate OS API.
- * 
- * @param[in] hdl opaque device handle
- * @param[in] pkt network buffer to indicate
- * @param[in] len length of buffer
- */
-static inline void 
-adf_net_indicate_packet(adf_net_handle_t hdl, adf_nbuf_t pkt, a_uint32_t len)
-{
-    __adf_net_indicate_packet(hdl, pkt, len);
-}
-
-/**
- * @brief use this when indicating a vlan tagged packet on RX
- * 
- * @param[in] hdl opaque device handle
- * @param[in] pkt network buffer to indicate
- * @param[in] len length of buffer
- * @param[in] vid vlan id
- * 
- * @return status of operation
- */
-static inline a_status_t 
-adf_net_indicate_vlanpkt(adf_net_handle_t hdl, adf_nbuf_t pkt, 
-                         a_uint32_t len, adf_net_vid_t *vid)
-{
-    return (__adf_net_indicate_vlanpkt(hdl, pkt, len, vid));
-}
-
 /**
  * @brief get interface name
  * 
@@ -396,60 +283,6 @@ adf_net_ifname(adf_net_handle_t  hdl)
     return (__adf_net_ifname(hdl));
 }
 
-/**
- * @brief send management packets to apps (listener).
- * This is used for wireless applications.
- * 
- * @param[in] hdl opaque device handle
- * @param[in] pkt network buffer to send
- * @param[in] len length of buffer
- */
-static inline void
-adf_net_fw_mgmt_to_app(adf_net_handle_t hdl, adf_nbuf_t pkt, a_uint32_t len)
-{
-    __adf_net_fw_mgmt_to_app(hdl, pkt, len);
-}
-/**
- * @brief send wireless events to listening applications
- * 
- * @param[in] hdl opaque device handle
- * @param[in] what event to send
- * @param[in] data information about event
- * @param[in] data_len length of accompanying information
- */
-static inline void
-adf_net_send_wireless_event(adf_net_handle_t hdl, 
-                            adf_net_wireless_event_t what, 
-                            void *data, adf_os_size_t data_len)
-{
-    __adf_net_send_wireless_event(hdl, what, data, data_len); 
-}
-
-/**
- * @brief schedule the poll controller.
- * 
- * @param[in] hdl opaque device handle
- */
-static inline void 
-adf_net_poll_schedule(adf_net_handle_t hdl)
-{
-    __adf_net_poll_schedule(hdl);
-}
-
-
-/**
- * @brief per cpu deffered callback (e.g. for RSS)
- * 
- * @param[in] hdl opaque device handle
- * @param[in] cpu_msk
- * @param[in] arg
- */
-static inline void 
-adf_net_poll_schedule_cpu(adf_net_handle_t hdl, a_uint32_t cpu_msk, void *arg)
-{
-    __adf_net_poll_schedule_cpu(hdl, cpu_msk, arg);
-}
-
 /**
  * @brief Get OS Handle from OS device object.
  *
index 1c1b17487671cc9d79c539bc8e0fe2d62ee86aa1..c638b69bc5e8b13229b75ac9799721c3796c5352 100755 (executable)
@@ -43,7 +43,9 @@
 #ifndef _MAGPIE_API_H
 #define _MAGPIE_API_H
 
+#include <dbg_api.h>
 #include <sys_cfg.h>
+
 #include "cmnos_api.h"
 #include "vbuf_api.h"
 #include "vdesc_api.h"
index 8960199a204daab16f281f27046160d372bb128a..a9d208895ca39794e557ed0fd781b8b1683bb9ba 100644 (file)
  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
+#include <wlan_pci.h>
+#include <Magpie_api.h>
+#include <rom.h>
+
 #include "dt_defs.h"
 #include "athos_api.h"
 
@@ -41,6 +46,7 @@
 #include "adf_os_io.h"
 
 #include "init.h"
+#include "app_start.h"
 #include <linux/compiler.h>
 
 // @TODO: Should define the memory region later~
diff --git a/target_firmware/magpie_fw_dev/target/init/app_start.h b/target_firmware/magpie_fw_dev/target/init/app_start.h
new file mode 100644 (file)
index 0000000..aa2179f
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * Copyright (c) 2016 Oleksij Rempel <linux@rempel-privat.de>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef _ATH_APP_START_H_
+#define _ATH_APP_START_H_
+
+#include <linux/compiler.h>
+
+void __section(boot) __noreturn __visible app_start(void);
+void Magpie_init(void);
+
+#endif /* _ATH_APP_START_H_ */
index 3855b34d7484093ee9b371539683f08f4747fde2..aa9f8303cf7712aa8939af67c9e44caae5843fd7 100755 (executable)
@@ -34,6 +34,9 @@
  */
 #if defined(_RAM_)
 
+#include <wlan_pci.h>
+#include <rom.h>
+
 #include "athos_api.h"
 #include "usb_defs.h"
 
index 89ab2a92ad892400fff9b7f2a2b968c7eb8da46e..4ad0fe9d3fe418d47a487b3282334455aed7b68d 100644 (file)
@@ -66,7 +66,11 @@ extern void _fw_usb_reset_fifo(void);
 
 #endif
 
+#if defined(PROJECT_MAGPIE)
+void change_magpie_clk(void);
+#endif
 
 void fatal_exception_func();
 void init_mem();
 void __noreturn wlan_task();
+void reset_EP4_FIFO(void);
index 2ed5e8f9522d90db8fe0f213871012c570ad1903..186153d80b2ab7a18a087b95dc24c8ec358be6af 100755 (executable)
@@ -33,6 +33,7 @@
  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include "sys_cfg.h"
+#include "app_start.h"
 
 #if defined(_RAM_)
 
index f931bb310a31fd02bb46a4be1045fb6f4efabb6a..db3a89e23c106a293d36165d6e1a0c1300dfdd69 100755 (executable)
@@ -36,6 +36,7 @@
 #include "dt_defs.h"\r
 #include "reg_defs.h"\r
 \r
+#include <rom.h>
 #include <osapi.h>\r
 #include <hif_api.h>\r
 #include <Magpie_api.h>\r
@@ -67,7 +68,7 @@ void _HIFusb_isr_handler_patch(hif_handle_t h)
 {\r
     A_USB_FW_TASK();\r
 \r
-    _HIFusb_isr_handler();\r
+    _HIFusb_isr_handler(h);
 }\r
 \r
 \r
@@ -100,5 +101,5 @@ void _HIFusb_start_patch(hif_handle_t handle)
             break;\r
         }\r
     }\r
-    _HIFusb_start();\r
+    _HIFusb_start(handle);
 }\r
index 5cdba374926d4bc212463060cb5f902a8b82b232..6afc895c90bc6663ad9216ee99af1c0cd3d3617d 100755 (executable)
@@ -43,6 +43,9 @@
 #ifndef _WLAN_PCI_H
 #define _WLAN_PCI_H
 
+#include <adf_os_stdtypes.h>
+#include <adf_os_types.h>
+
 typedef int (*A_PCI_INIT_FUNC)(void);
 
 //extern A_PCI_INIT_FUNC g_pci_init_func;
index b410f66db0eb4012ed3cd2e1a91a253281f56680..fb7423e51ce05ec1750a6a5dbb211b55179b8710 100755 (executable)
@@ -219,4 +219,9 @@ ieee80211_anyhdrsize(const void *data)
                return ieee80211_hdrsize(data);
 }
 
+a_status_t
+ieee80211_tgt_crypto_encap(struct ieee80211_frame *wh,
+                          struct ieee80211_node_target *ni,
+                          a_uint8_t keytype);
+
 #endif
index 2d6a7f793623dc004714bf35255cc50efa3b8b23..bea411a58112ec4f5dd1906ea8a61f46f9a9d4ec 100755 (executable)
@@ -56,6 +56,8 @@
 #include "if_athvar.h"
 #include "ah_desc.h"
 #include "ah.h"
+#include "ratectrl.h"
+#include "ah_internal.h"
 
 static a_int32_t ath_numrxbufs = -1;
 static a_int32_t ath_numrxdescs = -1;
index 44e820d25f4dd83296c7e88e682ac29e408d3726..068902012dce335ba0c2784524f42304145afad7 100755 (executable)
@@ -113,4 +113,10 @@ void ath_rate_tx_complete(struct ath_softc_tgt *, struct ath_node_target *,
 void ath_rate_stateupdate(struct ath_softc_tgt *sc, struct ath_node_target *an, 
                          enum ath_rc_cwmode cwmode);
 
+
+void ath_tx_status_update_rate(struct ath_softc_tgt *sc,
+                              struct ath_rc_series rcs[],
+                              int series,
+                              WMI_TXSTATUS_EVENT *txs);
+
 #endif /* _ATH_RATECTRL_H_ */
index 2c42ee3f5158f60121e1345745b719f52f111bce..40f9ffe239b45cd79ec5d9a0fa47b058df99c480 100755 (executable)
@@ -488,5 +488,14 @@ typedef enum {
 } owl_txq_state_t;
 
 a_uint8_t ath_get_minrateidx(struct ath_softc_tgt *sc, struct ath_vap_target *avp);
+void ath_tgt_tx_cleanup(struct ath_softc_tgt *sc, struct ath_node_target *an,
+                       ath_atx_tid_t *tid, a_uint8_t discard_all);
+void ath_tgt_handle_normal(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
+void ath_tgt_handle_aggr(struct ath_softc_tgt *sc, struct ath_tx_buf *bf);
+void ath_tgt_tid_drain(struct ath_softc_tgt *sc, struct ath_atx_tid *tid);
+void ath_tx_status_clear(struct ath_softc_tgt *sc);
+
+void wmi_event(wmi_handle_t handle, WMI_EVENT_ID evt_id,
+              void *buffer, a_int32_t Length);
 
 #endif /* _DEV_ATH_ATHVAR_H */
index e891de5456ad164c45c0edfc85006e744971051d..35b037c471a85667be03779cd3f724a8bcad0e1e 100755 (executable)
@@ -57,6 +57,7 @@
 #include "if_athrate.h"
 #include "if_athvar.h"
 #include "ah_desc.h"
+#include "ah_internal.h"
 
 #define ath_tgt_free_skb  adf_nbuf_free
 
@@ -147,6 +148,8 @@ static void ath_tx_comp_cleanup(struct ath_softc_tgt *sc, struct ath_tx_buf *bf)
 int ath_tgt_tx_add_to_aggr(struct ath_softc_tgt *sc,
                           struct ath_buf *bf,int datatype,
                           ath_atx_tid_t *tid, int is_burst);
+int ath_tgt_tx_form_aggr(struct ath_softc_tgt *sc, ath_atx_tid_t *tid,
+                        ath_tx_bufhead *bf_q);
 
 struct ieee80211_frame *ATH_SKB_2_WH(adf_nbuf_t skb)
 {
index 08b545795ba27e89b3637fa9355377ec73b81972..020d9df54d336648064bea1be3521503f20486e2 100755 (executable)
@@ -284,4 +284,17 @@ struct fusion_rate_info {
 
 void ar5416AttachRateTables(struct atheros_softc *sc);
 
+void ath_rate_node_update(struct ath_softc_tgt *sc,
+                         struct ath_node_target *an,
+                         a_int32_t isnew,
+                         a_uint32_t capflag,
+                         struct ieee80211_rate *rs);
+
+
+void ath_rate_newstate(struct ath_softc_tgt *sc,
+                      struct ieee80211vap_target *vap,
+                      enum ieee80211_state state,
+                      a_uint32_t capflag,
+                      struct ieee80211_rate *rs);
+
 #endif /* _RATECTRL_H_ */
index 1123febeab34dfba88adde76f23b64b7d7416d13..28b8ebdbeb079348daac97a1e5bb19bd46d53c8a 100755 (executable)
@@ -183,9 +183,4 @@ void rcUpdate_11n(struct ath_softc_tgt *sc,
                  int nBad,
                  int sh_lo_retry);
 
-void ath_tx_status_update_rate(struct ath_softc_tgt *sc,
-                              struct ath_rc_series rcs[],
-                              int series,
-                              WMI_TXSTATUS_EVENT *txs);
-
 #endif /* _RATECTRL11N_H_ */