Browse Source

mac80211: update to LEDE 6c2651566cce8f5b3a3d3b976439dee2bac5e07e

Also switch to kmod-ath10k-ct, so we can drop our AP+IBSS patch.
Matthias Schiffer 7 years ago
parent
commit
91881f45dc

+ 85 - 0
patches/openwrt/0006-ar71xx-define-wmac-reset-function-for-QCA955x.patch

@@ -0,0 +1,85 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Tue, 19 Jul 2016 17:48:53 +0200
+Subject: ar71xx: define wmac reset function for QCA955x
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+
+Backport of LEDE a176168a85477caa44eef7e979567d1d52868fde
+
+diff --git a/target/linux/ar71xx/patches-3.18/640-MIPS-ath79-add-QCA955x-wmac-reset.patch b/target/linux/ar71xx/patches-3.18/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
+new file mode 100644
+index 0000000..4ac5acd
+--- /dev/null
++++ b/target/linux/ar71xx/patches-3.18/640-MIPS-ath79-add-QCA955x-wmac-reset.patch
+@@ -0,0 +1,71 @@
++--- a/arch/mips/ath79/common.h
+++++ b/arch/mips/ath79/common.h
++@@ -19,6 +19,8 @@
++ #define ATH79_MEM_SIZE_MIN	(2 * 1024 * 1024)
++ #define ATH79_MEM_SIZE_MAX	(128 * 1024 * 1024)
++ 
+++extern void __iomem *ath79_ddr_base;
+++
++ void ath79_clocks_init(void);
++ unsigned long ath79_get_sys_clk_rate(const char *id);
++ 
++--- a/arch/mips/ath79/dev-wmac.c
+++++ b/arch/mips/ath79/dev-wmac.c
++@@ -149,6 +149,27 @@ static void ar934x_wmac_setup(void)
++ 		ath79_wmac_data.is_clk_25mhz = true;
++ }
++ 
+++static int ar955x_wmac_reset(void)
+++{
+++	int i;
+++
+++	/* Try to wait for WMAC DDR activity to stop */
+++	for (i = 0; i < 10; i++) {
+++		if (!(__raw_readl(ath79_ddr_base + QCA955X_DDR_CTL_CONFIG) &
+++		      QCA955X_DDR_CTL_CONFIG_ACT_WMAC))
+++			break;
+++
+++		udelay(10);
+++	}
+++
+++	ath79_device_reset_set(QCA955X_RESET_RTC);
+++	udelay(10);
+++	ath79_device_reset_clear(QCA955X_RESET_RTC);
+++	udelay(10);
+++
+++	return 0;
+++}
+++
++ static void qca955x_wmac_setup(void)
++ {
++ 	u32 t;
++@@ -165,6 +186,8 @@ static void qca955x_wmac_setup(void)
++ 		ath79_wmac_data.is_clk_25mhz = false;
++ 	else
++ 		ath79_wmac_data.is_clk_25mhz = true;
+++
+++	ath79_wmac_data.external_reset = ar955x_wmac_reset;
++ }
++ 
++ static bool __init
++--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
++@@ -32,7 +32,7 @@
++ #define AR71XX_SPI_SIZE		0x01000000
++ 
++ #define AR71XX_DDR_CTRL_BASE	(AR71XX_APB_BASE + 0x00000000)
++-#define AR71XX_DDR_CTRL_SIZE	0x100
+++#define AR71XX_DDR_CTRL_SIZE	0x200
++ #define AR71XX_UART_BASE	(AR71XX_APB_BASE + 0x00020000)
++ #define AR71XX_UART_SIZE	0x100
++ #define AR71XX_USB_CTRL_BASE	(AR71XX_APB_BASE + 0x00030000)
++@@ -173,6 +173,9 @@
++ #define AR934X_DDR_REG_FLUSH_PCIE	0xa8
++ #define AR934X_DDR_REG_FLUSH_WMAC	0xac
++ 
+++#define QCA955X_DDR_CTL_CONFIG		0x108
+++#define QCA955X_DDR_CTL_CONFIG_ACT_WMAC	BIT(23)
+++
++ /*
++  * PLL block
++  */

+ 0 - 42
patches/openwrt/0007-mac80211-ath10k-allow-simultaneous-AP-IBSS.patch

@@ -1,42 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Wed, 20 May 2015 23:10:36 +0200
-Subject: mac80211: ath10k: allow simultaneous AP+IBSS
-
-diff --git a/package/kernel/mac80211/patches/950-ath10k_AP_IBSS.patch b/package/kernel/mac80211/patches/950-ath10k_AP_IBSS.patch
-new file mode 100644
-index 0000000..956c3fd
---- /dev/null
-+++ b/package/kernel/mac80211/patches/950-ath10k_AP_IBSS.patch
-@@ -0,0 +1,32 @@
-+--- a/drivers/net/wireless/ath/ath10k/mac.c
-++++ b/drivers/net/wireless/ath/ath10k/mac.c
-+@@ -7521,6 +7521,10 @@ static const struct ieee80211_iface_limi
-+ 			| BIT(NL80211_IFTYPE_MESH_POINT)
-+ #endif
-+ 	},
-++	{
-++	.max    = 1,
-++	.types  = BIT(NL80211_IFTYPE_ADHOC)
-++	},
-+ };
-+ 
-+ static const struct ieee80211_iface_limit ath10k_10x_if_limits[] = {
-+@@ -7535,6 +7539,10 @@ static const struct ieee80211_iface_limi
-+ 		.max	= 1,
-+ 		.types	= BIT(NL80211_IFTYPE_STATION)
-+ 	},
-++	{
-++	.max    = 1,
-++	.types  = BIT(NL80211_IFTYPE_ADHOC)
-++	},
-+ };
-+ 
-+ static const struct ieee80211_iface_combination ath10k_if_comb[] = {
-+@@ -7920,6 +7928,7 @@ int ath10k_mac_register(struct ath10k *a
-+ 		ar->hw->wiphy->iface_combinations = ath10k_10x_if_comb;
-+ 		ar->hw->wiphy->n_iface_combinations =
-+ 			ARRAY_SIZE(ath10k_10x_if_comb);
-++		ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
-+ 		break;
-+ 	case ATH10K_FW_WMI_OP_VERSION_10_4:
-+ 		ar->hw->wiphy->iface_combinations = ath10k_10_4_if_comb;

File diff suppressed because it is too large
+ 305 - 602
patches/openwrt/0007-mac80211-update-to-LEDE-6c2651566cce8f5b3a3d3b976439dee2bac5e07e.patch


+ 1 - 1
patches/openwrt/0105-mt76-fix-build-with-kernel-3.18.patch

@@ -20,7 +20,7 @@ index 0000000..ea389cd
 + 
 + /*
 diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile
-index 0f832e4..801188f 100644
+index 90430b9..47f41da 100644
 --- a/package/kernel/mt76/Makefile
 +++ b/package/kernel/mt76/Makefile
 @@ -24,7 +24,7 @@ include $(INCLUDE_DIR)/package.mk

+ 5 - 5
targets/ar71xx-generic/profiles.mk

@@ -158,7 +158,7 @@ $(eval $(call GluonModel,TLWR2543,tl-wr2543-v1,tp-link-tl-wr2543n-nd-v1))
 
 ifneq ($(BROKEN),)
 # Archer C5 v1, C7 v2
-$(eval $(call GluonProfile,ARCHERC7,kmod-ath10k ath10k-firmware-qca988x-ct))
+$(eval $(call GluonProfile,ARCHERC7,kmod-ath10k-ct ath10k-firmware-qca988x-ct))
 $(eval $(call GluonModel,ARCHERC7,archer-c5,tp-link-archer-c5-v1)) # BROKEN: ath10k
 $(eval $(call GluonModel,ARCHERC7,archer-c7-v2,tp-link-archer-c7-v2)) # BROKEN: ath10k
 endif
@@ -195,11 +195,11 @@ endif
 
 # Ubiquiti (ath10k)
 ifneq ($(BROKEN),)
-$(eval $(call GluonProfile,UBNTUNIFIACLITE,kmod-ath10k ath10k-firmware-qca988x-ct))
+$(eval $(call GluonProfile,UBNTUNIFIACLITE,kmod-ath10k-ct ath10k-firmware-qca988x-ct))
 $(eval $(call GluonProfileFactorySuffix,UBNTUNIFIACLITE))
 $(eval $(call GluonModel,UBNTUNIFIACLITE,ubnt-unifiac-lite,ubiquiti-unifi-ac-lite)) # BROKEN: untested, ath10k
 
-$(eval $(call GluonProfile,UBNTUNIFIACPRO,kmod-ath10k ath10k-firmware-qca988x-ct))
+$(eval $(call GluonProfile,UBNTUNIFIACPRO,kmod-ath10k-ct ath10k-firmware-qca988x-ct))
 $(eval $(call GluonProfileFactorySuffix,UBNTUNIFIACPRO))
 $(eval $(call GluonModel,UBNTUNIFIACPRO,ubnt-unifiac-pro,ubiquiti-unifi-ac-pro)) # BROKEN: ath10k
 endif
@@ -314,7 +314,7 @@ $(eval $(call GluonModel,OMEGA,onion-omega,onion-omega))
 ## OpenMesh
 
 # MR1750
-$(eval $(call GluonProfile,MR1750,om-watchdog uboot-envtools kmod-ath10k ath10k-firmware-qca988x-ct))
+$(eval $(call GluonProfile,MR1750,om-watchdog uboot-envtools kmod-ath10k-ct ath10k-firmware-qca988x-ct))
 $(eval $(call GluonModel,MR1750,mr1750,openmesh-mr1750))
 $(eval $(call GluonModelAlias,MR1750,openmesh-mr1750,openmesh-mr1750v2))
 
@@ -343,7 +343,7 @@ $(eval $(call GluonModel,OM5P,om5p,openmesh-om5p))
 $(eval $(call GluonModelAlias,OM5P,openmesh-om5p,openmesh-om5p-an))
 
 # OM5P-AC
-$(eval $(call GluonProfile,OM5PAC,om-watchdog uboot-envtools kmod-ath10k ath10k-firmware-qca988x-ct))
+$(eval $(call GluonProfile,OM5PAC,om-watchdog uboot-envtools kmod-ath10k-ct ath10k-firmware-qca988x-ct))
 $(eval $(call GluonModel,OM5PAC,om5pac,openmesh-om5p-ac))
 $(eval $(call GluonModelAlias,OM5PAC,openmesh-om5p-ac,openmesh-om5p-acv2))
 

Some files were not shown because too many files changed in this diff