• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/net/

Lines Matching refs:fep

308 	struct fec_enet_private *fep;
313 fep = netdev_priv(dev);
316 if (!fep->link) {
322 bdp = fep->cur_tx;
351 index = bdp - fep->tx_bd_base;
352 memcpy(fep->tx_bounce[index], (void *) bdp->cbd_bufaddr, bdp->cbd_datlen);
353 bdp->cbd_bufaddr = __pa(fep->tx_bounce[index]);
358 fep->tx_skbuff[fep->skb_cur] = skb;
360 fep->stats.tx_bytes += skb->len;
361 fep->skb_cur = (fep->skb_cur+1) & TX_RING_MOD_MASK;
369 spin_lock_irq(&fep->lock);
387 bdp = fep->tx_bd_base;
392 if (bdp == fep->dirty_tx) {
393 fep->tx_full = 1;
397 fep->cur_tx = (cbd_t *)bdp;
399 spin_unlock_irq(&fep->lock);
407 struct fec_enet_private *fep = netdev_priv(dev);
410 fep->stats.tx_errors++;
417 (unsigned long)fep->cur_tx, fep->tx_full ? " (full)" : "",
418 (unsigned long)fep->dirty_tx,
419 (unsigned long)fep->cur_rx);
421 bdp = fep->tx_bd_base;
432 bdp = fep->rx_bd_base;
444 fec_restart(dev, fep->full_duplex);
495 struct fec_enet_private *fep;
500 fep = netdev_priv(dev);
501 spin_lock(&fep->lock);
502 bdp = fep->dirty_tx;
505 if (bdp == fep->cur_tx && fep->tx_full == 0) break;
507 skb = fep->tx_skbuff[fep->skb_dirty];
512 fep->stats.tx_errors++;
514 fep->stats.tx_heartbeat_errors++;
516 fep->stats.tx_window_errors++;
518 fep->stats.tx_aborted_errors++;
520 fep->stats.tx_fifo_errors++;
522 fep->stats.tx_carrier_errors++;
524 fep->stats.tx_packets++;
535 fep->stats.collisions++;
540 fep->tx_skbuff[fep->skb_dirty] = NULL;
541 fep->skb_dirty = (fep->skb_dirty + 1) & TX_RING_MOD_MASK;
546 bdp = fep->tx_bd_base;
553 if (fep->tx_full) {
554 fep->tx_full = 0;
559 fep->dirty_tx = (cbd_t *)bdp;
560 spin_unlock(&fep->lock);
572 struct fec_enet_private *fep;
584 fep = netdev_priv(dev);
590 bdp = fep->cur_rx;
602 if (!fep->opened)
608 fep->stats.rx_errors++;
611 fep->stats.rx_length_errors++;
614 fep->stats.rx_frame_errors++;
616 fep->stats.rx_crc_errors++;
618 fep->stats.rx_fifo_errors++;
626 fep->stats.rx_errors++;
627 fep->stats.rx_frame_errors++;
633 fep->stats.rx_packets++;
635 fep->stats.rx_bytes += pkt_len;
647 fep->stats.rx_dropped++;
668 bdp = fep->rx_bd_base;
678 fep->cur_rx = (cbd_t *)bdp;
687 struct fec_enet_private *fep;
692 fep = netdev_priv(dev);
693 ep = fep->hwp;
696 spin_lock(&fep->lock);
714 spin_unlock(&fep->lock);
720 struct fec_enet_private *fep;
727 fep = netdev_priv(dev);
728 regval |= fep->phy_addr << 23;
732 spin_lock_irqsave(&fep->lock,flags);
745 fep->hwp->fec_mii_data = regval;
752 spin_unlock_irqrestore(&fep->lock,flags);
771 struct fec_enet_private *fep = netdev_priv(dev);
772 volatile uint *s = &(fep->phy_status);
789 struct fec_enet_private *fep = netdev_priv(dev);
790 volatile uint *s = &(fep->phy_status);
804 struct fec_enet_private *fep = netdev_priv(dev);
805 volatile uint *s = &(fep->phy_status);
832 struct fec_enet_private *fep = netdev_priv(dev);
833 volatile uint *s = &(fep->phy_status);
903 struct fec_enet_private *fep = netdev_priv(dev);
904 volatile uint *s = &(fep->phy_status);
910 fep->link = 1;
913 fep->link = 0;
987 struct fec_enet_private *fep = netdev_priv(dev);
988 volatile uint *s = &(fep->phy_status);
1057 struct fec_enet_private *fep = netdev_priv(dev);
1058 volatile uint *s = &(fep->phy_status);
1154 struct fec_enet_private *fep = dev->priv;
1155 volatile uint *s = &(fep->phy_status);
1161 fep->link = 1;
1164 fep->link = 0;
1262 static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep)
1266 fecp = fep->hwp;
1274 fep->phy_speed = ((((MCF_CLK / 4) / (2500000 / 10)) + 5) / 10) * 2;
1275 fecp->fec_mii_speed = fep->phy_speed;
1282 struct fec_enet_private *fep = netdev_priv(dev);
1286 fecp = fep->hwp;
1310 dev->dev_addr[ETH_ALEN-1] = fec_mac_default[ETH_ALEN-1] + fep->index;
1353 struct fec_enet_private *fep;
1375 fep = netdev_priv(dev);
1376 b = (fep->index) ? 128 : 64;
1390 b = (fep->index) ? MCFICM_INTC1 : MCFICM_INTC0;
1418 static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep)
1422 fecp = fep->hwp;
1430 fep->phy_speed = ((((MCF_CLK / 2) / (2500000 / 10)) + 5) / 10) * 2;
1431 fecp->fec_mii_speed = fep->phy_speed;
1438 struct fec_enet_private *fep = netdev_priv(dev);
1442 fecp = fep->hwp;
1466 dev->dev_addr[ETH_ALEN-1] = fec_mac_default[ETH_ALEN-1] + fep->index;
1501 struct fec_enet_private *fep;
1523 fep = netdev_priv(dev);
1549 static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep)
1553 fecp = fep->hwp;
1561 fep->phy_speed = ((((MCF_CLK / 2) / (2500000 / 10)) + 5) / 10) * 2;
1562 fecp->fec_mii_speed = fep->phy_speed;
1569 struct fec_enet_private *fep = netdev_priv(dev);
1573 fecp = fep->hwp;
1597 dev->dev_addr[ETH_ALEN-1] = fec_mac_default[ETH_ALEN-1] + fep->index;
1628 struct fec_enet_private *fep;
1650 fep = netdev_priv(dev);
1651 b = (fep->index) ? 128 : 64;
1699 static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep)
1703 fecp = fep->hwp;
1710 fep->phy_speed = ((((MCF_CLK / 2) / (2500000 / 10)) + 5) / 10) * 2;
1711 fecp->fec_mii_speed = fep->phy_speed;
1718 struct fec_enet_private *fep = netdev_priv(dev);
1722 fecp = fep->hwp;
1746 dev->dev_addr[ETH_ALEN-1] = fec_mac_default[ETH_ALEN-1] + fep->index;
1826 static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_private *fep)
1832 fecp = fep->hwp;
1848 fecp->fec_mii_speed = fep->phy_speed =
1856 fecp = fep->hwp;
1875 fecp = fep->hwp;
1896 struct fec_enet_private *fep = netdev_priv(dev);
1897 volatile uint *s = &(fep->phy_status);
1899 if (!fep->link && !fep->old_link) {
1906 if (!fep->link) {
1932 struct fec_enet_private *fep = netdev_priv(dev);
1933 uint status = fep->phy_status;
1939 fep->mii_phy_task_queued = 0;
1963 fep->sequence_done = 1;
1968 struct fec_enet_private *fep = netdev_priv(dev);
1975 fep->mii_phy_task_queued = 0;
1976 fep->link = (fep->phy_status & PHY_STAT_LINK) ? 1 : 0;
1978 fep->old_link = fep->link;
1980 if (fep->link) {
1982 if (fep->phy_status
1996 struct fec_enet_private *fep = netdev_priv(dev);
2005 if (fep->mii_phy_task_queued)
2008 fep->mii_phy_task_queued = 1;
2009 INIT_WORK(&fep->phy_task, (void*)mii_relink, dev);
2010 schedule_work(&fep->phy_task);
2016 struct fec_enet_private *fep = netdev_priv(dev);
2018 if (fep->mii_phy_task_queued)
2021 fep->mii_phy_task_queued = 1;
2022 INIT_WORK(&fep->phy_task, (void*)mii_display_config, dev);
2023 schedule_work(&fep->phy_task);
2040 struct fec_enet_private *fep;
2043 fep = netdev_priv(dev);
2044 fep->phy_id |= (mii_reg & 0xffff);
2045 printk("fec: PHY @ 0x%x, ID 0x%08x", fep->phy_addr, fep->phy_id);
2048 if(phy_info[i]->id == (fep->phy_id >> 4))
2057 fep->phy = phy_info[i];
2058 fep->phy_id_done = 1;
2067 struct fec_enet_private *fep;
2071 fep = netdev_priv(dev);
2072 fecp = fep->hwp;
2074 if (fep->phy_addr < 32) {
2079 fep->phy_id = phytype << 16;
2084 fep->phy_addr++;
2091 fecp->fec_mii_speed = fep->phy_speed = 0;
2107 struct fec_enet_private *fep = netdev_priv(dev);
2112 mii_do_cmd(dev, fep->phy->ack_int);
2121 struct fec_enet_private *fep = netdev_priv(dev);
2128 fep->sequence_done = 0;
2129 fep->link = 0;
2131 if (fep->phy) {
2132 mii_do_cmd(dev, fep->phy->ack_int);
2133 mii_do_cmd(dev, fep->phy->config);
2143 while(!fep->sequence_done)
2146 mii_do_cmd(dev, fep->phy->startup);
2152 fep->link = 1;
2154 fep->link = 1; /* lets just try it and see */
2160 fep->opened = 1;
2167 struct fec_enet_private *fep = netdev_priv(dev);
2171 fep->opened = 0;
2180 struct fec_enet_private *fep = netdev_priv(dev);
2182 return &fep->stats;
2200 struct fec_enet_private *fep;
2206 fep = netdev_priv(dev);
2207 ep = fep->hwp;
2285 struct fec_enet_private *fep = netdev_priv(dev);
2309 fep->index = index;
2310 fep->hwp = fecp;
2331 fep->rx_bd_base = cbd_base;
2332 fep->tx_bd_base = cbd_base + RX_RING_SIZE;
2334 fep->dirty_tx = fep->cur_tx = fep->tx_bd_base;
2335 fep->cur_rx = fep->rx_bd_base;
2337 fep->skb_cur = fep->skb_dirty = 0;
2341 bdp = fep->rx_bd_base;
2367 bdp = fep->tx_bd_base;
2376 fep->tx_bounce[i] = (unsigned char *) mem_addr;
2392 fecp->fec_r_des_start = __pa((uint)(fep->rx_bd_base));
2393 fecp->fec_x_des_start = __pa((uint)(fep->tx_bd_base));
2422 fec_set_mii(dev, fep);
2432 fep->phy_id_done = 0;
2433 fep->phy_addr = 0;
2447 struct fec_enet_private *fep;
2452 fep = netdev_priv(dev);
2453 fecp = fep->hwp;
2482 fecp->fec_r_des_start = __pa((uint)(fep->rx_bd_base));
2483 fecp->fec_x_des_start = __pa((uint)(fep->tx_bd_base));
2485 fep->dirty_tx = fep->cur_tx = fep->tx_bd_base;
2486 fep->cur_rx = fep->rx_bd_base;
2490 fep->skb_cur = fep->skb_dirty = 0;
2492 if (fep->tx_skbuff[i] != NULL) {
2493 dev_kfree_skb_any(fep->tx_skbuff[i]);
2494 fep->tx_skbuff[i] = NULL;
2500 bdp = fep->rx_bd_base;
2516 bdp = fep->tx_bd_base;
2542 fep->full_duplex = duplex;
2546 fecp->fec_mii_speed = fep->phy_speed;
2563 struct fec_enet_private *fep;
2565 fep = netdev_priv(dev);
2566 fecp = fep->hwp;
2571 if (fep->link)
2590 fecp->fec_mii_speed = fep->phy_speed;