From: Adrian Chadd Date: Tue, 20 Sep 2016 16:19:48 +0000 (-0700) Subject: Merge pull request #93 from olerem/gcc-clean-2016.09.19.1 X-Git-Url: https://jxself.org/git/?p=open-ath9k-htc-firmware.git;a=commitdiff_plain;h=cca769ebf9a967ac03211799610f1e1ba3ba9ba9;hp=1811bad1d8c96d4f027a1347b830003842d828db Merge pull request #93 from olerem/gcc-clean-2016.09.19.1 Gcc clean 2016.09.19.1 --- diff --git a/Makefile b/Makefile index 931c8bc..c7afb9b 100644 --- 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 index facf709..0000000 --- a/local/patches/binutils-elf32-xtensa-sec_cache.patch +++ /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; diff --git a/local/patches/binutils.patch b/local/patches/binutils.patch index 9a8ec65..8246771 100644 --- a/local/patches/binutils.patch +++ b/local/patches/binutils.patch @@ -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 diff --git a/local/patches/gcc.patch b/local/patches/gcc.patch index 9f43902..b26cc56 100644 --- a/local/patches/gcc.patch +++ b/local/patches/gcc.patch @@ -1,28 +1,8 @@ -From c7162b8a3db42e7faf47606d3aa3dd61e64aea17 Mon Sep 17 00:00:00 2001 -From: Sujith Manoharan -Date: Mon, 7 Jan 2013 16:06:28 +0530 -Subject: [PATCH] gcc: AR9271/AR7010 config - -Signed-off-by: Sujith Manoharan ---- - 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 - diff --git a/target_firmware/CMakeLists.txt b/target_firmware/CMakeLists.txt index 56e486a..3710617 100644 --- a/target_firmware/CMakeLists.txt +++ b/target_firmware/CMakeLists.txt @@ -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 index 0000000..3412299 --- /dev/null +++ b/target_firmware/include/rom.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2013 Qualcomm Atheros, Inc. + * Copyright (c) 2016 Oleksij Rempel + * + * 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 +#include +#include + +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_ */ diff --git a/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c b/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c index 451059b..2391034 100755 --- a/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c +++ b/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c @@ -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 + #include "sys_cfg.h" #include "athos_api.h" diff --git a/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.h b/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.h index fa771ec..956eec4 100755 --- a/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.h +++ b/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.h @@ -72,5 +72,6 @@ struct dbg_api { void (*_dbg_task)(void); }; +void cmnos_dbg_module_install(struct dbg_api *apis); #endif diff --git a/target_firmware/magpie_fw_dev/target/hif/k2_HIF_usb_patch.c b/target_firmware/magpie_fw_dev/target/hif/k2_HIF_usb_patch.c index ab8237f..fd0075c 100755 --- a/target_firmware/magpie_fw_dev/target/hif/k2_HIF_usb_patch.c +++ b/target_firmware/magpie_fw_dev/target/hif/k2_HIF_usb_patch.c @@ -42,6 +42,7 @@ #include #include #include +#include #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); } diff --git a/target_firmware/magpie_fw_dev/target/hif/usb_api_magpie_patch.c b/target_firmware/magpie_fw_dev/target/hif/usb_api_magpie_patch.c index 699ce73..3391a69 100755 --- a/target_firmware/magpie_fw_dev/target/hif/usb_api_magpie_patch.c +++ b/target_firmware/magpie_fw_dev/target/hif/usb_api_magpie_patch.c @@ -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 + #include "usb_defs.h" #include "usb_type.h" #include "usb_pre.h" diff --git a/target_firmware/magpie_fw_dev/target/hif/usb_api_main_patch.c b/target_firmware/magpie_fw_dev/target/hif/usb_api_main_patch.c index d1cc35e..3c52e02 100644 --- a/target_firmware/magpie_fw_dev/target/hif/usb_api_main_patch.c +++ b/target_firmware/magpie_fw_dev/target/hif/usb_api_main_patch.c @@ -1,5 +1,8 @@ /* shared patches for k2 and magpie */ +#include +#include + #include "usb_defs.h" #include "usb_type.h" #include "usb_pre.h" diff --git a/target_firmware/magpie_fw_dev/target/inc/adf_net.h b/target_firmware/magpie_fw_dev/target/inc/adf_net.h index 1cf82df..3279b03 100755 --- a/target_firmware/magpie_fw_dev/target/inc/adf_net.h +++ b/target_firmware/magpie_fw_dev/target/inc/adf_net.h @@ -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. * diff --git a/target_firmware/magpie_fw_dev/target/inc/k2/Magpie_api.h b/target_firmware/magpie_fw_dev/target/inc/k2/Magpie_api.h index 1c1b174..c638b69 100755 --- a/target_firmware/magpie_fw_dev/target/inc/k2/Magpie_api.h +++ b/target_firmware/magpie_fw_dev/target/inc/k2/Magpie_api.h @@ -43,7 +43,9 @@ #ifndef _MAGPIE_API_H #define _MAGPIE_API_H +#include #include + #include "cmnos_api.h" #include "vbuf_api.h" #include "vdesc_api.h" diff --git a/target_firmware/magpie_fw_dev/target/init/app_start.c b/target_firmware/magpie_fw_dev/target/init/app_start.c index 8960199..a9d2088 100644 --- a/target_firmware/magpie_fw_dev/target/init/app_start.c +++ b/target_firmware/magpie_fw_dev/target/init/app_start.c @@ -32,6 +32,11 @@ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +#include +#include +#include + #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 // @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 index 0000000..aa2179f --- /dev/null +++ b/target_firmware/magpie_fw_dev/target/init/app_start.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2013 Qualcomm Atheros, Inc. + * Copyright (c) 2016 Oleksij Rempel + * + * 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 + +void __section(boot) __noreturn __visible app_start(void); +void Magpie_init(void); + +#endif /* _ATH_APP_START_H_ */ diff --git a/target_firmware/magpie_fw_dev/target/init/init.c b/target_firmware/magpie_fw_dev/target/init/init.c index 3855b34..aa9f830 100755 --- a/target_firmware/magpie_fw_dev/target/init/init.c +++ b/target_firmware/magpie_fw_dev/target/init/init.c @@ -34,6 +34,9 @@ */ #if defined(_RAM_) +#include +#include + #include "athos_api.h" #include "usb_defs.h" diff --git a/target_firmware/magpie_fw_dev/target/init/init.h b/target_firmware/magpie_fw_dev/target/init/init.h index 89ab2a9..4ad0fe9 100644 --- a/target_firmware/magpie_fw_dev/target/init/init.h +++ b/target_firmware/magpie_fw_dev/target/init/init.h @@ -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); diff --git a/target_firmware/magpie_fw_dev/target/init/magpie.c b/target_firmware/magpie_fw_dev/target/init/magpie.c index 2ed5e8f..186153d 100755 --- a/target_firmware/magpie_fw_dev/target/init/magpie.c +++ b/target_firmware/magpie_fw_dev/target/init/magpie.c @@ -33,6 +33,7 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "sys_cfg.h" +#include "app_start.h" #if defined(_RAM_) diff --git a/target_firmware/magpie_fw_dev/target/rompatch/HIF_usb_patch.c b/target_firmware/magpie_fw_dev/target/rompatch/HIF_usb_patch.c index f931bb3..db3a89e 100755 --- a/target_firmware/magpie_fw_dev/target/rompatch/HIF_usb_patch.c +++ b/target_firmware/magpie_fw_dev/target/rompatch/HIF_usb_patch.c @@ -36,6 +36,7 @@ #include "dt_defs.h" #include "reg_defs.h" +#include #include #include #include @@ -67,7 +68,7 @@ void _HIFusb_isr_handler_patch(hif_handle_t h) { A_USB_FW_TASK(); - _HIFusb_isr_handler(); + _HIFusb_isr_handler(h); } @@ -100,5 +101,5 @@ void _HIFusb_start_patch(hif_handle_t handle) break; } } - _HIFusb_start(); + _HIFusb_start(handle); } diff --git a/target_firmware/magpie_fw_dev/target/wlan/wlan_pci.h b/target_firmware/magpie_fw_dev/target/wlan/wlan_pci.h index 5cdba37..6afc895 100755 --- a/target_firmware/magpie_fw_dev/target/wlan/wlan_pci.h +++ b/target_firmware/magpie_fw_dev/target/wlan/wlan_pci.h @@ -43,6 +43,9 @@ #ifndef _WLAN_PCI_H #define _WLAN_PCI_H +#include +#include + typedef int (*A_PCI_INIT_FUNC)(void); //extern A_PCI_INIT_FUNC g_pci_init_func; diff --git a/target_firmware/wlan/ieee80211_var.h b/target_firmware/wlan/ieee80211_var.h index b410f66..fb7423e 100755 --- a/target_firmware/wlan/ieee80211_var.h +++ b/target_firmware/wlan/ieee80211_var.h @@ -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 diff --git a/target_firmware/wlan/if_ath.c b/target_firmware/wlan/if_ath.c index 2d6a7f7..bea411a 100755 --- a/target_firmware/wlan/if_ath.c +++ b/target_firmware/wlan/if_ath.c @@ -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; diff --git a/target_firmware/wlan/if_athrate.h b/target_firmware/wlan/if_athrate.h index 44e820d..0689020 100755 --- a/target_firmware/wlan/if_athrate.h +++ b/target_firmware/wlan/if_athrate.h @@ -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_ */ diff --git a/target_firmware/wlan/if_athvar.h b/target_firmware/wlan/if_athvar.h index 2c42ee3..40f9ffe 100755 --- a/target_firmware/wlan/if_athvar.h +++ b/target_firmware/wlan/if_athvar.h @@ -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 */ diff --git a/target_firmware/wlan/if_owl.c b/target_firmware/wlan/if_owl.c index e891de5..35b037c 100755 --- a/target_firmware/wlan/if_owl.c +++ b/target_firmware/wlan/if_owl.c @@ -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) { diff --git a/target_firmware/wlan/ratectrl.h b/target_firmware/wlan/ratectrl.h index 08b5457..020d9df 100755 --- a/target_firmware/wlan/ratectrl.h +++ b/target_firmware/wlan/ratectrl.h @@ -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_ */ diff --git a/target_firmware/wlan/ratectrl11n.h b/target_firmware/wlan/ratectrl11n.h index 1123feb..28b8ebd 100755 --- a/target_firmware/wlan/ratectrl11n.h +++ b/target_firmware/wlan/ratectrl11n.h @@ -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_ */