Lines Matching refs:usb
27 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
73 addr >> 16, addr, usb->data, in ___mt76u_rr()
76 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()
116 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_rr_ext()
118 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_rr_ext()
126 struct mt76_usb *usb = &dev->usb; in ___mt76u_wr() local
128 put_unaligned_le32(val, usb->data); in ___mt76u_wr()
131 addr >> 16, addr, usb->data, in ___mt76u_wr()
153 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_wr()
155 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_wr()
160 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_wr_ext()
162 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_wr_ext()
168 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_rmw()
171 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_rmw()
179 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_rmw_ext()
182 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_rmw_ext()
190 struct mt76_usb *usb = &dev->usb; in mt76u_copy() local
203 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_copy()
205 current_batch_size = min_t(int, usb->data_len, len - i); in mt76u_copy()
206 memcpy(usb->data, val + i, current_batch_size); in mt76u_copy()
209 0, offset + i, usb->data, in mt76u_copy()
216 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_copy()
222 struct mt76_usb *usb = &dev->usb; in mt76u_copy_ext() local
227 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_copy_ext()
229 batch_len = min_t(int, usb->data_len, len - i); in mt76u_copy_ext()
230 memcpy(usb->data, val + i, batch_len); in mt76u_copy_ext()
234 usb->data, batch_len); in mt76u_copy_ext()
240 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_copy_ext()
247 struct mt76_usb *usb = &dev->usb; in mt76u_read_copy_ext() local
252 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_read_copy_ext()
254 batch_len = min_t(int, usb->data_len, len - i); in mt76u_read_copy_ext()
258 usb->data, batch_len); in mt76u_read_copy_ext()
262 memcpy(val + i, usb->data, batch_len); in mt76u_read_copy_ext()
265 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_read_copy_ext()
271 mutex_lock(&dev->usb.usb_ctrl_mtx); in mt76u_single_wr()
278 mutex_unlock(&dev->usb.usb_ctrl_mtx); in mt76u_single_wr()
286 struct mt76_usb *usb = &dev->usb; in mt76u_req_wr_rp() local
288 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_req_wr_rp()
294 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_req_wr_rp()
313 struct mt76_usb *usb = &dev->usb; in mt76u_req_rd_rp() local
315 mutex_lock(&usb->usb_ctrl_mtx); in mt76u_req_rd_rp()
321 mutex_unlock(&usb->usb_ctrl_mtx); in mt76u_req_rd_rp()
348 struct mt76_usb *usb) in mt76u_set_endpoints() argument
359 usb->in_ep[in_ep] = usb_endpoint_num(ep_desc); in mt76u_set_endpoints()
363 usb->out_ep[out_ep] = usb_endpoint_num(ep_desc); in mt76u_set_endpoints()
414 if (qid == MT_RXQ_MAIN && dev->usb.sg_en) in mt76u_refill_rx()
429 if (dev->usb.sg_en) in mt76u_urb_alloc()
438 if (dev->usb.sg_en && sg_max_size > 0) in mt76u_urb_alloc()
482 pipe = usb_rcvbulkpipe(udev, dev->usb.in_ep[index]); in mt76u_fill_bulk_urb()
484 pipe = usb_sndbulkpipe(udev, dev->usb.out_ep[index]); in mt76u_fill_bulk_urb()
631 mt76_worker_schedule(&dev->usb.rx_worker); in mt76u_complete_rx()
678 struct mt76_usb *usb = container_of(w, struct mt76_usb, rx_worker); in mt76u_rx_worker() local
679 struct mt76_dev *dev = container_of(usb, struct mt76_dev, usb); in mt76u_rx_worker()
765 mt76_worker_teardown(&dev->usb.rx_worker); in mt76u_free_rx()
775 mt76_worker_disable(&dev->usb.rx_worker); in mt76u_stop_rx()
803 mt76_worker_enable(&dev->usb.rx_worker); in mt76u_resume_rx()
811 struct mt76_usb *usb = container_of(w, struct mt76_usb, status_worker); in mt76u_status_worker() local
812 struct mt76_dev *dev = container_of(usb, struct mt76_dev, usb); in mt76u_status_worker()
839 queue_work(dev->wq, &dev->usb.stat_work); in mt76u_status_worker()
845 struct mt76_usb *usb; in mt76u_tx_status_data() local
850 usb = container_of(work, struct mt76_usb, stat_work); in mt76u_tx_status_data()
851 dev = container_of(usb, struct mt76_dev, usb); in mt76u_tx_status_data()
863 queue_work(dev->wq, &usb->stat_work); in mt76u_tx_status_data()
877 mt76_worker_schedule(&dev->usb.status_worker); in mt76u_complete_tx()
886 if (!dev->usb.sg_en) { in mt76u_tx_setup_buffers()
1018 mt76_worker_teardown(&dev->usb.status_worker); in mt76u_free_tx()
1039 mt76_worker_disable(&dev->usb.status_worker); in mt76u_stop_tx()
1079 cancel_work_sync(&dev->usb.stat_work); in mt76u_stop_tx()
1082 mt76_worker_enable(&dev->usb.status_worker); in mt76u_stop_tx()
1125 struct mt76_usb *usb = &dev->usb; in mt76u_init() local
1133 INIT_WORK(&usb->stat_work, mt76u_tx_status_data); in mt76u_init()
1135 usb->data_len = usb_maxpacket(udev, usb_sndctrlpipe(udev, 0), 1); in mt76u_init()
1136 if (usb->data_len < 32) in mt76u_init()
1137 usb->data_len = 32; in mt76u_init()
1139 usb->data = devm_kmalloc(dev->dev, usb->data_len, GFP_KERNEL); in mt76u_init()
1140 if (!usb->data) in mt76u_init()
1143 mutex_init(&usb->usb_ctrl_mtx); in mt76u_init()
1149 usb->sg_en = mt76u_check_sg(dev); in mt76u_init()
1151 err = mt76u_set_endpoints(intf, usb); in mt76u_init()
1155 err = mt76_worker_setup(dev->hw, &usb->rx_worker, mt76u_rx_worker, in mt76u_init()
1160 err = mt76_worker_setup(dev->hw, &usb->status_worker, in mt76u_init()
1165 sched_set_fifo_low(usb->rx_worker.task); in mt76u_init()
1166 sched_set_fifo_low(usb->status_worker.task); in mt76u_init()