Lines Matching refs:usb
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()
294 struct mt76_usb *usb) in mt76u_set_endpoints() argument
305 usb->in_ep[in_ep] = usb_endpoint_num(ep_desc); in mt76u_set_endpoints()
309 usb->out_ep[out_ep] = usb_endpoint_num(ep_desc); in mt76u_set_endpoints()
359 if (qid == MT_RXQ_MAIN && dev->usb.sg_en) in mt76u_refill_rx()
374 if (dev->usb.sg_en) in mt76u_urb_alloc()
383 if (dev->usb.sg_en && sg_max_size > 0) in mt76u_urb_alloc()
427 pipe = usb_rcvbulkpipe(udev, dev->usb.in_ep[index]); in mt76u_fill_bulk_urb()
429 pipe = usb_sndbulkpipe(udev, dev->usb.out_ep[index]); in mt76u_fill_bulk_urb()
583 mt76_worker_schedule(&dev->usb.rx_worker); in mt76u_complete_rx()
630 struct mt76_usb *usb = container_of(w, struct mt76_usb, rx_worker); in mt76u_rx_worker() local
631 struct mt76_dev *dev = container_of(usb, struct mt76_dev, usb); in mt76u_rx_worker()
715 mt76_worker_teardown(&dev->usb.rx_worker); in mt76u_free_rx()
725 mt76_worker_disable(&dev->usb.rx_worker); in mt76u_stop_rx()
753 mt76_worker_enable(&dev->usb.rx_worker); in mt76u_resume_rx()
761 struct mt76_usb *usb = container_of(w, struct mt76_usb, status_worker); in mt76u_status_worker() local
762 struct mt76_dev *dev = container_of(usb, struct mt76_dev, usb); in mt76u_status_worker()
793 queue_work(dev->wq, &dev->usb.stat_work); in mt76u_status_worker()
798 struct mt76_usb *usb; in mt76u_tx_status_data() local
803 usb = container_of(work, struct mt76_usb, stat_work); in mt76u_tx_status_data()
804 dev = container_of(usb, struct mt76_dev, usb); in mt76u_tx_status_data()
816 queue_work(dev->wq, &usb->stat_work); in mt76u_tx_status_data()
830 mt76_worker_schedule(&dev->usb.status_worker); in mt76u_complete_tx()
839 if (!dev->usb.sg_en) { in mt76u_tx_setup_buffers()
970 mt76_worker_teardown(&dev->usb.status_worker); in mt76u_free_tx()
991 mt76_worker_disable(&dev->usb.status_worker); in mt76u_stop_tx()
1031 cancel_work_sync(&dev->usb.stat_work); in mt76u_stop_tx()
1034 mt76_worker_enable(&dev->usb.status_worker); in mt76u_stop_tx()
1071 struct mt76_usb *usb = &dev->usb; in __mt76u_init() local
1074 INIT_WORK(&usb->stat_work, mt76u_tx_status_data); in __mt76u_init()
1076 usb->data_len = usb_maxpacket(udev, usb_sndctrlpipe(udev, 0)); in __mt76u_init()
1077 if (usb->data_len < 32) in __mt76u_init()
1078 usb->data_len = 32; in __mt76u_init()
1080 usb->data = devm_kmalloc(dev->dev, usb->data_len, GFP_KERNEL); in __mt76u_init()
1081 if (!usb->data) in __mt76u_init()
1084 mutex_init(&usb->usb_ctrl_mtx); in __mt76u_init()
1090 usb->sg_en = mt76u_check_sg(dev); in __mt76u_init()
1092 err = mt76u_set_endpoints(intf, usb); in __mt76u_init()
1096 err = mt76_worker_setup(dev->hw, &usb->rx_worker, mt76u_rx_worker, in __mt76u_init()
1101 err = mt76_worker_setup(dev->hw, &usb->status_worker, in __mt76u_init()
1106 sched_set_fifo_low(usb->rx_worker.task); in __mt76u_init()
1107 sched_set_fifo_low(usb->status_worker.task); in __mt76u_init()