• Home
  • Raw
  • Download

Lines Matching refs:card

49 int gelic_card_set_irq_mask(struct gelic_card *card, u64 mask)  in gelic_card_set_irq_mask()  argument
53 status = lv1_net_set_interrupt_mask(bus_id(card), dev_id(card), in gelic_card_set_irq_mask()
56 dev_info(ctodev(card), in gelic_card_set_irq_mask()
61 static void gelic_card_rx_irq_on(struct gelic_card *card) in gelic_card_rx_irq_on() argument
63 card->irq_mask |= GELIC_CARD_RXINT; in gelic_card_rx_irq_on()
64 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_card_rx_irq_on()
66 static void gelic_card_rx_irq_off(struct gelic_card *card) in gelic_card_rx_irq_off() argument
68 card->irq_mask &= ~GELIC_CARD_RXINT; in gelic_card_rx_irq_off()
69 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_card_rx_irq_off()
72 static void gelic_card_get_ether_port_status(struct gelic_card *card, in gelic_card_get_ether_port_status() argument
78 lv1_net_control(bus_id(card), dev_id(card), in gelic_card_get_ether_port_status()
81 &card->ether_port_status, &v2); in gelic_card_get_ether_port_status()
84 ether_netdev = card->netdev[GELIC_PORT_ETHERNET_0]; in gelic_card_get_ether_port_status()
85 if (card->ether_port_status & GELIC_LV1_ETHER_LINK_UP) in gelic_card_get_ether_port_status()
104 static int gelic_card_set_link_mode(struct gelic_card *card, int mode) in gelic_card_set_link_mode() argument
109 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_card_set_link_mode()
118 card->link_mode = mode; in gelic_card_set_link_mode()
129 static void gelic_card_disable_txdmac(struct gelic_card *card) in gelic_card_disable_txdmac() argument
134 status = lv1_net_stop_tx_dma(bus_id(card), dev_id(card)); in gelic_card_disable_txdmac()
136 dev_err(ctodev(card), in gelic_card_disable_txdmac()
147 static void gelic_card_enable_rxdmac(struct gelic_card *card) in gelic_card_enable_rxdmac() argument
152 if (gelic_descr_get_status(card->rx_chain.head) != in gelic_card_enable_rxdmac()
155 be32_to_cpu(card->rx_chain.head->dmac_cmd_status)); in gelic_card_enable_rxdmac()
157 be32_to_cpu(card->rx_chain.head->next_descr_addr)); in gelic_card_enable_rxdmac()
159 card->rx_chain.head); in gelic_card_enable_rxdmac()
162 status = lv1_net_start_rx_dma(bus_id(card), dev_id(card), in gelic_card_enable_rxdmac()
163 card->rx_chain.head->bus_addr, 0); in gelic_card_enable_rxdmac()
165 dev_info(ctodev(card), in gelic_card_enable_rxdmac()
176 static void gelic_card_disable_rxdmac(struct gelic_card *card) in gelic_card_disable_rxdmac() argument
181 status = lv1_net_stop_rx_dma(bus_id(card), dev_id(card)); in gelic_card_disable_rxdmac()
183 dev_err(ctodev(card), in gelic_card_disable_rxdmac()
219 static void gelic_card_reset_chain(struct gelic_card *card, in gelic_card_reset_chain() argument
236 void gelic_card_up(struct gelic_card *card) in gelic_card_up() argument
239 mutex_lock(&card->updown_lock); in gelic_card_up()
240 if (atomic_inc_return(&card->users) == 1) { in gelic_card_up()
243 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_card_up()
245 gelic_card_enable_rxdmac(card); in gelic_card_up()
247 napi_enable(&card->napi); in gelic_card_up()
249 mutex_unlock(&card->updown_lock); in gelic_card_up()
253 void gelic_card_down(struct gelic_card *card) in gelic_card_down() argument
257 mutex_lock(&card->updown_lock); in gelic_card_down()
258 if (atomic_dec_if_positive(&card->users) == 0) { in gelic_card_down()
260 napi_disable(&card->napi); in gelic_card_down()
265 mask = card->irq_mask & (GELIC_CARD_WLAN_EVENT_RECEIVED | in gelic_card_down()
267 gelic_card_set_irq_mask(card, mask); in gelic_card_down()
269 gelic_card_disable_rxdmac(card); in gelic_card_down()
270 gelic_card_reset_chain(card, &card->rx_chain, in gelic_card_down()
271 card->descr + GELIC_NET_TX_DESCRIPTORS); in gelic_card_down()
273 gelic_card_disable_txdmac(card); in gelic_card_down()
275 mutex_unlock(&card->updown_lock); in gelic_card_down()
284 static void gelic_card_free_chain(struct gelic_card *card, in gelic_card_free_chain() argument
290 dma_unmap_single(ctodev(card), descr->bus_addr, in gelic_card_free_chain()
308 static int gelic_card_init_chain(struct gelic_card *card, in gelic_card_init_chain() argument
324 cpu_addr = dma_map_single(ctodev(card), descr, in gelic_card_init_chain()
327 if (dma_mapping_error(ctodev(card), cpu_addr)) in gelic_card_init_chain()
355 dma_unmap_single(ctodev(card), descr->bus_addr, in gelic_card_init_chain()
374 static int gelic_descr_prepare_rx(struct gelic_card *card, in gelic_descr_prepare_rx() argument
384 dev_info(ctodev(card), "%s: ERROR status\n", __func__); in gelic_descr_prepare_rx()
386 descr->skb = netdev_alloc_skb(*card->netdev, rx_skb_size); in gelic_descr_prepare_rx()
402 cpu_addr = dma_map_single(ctodev(card), descr->skb->data, in gelic_descr_prepare_rx()
405 if (dma_mapping_error(ctodev(card), cpu_addr)) { in gelic_descr_prepare_rx()
408 dev_info(ctodev(card), in gelic_descr_prepare_rx()
423 static void gelic_card_release_rx_chain(struct gelic_card *card) in gelic_card_release_rx_chain() argument
425 struct gelic_descr *descr = card->rx_chain.head; in gelic_card_release_rx_chain()
429 dma_unmap_single(ctodev(card), in gelic_card_release_rx_chain()
440 } while (descr != card->rx_chain.head); in gelic_card_release_rx_chain()
451 static int gelic_card_fill_rx_chain(struct gelic_card *card) in gelic_card_fill_rx_chain() argument
453 struct gelic_descr *descr = card->rx_chain.head; in gelic_card_fill_rx_chain()
458 ret = gelic_descr_prepare_rx(card, descr); in gelic_card_fill_rx_chain()
463 } while (descr != card->rx_chain.head); in gelic_card_fill_rx_chain()
467 gelic_card_release_rx_chain(card); in gelic_card_fill_rx_chain()
477 static int gelic_card_alloc_rx_skbs(struct gelic_card *card) in gelic_card_alloc_rx_skbs() argument
481 chain = &card->rx_chain; in gelic_card_alloc_rx_skbs()
482 ret = gelic_card_fill_rx_chain(card); in gelic_card_alloc_rx_skbs()
483 chain->tail = card->rx_top->prev; /* point to the last */ in gelic_card_alloc_rx_skbs()
494 static void gelic_descr_release_tx(struct gelic_card *card, in gelic_descr_release_tx() argument
501 dma_unmap_single(ctodev(card), be32_to_cpu(descr->buf_addr), skb->len, in gelic_descr_release_tx()
518 static void gelic_card_stop_queues(struct gelic_card *card) in gelic_card_stop_queues() argument
520 netif_stop_queue(card->netdev[GELIC_PORT_ETHERNET_0]); in gelic_card_stop_queues()
522 if (card->netdev[GELIC_PORT_WIRELESS]) in gelic_card_stop_queues()
523 netif_stop_queue(card->netdev[GELIC_PORT_WIRELESS]); in gelic_card_stop_queues()
525 static void gelic_card_wake_queues(struct gelic_card *card) in gelic_card_wake_queues() argument
527 netif_wake_queue(card->netdev[GELIC_PORT_ETHERNET_0]); in gelic_card_wake_queues()
529 if (card->netdev[GELIC_PORT_WIRELESS]) in gelic_card_wake_queues()
530 netif_wake_queue(card->netdev[GELIC_PORT_WIRELESS]); in gelic_card_wake_queues()
539 static void gelic_card_release_tx_chain(struct gelic_card *card, int stop) in gelic_card_release_tx_chain() argument
546 for (tx_chain = &card->tx_chain; in gelic_card_release_tx_chain()
556 dev_info(ctodev(card), in gelic_card_release_tx_chain()
578 gelic_descr_release_tx(card, tx_chain->tail); in gelic_card_release_tx_chain()
583 gelic_card_wake_queues(card); in gelic_card_release_tx_chain()
596 struct gelic_card *card = netdev_card(netdev); in gelic_net_set_multi() local
604 status = lv1_net_remove_multicast_address(bus_id(card), dev_id(card), in gelic_net_set_multi()
607 dev_err(ctodev(card), in gelic_net_set_multi()
611 status = lv1_net_add_multicast_address(bus_id(card), dev_id(card), in gelic_net_set_multi()
614 dev_err(ctodev(card), in gelic_net_set_multi()
620 status = lv1_net_add_multicast_address(bus_id(card), in gelic_net_set_multi()
621 dev_id(card), in gelic_net_set_multi()
624 dev_err(ctodev(card), in gelic_net_set_multi()
638 status = lv1_net_add_multicast_address(bus_id(card), in gelic_net_set_multi()
639 dev_id(card), in gelic_net_set_multi()
642 dev_err(ctodev(card), in gelic_net_set_multi()
656 struct gelic_card *card; in gelic_net_stop() local
663 card = netdev_card(netdev); in gelic_net_stop()
664 gelic_card_down(card); in gelic_net_stop()
677 gelic_card_get_next_tx_descr(struct gelic_card *card) in gelic_card_get_next_tx_descr() argument
679 if (!card->tx_chain.head) in gelic_card_get_next_tx_descr()
682 if (card->tx_chain.tail != card->tx_chain.head->next && in gelic_card_get_next_tx_descr()
683 gelic_descr_get_status(card->tx_chain.head) == in gelic_card_get_next_tx_descr()
685 return card->tx_chain.head; in gelic_card_get_next_tx_descr()
765 static int gelic_descr_prepare_tx(struct gelic_card *card, in gelic_descr_prepare_tx() argument
771 if (card->vlan_required) { in gelic_descr_prepare_tx()
777 card->vlan[type].tx); in gelic_descr_prepare_tx()
783 buf = dma_map_single(ctodev(card), skb->data, skb->len, DMA_TO_DEVICE); in gelic_descr_prepare_tx()
785 if (dma_mapping_error(ctodev(card), buf)) { in gelic_descr_prepare_tx()
786 dev_err(ctodev(card), in gelic_descr_prepare_tx()
800 card->tx_chain.head = descr->next; in gelic_descr_prepare_tx()
810 static int gelic_card_kick_txdma(struct gelic_card *card, in gelic_card_kick_txdma() argument
815 if (card->tx_dma_progress) in gelic_card_kick_txdma()
819 card->tx_dma_progress = 1; in gelic_card_kick_txdma()
820 status = lv1_net_start_tx_dma(bus_id(card), dev_id(card), in gelic_card_kick_txdma()
823 card->tx_dma_progress = 0; in gelic_card_kick_txdma()
824 dev_info(ctodev(card), "lv1_net_start_txdma failed," \ in gelic_card_kick_txdma()
840 struct gelic_card *card = netdev_card(netdev); in gelic_net_xmit() local
845 spin_lock_irqsave(&card->tx_lock, flags); in gelic_net_xmit()
847 gelic_card_release_tx_chain(card, 0); in gelic_net_xmit()
849 descr = gelic_card_get_next_tx_descr(card); in gelic_net_xmit()
854 gelic_card_stop_queues(card); in gelic_net_xmit()
855 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_net_xmit()
859 result = gelic_descr_prepare_tx(card, descr, skb); in gelic_net_xmit()
867 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_net_xmit()
880 if (gelic_card_kick_txdma(card, descr)) { in gelic_net_xmit()
888 gelic_descr_release_tx(card, descr); in gelic_net_xmit()
890 card->tx_chain.head = descr; in gelic_net_xmit()
893 dev_info(ctodev(card), "%s: kick failure\n", __func__); in gelic_net_xmit()
896 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_net_xmit()
910 struct gelic_card *card, in gelic_net_pass_skb_up() argument
920 dma_unmap_single(ctodev(card), be32_to_cpu(descr->buf_addr), in gelic_net_pass_skb_up()
928 dev_info(ctodev(card), "buffer full %x %x %x\n", in gelic_net_pass_skb_up()
968 static int gelic_card_decode_one_descr(struct gelic_card *card) in gelic_card_decode_one_descr() argument
971 struct gelic_descr_chain *chain = &card->rx_chain; in gelic_card_decode_one_descr()
982 dev_dbg(ctodev(card), "dormant descr? %p\n", descr); in gelic_card_decode_one_descr()
987 if (card->vlan_required) { in gelic_card_decode_one_descr()
992 if (card->vlan[i].rx == vid) { in gelic_card_decode_one_descr()
993 netdev = card->netdev[i]; in gelic_card_decode_one_descr()
1002 netdev = card->netdev[GELIC_PORT_ETHERNET_0]; in gelic_card_decode_one_descr()
1007 dev_info(ctodev(card), "dropping RX descriptor with state %x\n", in gelic_card_decode_one_descr()
1023 dev_info(ctodev(card), "overlength frame\n"); in gelic_card_decode_one_descr()
1031 dev_dbg(ctodev(card), "RX descriptor with state %x\n", in gelic_card_decode_one_descr()
1037 gelic_net_pass_skb_up(descr, card, netdev); in gelic_card_decode_one_descr()
1058 gelic_descr_prepare_rx(card, descr); in gelic_card_decode_one_descr()
1074 gelic_card_enable_rxdmac(card); in gelic_card_decode_one_descr()
1089 struct gelic_card *card = container_of(napi, struct gelic_card, napi); in gelic_net_poll() local
1093 if (!gelic_card_decode_one_descr(card)) in gelic_net_poll()
1101 gelic_card_rx_irq_on(card); in gelic_net_poll()
1112 struct gelic_card *card = ptr; in gelic_card_interrupt() local
1115 status = card->irq_status; in gelic_card_interrupt()
1120 status &= card->irq_mask; in gelic_card_interrupt()
1123 gelic_card_rx_irq_off(card); in gelic_card_interrupt()
1124 napi_schedule(&card->napi); in gelic_card_interrupt()
1128 spin_lock_irqsave(&card->tx_lock, flags); in gelic_card_interrupt()
1129 card->tx_dma_progress = 0; in gelic_card_interrupt()
1130 gelic_card_release_tx_chain(card, 0); in gelic_card_interrupt()
1132 gelic_card_kick_txdma(card, card->tx_chain.tail); in gelic_card_interrupt()
1133 spin_unlock_irqrestore(&card->tx_lock, flags); in gelic_card_interrupt()
1138 gelic_card_get_ether_port_status(card, 1); in gelic_card_interrupt()
1143 gelic_wl_interrupt(card->netdev[GELIC_PORT_WIRELESS], status); in gelic_card_interrupt()
1158 struct gelic_card *card = netdev_card(netdev); in gelic_net_poll_controller() local
1160 gelic_card_set_irq_mask(card, 0); in gelic_net_poll_controller()
1162 gelic_card_set_irq_mask(card, card->irq_mask); in gelic_net_poll_controller()
1177 struct gelic_card *card = netdev_card(netdev); in gelic_net_open() local
1179 dev_dbg(ctodev(card), " -> %s %p\n", __func__, netdev); in gelic_net_open()
1181 gelic_card_up(card); in gelic_net_open()
1184 gelic_card_get_ether_port_status(card, 1); in gelic_net_open()
1186 dev_dbg(ctodev(card), " <- %s\n", __func__); in gelic_net_open()
1200 struct gelic_card *card = netdev_card(netdev); in gelic_ether_get_link_ksettings() local
1203 gelic_card_get_ether_port_status(card, 0); in gelic_ether_get_link_ksettings()
1205 if (card->ether_port_status & GELIC_LV1_ETHER_FULL_DUPLEX) in gelic_ether_get_link_ksettings()
1210 switch (card->ether_port_status & GELIC_LV1_ETHER_SPEED_MASK) { in gelic_ether_get_link_ksettings()
1231 if (card->link_mode & GELIC_LV1_ETHER_AUTO_NEG) { in gelic_ether_get_link_ksettings()
1251 struct gelic_card *card = netdev_card(netdev); in gelic_ether_set_link_ksettings() local
1279 ret = gelic_card_set_link_mode(card, mode); in gelic_ether_set_link_ksettings()
1302 struct gelic_card *card; in gelic_net_set_wol() local
1312 card = netdev_card(netdev); in gelic_net_set_wol()
1314 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1325 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1338 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1349 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_set_wol()
1384 struct gelic_card *card = in gelic_net_tx_timeout_task() local
1386 struct net_device *netdev = card->netdev[GELIC_PORT_ETHERNET_0]; in gelic_net_tx_timeout_task()
1388 dev_info(ctodev(card), "%s:Timed out. Restarting...\n", __func__); in gelic_net_tx_timeout_task()
1400 atomic_dec(&card->tx_timeout_task_counter); in gelic_net_tx_timeout_task()
1412 struct gelic_card *card; in gelic_net_tx_timeout() local
1414 card = netdev_card(netdev); in gelic_net_tx_timeout()
1415 atomic_inc(&card->tx_timeout_task_counter); in gelic_net_tx_timeout()
1417 schedule_work(&card->tx_timeout_task); in gelic_net_tx_timeout()
1419 atomic_dec(&card->tx_timeout_task_counter); in gelic_net_tx_timeout()
1462 int gelic_net_setup_netdev(struct net_device *netdev, struct gelic_card *card) in gelic_net_setup_netdev() argument
1473 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_net_setup_netdev()
1478 dev_info(ctodev(card), in gelic_net_setup_netdev()
1485 if (card->vlan_required) { in gelic_net_setup_netdev()
1500 dev_err(ctodev(card), "%s:Couldn't register %s %d\n", in gelic_net_setup_netdev()
1504 dev_info(ctodev(card), "%s: MAC addr %pM\n", in gelic_net_setup_netdev()
1520 struct gelic_card *card; in gelic_alloc_card_net() local
1539 card = PTR_ALIGN(p, GELIC_ALIGN); in gelic_alloc_card_net()
1540 card->unalign = p; in gelic_alloc_card_net()
1547 kfree(card->unalign); in gelic_alloc_card_net()
1554 port->card = card; in gelic_alloc_card_net()
1558 card->netdev[GELIC_PORT_ETHERNET_0] = *netdev; in gelic_alloc_card_net()
1560 INIT_WORK(&card->tx_timeout_task, gelic_net_tx_timeout_task); in gelic_alloc_card_net()
1561 init_waitqueue_head(&card->waitq); in gelic_alloc_card_net()
1562 atomic_set(&card->tx_timeout_task_counter, 0); in gelic_alloc_card_net()
1563 mutex_init(&card->updown_lock); in gelic_alloc_card_net()
1564 atomic_set(&card->users, 0); in gelic_alloc_card_net()
1566 return card; in gelic_alloc_card_net()
1569 static void gelic_card_get_vlan_info(struct gelic_card *card) in gelic_card_get_vlan_info() argument
1590 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_card_get_vlan_info()
1596 dev_dbg(ctodev(card), in gelic_card_get_vlan_info()
1599 card->vlan[i].tx = 0; in gelic_card_get_vlan_info()
1600 card->vlan[i].rx = 0; in gelic_card_get_vlan_info()
1603 card->vlan[i].tx = (u16)v1; in gelic_card_get_vlan_info()
1606 status = lv1_net_control(bus_id(card), dev_id(card), in gelic_card_get_vlan_info()
1612 dev_info(ctodev(card), in gelic_card_get_vlan_info()
1615 card->vlan[i].tx = 0; in gelic_card_get_vlan_info()
1616 card->vlan[i].rx = 0; in gelic_card_get_vlan_info()
1619 card->vlan[i].rx = (u16)v1; in gelic_card_get_vlan_info()
1621 dev_dbg(ctodev(card), "vlan_id[%d] tx=%02x rx=%02x\n", in gelic_card_get_vlan_info()
1622 i, card->vlan[i].tx, card->vlan[i].rx); in gelic_card_get_vlan_info()
1625 if (card->vlan[GELIC_PORT_ETHERNET_0].tx) { in gelic_card_get_vlan_info()
1626 BUG_ON(!card->vlan[GELIC_PORT_WIRELESS].tx); in gelic_card_get_vlan_info()
1627 card->vlan_required = 1; in gelic_card_get_vlan_info()
1629 card->vlan_required = 0; in gelic_card_get_vlan_info()
1633 card->vlan[GELIC_PORT_WIRELESS].tx = 0; in gelic_card_get_vlan_info()
1634 card->vlan[GELIC_PORT_WIRELESS].rx = 0; in gelic_card_get_vlan_info()
1637 dev_info(ctodev(card), "internal vlan %s\n", in gelic_card_get_vlan_info()
1638 card->vlan_required? "enabled" : "disabled"); in gelic_card_get_vlan_info()
1645 struct gelic_card *card; in ps3_gelic_driver_probe() local
1671 card = gelic_alloc_card_net(&netdev); in ps3_gelic_driver_probe()
1672 if (!card) { in ps3_gelic_driver_probe()
1678 ps3_system_bus_set_drvdata(dev, card); in ps3_gelic_driver_probe()
1679 card->dev = dev; in ps3_gelic_driver_probe()
1682 gelic_card_get_vlan_info(card); in ps3_gelic_driver_probe()
1684 card->link_mode = GELIC_LV1_ETHER_AUTO_NEG; in ps3_gelic_driver_probe()
1687 result = lv1_net_set_interrupt_status_indicator(bus_id(card), in ps3_gelic_driver_probe()
1688 dev_id(card), in ps3_gelic_driver_probe()
1689 ps3_mm_phys_to_lpar(__pa(&card->irq_status)), in ps3_gelic_driver_probe()
1701 &card->irq); in ps3_gelic_driver_probe()
1704 dev_info(ctodev(card), in ps3_gelic_driver_probe()
1710 result = request_irq(card->irq, gelic_card_interrupt, in ps3_gelic_driver_probe()
1711 0, netdev->name, card); in ps3_gelic_driver_probe()
1714 dev_info(ctodev(card), "%s:request_irq failed (%d)\n", in ps3_gelic_driver_probe()
1720 card->irq_mask = GELIC_CARD_RXINT | GELIC_CARD_TXINT | in ps3_gelic_driver_probe()
1724 result = gelic_card_init_chain(card, &card->tx_chain, in ps3_gelic_driver_probe()
1725 card->descr, GELIC_NET_TX_DESCRIPTORS); in ps3_gelic_driver_probe()
1728 result = gelic_card_init_chain(card, &card->rx_chain, in ps3_gelic_driver_probe()
1729 card->descr + GELIC_NET_TX_DESCRIPTORS, in ps3_gelic_driver_probe()
1735 card->tx_top = card->tx_chain.head; in ps3_gelic_driver_probe()
1736 card->rx_top = card->rx_chain.head; in ps3_gelic_driver_probe()
1737 dev_dbg(ctodev(card), "descr rx %p, tx %p, size %#lx, num %#x\n", in ps3_gelic_driver_probe()
1738 card->rx_top, card->tx_top, sizeof(struct gelic_descr), in ps3_gelic_driver_probe()
1741 result = gelic_card_alloc_rx_skbs(card); in ps3_gelic_driver_probe()
1745 spin_lock_init(&card->tx_lock); in ps3_gelic_driver_probe()
1746 card->tx_dma_progress = 0; in ps3_gelic_driver_probe()
1749 netdev->irq = card->irq; in ps3_gelic_driver_probe()
1750 SET_NETDEV_DEV(netdev, &card->dev->core); in ps3_gelic_driver_probe()
1751 gelic_ether_setup_netdev_ops(netdev, &card->napi); in ps3_gelic_driver_probe()
1752 result = gelic_net_setup_netdev(netdev, card); in ps3_gelic_driver_probe()
1760 result = gelic_wl_driver_probe(card); in ps3_gelic_driver_probe()
1771 gelic_card_free_chain(card, card->rx_chain.head); in ps3_gelic_driver_probe()
1773 gelic_card_free_chain(card, card->tx_chain.head); in ps3_gelic_driver_probe()
1775 free_irq(card->irq, card); in ps3_gelic_driver_probe()
1778 ps3_sb_event_receive_port_destroy(dev, card->irq); in ps3_gelic_driver_probe()
1780 lv1_net_set_interrupt_status_indicator(bus_id(card), in ps3_gelic_driver_probe()
1781 bus_id(card), in ps3_gelic_driver_probe()
1801 struct gelic_card *card = ps3_system_bus_get_drvdata(dev); in ps3_gelic_driver_remove() local
1806 gelic_card_set_link_mode(card, GELIC_LV1_ETHER_AUTO_NEG); in ps3_gelic_driver_remove()
1809 gelic_wl_driver_remove(card); in ps3_gelic_driver_remove()
1812 gelic_card_set_irq_mask(card, 0); in ps3_gelic_driver_remove()
1815 gelic_card_disable_rxdmac(card); in ps3_gelic_driver_remove()
1816 gelic_card_disable_txdmac(card); in ps3_gelic_driver_remove()
1819 gelic_card_release_tx_chain(card, 1); in ps3_gelic_driver_remove()
1820 gelic_card_release_rx_chain(card); in ps3_gelic_driver_remove()
1822 gelic_card_free_chain(card, card->tx_top); in ps3_gelic_driver_remove()
1823 gelic_card_free_chain(card, card->rx_top); in ps3_gelic_driver_remove()
1825 netdev0 = card->netdev[GELIC_PORT_ETHERNET_0]; in ps3_gelic_driver_remove()
1827 free_irq(card->irq, card); in ps3_gelic_driver_remove()
1829 ps3_sb_event_receive_port_destroy(card->dev, card->irq); in ps3_gelic_driver_remove()
1831 wait_event(card->waitq, in ps3_gelic_driver_remove()
1832 atomic_read(&card->tx_timeout_task_counter) == 0); in ps3_gelic_driver_remove()
1834 lv1_net_set_interrupt_status_indicator(bus_id(card), dev_id(card), in ps3_gelic_driver_remove()