Lines Matching refs:i2400mu
118 size_t i2400mu_rx_size_grow(struct i2400mu *i2400mu) in i2400mu_rx_size_grow() argument
120 struct device *dev = &i2400mu->usb_iface->dev; in i2400mu_rx_size_grow()
124 rx_size = 2 * i2400mu->rx_size; in i2400mu_rx_size_grow()
130 rx_size, i2400mu->rx_size); in i2400mu_rx_size_grow()
134 rx_size, i2400mu->rx_size); in i2400mu_rx_size_grow()
140 void i2400mu_rx_size_maybe_shrink(struct i2400mu *i2400mu) in i2400mu_rx_size_maybe_shrink() argument
143 struct device *dev = &i2400mu->usb_iface->dev; in i2400mu_rx_size_maybe_shrink()
145 if (unlikely(i2400mu->rx_size_cnt >= 100 in i2400mu_rx_size_maybe_shrink()
146 && i2400mu->rx_size_auto_shrink)) { in i2400mu_rx_size_maybe_shrink()
148 i2400mu->rx_size_acc / i2400mu->rx_size_cnt; in i2400mu_rx_size_maybe_shrink()
149 size_t new_rx_size = i2400mu->rx_size / 2; in i2400mu_rx_size_maybe_shrink()
156 new_rx_size, i2400mu->rx_size); in i2400mu_rx_size_maybe_shrink()
161 new_rx_size, i2400mu->rx_size); in i2400mu_rx_size_maybe_shrink()
162 i2400mu->rx_size = new_rx_size; in i2400mu_rx_size_maybe_shrink()
163 i2400mu->rx_size_cnt = 0; in i2400mu_rx_size_maybe_shrink()
164 i2400mu->rx_size_acc = i2400mu->rx_size; in i2400mu_rx_size_maybe_shrink()
192 struct sk_buff *i2400mu_rx(struct i2400mu *i2400mu, struct sk_buff *rx_skb) in i2400mu_rx() argument
195 struct device *dev = &i2400mu->usb_iface->dev; in i2400mu_rx()
200 d_fnstart(4, dev, "(i2400mu %p)\n", i2400mu); in i2400mu_rx()
201 do_autopm = atomic_read(&i2400mu->do_autopm); in i2400mu_rx()
203 usb_autopm_get_interface(i2400mu->usb_iface) : 0; in i2400mu_rx()
208 epd = usb_get_epd(i2400mu->usb_iface, i2400mu->endpoint_cfg.bulk_in); in i2400mu_rx()
209 usb_pipe = usb_rcvbulkpipe(i2400mu->usb_dev, epd->bEndpointAddress); in i2400mu_rx()
217 i2400mu->usb_dev, usb_pipe, rx_skb->data + rx_skb->len, in i2400mu_rx()
219 usb_mark_last_busy(i2400mu->usb_dev); in i2400mu_rx()
237 if (edc_inc(&i2400mu->urb_edc, in i2400mu_rx()
243 usb_clear_halt(i2400mu->usb_dev, usb_pipe); in i2400mu_rx()
254 rx_size = i2400mu_rx_size_grow(i2400mu); in i2400mu_rx()
256 i2400mu->rx_size = rx_size; in i2400mu_rx()
272 i2400mu->rx_size_cnt = 0; in i2400mu_rx()
273 i2400mu->rx_size_acc = i2400mu->rx_size; in i2400mu_rx()
289 if (edc_inc(&i2400mu->urb_edc, in i2400mu_rx()
297 usb_autopm_put_interface(i2400mu->usb_iface); in i2400mu_rx()
298 d_fnend(4, dev, "(i2400mu %p) = %p\n", i2400mu, rx_skb); in i2400mu_rx()
305 usb_queue_reset_device(i2400mu->usb_iface); in i2400mu_rx()
331 struct i2400mu *i2400mu = _i2400mu; in i2400mu_rxd() local
332 struct i2400m *i2400m = &i2400mu->i2400m; in i2400mu_rxd()
333 struct device *dev = &i2400mu->usb_iface->dev; in i2400mu_rxd()
340 d_fnstart(4, dev, "(i2400mu %p)\n", i2400mu); in i2400mu_rxd()
342 BUG_ON(i2400mu->rx_kthread != NULL); in i2400mu_rxd()
343 i2400mu->rx_kthread = current; in i2400mu_rxd()
349 i2400mu->rx_wq, in i2400mu_rxd()
351 || (pending = atomic_read(&i2400mu->rx_pending_count))) in i2400mu_rxd()
357 rx_size = i2400mu->rx_size; in i2400mu_rxd()
368 rx_skb = i2400mu_rx(i2400mu, rx_skb); in i2400mu_rxd()
372 atomic_dec(&i2400mu->rx_pending_count); in i2400mu_rxd()
380 i2400mu->rx_size_cnt++; in i2400mu_rxd()
381 i2400mu->rx_size_acc += rx_skb->len; in i2400mu_rxd()
384 && edc_inc(&i2400mu->urb_edc, in i2400mu_rxd()
390 i2400mu_rx_size_maybe_shrink(i2400mu); in i2400mu_rxd()
395 i2400mu->rx_kthread = NULL; in i2400mu_rxd()
397 d_fnend(4, dev, "(i2400mu %p) = %d\n", i2400mu, result); in i2400mu_rxd()
403 usb_queue_reset_device(i2400mu->usb_iface); in i2400mu_rxd()
415 void i2400mu_rx_kick(struct i2400mu *i2400mu) in i2400mu_rx_kick() argument
417 struct i2400m *i2400m = &i2400mu->i2400m; in i2400mu_rx_kick()
418 struct device *dev = &i2400mu->usb_iface->dev; in i2400mu_rx_kick()
421 atomic_inc(&i2400mu->rx_pending_count); in i2400mu_rx_kick()
422 wake_up_all(&i2400mu->rx_wq); in i2400mu_rx_kick()
427 int i2400mu_rx_setup(struct i2400mu *i2400mu) in i2400mu_rx_setup() argument
430 struct i2400m *i2400m = &i2400mu->i2400m; in i2400mu_rx_setup()
431 struct device *dev = &i2400mu->usb_iface->dev; in i2400mu_rx_setup()
435 kthread = kthread_run(i2400mu_rxd, i2400mu, "%s-rx", in i2400mu_rx_setup()
446 void i2400mu_rx_release(struct i2400mu *i2400mu) in i2400mu_rx_release() argument
449 struct i2400m *i2400m = &i2400mu->i2400m; in i2400mu_rx_release()
454 kthread = i2400mu->rx_kthread; in i2400mu_rx_release()
455 i2400mu->rx_kthread = NULL; in i2400mu_rx_release()