- 01 5月, 2019 6 次提交
-
-
由 Lorenzo Bianconi 提交于
Introduce mt76_sw_queue data structure in order to support new chipsets (e.g. mt7615) that have a shared hardware queue for all traffic identifiers. mt76_sw_queue will be used to track outstanding packets Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Remove mt76_queue dependency from tx_complete_skb function pointer and rely on mt76_tx_qid instead. Remove flush from tx_complete_skb signature. This is a preliminary patch to introduce mt76_sw_queue support Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Remove mt76_queue dependency from tx_prepare_skb function pointer and rely on mt76_tx_qid instead. This is a preliminary patch to introduce mt76_sw_queue support Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Remove mt76_queue dependency from tx_queue_skb function pointer and rely on mt76_tx_qid instead. This is a preliminary patch to introduce mt76_sw_queue support Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76x02_init_tx_queue and mt76x02_init_rx_queue in mt76 module in order to be reused adding support for mt7603 driver and remove duplicated code. Squash mt76x02_init_tx_queue and mt76x02_init_rx_queue in mt76_dma_alloc_queue Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76x02_set_irq_mask in mt76 module in order to be reused adding support for mt7603 driver and remove duplicated code Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 19 3月, 2019 1 次提交
-
-
由 Lorenzo Bianconi 提交于
Fix following schedule while atomic in mt76x02_reset_state since synchronize_rcu is run inside a RCU section [44036.944222] mt76x2e 0000:06:00.0: MCU message 31 (seq 3) timed out [44036.944281] BUG: sleeping function called from invalid context at kernel/rcu/tree_exp.h:818 [44036.944284] in_atomic(): 1, irqs_disabled(): 0, pid: 28066, name: kworker/u4:1 [44036.944287] INFO: lockdep is turned off. [44036.944292] CPU: 1 PID: 28066 Comm: kworker/u4:1 Tainted: G W 5.0.0-rc7-wdn-t1+ #7 [44036.944294] Hardware name: Dell Inc. Studio XPS 1340/0K183D, BIOS A11 09/08/2009 [44036.944305] Workqueue: phy1 mt76x02_wdt_work [mt76x02_lib] [44036.944308] Call Trace: [44036.944317] dump_stack+0x67/0x90 [44036.944322] ___might_sleep.cold.88+0x9f/0xaf [44036.944327] rcu_blocking_is_gp+0x13/0x50 [44036.944330] synchronize_rcu+0x17/0x80 [44036.944337] mt76_sta_state+0x138/0x1d0 [mt76] [44036.944349] mt76x02_wdt_work+0x1c9/0x610 [mt76x02_lib] [44036.944355] process_one_work+0x2a5/0x620 [44036.944361] worker_thread+0x35/0x3e0 [44036.944368] kthread+0x11c/0x140 [44036.944376] ret_from_fork+0x3a/0x50 [44036.944384] BUG: scheduling while atomic: kworker/u4:1/28066/0x00000002 [44036.944387] INFO: lockdep is turned off. [44036.944389] Modules linked in: cmac ctr ccm af_packet snd_hda_codec_hdmi Introduce __mt76_sta_remove in order to run sta_remove without holding dev->mutex. Move __mt76_sta_remove outside of RCU section in mt76x02_reset_state Fixes: e4ebb8b403d1 ("mt76: mt76x2: implement full device restart on watchdog reset") Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 07 3月, 2019 2 次提交
-
-
由 Felix Fietkau 提交于
Restart the firmware and re-initialize the MAC to be able to recover from more kinds of hang states Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Introduce mt76_queue stopped parameter in order to run ieee80211_wake_queue only when mac80211 queues have been previously stopped and avoid to disable interrupts when it is not necessary Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 26 2月, 2019 6 次提交
-
-
由 Felix Fietkau 提交于
MT7603 needs this to update the HT/VHT capabilities Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Remove following routine declarations that are no longer used after commit cfca5f693c5d ("mt76usb: remove usb_mcu.c"): - mt76u_mcu_complete_urb - mt76u_deinit - mt76u_buf_free - mt76u_submit_urb Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Squash mt76u_buf_alloc_sg and mt76u_buf_alloc and remove duplicated code. Reuse mt76u_refill_rx in mt76u_buf_alloc Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Stanislaw Gruszka 提交于
Don't need separate file just for kmalloc/kfree. Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Stanislaw Gruszka 提交于
Use usb_bulk_msg for reading MCU command responses. This simplify code a lot. Together with 97a3005759c ("mt76usb: allow mt76u_bulk_msg be used for reads") it also fix possible problems with rx data buffers not being aligned and contained within single page. After doing page_frag_alloc(1024) consecutive page_frag_alloc(PAGE_SIZE) will alloc PAGE_SIZE buffer at PAGE_SIZE - 1024 offset. Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Stanislaw Gruszka 提交于
Extend mt76u_bulk_msg() such it can be used for synchronous bulk reads. Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 19 2月, 2019 9 次提交
-
-
由 Lorenzo Bianconi 提交于
Do not use scatter-gather buffers for mcu commands. Introduce mt76u_buf_alloc and mt76u_buf_alloc_sg routines. Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76u_check_sg routine in usb.c and introduce sg_en variable in mt76_usb in order to check if scatter-gather is supported by mt76u layer Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Stanislaw Gruszka 提交于
We don't need to send firmware data asynchronously, much simpler is just use synchronous usb_bulk_msg(). Tested-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76x{0,2} alloc_device common code in mt76_alloc_device and remove duplicated code Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Remove add_buf function pointer in mt76_queue_ops data structure since it is no longer used Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76_dma_tx_queue_skb_raw routine in dma.c and add the corresponding entry in mt76_queue_ops data structure. mt76_dma_tx_queue_skb_raw will be reused adding support for mt7603 driver Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76_mcu_rx_event i mt76-core module and remove duplicated code. mt76_mcu_rx_event will be reused adding support for mt7603 driver Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76_mcu_get_response in mt76-core module and remove duplicated code. mt76_mcu_get_response will be reused adding support for mt7603 driver Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76_mcu_msg_alloc in mt76-core module and remove duplicated code. mt76_mcu_msg_alloc will be reused adding support for mt7603 driver Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 17 1月, 2019 5 次提交
-
-
由 Felix Fietkau 提交于
Use the appropriate mac80211 callbacks after beacon transmission Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
It is usually negative, so it needs to be signed. Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
This will be used by mt7603 as well Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
It will be reused by mt7603 later Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
On MT76x2, the hardware does not report tx status in the FIFO register, if the packet id is 0. Change the allocation of packet IDs to use 0 for no-ack packets, 1 for non-probing packets and 2-255 for packets with tx status requested. Fixes rate control issues Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 11 1月, 2019 1 次提交
-
-
由 Lorenzo Bianconi 提交于
Port mt76x02_check_tx_hang watchdog from vendor driver in order to perform a device reset when tx mac/dma logic hangs. Tx mac/dma stuck has been observed when the device is heavy loaded or in a noisy environment. Moreover introduce wdt delayed work in order to run tx_hang watchdog. For the moment run mt76x02_check_tx_hang watchdog just on mt76x2 devices since the issue has not been observed on mt76x0 driver yet Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 30 11月, 2018 6 次提交
-
-
由 Felix Fietkau 提交于
Allows adding unassociated stations from mac80211 Signed-off-by: NFelix Fietkau <nbd@nbd.name> Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com>
-
由 Felix Fietkau 提交于
This allows station removal code to be used by mt7603 later Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
There is some code in the mac80211 tx status processing code that could potentially call back into the tx codepath. To avoid deadlocks, make sure that no tx related spinlocks are taken during the ieee80211_tx_status call. Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Stanislaw Gruszka 提交于
We almost always use patter like this: skb = mt76_mcu_msg_alloc(dev, &msg, sizeof(msg)); return mt76_mcu_send_msg(dev, skb, CMD_FUN_SET_OP, wait_resp); This is not needed, we can allocate skb in mcu_send_msg routine. Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
MT76x2/MT76x0 has somewhat unreliable tx status reporting, and for that reason the driver currently does not report per-skb tx ack status at all. This breaks things like client idle polling, which relies on the tx ack status of a transmitted nullfunc frame. This patch adds code to report skb-attached tx status if requested by mac80211 or the rate control module. Since tx status is polled from a simple FIFO register, the code needs to account for the possibility of tx status events getting lost. The code keeps a list of skbs for which tx status is required and passes them to mac80211 once tx status has been filled in and the DMA queue is done with it. If a tx status event is not received after one second, the status rates are cleared, and a succesful ACK is indicated to avoid spurious disassoc during assoc or client polling. Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Felix Fietkau 提交于
Make previously exported functions static where possible Acked-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 13 10月, 2018 1 次提交
-
-
由 Stanislaw Gruszka 提交于
Add helpers to identify bus type. Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
- 06 10月, 2018 3 次提交
-
-
由 Lorenzo Bianconi 提交于
Use mt76x02_dev data structure as reference in mt76x02_mmio.c instead of mt76_dev Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Move mt76x02_tx_get_txpwr_adj and mt76x02_tx_set_txpwr_auto routines in mt76x02-lib module since they are shared between mt76x0 and mt76x2 drivers. Moreover remove get_txpwr_adj function pointer Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-
由 Lorenzo Bianconi 提交于
Add get_tx_txpwr_adj function pointer to mt76_driver_ops data structure as a preliminary patch to unify txwi configuration between mt76x0 and mt76x2 drivers since tpc is currently supported just by mt76x2 driver Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: NFelix Fietkau <nbd@nbd.name>
-