I'll point out that there is a lot of work being done on these drivers right now in terms of making significant changes to how they do buffering that in increasing network speed as well as reducing latency

search the follwoing lists for [make-wifi-fast] to see the details and benchmarks
make-wifi-f...@lists.bufferbloat.net, 
ath9k-de...@venema.h4ckr.net,linux-wirel...@vger.kernel.org

David Lang

On Tue, 21 Jun 2016, gree...@candelatech.com wrote:

Date: Tue, 21 Jun 2016 15:00:17 -0700
From: gree...@candelatech.com
To: lede-dev@lists.infradead.org
Cc: Ben Greear <gree...@candelatech.com>
Subject: [LEDE-DEV] [PATCH] Support Candela-Tech ath10k and ath9k       
out-of-tree
    driver.

From: Ben Greear <gree...@candelatech.com>

This lets one use the ath9k and ath10k driver instead of the built-in
ath10k/ath9k driver from the upstream kernel (or backports).

For ath10k, this should be a drop-in replacement, as well as enabling
better CT firmware support.

For ath9k, this enables some 5Mhz channel and 4.9Ghz support,
but may loose some existing patches that LEDE carries for ath9k.

Signed-off-by: Ben Greear <gree...@candelatech.com>
---
package/firmware/ath10k-firmware/Makefile |  2 +-
package/kernel/ath-ct/Makefile            | 74 +++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+), 1 deletion(-)
create mode 100644 package/kernel/ath-ct/Makefile

diff --git a/package/firmware/ath10k-firmware/Makefile 
b/package/firmware/ath10k-firmware/Makefile
index fcd6167..635aede 100644
--- a/package/firmware/ath10k-firmware/Makefile
+++ b/package/firmware/ath10k-firmware/Makefile
@@ -28,7 +28,7 @@ define Package/ath10k-firmware-default
  CATEGORY:=Kernel modules
  SUBMENU:=$(WMENU)
  URL:=$(PKG_SOURCE_URL)
-  DEPENDS:=kmod-ath10k
+  DEPENDS:=
endef

define Package/ath10k-firmware-qca988x
diff --git a/package/kernel/ath-ct/Makefile b/package/kernel/ath-ct/Makefile
new file mode 100644
index 0000000..4441c14
--- /dev/null
+++ b/package/kernel/ath-ct/Makefile
@@ -0,0 +1,74 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ath-ct
+PKG_VERSION:=2016-06-21
+PKG_RELEASE=1
+
+PKG_LICENSE:=GPLv2
+PKG_LICENSE_FILES:=
+
+PKG_SOURCE_URL:=https://github.com/greearb/ath-ct.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=b003b75d885595fbc18f4fd9b3aef9189a63f21e
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
+
+PKG_MAINTAINER:=Ben Greear <gree...@candelatech.com>
+PKG_BUILD_PARALLEL:=1
+
+STAMP_CONFIGURED_DEPENDS := 
$(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
+
+include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/ath-ct
+  SUBMENU:=Wireless Drivers
+  TITLE:=ath10k-ct driver optimized for CT ath10k firmware
+  DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT @PCI_SUPPORT
+  FILES:=\
+       $(PKG_BUILD_DIR)/ath.ko \
+       $(PKG_BUILD_DIR)/ath9k/ath9k_hw.ko \
+       $(PKG_BUILD_DIR)/ath9k/ath9k_common.ko \
+       $(PKG_BUILD_DIR)/ath9k/ath9k_htc.ko \
+       $(PKG_BUILD_DIR)/ath9k/ath9k_hw.ko \
+       $(PKG_BUILD_DIR)/ath9k/ath9k.ko \
+       $(PKG_BUILD_DIR)/ath10k/ath10k_pci.ko \
+       $(PKG_BUILD_DIR)/ath10k/ath10k_core.ko
+  AUTOLOAD:=$(call AutoLoad,50,mac80211 ath ath10k_core ath10k_pci)
+endef
+
+NOSTDINC_FLAGS = \
+       -I$(PKG_BUILD_DIR) \
+       -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
+       -I$(STAGING_DIR)/usr/include/mac80211-backport \
+       -I$(STAGING_DIR)/usr/include/mac80211/uapi \
+       -I$(STAGING_DIR)/usr/include/mac80211 \
+       -include backport/autoconf.h \
+       -include backport/backport.h
+
+ifdef CONFIG_PACKAGE_MAC80211_MESH
+  NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
+endif
+
+NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS -DCONFIG_MAC80211_DEBUGFS 
-DCONFIG_ATH10K_DEBUG -DCONFIG_ATH10K_AHB
+NOSTDINC_FLAGS += -DCONFIG_ATH9K_PCI -DCONFIG_ATH9K_DEBUGFS 
-DCONFIG_ATH9K_DFS_DEBUGFS -DCONFIG_ATH9K_CHANNEL_CONTEXT
+NOSTDINC_FLAGS += -DCONFIG_ATH9K_HTC_DEBUGFS -DCONFIG_ATH_DEBUG 
-DCONFIG_ATH9K_BTCOEX_SUPPORT
+NOSTDINC_FLAGS += -DCONFIG_ATH9K_RFKILL -DCONFIG_ATH9K_DYNACK 
-DCONFIG_ATH9K_HWRNG
+NOSTDINC_FLAGS += -DSTANDALONE_CT
+
+define Build/Compile
+       +CONFIG_ATH_COMMON=m CONFIG_ATH_DEBUG=y \
+        CONFIG_ATH9K=m CONFIG_ATH9K_HW=m CONFIG_ATH9K_COMMON=m 
CONFIG_ATH9K_PCI=y \
+         CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_ATH9K_RFKILL=y 
CONFIG_ATH9K_DYNACK=y \
+         CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_DFS_DEBUGFS=y 
CONFIG_ATH9K_BTCOEX_SUPPORT=y CONFIG_ATH9K_STATION_STATISTICS=m \
+         CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HWRNG=y \
+         CONFIG_ATH10K=m CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y 
CONFIG_ATH10K_PCI=m CONFIG_ATH10K_AHB=y \
+         $(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
+               ARCH="$(LINUX_KARCH)" \
+               CROSS_COMPILE="$(TARGET_CROSS)" \
+               SUBDIRS="$(PKG_BUILD_DIR)" \
+               NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
+               modules
+endef
+
+$(eval $(call KernelPackage,ath-ct))


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to