- 14 Feb, 2020 40 commits
-
-
Lorenzo Bianconi authored
Introduce mt76_mcu data structure to contain common fields between mt76u_mcu and mt76e_mcu. Initialize mcu common fields in mt76_alloc_device(). Rely on mt76_mcu in mt76_mcu_rx_event and in mt76_mcu_get_response in order to reuse them in usb code Signed-off-by:
Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Lorenzo Bianconi authored
Get rid of rx_mask in mt7615_eeprom_parse_hw_cap routine since it is not actually used Signed-off-by:
Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Lorenzo Bianconi authored
Rename usb stat_wq in wq in order to be reused not just for gathering hw tx statistics Signed-off-by:
Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Sean Wang authored
Set RX scatter gather number to 4 in order to extend the maximum AMSDU size to 11,454. Signed-off-by:
Sean Wang <sean.wang@mediatek.com> Co-developed-by:
Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by:
Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Lorenzo Bianconi authored
As previous devices, mt7622 relies on multiple hw queues while for mt7615 we have just on per band hw queue and the mcu demux the traffic according to the packet AC. In order to dump all configured hw queues, rely on mt76_queues_read for mt7622 in mt7615 debugfs Signed-off-by:
Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
mt7615 handles powersave buffering in firmware Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Overwriting the RMAC_CHFREQ register is not reliable enough, as the firmware could potentially write it again. Since there is no PHY index indication in the rx info, we need to use another way: If both PHYs are using different channels, find the PHY where chfreq matches the register value. The only corner case remaining is when both PHYs are using the same channel. In that case, the per-packet noise value on the primary PHY will have information belonging to the chains of the secondary PHY from the previous received packet of that PHY. The secondary PHY will set noise to 0 for extra chains. Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Unify code converting between the different txpower values. Always add/remove the combined txpower delta before dividing half-dB values. Also fix the combined txpower delta values. The correct half-dB delta for 3 chains is 9, not 8. Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Do not set the tx/rx start bits in MT_MAC_SYS_CTRL from within initvals. The driver sets these later when the hardware is ready Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Use sta_pre_rcu_remove callback to clear wcid pointer earlier Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
The second PHY receives no packets unless there is an active vif present. Set the WANT_MONITOR_VIF flag to deal with that Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Treat them the same as AP iftype internally for MCU commands Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
To adapt new firmware version. Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Tested-by:
Shayne Chen <shayne.chen@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
To adapt new firmware version. Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Tested-by:
Shayne Chen <shayne.chen@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
In order to reduce command/event times, newer firmware adds a tag sta_rec_wtbl to take care of WTBL operations. MCU_EXT_CMD_WTBL_UPDATE is deprecated. Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Shayne Chen <shayne.chen@mediatek.com> Tested-by:
Sean Wang <sean.wang@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
Add fw_ver in mt7615_dev to check firmware version, and adjust mt7615_mcu_send_sta_rec() to adapt firmware v2 changes. Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Shayne Chen <shayne.chen@mediatek.com> Tested-by:
Sean Wang <sean.wang@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
Operating command is simpler and just as clear Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Shayne Chen <shayne.chen@mediatek.com> Tested-by:
Sean Wang <sean.wang@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
Move mcu_add_wtbl and mcu_set_ht_cap into mcu_set_sta to simplify flow. Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Ryder Lee authored
Move set_bmc_wtbl into sta_rec function to simplify flow. Signed-off-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Send an undersized corrupt packet to the DMA queue, which causes the firmware to issue a full chip reset Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
When the firmware detects a problem, it needs the host to stop/reset DMA and resume it again when the hardware state has been reset. Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Useful for debugging firmware issues. Can be turned on via the "fw_debug" debugfs file Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Setting the tx power by manipulating EEPROM may in some cases not be enough, since it only covers the base target power and not per-rate offsets. In other cases, it could limit tx power of rates too much, possibly reducing throughput or range. Use firmware support for applying per-rate limit and power offsets for different values of Nss. Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
This enables building support for the MT7622 SoC built-in WLAN chip Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
It is only supported on MT7615 Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Since it's 2.4 GHz only, it needs fewer buffers Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
MT7622 does not have the CR4 microcontroller sitting in the data path. Because of that, it uses the chip's native tx descriptor format instead of something parsed and converted by the firmware. Co-developed-by:
Shayne Chen <shayne.chen@mediatek.com> Co-developed-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name> Signed-off-by:
Lorenzo Bianconi <lorenzo@kernel.org>
-
Felix Fietkau authored
MT7622 does not have a CR4 microcontroller, so it only uses its own N9 firmware. Co-developed-by:
Shayne Chen <shayne.chen@mediatek.com> Co-developed-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
It is not supported by the chip, so avoid issues with potentially wrong EEPROM configurations. Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
MT7622 uses fewer efuse overrides than MT7615 Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
When sending EEPROM data to the MCU, MT7622 uses a longer buffer Co-developed-by:
Shayne Chen <shayne.chen@mediatek.com> Co-developed-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
MT7622 queue mapping is different from MT7615 and requires an extra dma scheduler init and a few register tweaks Co-developed-by:
Shayne Chen <shayne.chen@mediatek.com> Co-developed-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
MT7622 uses more interrupt bits for queue tx completion events. Enabling those extra bits is harmless on MT7615 Co-developed-by:
Shayne Chen <shayne.chen@mediatek.com> Co-developed-by:
Ryder Lee <ryder.lee@mediatek.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
CR4 is used very little, N9 is the main firmware that the driver interacts with Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Preparation for adding MT7622 support Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
Will be shared with MT7622 SoC support Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
The beginning of the struct is guaranteed to be 4-byte aligned, and this attribute allows the compiler to generate more efficient code Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
MT7622 is a SoC that includes a 2.4 GHz 4x4 802.11n WMAC. Its feature set is comparable to a MT7615 chip, but limited to 2.4 GHz. Reviewed-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
It is supported by all drivers Acked-by:
Toke Høiland-Jørgensen <toke@redhat.com> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-
Felix Fietkau authored
The ring is used for looping back tx powersave filtered frames, so it could use some more room, in case more than one aggregate was queued Signed-off-by:
Felix Fietkau <nbd@nbd.name>
-