Lines Matching full:usb
16 MODULE_PARM_DESC(disable_usb_sg, "Disable usb scatter-gather support");
26 lockdep_assert_held(&dev->usb.usb_ctrl_mtx); in __mt76u_vendor_request()
55 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_vendor_request()
59 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_vendor_request()
67 struct mt76_usb *usb = &dev->usb; in ___mt76u_rr() local
72 addr, usb->data, sizeof(__le32)); in ___mt76u_rr()
74 data = get_unaligned_le32(usb->data); in ___mt76u_rr()
105 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_rr()
107 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_rr()
115 struct mt76_usb *usb = &dev->usb; in ___mt76u_wr() local
117 put_unaligned_le32(val, usb->data); in ___mt76u_wr()
119 addr, usb->data, sizeof(__le32)); in ___mt76u_wr()
142 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_wr()
144 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_wr()
150 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_rmw()
153 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_rmw()
161 struct mt76_usb *usb = &dev->usb; in mt76u_copy() local
174 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_copy()
176 current_batch_size = min_t(int, usb->data_len, len - i); in mt76u_copy()
177 memcpy(usb->data, val + i, current_batch_size); in mt76u_copy()
180 0, offset + i, usb->data, in mt76u_copy()
187 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_copy()
193 struct mt76_usb *usb = &dev->usb; in mt76u_read_copy() local
198 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_read_copy()
200 batch_len = min_t(int, usb->data_len, len - i); in mt76u_read_copy()
204 usb->data, batch_len); in mt76u_read_copy()
208 memcpy(val + i, usb->data, batch_len); in mt76u_read_copy()
211 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_read_copy()
218 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_single_wr()
225 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_single_wr()
233 struct mt76_usb *usb = &dev->usb; in mt76u_req_wr_rp() local
235 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_req_wr_rp()
241 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_req_wr_rp()
260 struct mt76_usb *usb = &dev->usb; in mt76u_req_rd_rp() local
262 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_req_rd_rp()
268 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_req_rd_rp()
295 struct mt76_usb *usb) in mt76u_set_endpoints() argument
306 usb->in_ep[in_ep] = usb_endpoint_num(ep_desc); in mt76u_set_endpoints()
310 usb->out_ep[out_ep] = usb_endpoint_num(ep_desc); in mt76u_set_endpoints()
360 if (qid == MT_RXQ_MAIN && dev->usb.sg_en) in mt76u_refill_rx()
375 if (dev->usb.sg_en) in mt76u_urb_alloc()
384 if (dev->usb.sg_en && sg_max_size > 0) in mt76u_urb_alloc()
428 pipe = usb_rcvbulkpipe(udev, dev->usb.in_ep[index]); in mt76u_fill_bulk_urb()
430 pipe = usb_sndbulkpipe(udev, dev->usb.out_ep[index]); in mt76u_fill_bulk_urb()
584 mt76_worker_schedule(&dev->usb.rx_worker); in mt76u_complete_rx()
631 struct mt76_usb *usb = container_of(w, struct mt76_usb, rx_worker); in mt76u_rx_worker() local
632 struct mt76_dev *dev = container_of(usb, struct mt76_dev, usb); in mt76u_rx_worker()
716 mt76_worker_teardown(&dev->usb.rx_worker); in mt76u_free_rx()
726 mt76_worker_disable(&dev->usb.rx_worker); in mt76u_stop_rx()
754 mt76_worker_enable(&dev->usb.rx_worker); in mt76u_resume_rx()
762 struct mt76_usb *usb = container_of(w, struct mt76_usb, status_worker); in mt76u_status_worker() local
763 struct mt76_dev *dev = container_of(usb, struct mt76_dev, usb); in mt76u_status_worker()
794 queue_work(dev->wq, &dev->usb.stat_work); in mt76u_status_worker()
799 struct mt76_usb *usb; in mt76u_tx_status_data() local
804 usb = container_of(work, struct mt76_usb, stat_work); in mt76u_tx_status_data()
805 dev = container_of(usb, struct mt76_dev, usb); in mt76u_tx_status_data()
817 queue_work(dev->wq, &usb->stat_work); in mt76u_tx_status_data()
831 mt76_worker_schedule(&dev->usb.status_worker); in mt76u_complete_tx()
840 if (!dev->usb.sg_en) { in mt76u_tx_setup_buffers()
971 mt76_worker_teardown(&dev->usb.status_worker); in mt76u_free_tx()
992 mt76_worker_disable(&dev->usb.status_worker); in mt76u_stop_tx()
1032 cancel_work_sync(&dev->usb.stat_work); in mt76u_stop_tx()
1035 mt76_worker_enable(&dev->usb.status_worker); in mt76u_stop_tx()
1072 struct mt76_usb *usb = &dev->usb; in __mt76u_init() local
1075 INIT_WORK(&usb->stat_work, mt76u_tx_status_data); in __mt76u_init()
1077 usb->data_len = usb_maxpacket(udev, usb_sndctrlpipe(udev, 0)); in __mt76u_init()
1078 if (usb->data_len < 32) in __mt76u_init()
1079 usb->data_len = 32; in __mt76u_init()
1081 usb->data = devm_kmalloc(dev->dev, usb->data_len, GFP_KERNEL); in __mt76u_init()
1082 if (!usb->data) in __mt76u_init()
1085 mutex_init(&usb->usb_ctrl_mtx); in __mt76u_init()
1091 usb->sg_en = mt76u_check_sg(dev); in __mt76u_init()
1093 err = mt76u_set_endpoints(intf, usb); in __mt76u_init()
1097 err = mt76_worker_setup(dev->hw, &usb->rx_worker, mt76u_rx_worker, in __mt76u_init()
1098 "usb-rx"); in __mt76u_init()
1102 err = mt76_worker_setup(dev->hw, &usb->status_worker, in __mt76u_init()
1103 mt76u_status_worker, "usb-status"); in __mt76u_init()
1107 sched_set_fifo_low(usb->rx_worker.task); in __mt76u_init()
1108 sched_set_fifo_low(usb->status_worker.task); in __mt76u_init()