Lines Matching refs:port

57 struct port {  struct
84 struct port ports[0]; /* 1 - 4 port structures follow */ argument
89 static inline struct port *dev_to_port(struct net_device *dev) in dev_to_port()
91 return (struct port *)dev_to_hdlc(dev)->priv; in dev_to_port()
95 static inline port_status_t *get_status(struct port *port) in get_status() argument
97 return &port->card->status->port_status[port->node]; in get_status()
118 static inline void wanxl_cable_intr(struct port *port) in wanxl_cable_intr() argument
120 u32 value = get_status(port)->cable; in wanxl_cable_intr()
151 netdev_info(port->dev, "%s%s module, %s cable%s%s\n", in wanxl_cable_intr()
155 netif_carrier_on(port->dev); in wanxl_cable_intr()
157 netif_carrier_off(port->dev); in wanxl_cable_intr()
163 static inline void wanxl_tx_intr(struct port *port) in wanxl_tx_intr() argument
165 struct net_device *dev = port->dev; in wanxl_tx_intr()
167 desc_t *desc = &get_status(port)->tx_descs[port->tx_in]; in wanxl_tx_intr()
168 struct sk_buff *skb = port->tx_skbs[port->tx_in]; in wanxl_tx_intr()
186 pci_unmap_single(port->card->pdev, desc->address, skb->len, in wanxl_tx_intr()
189 port->tx_in = (port->tx_in + 1) % TX_BUFFERS; in wanxl_tx_intr()
206 struct port *port = &card->ports[desc->stat & in wanxl_rx_intr() local
208 struct net_device *dev = port->dev; in wanxl_rx_intr()
275 struct port *port = dev_to_port(dev); in wanxl_xmit() local
278 spin_lock(&port->lock); in wanxl_xmit()
280 desc = &get_status(port)->tx_descs[port->tx_out]; in wanxl_xmit()
287 spin_unlock(&port->lock); in wanxl_xmit()
296 port->tx_skbs[port->tx_out] = skb; in wanxl_xmit()
297 desc->address = pci_map_single(port->card->pdev, skb->data, skb->len, in wanxl_xmit()
301 writel(1 << (DOORBELL_TO_CARD_TX_0 + port->node), in wanxl_xmit()
302 port->card->plx + PLX_DOORBELL_TO_CARD); in wanxl_xmit()
304 port->tx_out = (port->tx_out + 1) % TX_BUFFERS; in wanxl_xmit()
306 if (get_status(port)->tx_descs[port->tx_out].stat != PACKET_EMPTY) { in wanxl_xmit()
313 spin_unlock(&port->lock); in wanxl_xmit()
322 struct port *port = dev_to_port(dev); in wanxl_attach() local
335 get_status(port)->encoding = encoding; in wanxl_attach()
336 get_status(port)->parity = parity; in wanxl_attach()
346 struct port *port = dev_to_port(dev); in wanxl_ioctl() local
359 line.clock_type = get_status(port)->clocking; in wanxl_ioctl()
384 get_status(port)->clocking = line.clock_type; in wanxl_ioctl()
396 struct port *port = dev_to_port(dev); in wanxl_open() local
397 u8 __iomem *dbr = port->card->plx + PLX_DOORBELL_TO_CARD; in wanxl_open()
401 if (get_status(port)->open) { in wanxl_open()
408 port->tx_in = port->tx_out = 0; in wanxl_open()
410 get_status(port)->tx_descs[i].stat = PACKET_EMPTY; in wanxl_open()
412 writel(1 << (DOORBELL_TO_CARD_OPEN_0 + port->node), dbr); in wanxl_open()
416 if (get_status(port)->open) { in wanxl_open()
424 writel(1 << (DOORBELL_TO_CARD_CLOSE_0 + port->node), dbr); in wanxl_open()
432 struct port *port = dev_to_port(dev); in wanxl_close() local
438 writel(1 << (DOORBELL_TO_CARD_CLOSE_0 + port->node), in wanxl_close()
439 port->card->plx + PLX_DOORBELL_TO_CARD); in wanxl_close()
443 if (!get_status(port)->open) in wanxl_close()
447 if (get_status(port)->open) in wanxl_close()
453 desc_t *desc = &get_status(port)->tx_descs[i]; in wanxl_close()
457 pci_unmap_single(port->card->pdev, desc->address, in wanxl_close()
458 port->tx_skbs[i]->len, in wanxl_close()
460 dev_kfree_skb(port->tx_skbs[i]); in wanxl_close()
470 struct port *port = dev_to_port(dev); in wanxl_get_stats() local
472 dev->stats.rx_over_errors = get_status(port)->rx_overruns; in wanxl_get_stats()
473 dev->stats.rx_frame_errors = get_status(port)->rx_frame_errors; in wanxl_get_stats()
604 alloc_size = sizeof(struct card) + ports * sizeof(struct port); in wanxl_pci_init_one()
770 struct port *port = &card->ports[i]; in wanxl_pci_init_one() local
771 struct net_device *dev = alloc_hdlcdev(port); in wanxl_pci_init_one()
779 port->dev = dev; in wanxl_pci_init_one()
781 spin_lock_init(&port->lock); in wanxl_pci_init_one()
786 port->card = card; in wanxl_pci_init_one()
787 port->node = i; in wanxl_pci_init_one()
788 get_status(port)->clocking = CLOCK_EXT; in wanxl_pci_init_one()