PKG_SOURCE_URL:=https://github.com/openwrt/mt76
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2021-01-27
-PKG_SOURCE_VERSION:=8696919d9aae9b673f916bca41c5e1671eec5b0e
-PKG_MIRROR_HASH:=82675e11f537eaa2fe2c1029880f7993ed4401d0d59b12faf6dbe96ac3eb8308
+PKG_SOURCE_DATE:=2021-02-14
+PKG_SOURCE_VERSION:=289cd7804587dc48f776d450db9cd3762692a370
+PKG_MIRROR_HASH:=91885feca9d935586c6e33a8e3734bfa61991d869bf42ac0d1c8c3b19bfa9653
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_BUILD_PARALLEL:=1
AUTOLOAD:=$(call AutoProbe,mt7603e)
endef
+define KernelPackage/mt76-connac
+ $(KernelPackage/mt76-default)
+ TITLE:=MediaTek MT7615/MT79xx wireless driver common code
+ HIDDEN:=1
+ DEPENDS+=+kmod-mt76-core
+ FILES:= $(PKG_BUILD_DIR)/mt76-connac-lib.ko
+endef
+
define KernelPackage/mt7615-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT7615 wireless driver common code
HIDDEN:=1
- DEPENDS+=@PCI_SUPPORT +kmod-mt76-core
+ DEPENDS+=@PCI_SUPPORT +kmod-mt76-core +kmod-mt76-connac
FILES:= $(PKG_BUILD_DIR)/mt7615/mt7615-common.ko
endef
AUTOLOAD:=$(call AutoProbe,mt7915e)
endef
+define KernelPackage/mt7921e
+ $(KernelPackage/mt76-default)
+ TITLE:=MediaTek MT7921e wireless driver
+ DEPENDS+=@PCI_SUPPORT +kmod-mt76-connac
+ FILES:= $(PKG_BUILD_DIR)/mt7921/mt7921e.ko
+ AUTOLOAD:=$(call AutoProbe,mt7921e)
+endef
+
define Package/mt76-test
SECTION:=devel
CATEGORY:=Development
ifdef CONFIG_PACKAGE_kmod-mt7603
PKG_MAKE_FLAGS += CONFIG_MT7603E=m
endif
+ifdef CONFIG_PACKAGE_kmod-mt76-connac
+ PKG_MAKE_FLAGS += CONFIG_MT76_CONNAC_LIB=m
+endif
ifdef CONFIG_PACKAGE_kmod-mt7615-common
PKG_MAKE_FLAGS += CONFIG_MT7615_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7915e
PKG_MAKE_FLAGS += CONFIG_MT7915E=m
endif
+ifdef CONFIG_PACKAGE_kmod-mt7921e
+ PKG_MAKE_FLAGS += CONFIG_MT7921E=m
+endif
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
$(eval $(call KernelPackage,mt76x2u))
$(eval $(call KernelPackage,mt76x2))
$(eval $(call KernelPackage,mt7603))
+$(eval $(call KernelPackage,mt76-connac))
$(eval $(call KernelPackage,mt7615-common))
$(eval $(call KernelPackage,mt7615-firmware))
$(eval $(call KernelPackage,mt7615e))
$(eval $(call KernelPackage,mt7663u))
$(eval $(call KernelPackage,mt7663s))
$(eval $(call KernelPackage,mt7915e))
+$(eval $(call KernelPackage,mt7921e))
$(eval $(call KernelPackage,mt76))
$(eval $(call BuildPackage,mt76-test))
+++ /dev/null
---- a/mt7615/mcu.c
-+++ b/mt7615/mcu.c
-@@ -730,12 +730,12 @@ mt7615_mcu_add_beacon_offload(struct mt7
- memcpy(req.pkt + MT_TXD_SIZE, skb->data, skb->len);
- req.pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
- req.tim_ie_pos = cpu_to_le16(MT_TXD_SIZE + offs.tim_offset);
-- if (offs.csa_counter_offs[0]) {
-+ if (offs.cntdwn_counter_offs[0]) {
- u16 csa_offs;
-
-- csa_offs = MT_TXD_SIZE + offs.csa_counter_offs[0] - 4;
-+ csa_offs = MT_TXD_SIZE + offs.cntdwn_counter_offs[0] - 4;
- req.csa_ie_pos = cpu_to_le16(csa_offs);
-- req.csa_cnt = skb->data[offs.csa_counter_offs[0]];
-+ req.csa_cnt = skb->data[offs.cntdwn_counter_offs[0]];
- }
- dev_kfree_skb(skb);
-
-@@ -1801,10 +1801,10 @@ mt7615_mcu_uni_add_beacon_offload(struct
- req.beacon_tlv.pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
- req.beacon_tlv.tim_ie_pos = cpu_to_le16(MT_TXD_SIZE + offs.tim_offset);
-
-- if (offs.csa_counter_offs[0]) {
-+ if (offs.cntdwn_counter_offs[0]) {
- u16 csa_offs;
-
-- csa_offs = MT_TXD_SIZE + offs.csa_counter_offs[0] - 4;
-+ csa_offs = MT_TXD_SIZE + offs.cntdwn_counter_offs[0] - 4;
- req.beacon_tlv.csa_ie_pos = cpu_to_le16(csa_offs);
- }
- dev_kfree_skb(skb);
---- a/mt7915/mcu.c
-+++ b/mt7915/mcu.c
-@@ -2358,7 +2358,7 @@ mt7915_mcu_beacon_csa(struct sk_buff *rs
- struct bss_info_bcn *bcn,
- struct ieee80211_mutable_offsets *offs)
- {
-- if (offs->csa_counter_offs[0]) {
-+ if (offs->cntdwn_counter_offs[0]) {
- struct tlv *tlv;
- struct bss_info_bcn_csa *csa;
-
-@@ -2366,7 +2366,7 @@ mt7915_mcu_beacon_csa(struct sk_buff *rs
- sizeof(*csa), &bcn->sub_ntlv,
- &bcn->len);
- csa = (struct bss_info_bcn_csa *)tlv;
-- csa->cnt = skb->data[offs->csa_counter_offs[0]];
-+ csa->cnt = skb->data[offs->cntdwn_counter_offs[0]];
- }
- }
-
-@@ -2388,8 +2388,8 @@ mt7915_mcu_beacon_cont(struct mt7915_dev
- cont->pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
- cont->tim_ofs = cpu_to_le16(offs->tim_offset);
-
-- if (offs->csa_counter_offs[0])
-- cont->csa_ofs = cpu_to_le16(offs->csa_counter_offs[0] - 4);
-+ if (offs->cntdwn_counter_offs[0])
-+ cont->csa_ofs = cpu_to_le16(offs->cntdwn_counter_offs[0] - 4);
-
- buf = (u8 *)tlv + sizeof(*cont);
- mt7915_mac_write_txwi(dev, (__le32 *)buf, skb, wcid, NULL,
---- a/mac80211.c
-+++ b/mac80211.c
-@@ -1082,7 +1082,7 @@ EXPORT_SYMBOL_GPL(mt76_get_txpower);
- static void
- __mt76_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif)
- {
-- if (vif->csa_active && ieee80211_csa_is_complete(vif))
-+ if (vif->csa_active && ieee80211_beacon_cntdwn_is_complete(vif))
- ieee80211_csa_finish(vif);
- }
-
-@@ -1107,7 +1107,7 @@ __mt76_csa_check(void *priv, u8 *mac, st
- if (!vif->csa_active)
- return;
-
-- dev->csa_complete |= ieee80211_csa_is_complete(vif);
-+ dev->csa_complete |= ieee80211_beacon_cntdwn_is_complete(vif);
- }
-
- void mt76_csa_check(struct mt76_dev *dev)