mt76: update to latest, adds mt76x0u and mt76x2u support, fixes a mt7603 powersave issue

d220f43 Revert "mt76x2: reset HW before probe"
0853d79 Revert "mt76x2: add functions for setting extended MAC address registers"
8ba17b1 Revert "mt76: use a per rx queue page fragment cache"
3f0ac35 mt76x2: init: disable APCLI by default
38014de mt76x2: remove unnecessary break in mt76x2_mac_process_tx_rate()
fbf4791 mt76x2: fix TXD_INFO bitmask definition
d00c616 mt76x2: fix mrr idx/count estimation in mt76x2_mac_fill_tx_status()
0d42d22 mt76: introduce mt76_{incr,decr} utility routines
0f6379a mt76x2: dfs: add sw event ring buffer
df8071f mt76x2: dfs: add sw pattern detector
016df9c mt76x2: debugfs: add sw pulse statistics to dfs debugfs
a6915cb mt76: move MT_TXD_INFO, MT_MCU_MSG and MT_RX_FCE_INFO defs in dma.h
911e6aa mt76x2: move mt76x2_fw_header and mt76x2_patch_header definitions in mcu.h
c55d29b mt76x2: move utility routines in mt76x2.h
d08ea82 mt76x2: introduce mt76x2_init_device routine
6a1e809 mt76x2: move interface_modes definition in mt76x2_init
5aa0972 mt76x2: introduce mt76x2_mac_load_tx_status routine
730b86c mt76x2: add napi struct to mt76_rx_poll_complete/mt76_rx_complete signatures
1ab6cea mt76x2: add buffer len to mt76x2_mac_write_txwi signature
7ac6dac mt76: rename mt76_tx_queue_skb in mt76_dma_tx_queue_skb
66f3949 mt76: introduce tx_queue_skb function pointer in mt76_bus_ops
d099694 mt76: introduce mt76x2-common module
9bf1aa1 mt76: add mt76x2_tx_common to mt76x2-common module
29f960a mt76: add mt76x2_mac_common to mt76x2-common module
8f568ce mt76: add mt76x2_init_common to mt76x2-common module
61c4c61 mt76: add mt76x2_common to mt76x2-common module
264edbe mt76: add mt76x2_phy_common to mt76x2-common module
7625508 mt76: move mt76x2_debugfs in mt76-common module
99a3afa mt76: add usb support to mt76 layer
25b4598 mt76: add driver code for MT76x2u based devices
253c443 mt76x0: core files
6ed7bc2 mt76x0: mac files
a2c1068 mt76x0: usb files
c332481 mt76x0: mcu files
0d7d9ed mt76x0: phy files
5d50834 mt76x0: init files
c633654 mt76x0: eeprom files
18a9d4e mt76x0: trace and debugfs files
7395bba mt76x0: dma and tx files
08dec4c mt76x0: main file
5892efd mt76: add more states
e176af8 mt76: Kconfig and Makefile for mt76x0 driver
5c38d48 mt76x0: disable HW before probe
2f37f60 mt76x0: load firmware from mediatek subdir
1388140 mt76x0: rename mt76_* functions
1cb65d5 mt76x0: rename trace symbols
4fe2b16 mt76x0: correct type for eeprom gain value
560b643 mt76x0: perform mt76x0_mac_set_ampdu_factor
d1645aa mt76x0: Remove VLA usage
f8a0da4 mt76: Fix comparisons with invalid hardware key index
884eca5 mt76: unify wait_for_mac
fc636f0 mt76: rename mt76x2_regs.h
493feb9 mt76: merge mt76x0/regs.h into mt76x02_regs.h
a238099 mt76: create new mt76x02-lib module for common mt76x{0,2} code
55bceee mt76: unify mac_get_key_info
f6c19cf mt76: add helpers for register access with mt76_dev struct
34a95b8 mt76: unify mac_shared_key_setup
4286255 mt76: unify mt76x02_mac_wcid_set_key
732535e mt76: unify mac_wcid_setup
51b74ac mt76: use mac_wcid_set_drop in mt76x0
1b4a98f mt76x0: use mt76_wcid_free in mt76x0
fcf2130 mt76: unify mt76x02_vif struct
1f35eb5 mt76: unify sta structure part 1
086ea9f mt76: unify sta structure part 2
caff9a2 mt76x0: initalize custom tx queues
7362da7 mt76x0: use mt76x02_sta and mt76x02_tx_status
3a03aa1 mt76: move mt76_reg_pair definition in mt76.h
a853831 mt76: split __mt76u_mcu_send_msg and mt76u_mcu_send_msg routines
a80564f mt76: move mt76x2u_mcu_deinit routine in mt76-usb module
ac92496 mt76: add multiple regs read support to usb_mcu layer
8b0e08f mt76x0: use mt76u_init for bus initialization
ef32115 mt76x0: remove mt76x0_vendor_reset routine
949858f mt76x0: remove mt76x0_vendor_single_wr routine
21ecb9b mt76x0: remove mt76x0_mcu_msg_alloc routine
4cfeebb mt76x0: use shared mt76 usb mcu completion
2600712 mt76x0: remove mt76x0_complete_urb routine
0bd0fe8 mt76x0: remove mt76x0_vendor_request routine
f88bde2 mt76x0: remove unused mt76x0_wait_asic_ready routine
7eca333 mt76x0: use mt76u_mcu_send_msg utility routine to send fw cmds
8fedb79 mt76x0: remove unused mt76x0_mcu structure
e8fe4f3 mt76x0: use mt76u_mcu_fw_send_data for fw uploading
b9c46a8 mt76x0: remove unused routines for usb_buff alloc/free
ed3366d mt76: Enable NL80211_EXT_FEATURE_CQM_RSSI_LIST
9867146 mt76: verify evt type in usb mcu response
82a8c8a mt76: move wcid fields to common mt76_dev struct
f409c6b mt76: unify sta_add / sta_remove
d972ddd mt76: pratially unify add_interface
f8f5788 mt76x0: fix wrong usage of wcid_mask in remove_interface
380f89c mt76: unify ampdu_action
8c7098e mt76: unify set_key
2a20cfc mt76x0: remove empty sta_notify
a690333 mt76: unify AC to hw queue mapping
4453308 mt76: unify conf_tx
d9352cb mt76x0: remove vif_mask
196720e mt76: unify remove_interface
57c3e89 mt76: unify add_interface
91fce2f mt76: unify sta_rate_tbl_update and related helpers
3977f48 mt76: unify txwi and rxwi structures
41e0403 mt76: unify load_tx_status
4674502 mt76: unify send_tx_status and related helpers
02816b0 mt76: use mt76_rx_status in mt76x0
0a17b1e mt76: unify mac_process_rate
8aac175 mt76x0: reserve enough space in mac80211
81a655a mt76: unify {insert/remove}_hdr_pad
d8f7d2e mt76: partially unify filling txwi fields
3533718 mt76x2: change mt76x2_tx_complete routine signature
469aeb1 mt76: move mt76x2_tx_complete routine in mt76x02-lib module
87f138b mt76: move mt76x2u_remove_dma_hdr in mt76x02-lib module
c87a7e8 mt76: move mt76x2u_tx_complete_skb in mt76x02-lib moudule
b85e072 mt76: move mt76_qsel definition in dma.h
53b3c5a mt76: move mt76x2u_set_txinfo in mt76x02-lib module
34cec25 mt76x0: introduce mt76x0_tx_prepare_skb routine
6c5ac15 mt76: move mt76x2u_tx_status_data in mt76x02-lib module
0ba8261 mt76x0: init mt76_driver_ops callbacks
2615090 mt76x0: use mt76_alloc_device for device allocation
3c40eaf mt76x0: disable usb rx bulk aggregation
746edd7 mt76x0: mark device as running in mt76x0_start
dd77785 mt76x0: simplify mt76_mac_process_rx signature
3739601 mt76x0: add mt76x0_queue_rx_skb routine
062aaa8 mt76x0: unify tx/rx datapath with mt76x2u driver
85f171f mt76x0: stop stat workqueue at hw stop
8c68115 mt76x0: set max fragments size
ac02f5c mt76x0: remove unused dma.c source file
964df72 mt76x0: remove unused stat work_queue
afb34b8 mt76x0: remove unused {tx/rx}_queue definitions
a4fd791 mt76x0: remove unused mt76x0_tx_status routine
0e92ff6 mt76x0: remove unused endpoint definitions
8340e19 mt76x0: remove unused stat_work
bfbbf05 mt76x0: enable per-sta tx queueing
a8fcaa3 mt76x0: init hw capabilities
6a9b73c mt76x0: trim rx skb to proper length
aa0c279 mt76: remove unused MT76_MORE_STATS state
873d792 mt76x0: remove mt76x0_stop_hardware routine
246a216 mt76: move mt76 rate definitions in mt76x02-lib module
aae3fb8 mt76x0: alloc mcu buffers first in mt76x0_mcu_cmd_init
3c693a1 mt76x0: fix memory leak during hw probe
98faee1 mt76x0: move stop related routines in mt76x0_mac_stop
d07c02a mt76x0: move mt76x0_init_hardware in mt76x0_register_device
12c01f4 mt76x0: do not free/alloc buffers during suspend/resume
297cc34 mt76x0: remove has_{2,5}ghz fields of mt76x0_eeprom_params
2d77a9a mt76x0: use mt76_register_device for device registration
bb57912 mt76x0: inital split between pci and usb
3e241f3 mt76x0: remove unused mt76x0_wcid
a8c61c2 mt76x0: remove some usb specific code from mt76x0_register_device
e4a7387 mt76x0: make device allocation bus neutral
6da4642 mt76x0: run vco calibration for each channel configuration
1ac35da mt76: move mt76x0 and mt76x2 mcu shared defs in mt76x02_mcu.h
4d43674 mt76: add mt76_mcu_ops data structure for mcu related pointers
479b153 mt76: add usb implementation of {wr,rd}_rp
e525b01 mt76: add rd_rp and wr_rp to bus_ops/mcu_ops
f5590b0 mt76: usb: use common helpers for mcu_alloc_msg()/mcu_send_msg()
d2773ce mt76: usb: move mt76x02 mcu code in mt76x02-usb module
6337ffb mt76: usb: move mt76u_skb_dma_info in mt76x02_usb_core.c
5a79f17 mt76x02: move TXD/RXD/MCU definitions in mt76x02_dma.h
88ece32 mt76x02: add static qualifier to mt76x02_remove_dma_hdr
d63b72f mt76x0: remove unused mt76x0_burst_read_regs
0aef244 mt76x0: remove mt76x0_burst_write_regs()
14aaf87 mt76: usb: remove skb check in mt76x{0,2}u mcu routines
46ba81c mt76x2: use mt76_dev instead of mt76x2_dev in mt76x2_tx_queue_mcu
dbc4442 mt76x2: remove leftover mt76u_buf data structure in mt76x2_mcu
26909cd mt76: introduce mmio data structure in mt76_dev
425e7e0 mt76: move __iomem regs in mt76_mmio
28cfe61 mt76x2: use mt76_dev instead of mt76x2_dev in mt76x2_mcu_msg_send
a1e27de mt76x2: use common helpers for mcu_alloc_msg()/mcu_send_msg()
90b1eac mt76: unify firmware header between mt76x0 and mt76x2
a0cbd4b mt76: move mt76{0,2} mcu shared code in mt76x02_mcu.c
a633c61 mt76x2: move mt76x2 mcu shared code in mt76x2_mcu_common.c
ce91108 mt76: move shared mcu_calibrate routine in mt76x02-lib module
2b3b4df mt76x2: move mt76x2_phy_tssi_compensate in mt76x2-common module
39a380a mt76: use a per rx queue page fragment cache
b4a2141 mt76x2u: run device cleanup routine if resume fails
df11092 treewide: Use struct_size() for kmalloc()-family
788becd treewide: devm_kzalloc() -> devm_kcalloc()
971005a mt76x2u: Add support for Alfa AWUS036ACM
878b0bd mt76: fix debugfs_simple_attr.cocci warnings
44ed12d wireless: Use octal not symbolic permissions
a6f80ef build: make building 76x2e and 7603e optional
1047913 mt76x0: usb: move firmware loading to usb.c
26b20f8 mt76x0: remove mcu source file
44145f3 mt76x0: remove unused usb header file
d56be99 mt76x0: usb: remove mt76_fw definition
3733445 mt76x2: fix tx power configuration for VHT mcs 9
0aced80 mt76x0: pci: add mt7650 PCI ID
35e88c0 mt76x0: pci: add fw uploading routine
3991afa mt76: move seq_put_array in mt76-core module
6cf6fba mt76: add stbc entries to mt76_rate_power
4451f99 mt76: move common eeprom definitions in mt76x02-lib module
c9100cb mt76: move eeprom utility routines in mt76x02_eeprom.h
611b8c7 mt76: move mt76x2_eeprom_get in mt76x02_eeprom.h
b59ed56 mt76: move mt76x02_mac_setaddr in mt76x02-lib module
844daeb mt76: move mt76x2_get_efuse_data in mt76x02-lib module
7556cb9 mt76: move mt76x2_ext_pa_enabled routine in mt76x02_eeprom.c
19d7853 mt76x0: remove mt76x0_set_country_reg routine
ba7a3da mt76: add mt76x02_get_rx_gain and mt76x02_get_lna_gain utility routines
35b0a2a mt76x0: unify lna_gain parsing
2a470db mt76x0: unify rssi_offset parsing
fe89537 mt76x0: unify temperature offset parsing
76bc22f mt76x0: unify freq offset parsing
bedeb3d mt76: move mt76x02_eeprom_parse_hw_cap in mt76x02-lib module
1adcd39 mt76x0: unify parse hw capabilities
df23620 mt76: move mt76x2_tssi_enabled in mt76x02_eeprom.h
ebca136 mt76: usb: remove WARN_ON in mt76u_get_rx_entry_len
cf8f750 mt76: fix return value of mt76x02_wait_for_mac
f802bd5 mt76: move mt76_rate_power in mt76_dev
4b6093c mt76: add mt76x02_phy_set_txpower utility routine
c206b8c mt76: move rate_txpower handler in mt76 debugfs
4da6fd3 mt76: move mt76x02_rate_power_val in mt76x02-lib module
fb3806d mt76x0: remove mt76x0_phy_set_tx_power and mt76x0_extra_power_over_mac
730db56 mt76x0: remove eeprom dependency from mt76x0_set_tx_power_per_rate
212fa2c mt76x0: remove eeprom dependency from mt76x0_get_power_info
280e452 mt76x0: use shared debugfs implementation
21fddc3 mt76x0: phy: introduce mt76x0_phy_set_txpower routine
b0d85d4 mt76: include linux/module.h in files using MODULE_*
a47083b mt76: report firmware version using ethtool
dc66f7c mt76: usb: make rx page_frag_cache access atomic
09d696b mt76: use skb_pad() instead of __skb_pad()
e8d7890 mt76x0: add quirk to disable 2.4GHz band for Archer T1U
e76fe15 mt76x2: disable WLAN core before probe
41c552f mt76x0: work around cflags issue in compat layer for trace.h
b95bc8a mt76x0: use mt76_poll in mt76x0_set_wlan_state
3a3554a mt76: move wait_for_wpdma in mt76x02_dma.h
0527feb mt76: add mt76x02_dma_enable/mt76x02_dma_disable utility routines
a8fda4b mt76: move mt76x02_set_irq_mask in mt76x02_mmio.c
11e3028 mt76: move queue initialization in mt76x02_mmio.c
5a29094 mt76: move mt76x02_beacon_offset in mt76x02_util.c
5f1d0ff mt76: mmio: add implementation of wr_rp and rd_rp
47eee35 mt76: move mt76x2_wait_for_bbp in mt76x02-lib module
7cc4be7 mt76x0: update initvals to latest version of vendor driver
e1a2179 mt76x0: pci: move mcu code in pci_mcu.c
886f6fc mt76x0: usb: move mcu code in usb_mcu.c
c7b28f4 mt76x0: use mt76x02 utility routines in mt76x0 init code
005d40a mt76x0: init: remove duplicated initialization
94776fe mt76x0: init: remove MT_PBF_SYS_CTRL configuration in mt76x0_reset_csr_bbp
5bb8339 mt76x0: init rx filter in mt76x0_init_hardware
fe1379a mt76: add mt76x02_mac_start routine
da982d3 mt76x0: usb: move initialization code in usb.c
22be43e mt76x0: pci: add hw initialization at bootstrap
15a50e1 mt76x0: phy: set antenna parameter according to wireless band
5d2a331 mt76: move set_{tx,rx}_path routines in mt76x02-lib module
8050d71 mt76x0: add ieee80211_ops ops pointer to mt76x0_alloc_device signature
c240904 mt76x0: pci: add mt76x0e_{start/stop} callbacks
b50f38a mt76x0: eeprom: load eeprom data from mtd by default
fb5bae0 mt76x0: usb: move mt76x0u_tx_prepare_skb in usb.c
4047e1f move mt7603 source files to mt7603/
14f70f4 mt7603: fix wcid for frames sent via drv_tx
542f17e mt76: fix handling ps-poll frames
7464cc9 mt76: check aggregation sequence number for frames sent via drv_tx

Signed-off-by: Felix Fietkau <nbd@nbd.name>
openwrt-19.07
Felix Fietkau 2018-09-22 12:56:32 +02:00
parent fcfb9e4ded
commit 273594b37c
1 changed files with 110 additions and 5 deletions

View File

@ -8,13 +8,23 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2018-09-21
PKG_SOURCE_VERSION:=6e1898d60a780c9d89dff9cbb3569f267db13e21
PKG_MIRROR_HASH:=f2d8a17fa58f6f2ddd284922faeec9dd09c6727dde91caec54f4fdb280f4df1c
PKG_SOURCE_DATE:=2018-09-29
PKG_SOURCE_VERSION:=7464cc9710df1f10590d2e3bdd7339861b92f46c
PKG_MIRROR_HASH:=9ee9ba2a49f9fc00804b62a086f02e872ac45937640c5b70d2d52e461dca023b
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS += \
CONFIG_PACKAGE_kmod-mt76-usb \
CONFIG_PACKAGE_kmod-mt76x02-common \
CONFIG_PACKAGE_kmod-mt76x0-common \
CONFIG_PACKAGE_kmod-mt76x0u \
CONFIG_PACKAGE_kmod-mt76x2-common \
CONFIG_PACKAGE_kmod-mt76x2 \
CONFIG_PACKAGE_kmod-mt76x2u \
CONFIG_PACKAGE_kmod-mt7603
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
include $(INCLUDE_DIR)/kernel.mk
@ -41,10 +51,69 @@ define KernelPackage/mt76-core
$(PKG_BUILD_DIR)/mt76.ko
endef
define KernelPackage/mt76-usb
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76xx wireless driver USB support
DEPENDS += kmod-usb-core kmod-mt76-core
HIDDEN:=1
FILES:=\
$(PKG_BUILD_DIR)/mt76-usb.ko
endef
define KernelPackage/mt76x02-usb
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0/MT76x2 USB wireless driver common code
DEPENDS+=+kmod-mt76-usb
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x02-usb.ko
endef
define KernelPackage/mt76x02-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0/MT76x2 wireless driver common code
DEPENDS+=+kmod-mt76-core
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x02-lib.ko
endef
define KernelPackage/mt76x0-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x0 wireless driver common code
DEPENDS+=+kmod-mt76x02-common +kmod-mt76x02-usb
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x0/mt76x0-common.ko
endef
define KernelPackage/mt76x0u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2U wireless driver
DEPENDS+=+kmod-mt76x0-common +kmod-mt76x02-usb
FILES:=\
$(PKG_BUILD_DIR)/mt76x0/mt76x0u.ko
AUTOLOAD:=$(call AutoProbe,mt76x0u)
endef
define KernelPackage/mt76x2-common
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2 wireless driver common code
DEPENDS+=+kmod-mt76-core +kmod-mt76x02-common
HIDDEN:=1
FILES:=$(PKG_BUILD_DIR)/mt76x2-common.ko
endef
define KernelPackage/mt76x2u
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2U wireless driver
DEPENDS+=+kmod-mt76x2-common +kmod-mt76x02-usb
FILES:=\
$(PKG_BUILD_DIR)/mt76x2u.ko
AUTOLOAD:=$(call AutoProbe,mt76x2u)
endef
define KernelPackage/mt76x2
$(KernelPackage/mt76-default)
TITLE:=MediaTek MT76x2 wireless driver
DEPENDS+=+kmod-mt76-core
DEPENDS+=+kmod-mt76x2-common
FILES:=\
$(PKG_BUILD_DIR)/mt76x2e.ko
AUTOLOAD:=$(call AutoProbe,mt76x2e)
@ -55,7 +124,7 @@ define KernelPackage/mt7603
TITLE:=MediaTek MT7603 wireless driver
DEPENDS+=+kmod-mt76-core
FILES:=\
$(PKG_BUILD_DIR)/mt7603e.ko
$(PKG_BUILD_DIR)/mt7603/mt7603e.ko
AUTOLOAD:=$(call AutoProbe,mt7603e)
endef
@ -72,9 +141,38 @@ ifdef CONFIG_PACKAGE_MAC80211_MESH
NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
endif
ifdef CONFIG_PACKAGE_kmod-mt76-usb
PKG_MAKE_FLAGS += CONFIG_MT76_USB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x02-common
PKG_MAKE_FLAGS += CONFIG_MT76x02_LIB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x02-usb
PKG_MAKE_FLAGS += CONFIG_MT76x02_USB=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x0-common
PKG_MAKE_FLAGS += CONFIG_MT76x0_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x0u
PKG_MAKE_FLAGS += CONFIG_MT76x0U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x2-common
PKG_MAKE_FLAGS += CONFIG_MT76x2_COMMON=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x2
PKG_MAKE_FLAGS += CONFIG_MT76X2E=m
endif
ifdef CONFIG_PACKAGE_kmod-mt76x2u
PKG_MAKE_FLAGS += CONFIG_MT76X2U=m
endif
ifdef CONFIG_PACKAGE_kmod-mt7603
PKG_MAKE_FLAGS += CONFIG_MT7603E=m
endif
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
$(KERNEL_MAKE_FLAGS) \
$(PKG_MAKE_FLAGS) \
SUBDIRS="$(PKG_BUILD_DIR)" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
modules
@ -105,6 +203,13 @@ define KernelPackage/mt7603/install
endef
$(eval $(call KernelPackage,mt76-core))
$(eval $(call KernelPackage,mt76-usb))
$(eval $(call KernelPackage,mt76x02-usb))
$(eval $(call KernelPackage,mt76x02-common))
$(eval $(call KernelPackage,mt76x0-common))
$(eval $(call KernelPackage,mt76x0u))
$(eval $(call KernelPackage,mt76x2-common))
$(eval $(call KernelPackage,mt76x2u))
$(eval $(call KernelPackage,mt76x2))
$(eval $(call KernelPackage,mt7603))
$(eval $(call KernelPackage,mt76))