Lines Matching refs:card

62 int gelic_card_set_irq_mask(struct gelic_card *card, u64 mask)  in gelic_card_set_irq_mask()  argument
66 status = lv1_net_set_interrupt_mask(bus_id(card), dev_id(card), in gelic_card_set_irq_mask()
69 dev_info(ctodev(card), in gelic_card_set_irq_mask()
74 static void gelic_card_rx_irq_on(struct gelic_card *card) in gelic_card_rx_irq_on() argument
76 card->irq_mask |= GELIC_CARD_RXINT; in gelic_card_rx_irq_on()
77 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_card_rx_irq_on()
79 static void gelic_card_rx_irq_off(struct gelic_card *card) in gelic_card_rx_irq_off() argument
81 card->irq_mask &= ~GELIC_CARD_RXINT; in gelic_card_rx_irq_off()
82 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_card_rx_irq_off()
85 static void gelic_card_get_ether_port_status(struct gelic_card *card, in gelic_card_get_ether_port_status() argument
91 lv1_net_control(bus_id(card), dev_id(card), in gelic_card_get_ether_port_status()
94 &card->ether_port_status, &v2); in gelic_card_get_ether_port_status()
97 ether_netdev = card->netdev[GELIC_PORT_ETHERNET_0]; in gelic_card_get_ether_port_status()
98 if (card->ether_port_status & GELIC_LV1_ETHER_LINK_UP) in gelic_card_get_ether_port_status()
105 static int gelic_card_set_link_mode(struct gelic_card *card, int mode) in gelic_card_set_link_mode() argument
110 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_card_set_link_mode()
119 card->link_mode = mode; in gelic_card_set_link_mode()
130 static void gelic_card_disable_txdmac(struct gelic_card *card) in gelic_card_disable_txdmac() argument
135 status = lv1_net_stop_tx_dma(bus_id(card), dev_id(card)); in gelic_card_disable_txdmac()
137 dev_err(ctodev(card), in gelic_card_disable_txdmac()
148 static void gelic_card_enable_rxdmac(struct gelic_card *card) in gelic_card_enable_rxdmac() argument
153 if (gelic_descr_get_status(card->rx_chain.head) != in gelic_card_enable_rxdmac()
156 be32_to_cpu(card->rx_chain.head->dmac_cmd_status)); in gelic_card_enable_rxdmac()
158 be32_to_cpu(card->rx_chain.head->next_descr_addr)); in gelic_card_enable_rxdmac()
160 card->rx_chain.head); in gelic_card_enable_rxdmac()
163 status = lv1_net_start_rx_dma(bus_id(card), dev_id(card), in gelic_card_enable_rxdmac()
164 card->rx_chain.head->bus_addr, 0); in gelic_card_enable_rxdmac()
166 dev_info(ctodev(card), in gelic_card_enable_rxdmac()
177 static void gelic_card_disable_rxdmac(struct gelic_card *card) in gelic_card_disable_rxdmac() argument
182 status = lv1_net_stop_rx_dma(bus_id(card), dev_id(card)); in gelic_card_disable_rxdmac()
184 dev_err(ctodev(card), in gelic_card_disable_rxdmac()
220 static void gelic_card_reset_chain(struct gelic_card *card, in gelic_card_reset_chain() argument
237 void gelic_card_up(struct gelic_card *card) in gelic_card_up() argument
240 mutex_lock(&card->updown_lock); in gelic_card_up()
241 if (atomic_inc_return(&card->users) == 1) { in gelic_card_up()
244 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_card_up()
246 gelic_card_enable_rxdmac(card); in gelic_card_up()
248 napi_enable(&card->napi); in gelic_card_up()
250 mutex_unlock(&card->updown_lock); in gelic_card_up()
254 void gelic_card_down(struct gelic_card *card) in gelic_card_down() argument
258 mutex_lock(&card->updown_lock); in gelic_card_down()
259 if (atomic_dec_if_positive(&card->users) == 0) { in gelic_card_down()
261 napi_disable(&card->napi); in gelic_card_down()
266 mask = card->irq_mask & (GELIC_CARD_WLAN_EVENT_RECEIVED | in gelic_card_down()
268 gelic_card_set_irq_mask(card, mask); in gelic_card_down()
270 gelic_card_disable_rxdmac(card); in gelic_card_down()
271 gelic_card_reset_chain(card, &card->rx_chain, in gelic_card_down()
272 card->descr + GELIC_NET_TX_DESCRIPTORS); in gelic_card_down()
274 gelic_card_disable_txdmac(card); in gelic_card_down()
276 mutex_unlock(&card->updown_lock); in gelic_card_down()
297 static void gelic_card_free_chain(struct gelic_card *card, in gelic_card_free_chain() argument
303 dma_unmap_single(ctodev(card), descr->bus_addr, in gelic_card_free_chain()
321 static int gelic_card_init_chain(struct gelic_card *card, in gelic_card_init_chain() argument
335 dma_map_single(ctodev(card), descr, in gelic_card_init_chain()
366 dma_unmap_single(ctodev(card), descr->bus_addr, in gelic_card_init_chain()
382 static int gelic_descr_prepare_rx(struct gelic_card *card, in gelic_descr_prepare_rx() argument
389 dev_info(ctodev(card), "%s: ERROR status\n", __func__); in gelic_descr_prepare_rx()
398 dev_info(ctodev(card), in gelic_descr_prepare_rx()
413 descr->buf_addr = cpu_to_be32(dma_map_single(ctodev(card), in gelic_descr_prepare_rx()
420 dev_info(ctodev(card), in gelic_descr_prepare_rx()
435 static void gelic_card_release_rx_chain(struct gelic_card *card) in gelic_card_release_rx_chain() argument
437 struct gelic_descr *descr = card->rx_chain.head; in gelic_card_release_rx_chain()
441 dma_unmap_single(ctodev(card), in gelic_card_release_rx_chain()
452 } while (descr != card->rx_chain.head); in gelic_card_release_rx_chain()
463 static int gelic_card_fill_rx_chain(struct gelic_card *card) in gelic_card_fill_rx_chain() argument
465 struct gelic_descr *descr = card->rx_chain.head; in gelic_card_fill_rx_chain()
470 ret = gelic_descr_prepare_rx(card, descr); in gelic_card_fill_rx_chain()
475 } while (descr != card->rx_chain.head); in gelic_card_fill_rx_chain()
479 gelic_card_release_rx_chain(card); in gelic_card_fill_rx_chain()
489 static int gelic_card_alloc_rx_skbs(struct gelic_card *card) in gelic_card_alloc_rx_skbs() argument
493 chain = &card->rx_chain; in gelic_card_alloc_rx_skbs()
494 ret = gelic_card_fill_rx_chain(card); in gelic_card_alloc_rx_skbs()
495 chain->tail = card->rx_top->prev; /* point to the last */ in gelic_card_alloc_rx_skbs()
506 static void gelic_descr_release_tx(struct gelic_card *card, in gelic_descr_release_tx() argument
513 dma_unmap_single(ctodev(card), be32_to_cpu(descr->buf_addr), skb->len, in gelic_descr_release_tx()
530 static void gelic_card_stop_queues(struct gelic_card *card) in gelic_card_stop_queues() argument
532 netif_stop_queue(card->netdev[GELIC_PORT_ETHERNET_0]); in gelic_card_stop_queues()
534 if (card->netdev[GELIC_PORT_WIRELESS]) in gelic_card_stop_queues()
535 netif_stop_queue(card->netdev[GELIC_PORT_WIRELESS]); in gelic_card_stop_queues()
537 static void gelic_card_wake_queues(struct gelic_card *card) in gelic_card_wake_queues() argument
539 netif_wake_queue(card->netdev[GELIC_PORT_ETHERNET_0]); in gelic_card_wake_queues()
541 if (card->netdev[GELIC_PORT_WIRELESS]) in gelic_card_wake_queues()
542 netif_wake_queue(card->netdev[GELIC_PORT_WIRELESS]); in gelic_card_wake_queues()
551 static void gelic_card_release_tx_chain(struct gelic_card *card, int stop) in gelic_card_release_tx_chain() argument
558 for (tx_chain = &card->tx_chain; in gelic_card_release_tx_chain()
568 dev_info(ctodev(card), in gelic_card_release_tx_chain()
590 gelic_descr_release_tx(card, tx_chain->tail); in gelic_card_release_tx_chain()
595 gelic_card_wake_queues(card); in gelic_card_release_tx_chain()
608 struct gelic_card *card = netdev_card(netdev); in gelic_net_set_multi() local
616 status = lv1_net_remove_multicast_address(bus_id(card), dev_id(card), in gelic_net_set_multi()
619 dev_err(ctodev(card), in gelic_net_set_multi()
623 status = lv1_net_add_multicast_address(bus_id(card), dev_id(card), in gelic_net_set_multi()
626 dev_err(ctodev(card), in gelic_net_set_multi()
632 status = lv1_net_add_multicast_address(bus_id(card), in gelic_net_set_multi()
633 dev_id(card), in gelic_net_set_multi()
636 dev_err(ctodev(card), in gelic_net_set_multi()
650 status = lv1_net_add_multicast_address(bus_id(card), in gelic_net_set_multi()
651 dev_id(card), in gelic_net_set_multi()
654 dev_err(ctodev(card), in gelic_net_set_multi()
668 struct gelic_card *card; in gelic_net_stop() local
675 card = netdev_card(netdev); in gelic_net_stop()
676 gelic_card_down(card); in gelic_net_stop()
689 gelic_card_get_next_tx_descr(struct gelic_card *card) in gelic_card_get_next_tx_descr() argument
691 if (!card->tx_chain.head) in gelic_card_get_next_tx_descr()
694 if (card->tx_chain.tail != card->tx_chain.head->next && in gelic_card_get_next_tx_descr()
695 gelic_descr_get_status(card->tx_chain.head) == in gelic_card_get_next_tx_descr()
697 return card->tx_chain.head; in gelic_card_get_next_tx_descr()
777 static int gelic_descr_prepare_tx(struct gelic_card *card, in gelic_descr_prepare_tx() argument
783 if (card->vlan_required) { in gelic_descr_prepare_tx()
789 card->vlan[type].tx); in gelic_descr_prepare_tx()
795 buf = dma_map_single(ctodev(card), skb->data, skb->len, DMA_TO_DEVICE); in gelic_descr_prepare_tx()
798 dev_err(ctodev(card), in gelic_descr_prepare_tx()
812 card->tx_chain.head = descr->next; in gelic_descr_prepare_tx()
822 static int gelic_card_kick_txdma(struct gelic_card *card, in gelic_card_kick_txdma() argument
827 if (card->tx_dma_progress) in gelic_card_kick_txdma()
831 card->tx_dma_progress = 1; in gelic_card_kick_txdma()
832 status = lv1_net_start_tx_dma(bus_id(card), dev_id(card), in gelic_card_kick_txdma()
835 card->tx_dma_progress = 0; in gelic_card_kick_txdma()
836 dev_info(ctodev(card), "lv1_net_start_txdma failed," \ in gelic_card_kick_txdma()
852 struct gelic_card *card = netdev_card(netdev); in gelic_net_xmit() local
857 spin_lock_irqsave(&card->tx_lock, flags); in gelic_net_xmit()
859 gelic_card_release_tx_chain(card, 0); in gelic_net_xmit()
861 descr = gelic_card_get_next_tx_descr(card); in gelic_net_xmit()
866 gelic_card_stop_queues(card); in gelic_net_xmit()
867 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_net_xmit()
871 result = gelic_descr_prepare_tx(card, descr, skb); in gelic_net_xmit()
879 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_net_xmit()
892 if (gelic_card_kick_txdma(card, descr)) { in gelic_net_xmit()
900 gelic_descr_release_tx(card, descr); in gelic_net_xmit()
902 card->tx_chain.head = descr; in gelic_net_xmit()
905 dev_info(ctodev(card), "%s: kick failure\n", __func__); in gelic_net_xmit()
908 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_net_xmit()
922 struct gelic_card *card, in gelic_net_pass_skb_up() argument
932 dma_unmap_single(ctodev(card), be32_to_cpu(descr->buf_addr), in gelic_net_pass_skb_up()
940 dev_info(ctodev(card), "buffer full %x %x %x\n", in gelic_net_pass_skb_up()
980 static int gelic_card_decode_one_descr(struct gelic_card *card) in gelic_card_decode_one_descr() argument
983 struct gelic_descr_chain *chain = &card->rx_chain; in gelic_card_decode_one_descr()
994 dev_dbg(ctodev(card), "dormant descr? %p\n", descr); in gelic_card_decode_one_descr()
999 if (card->vlan_required) { in gelic_card_decode_one_descr()
1004 if (card->vlan[i].rx == vid) { in gelic_card_decode_one_descr()
1005 netdev = card->netdev[i]; in gelic_card_decode_one_descr()
1014 netdev = card->netdev[GELIC_PORT_ETHERNET_0]; in gelic_card_decode_one_descr()
1019 dev_info(ctodev(card), "dropping RX descriptor with state %x\n", in gelic_card_decode_one_descr()
1035 dev_info(ctodev(card), "overlength frame\n"); in gelic_card_decode_one_descr()
1043 dev_dbg(ctodev(card), "RX descriptor with state %x\n", in gelic_card_decode_one_descr()
1049 gelic_net_pass_skb_up(descr, card, netdev); in gelic_card_decode_one_descr()
1070 gelic_descr_prepare_rx(card, descr); in gelic_card_decode_one_descr()
1086 gelic_card_enable_rxdmac(card); in gelic_card_decode_one_descr()
1101 struct gelic_card *card = container_of(napi, struct gelic_card, napi); in gelic_net_poll() local
1105 if (!gelic_card_decode_one_descr(card)) in gelic_net_poll()
1113 gelic_card_rx_irq_on(card); in gelic_net_poll()
1142 struct gelic_card *card = ptr; in gelic_card_interrupt() local
1145 status = card->irq_status; in gelic_card_interrupt()
1150 status &= card->irq_mask; in gelic_card_interrupt()
1153 gelic_card_rx_irq_off(card); in gelic_card_interrupt()
1154 napi_schedule(&card->napi); in gelic_card_interrupt()
1158 spin_lock_irqsave(&card->tx_lock, flags); in gelic_card_interrupt()
1159 card->tx_dma_progress = 0; in gelic_card_interrupt()
1160 gelic_card_release_tx_chain(card, 0); in gelic_card_interrupt()
1162 gelic_card_kick_txdma(card, card->tx_chain.tail); in gelic_card_interrupt()
1163 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_card_interrupt()
1168 gelic_card_get_ether_port_status(card, 1); in gelic_card_interrupt()
1173 gelic_wl_interrupt(card->netdev[GELIC_PORT_WIRELESS], status); in gelic_card_interrupt()
1188 struct gelic_card *card = netdev_card(netdev); in gelic_net_poll_controller() local
1190 gelic_card_set_irq_mask(card, 0); in gelic_net_poll_controller()
1192 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_net_poll_controller()
1207 struct gelic_card *card = netdev_card(netdev); in gelic_net_open() local
1209 dev_dbg(ctodev(card), " -> %s %p\n", __func__, netdev); in gelic_net_open()
1211 gelic_card_up(card); in gelic_net_open()
1214 gelic_card_get_ether_port_status(card, 1); in gelic_net_open()
1216 dev_dbg(ctodev(card), " <- %s\n", __func__); in gelic_net_open()
1230 struct gelic_card *card = netdev_card(netdev); in gelic_ether_get_settings() local
1232 gelic_card_get_ether_port_status(card, 0); in gelic_ether_get_settings()
1234 if (card->ether_port_status & GELIC_LV1_ETHER_FULL_DUPLEX) in gelic_ether_get_settings()
1239 switch (card->ether_port_status & GELIC_LV1_ETHER_SPEED_MASK) { in gelic_ether_get_settings()
1260 if (card->link_mode & GELIC_LV1_ETHER_AUTO_NEG) { in gelic_ether_get_settings()
1274 struct gelic_card *card = netdev_card(netdev); in gelic_ether_set_settings() local
1302 ret = gelic_card_set_link_mode(card, mode); in gelic_ether_set_settings()
1325 struct gelic_card *card; in gelic_net_set_wol() local
1335 card = netdev_card(netdev); in gelic_net_set_wol()
1337 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1348 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1361 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1372 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1407 struct gelic_card *card = in gelic_net_tx_timeout_task() local
1409 struct net_device *netdev = card->netdev[GELIC_PORT_ETHERNET_0]; in gelic_net_tx_timeout_task()
1411 dev_info(ctodev(card), "%s:Timed out. Restarting...\n", __func__); in gelic_net_tx_timeout_task()
1423 atomic_dec(&card->tx_timeout_task_counter); in gelic_net_tx_timeout_task()
1434 struct gelic_card *card; in gelic_net_tx_timeout() local
1436 card = netdev_card(netdev); in gelic_net_tx_timeout()
1437 atomic_inc(&card->tx_timeout_task_counter); in gelic_net_tx_timeout()
1439 schedule_work(&card->tx_timeout_task); in gelic_net_tx_timeout()
1441 atomic_dec(&card->tx_timeout_task_counter); in gelic_net_tx_timeout()
1484 int gelic_net_setup_netdev(struct net_device *netdev, struct gelic_card *card) in gelic_net_setup_netdev() argument
1495 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_setup_netdev()
1500 dev_info(ctodev(card), in gelic_net_setup_netdev()
1507 if (card->vlan_required) { in gelic_net_setup_netdev()
1518 dev_err(ctodev(card), "%s:Couldn't register %s %d\n", in gelic_net_setup_netdev()
1522 dev_info(ctodev(card), "%s: MAC addr %pM\n", in gelic_net_setup_netdev()
1538 struct gelic_card *card; in gelic_alloc_card_net() local
1557 card = PTR_ALIGN(p, GELIC_ALIGN); in gelic_alloc_card_net()
1558 card->unalign = p; in gelic_alloc_card_net()
1565 kfree(card->unalign); in gelic_alloc_card_net()
1572 port->card = card; in gelic_alloc_card_net()
1576 card->netdev[GELIC_PORT_ETHERNET_0] = *netdev; in gelic_alloc_card_net()
1578 INIT_WORK(&card->tx_timeout_task, gelic_net_tx_timeout_task); in gelic_alloc_card_net()
1579 init_waitqueue_head(&card->waitq); in gelic_alloc_card_net()
1580 atomic_set(&card->tx_timeout_task_counter, 0); in gelic_alloc_card_net()
1581 mutex_init(&card->updown_lock); in gelic_alloc_card_net()
1582 atomic_set(&card->users, 0); in gelic_alloc_card_net()
1584 return card; in gelic_alloc_card_net()
1587 static void gelic_card_get_vlan_info(struct gelic_card *card) in gelic_card_get_vlan_info() argument
1608 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_card_get_vlan_info()
1614 dev_dbg(ctodev(card), in gelic_card_get_vlan_info()
1617 card->vlan[i].tx = 0; in gelic_card_get_vlan_info()
1618 card->vlan[i].rx = 0; in gelic_card_get_vlan_info()
1621 card->vlan[i].tx = (u16)v1; in gelic_card_get_vlan_info()
1624 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_card_get_vlan_info()
1630 dev_info(ctodev(card), in gelic_card_get_vlan_info()
1633 card->vlan[i].tx = 0; in gelic_card_get_vlan_info()
1634 card->vlan[i].rx = 0; in gelic_card_get_vlan_info()
1637 card->vlan[i].rx = (u16)v1; in gelic_card_get_vlan_info()
1639 dev_dbg(ctodev(card), "vlan_id[%d] tx=%02x rx=%02x\n", in gelic_card_get_vlan_info()
1640 i, card->vlan[i].tx, card->vlan[i].rx); in gelic_card_get_vlan_info()
1643 if (card->vlan[GELIC_PORT_ETHERNET_0].tx) { in gelic_card_get_vlan_info()
1644 BUG_ON(!card->vlan[GELIC_PORT_WIRELESS].tx); in gelic_card_get_vlan_info()
1645 card->vlan_required = 1; in gelic_card_get_vlan_info()
1647 card->vlan_required = 0; in gelic_card_get_vlan_info()
1651 card->vlan[GELIC_PORT_WIRELESS].tx = 0; in gelic_card_get_vlan_info()
1652 card->vlan[GELIC_PORT_WIRELESS].rx = 0; in gelic_card_get_vlan_info()
1655 dev_info(ctodev(card), "internal vlan %s\n", in gelic_card_get_vlan_info()
1656 card->vlan_required? "enabled" : "disabled"); in gelic_card_get_vlan_info()
1663 struct gelic_card *card; in ps3_gelic_driver_probe() local
1689 card = gelic_alloc_card_net(&netdev); in ps3_gelic_driver_probe()
1690 if (!card) { in ps3_gelic_driver_probe()
1696 ps3_system_bus_set_drvdata(dev, card); in ps3_gelic_driver_probe()
1697 card->dev = dev; in ps3_gelic_driver_probe()
1700 gelic_card_get_vlan_info(card); in ps3_gelic_driver_probe()
1702 card->link_mode = GELIC_LV1_ETHER_AUTO_NEG; in ps3_gelic_driver_probe()
1705 result = lv1_net_set_interrupt_status_indicator(bus_id(card), in ps3_gelic_driver_probe()
1706 dev_id(card), in ps3_gelic_driver_probe()
1707 ps3_mm_phys_to_lpar(__pa(&card->irq_status)), in ps3_gelic_driver_probe()
1719 &card->irq); in ps3_gelic_driver_probe()
1722 dev_info(ctodev(card), in ps3_gelic_driver_probe()
1728 result = request_irq(card->irq, gelic_card_interrupt, in ps3_gelic_driver_probe()
1729 0, netdev->name, card); in ps3_gelic_driver_probe()
1732 dev_info(ctodev(card), "%s:request_irq failed (%d)\n", in ps3_gelic_driver_probe()
1738 card->irq_mask = GELIC_CARD_RXINT | GELIC_CARD_TXINT | in ps3_gelic_driver_probe()
1742 result = gelic_card_init_chain(card, &card->tx_chain, in ps3_gelic_driver_probe()
1743 card->descr, GELIC_NET_TX_DESCRIPTORS); in ps3_gelic_driver_probe()
1746 result = gelic_card_init_chain(card, &card->rx_chain, in ps3_gelic_driver_probe()
1747 card->descr + GELIC_NET_TX_DESCRIPTORS, in ps3_gelic_driver_probe()
1753 card->tx_top = card->tx_chain.head; in ps3_gelic_driver_probe()
1754 card->rx_top = card->rx_chain.head; in ps3_gelic_driver_probe()
1755 dev_dbg(ctodev(card), "descr rx %p, tx %p, size %#lx, num %#x\n", in ps3_gelic_driver_probe()
1756 card->rx_top, card->tx_top, sizeof(struct gelic_descr), in ps3_gelic_driver_probe()
1759 result = gelic_card_alloc_rx_skbs(card); in ps3_gelic_driver_probe()
1763 spin_lock_init(&card->tx_lock); in ps3_gelic_driver_probe()
1764 card->tx_dma_progress = 0; in ps3_gelic_driver_probe()
1767 netdev->irq = card->irq; in ps3_gelic_driver_probe()
1768 SET_NETDEV_DEV(netdev, &card->dev->core); in ps3_gelic_driver_probe()
1769 gelic_ether_setup_netdev_ops(netdev, &card->napi); in ps3_gelic_driver_probe()
1770 result = gelic_net_setup_netdev(netdev, card); in ps3_gelic_driver_probe()
1778 result = gelic_wl_driver_probe(card); in ps3_gelic_driver_probe()
1789 gelic_card_free_chain(card, card->rx_chain.head); in ps3_gelic_driver_probe()
1791 gelic_card_free_chain(card, card->tx_chain.head); in ps3_gelic_driver_probe()
1793 free_irq(card->irq, card); in ps3_gelic_driver_probe()
1796 ps3_sb_event_receive_port_destroy(dev, card->irq); in ps3_gelic_driver_probe()
1798 lv1_net_set_interrupt_status_indicator(bus_id(card), in ps3_gelic_driver_probe()
1799 bus_id(card), in ps3_gelic_driver_probe()
1819 struct gelic_card *card = ps3_system_bus_get_drvdata(dev); in ps3_gelic_driver_remove() local
1824 gelic_card_set_link_mode(card, GELIC_LV1_ETHER_AUTO_NEG); in ps3_gelic_driver_remove()
1827 gelic_wl_driver_remove(card); in ps3_gelic_driver_remove()
1830 gelic_card_set_irq_mask(card, 0); in ps3_gelic_driver_remove()
1833 gelic_card_disable_rxdmac(card); in ps3_gelic_driver_remove()
1834 gelic_card_disable_txdmac(card); in ps3_gelic_driver_remove()
1837 gelic_card_release_tx_chain(card, 1); in ps3_gelic_driver_remove()
1838 gelic_card_release_rx_chain(card); in ps3_gelic_driver_remove()
1840 gelic_card_free_chain(card, card->tx_top); in ps3_gelic_driver_remove()
1841 gelic_card_free_chain(card, card->rx_top); in ps3_gelic_driver_remove()
1843 netdev0 = card->netdev[GELIC_PORT_ETHERNET_0]; in ps3_gelic_driver_remove()
1845 free_irq(card->irq, card); in ps3_gelic_driver_remove()
1847 ps3_sb_event_receive_port_destroy(card->dev, card->irq); in ps3_gelic_driver_remove()
1849 wait_event(card->waitq, in ps3_gelic_driver_remove()
1850 atomic_read(&card->tx_timeout_task_counter) == 0); in ps3_gelic_driver_remove()
1852 lv1_net_set_interrupt_status_indicator(bus_id(card), dev_id(card), in ps3_gelic_driver_remove()