• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/uwb/i1480/i1480u-wlp/

Lines Matching refs:i1480u

4 #include "i1480u-wlp.h"
12 /* Free resources allocated to a i1480u tx context. */
24 void i1480u_tx_destroy(struct i1480u *i1480u, struct i1480u_tx *wtx)
27 spin_lock_irqsave(&i1480u->tx_list_lock, flags); /* not active any more */
30 spin_unlock_irqrestore(&i1480u->tx_list_lock, flags);
34 void i1480u_tx_unlink_urbs(struct i1480u *i1480u)
39 spin_lock_irqsave(&i1480u->tx_list_lock, flags);
40 list_for_each_entry_safe(wtx, next, &i1480u->tx_list, list_node) {
43 spin_unlock_irqrestore(&i1480u->tx_list_lock, flags);
51 struct i1480u *i1480u = wtx->i1480u;
52 struct net_device *net_dev = i1480u->net_dev;
53 struct device *dev = &i1480u->usb_iface->dev;
58 spin_lock_irqsave(&i1480u->lock, flags);
61 spin_unlock_irqrestore(&i1480u->lock, flags);
74 if (edc_inc(&i1480u->tx_errors, EDC_MAX_ERRORS,
79 i1480u_tx_unlink_urbs(i1480u);
80 wlp_reset_all(&i1480u->wlp);
84 i1480u_tx_destroy(i1480u, wtx);
85 if (atomic_dec_return(&i1480u->tx_inflight.count)
86 <= i1480u->tx_inflight.threshold
88 && i1480u->tx_inflight.threshold != 0) {
90 atomic_inc(&i1480u->tx_inflight.restart_count);
305 struct i1480u_tx *i1480u_tx_create(struct i1480u *i1480u,
324 epd = &i1480u->usb_iface->cur_altsetting->endpoint[2].desc;
325 usb_pipe = usb_sndbulkpipe(i1480u->usb_dev, epd->bEndpointAddress);
331 usb_fill_bulk_urb(wtx->urb, i1480u->usb_dev, usb_pipe,
337 usb_fill_bulk_urb(wtx->urb, i1480u->usb_dev, usb_pipe,
340 spin_lock_irqsave(&i1480u->tx_list_lock, flags);
341 list_add(&wtx->list_node, &i1480u->tx_list);
342 spin_unlock_irqrestore(&i1480u->tx_list_lock, flags);
369 struct i1480u *i1480u = container_of(wlp, struct i1480u, wlp);
370 struct device *dev = &i1480u->usb_iface->dev;
371 struct net_device *net_dev = i1480u->net_dev;
376 BUG_ON(i1480u->wlp.rc == NULL);
380 if (atomic_read(&i1480u->tx_inflight.count) >= i1480u->tx_inflight.max) {
385 wtx = i1480u_tx_create(i1480u, skb, GFP_ATOMIC);
390 atomic_read(&i1480u->tx_inflight.count));
394 wtx->i1480u = i1480u;
395 /* Fill out the i1480 header; @i1480u->def_tx_hdr read without
400 *wlp_tx_hdr = i1480u->options.def_tx_hdr;
406 wlp_tx_hdr_set_delivery_id_type(wlp_tx_hdr, i1480u->options.pca_base_priority);
416 atomic_inc(&i1480u->tx_inflight.count);
421 i1480u_tx_destroy(i1480u, wtx);
449 struct i1480u *i1480u = netdev_priv(net_dev);
450 struct device *dev = &i1480u->usb_iface->dev;
455 result = wlp_prepare_tx_frame(dev, &i1480u->wlp, skb, &dst);
465 result = i1480u_xmit_frame(&i1480u->wlp, skb, &dst);
485 struct i1480u *i1480u = netdev_priv(net_dev);
487 wlp_reset_all(&i1480u->wlp);
491 void i1480u_tx_release(struct i1480u *i1480u)
497 spin_lock_irqsave(&i1480u->tx_list_lock, flags);
498 list_for_each_entry_safe(wtx, next, &i1480u->tx_list, list_node) {
502 spin_unlock_irqrestore(&i1480u->tx_list_lock, flags);
513 spin_lock_irqsave(&i1480u->tx_list_lock, flags);
514 empty = list_empty(&i1480u->tx_list);
515 spin_unlock_irqrestore(&i1480u->tx_list_lock, flags);