Rework mt76u layer to support new devices (e.g. 7663u). The main difference between mt7663u and previous mt76u dongles (e.g. mt76x2u) is mt7663u reports fw events through a dedicated mcu hw queue. Moreover, mt7663u relies on full usb 32bit address space to configure the usb dongle. Chabges since v1: - rabase on top of mt76 master branch Lorenzo Bianconi (18): mt76: mt76u: check tx_status_data pointer in mt76u_tx_tasklet mt76: mt76u: add mt76u_process_rx_queue utility routine mt76: mt76u: add mt76_queue to mt76u_get_next_rx_entry signature mt76: mt76u: add mt76_queue to mt76u_refill_rx signature mt76: mt76u: use mt76_queue as mt76u_complete_rx context mt76: mt76u: add queue id parameter to mt76u_submit_rx_buffers mt76: mt76u: move mcu buffer allocation in mt76x02u drivers mt76: mt76u: introduce mt76u_free_rx_queue utility routine mt76: mt76u: stop/free all possible rx queues mt76: mt76u: add mt76u_alloc_rx_queue utility routine mt76: mt76u: add queue parameter to mt76u_rx_urb_alloc mt76: mt76u: resume all rx queue in mt76u_resume_rx mt76: mt76u: introduce mt76u_alloc_mcu_queue utility routine mt76: mt76u: add {read/write}_extended utility routines mt76: mt76u: take into account different queue mapping for 7663 mt76: mt76u: introduce mt76u_skb_dma_info routine mt76: mt76u: add endpoint to mt76u_bulk_msg signature mt76: mt76u: introduce MT_DRV_RX_DMA_HDR flag drivers/net/wireless/mediatek/mt76/mt76.h | 15 +- .../net/wireless/mediatek/mt76/mt76x0/usb.c | 8 +- .../wireless/mediatek/mt76/mt76x02_usb_core.c | 25 +- .../wireless/mediatek/mt76/mt76x02_usb_mcu.c | 9 +- .../net/wireless/mediatek/mt76/mt76x2/usb.c | 2 +- .../wireless/mediatek/mt76/mt76x2/usb_init.c | 6 + drivers/net/wireless/mediatek/mt76/usb.c | 370 +++++++++++++----- 7 files changed, 309 insertions(+), 126 deletions(-) -- 2.21.1