Lines Matching refs:data
171 struct tsi108_prv_data *data = netdev_priv(dev); in dump_eth_one() local
177 TSI_READ(TSI108_EC_INTMASK), data->phy_ok, in dump_eth_one()
178 data->link_up, data->speed, data->duplex); in dump_eth_one()
181 data->txhead, data->txtail, data->txfree, in dump_eth_one()
188 data->rxhead, data->rxtail, data->rxfree, in dump_eth_one()
191 TSI_READ(TSI108_EC_RXERR), data->rxpending); in dump_eth_one()
201 static int tsi108_read_mii(struct tsi108_prv_data *data, int reg) in tsi108_read_mii() argument
206 (data->phy << TSI108_MAC_MII_ADDR_PHY) | in tsi108_read_mii()
223 static void tsi108_write_mii(struct tsi108_prv_data *data, in tsi108_write_mii() argument
228 (data->phy << TSI108_MAC_MII_ADDR_PHY) | in tsi108_write_mii()
241 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_mdio_read() local
242 return tsi108_read_mii(data, reg); in tsi108_mdio_read()
247 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_mdio_write() local
248 tsi108_write_mii(data, reg, val); in tsi108_mdio_write()
251 static inline void tsi108_write_tbi(struct tsi108_prv_data *data, in tsi108_write_tbi() argument
294 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_check_phy() local
302 if (!data->phy_ok) in tsi108_check_phy()
305 duplex = mii_check_media(&data->mii_if, netif_msg_link(data), data->init_media); in tsi108_check_phy()
306 data->init_media = 0; in tsi108_check_phy()
310 speed = mii_speed(&data->mii_if); in tsi108_check_phy()
312 if ((speed != data->speed) || duplex) { in tsi108_check_phy()
327 data->speed = speed; in tsi108_check_phy()
329 if (data->mii_if.full_duplex) { in tsi108_check_phy()
332 data->duplex = 2; in tsi108_check_phy()
336 data->duplex = 1; in tsi108_check_phy()
343 if (data->link_up == 0) { in tsi108_check_phy()
349 spin_lock(&data->txlock); in tsi108_check_phy()
350 if (is_valid_ether_addr(dev->dev_addr) && data->txfree) in tsi108_check_phy()
353 data->link_up = 1; in tsi108_check_phy()
354 spin_unlock(&data->txlock); in tsi108_check_phy()
357 if (data->link_up == 1) { in tsi108_check_phy()
359 data->link_up = 0; in tsi108_check_phy()
381 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_stat_carry() local
384 spin_lock_irq(&data->misclock); in tsi108_stat_carry()
393 TSI108_STAT_RXBYTES_CARRY, &data->stats.rx_bytes); in tsi108_stat_carry()
397 &data->stats.rx_packets); in tsi108_stat_carry()
400 TSI108_STAT_RXFCS_CARRY, &data->rx_fcs); in tsi108_stat_carry()
404 &data->stats.multicast); in tsi108_stat_carry()
408 &data->stats.rx_frame_errors); in tsi108_stat_carry()
412 &data->stats.rx_length_errors); in tsi108_stat_carry()
415 TSI108_STAT_RXRUNT_CARRY, &data->rx_underruns); in tsi108_stat_carry()
418 TSI108_STAT_RXJUMBO_CARRY, &data->rx_overruns); in tsi108_stat_carry()
421 TSI108_STAT_RXFRAG_CARRY, &data->rx_short_fcs); in tsi108_stat_carry()
424 TSI108_STAT_RXJABBER_CARRY, &data->rx_long_fcs); in tsi108_stat_carry()
428 &data->stats.rx_missed_errors); in tsi108_stat_carry()
431 TSI108_STAT_TXBYTES_CARRY, &data->stats.tx_bytes); in tsi108_stat_carry()
435 &data->stats.tx_packets); in tsi108_stat_carry()
439 &data->stats.tx_aborted_errors); in tsi108_stat_carry()
442 TSI108_STAT_TXEXCOL_CARRY, &data->tx_coll_abort); in tsi108_stat_carry()
446 &data->stats.collisions); in tsi108_stat_carry()
450 &data->tx_pause_drop); in tsi108_stat_carry()
452 spin_unlock_irq(&data->misclock); in tsi108_stat_carry()
459 tsi108_read_stat(struct tsi108_prv_data * data, int reg, int carry_bit, in tsi108_read_stat() argument
491 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_get_stats() local
492 spin_lock_irq(&data->misclock); in tsi108_get_stats()
494 data->tmpstats.rx_packets = in tsi108_get_stats()
495 tsi108_read_stat(data, TSI108_STAT_RXPKTS, in tsi108_get_stats()
497 TSI108_STAT_RXPKTS_CARRY, &data->stats.rx_packets); in tsi108_get_stats()
499 data->tmpstats.tx_packets = in tsi108_get_stats()
500 tsi108_read_stat(data, TSI108_STAT_TXPKTS, in tsi108_get_stats()
502 TSI108_STAT_TXPKTS_CARRY, &data->stats.tx_packets); in tsi108_get_stats()
504 data->tmpstats.rx_bytes = in tsi108_get_stats()
505 tsi108_read_stat(data, TSI108_STAT_RXBYTES, in tsi108_get_stats()
507 TSI108_STAT_RXBYTES_CARRY, &data->stats.rx_bytes); in tsi108_get_stats()
509 data->tmpstats.tx_bytes = in tsi108_get_stats()
510 tsi108_read_stat(data, TSI108_STAT_TXBYTES, in tsi108_get_stats()
512 TSI108_STAT_TXBYTES_CARRY, &data->stats.tx_bytes); in tsi108_get_stats()
514 data->tmpstats.multicast = in tsi108_get_stats()
515 tsi108_read_stat(data, TSI108_STAT_RXMCAST, in tsi108_get_stats()
517 TSI108_STAT_RXMCAST_CARRY, &data->stats.multicast); in tsi108_get_stats()
519 excol = tsi108_read_stat(data, TSI108_STAT_TXEXCOL, in tsi108_get_stats()
522 &data->tx_coll_abort); in tsi108_get_stats()
524 data->tmpstats.collisions = in tsi108_get_stats()
525 tsi108_read_stat(data, TSI108_STAT_TXTCOL, in tsi108_get_stats()
527 TSI108_STAT_TXTCOL_CARRY, &data->stats.collisions); in tsi108_get_stats()
529 data->tmpstats.collisions += excol; in tsi108_get_stats()
531 data->tmpstats.rx_length_errors = in tsi108_get_stats()
532 tsi108_read_stat(data, TSI108_STAT_RXLENGTH, in tsi108_get_stats()
535 &data->stats.rx_length_errors); in tsi108_get_stats()
537 data->tmpstats.rx_length_errors += in tsi108_get_stats()
538 tsi108_read_stat(data, TSI108_STAT_RXRUNT, in tsi108_get_stats()
540 TSI108_STAT_RXRUNT_CARRY, &data->rx_underruns); in tsi108_get_stats()
542 data->tmpstats.rx_length_errors += in tsi108_get_stats()
543 tsi108_read_stat(data, TSI108_STAT_RXJUMBO, in tsi108_get_stats()
545 TSI108_STAT_RXJUMBO_CARRY, &data->rx_overruns); in tsi108_get_stats()
547 data->tmpstats.rx_frame_errors = in tsi108_get_stats()
548 tsi108_read_stat(data, TSI108_STAT_RXALIGN, in tsi108_get_stats()
551 &data->stats.rx_frame_errors); in tsi108_get_stats()
553 data->tmpstats.rx_frame_errors += in tsi108_get_stats()
554 tsi108_read_stat(data, TSI108_STAT_RXFCS, in tsi108_get_stats()
556 &data->rx_fcs); in tsi108_get_stats()
558 data->tmpstats.rx_frame_errors += in tsi108_get_stats()
559 tsi108_read_stat(data, TSI108_STAT_RXFRAG, in tsi108_get_stats()
561 TSI108_STAT_RXFRAG_CARRY, &data->rx_short_fcs); in tsi108_get_stats()
563 data->tmpstats.rx_missed_errors = in tsi108_get_stats()
564 tsi108_read_stat(data, TSI108_STAT_RXDROP, in tsi108_get_stats()
567 &data->stats.rx_missed_errors); in tsi108_get_stats()
570 data->tmpstats.rx_fifo_errors = data->stats.rx_fifo_errors; in tsi108_get_stats()
571 data->tmpstats.rx_crc_errors = data->stats.rx_crc_errors; in tsi108_get_stats()
573 data->tmpstats.tx_aborted_errors = in tsi108_get_stats()
574 tsi108_read_stat(data, TSI108_STAT_TXEXDEF, in tsi108_get_stats()
577 &data->stats.tx_aborted_errors); in tsi108_get_stats()
579 data->tmpstats.tx_aborted_errors += in tsi108_get_stats()
580 tsi108_read_stat(data, TSI108_STAT_TXPAUSEDROP, in tsi108_get_stats()
583 &data->tx_pause_drop); in tsi108_get_stats()
585 data->tmpstats.tx_aborted_errors += excol; in tsi108_get_stats()
587 data->tmpstats.tx_errors = data->tmpstats.tx_aborted_errors; in tsi108_get_stats()
588 data->tmpstats.rx_errors = data->tmpstats.rx_length_errors + in tsi108_get_stats()
589 data->tmpstats.rx_crc_errors + in tsi108_get_stats()
590 data->tmpstats.rx_frame_errors + in tsi108_get_stats()
591 data->tmpstats.rx_fifo_errors + data->tmpstats.rx_missed_errors; in tsi108_get_stats()
593 spin_unlock_irq(&data->misclock); in tsi108_get_stats()
594 return &data->tmpstats; in tsi108_get_stats()
597 static void tsi108_restart_rx(struct tsi108_prv_data * data, struct net_device *dev) in tsi108_restart_rx() argument
606 static void tsi108_restart_tx(struct tsi108_prv_data * data) in tsi108_restart_tx() argument
620 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_complete_tx() local
625 while (!data->txfree || data->txhead != data->txtail) { in tsi108_complete_tx()
626 tx = data->txtail; in tsi108_complete_tx()
628 if (data->txring[tx].misc & TSI108_TX_OWN) in tsi108_complete_tx()
631 skb = data->txskbs[tx]; in tsi108_complete_tx()
633 if (!(data->txring[tx].misc & TSI108_TX_OK)) in tsi108_complete_tx()
635 dev->name, data->txring[tx].misc); in tsi108_complete_tx()
637 data->txtail = (data->txtail + 1) % TSI108_TXRING_LEN; in tsi108_complete_tx()
638 data->txfree++; in tsi108_complete_tx()
640 if (data->txring[tx].misc & TSI108_TX_EOF) { in tsi108_complete_tx()
647 if (is_valid_ether_addr(dev->dev_addr) && data->link_up) in tsi108_complete_tx()
654 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_send_packet() local
658 if (!data->phy_ok && net_ratelimit()) in tsi108_send_packet()
661 if (!data->link_up) { in tsi108_send_packet()
668 if (data->txfree < MAX_SKB_FRAGS + 1) { in tsi108_send_packet()
677 if (data->txfree - frags < MAX_SKB_FRAGS + 1) { in tsi108_send_packet()
681 spin_lock_irq(&data->txlock); in tsi108_send_packet()
685 int tx = data->txhead; in tsi108_send_packet()
698 ((TSI108_TXRING_LEN - data->txfree) >= TSI108_TX_INT_FREQ)) in tsi108_send_packet()
701 data->txskbs[tx] = skb; in tsi108_send_packet()
704 data->txring[tx].buf0 = dma_map_single(NULL, skb->data, in tsi108_send_packet()
706 data->txring[tx].len = skb_headlen(skb); in tsi108_send_packet()
711 data->txring[tx].buf0 = skb_frag_dma_map(NULL, frag, in tsi108_send_packet()
715 data->txring[tx].len = skb_frag_size(frag); in tsi108_send_packet()
721 if (netif_msg_pktdata(data)) { in tsi108_send_packet()
726 printk(" %2.2x", skb->data[i]); in tsi108_send_packet()
729 data->txring[tx].misc = misc | TSI108_TX_OWN; in tsi108_send_packet()
731 data->txhead = (data->txhead + 1) % TSI108_TXRING_LEN; in tsi108_send_packet()
732 data->txfree--; in tsi108_send_packet()
742 tsi108_restart_tx(data); in tsi108_send_packet()
744 spin_unlock_irq(&data->txlock); in tsi108_send_packet()
750 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_complete_rx() local
753 while (data->rxfree && done != budget) { in tsi108_complete_rx()
754 int rx = data->rxtail; in tsi108_complete_rx()
757 if (data->rxring[rx].misc & TSI108_RX_OWN) in tsi108_complete_rx()
760 skb = data->rxskbs[rx]; in tsi108_complete_rx()
761 data->rxtail = (data->rxtail + 1) % TSI108_RXRING_LEN; in tsi108_complete_rx()
762 data->rxfree--; in tsi108_complete_rx()
765 if (data->rxring[rx].misc & TSI108_RX_BAD) { in tsi108_complete_rx()
766 spin_lock_irq(&data->misclock); in tsi108_complete_rx()
768 if (data->rxring[rx].misc & TSI108_RX_CRC) in tsi108_complete_rx()
769 data->stats.rx_crc_errors++; in tsi108_complete_rx()
770 if (data->rxring[rx].misc & TSI108_RX_OVER) in tsi108_complete_rx()
771 data->stats.rx_fifo_errors++; in tsi108_complete_rx()
773 spin_unlock_irq(&data->misclock); in tsi108_complete_rx()
778 if (netif_msg_pktdata(data)) { in tsi108_complete_rx()
781 dev->name, data->rxring[rx].len); in tsi108_complete_rx()
782 for (i = 0; i < data->rxring[rx].len; i++) in tsi108_complete_rx()
783 printk(" %2.2x", skb->data[i]); in tsi108_complete_rx()
787 skb_put(skb, data->rxring[rx].len); in tsi108_complete_rx()
797 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_refill_rx() local
800 while (data->rxfree != TSI108_RXRING_LEN && done != budget) { in tsi108_refill_rx()
801 int rx = data->rxhead; in tsi108_refill_rx()
805 data->rxskbs[rx] = skb; in tsi108_refill_rx()
809 data->rxring[rx].buf0 = dma_map_single(NULL, skb->data, in tsi108_refill_rx()
818 data->rxring[rx].blen = TSI108_RX_SKB_SIZE; in tsi108_refill_rx()
819 data->rxring[rx].misc = TSI108_RX_OWN | TSI108_RX_INT; in tsi108_refill_rx()
821 data->rxhead = (data->rxhead + 1) % TSI108_RXRING_LEN; in tsi108_refill_rx()
822 data->rxfree++; in tsi108_refill_rx()
828 tsi108_restart_rx(data, dev); in tsi108_refill_rx()
835 struct tsi108_prv_data *data = container_of(napi, struct tsi108_prv_data, napi); in tsi108_poll() local
836 struct net_device *dev = data->dev; in tsi108_poll()
847 if (data->rxpending || (estat & TSI108_EC_RXESTAT_Q0_DESCINT)) in tsi108_poll()
862 if (data->rxfree < TSI108_RXRING_LEN) in tsi108_poll()
876 tsi108_restart_rx(data, dev); in tsi108_poll()
881 spin_lock_irq(&data->misclock); in tsi108_poll()
882 data->stats.rx_fifo_errors++; in tsi108_poll()
883 spin_unlock_irq(&data->misclock); in tsi108_poll()
887 data->rxpending = 0; in tsi108_poll()
898 data->rxpending = 1; in tsi108_poll()
906 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_rx_int() local
919 if (napi_schedule_prep(&data->napi)) { in tsi108_rx_int()
930 __napi_schedule(&data->napi); in tsi108_rx_int()
970 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_check_rxring() local
977 if (netif_running(dev) && data->rxfree < TSI108_RXRING_LEN / 4) in tsi108_check_rxring()
983 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_tx_int() local
998 spin_lock(&data->txlock); in tsi108_tx_int()
1000 spin_unlock(&data->txlock); in tsi108_tx_int()
1008 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_irq() local
1040 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_stop_ethernet() local
1061 static void tsi108_reset_ether(struct tsi108_prv_data * data) in tsi108_reset_ether() argument
1097 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_get_mac() local
1110 if (0x8 == data->phy) in tsi108_get_mac()
1143 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_set_mac() local
1159 spin_lock_irq(&data->misclock); in tsi108_set_mac()
1162 spin_lock(&data->txlock); in tsi108_set_mac()
1164 if (data->txfree && data->link_up) in tsi108_set_mac()
1167 spin_unlock(&data->txlock); in tsi108_set_mac()
1168 spin_unlock_irq(&data->misclock); in tsi108_set_mac()
1175 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_set_rx_mode() local
1191 memset(data->mc_hash, 0, sizeof(data->mc_hash)); in tsi108_set_rx_mode()
1198 __set_bit(hash, &data->mc_hash[0]); in tsi108_set_rx_mode()
1211 data->mc_hash[i]); in tsi108_set_rx_mode()
1221 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_init_phy() local
1228 tsi108_write_mii(data, MII_BMCR, BMCR_RESET); in tsi108_init_phy()
1230 if(!(tsi108_read_mii(data, MII_BMCR) & BMCR_RESET)) in tsi108_init_phy()
1237 if (data->phy_type == TSI108_PHY_BCM54XX) { in tsi108_init_phy()
1238 tsi108_write_mii(data, 0x09, 0x0300); in tsi108_init_phy()
1239 tsi108_write_mii(data, 0x10, 0x1020); in tsi108_init_phy()
1240 tsi108_write_mii(data, 0x1c, 0x8c00); in tsi108_init_phy()
1243 tsi108_write_mii(data, in tsi108_init_phy()
1246 while (tsi108_read_mii(data, MII_BMCR) & BMCR_ANRESTART) in tsi108_init_phy()
1254 tsi108_write_tbi(data, 0x11, 0x30); in tsi108_init_phy()
1260 data->link_up = 0; in tsi108_init_phy()
1262 while (!((phyval = tsi108_read_mii(data, MII_BMSR)) & in tsi108_init_phy()
1272 data->mii_if.supports_gmii = mii_check_gmii_support(&data->mii_if); in tsi108_init_phy()
1274 data->phy_ok = 1; in tsi108_init_phy()
1275 data->init_media = 1; in tsi108_init_phy()
1281 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_kill_phy() local
1285 tsi108_write_mii(data, MII_BMCR, BMCR_PDOWN); in tsi108_kill_phy()
1286 data->phy_ok = 0; in tsi108_kill_phy()
1293 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_open() local
1297 i = request_irq(data->irq_num, tsi108_irq, 0, dev->name, dev); in tsi108_open()
1300 data->id, data->irq_num); in tsi108_open()
1303 dev->irq = data->irq_num; in tsi108_open()
1306 data->id, dev->irq, dev->name); in tsi108_open()
1309 data->rxring = dma_zalloc_coherent(NULL, rxring_size, &data->rxdma, in tsi108_open()
1311 if (!data->rxring) in tsi108_open()
1314 data->txring = dma_zalloc_coherent(NULL, txring_size, &data->txdma, in tsi108_open()
1316 if (!data->txring) { in tsi108_open()
1317 pci_free_consistent(0, rxring_size, data->rxring, data->rxdma); in tsi108_open()
1322 data->rxring[i].next0 = data->rxdma + (i + 1) * sizeof(rx_desc); in tsi108_open()
1323 data->rxring[i].blen = TSI108_RXBUF_SIZE; in tsi108_open()
1324 data->rxring[i].vlan = 0; in tsi108_open()
1327 data->rxring[TSI108_RXRING_LEN - 1].next0 = data->rxdma; in tsi108_open()
1329 data->rxtail = 0; in tsi108_open()
1330 data->rxhead = 0; in tsi108_open()
1344 data->rxhead = i; in tsi108_open()
1348 data->rxskbs[i] = skb; in tsi108_open()
1349 data->rxring[i].buf0 = virt_to_phys(data->rxskbs[i]->data); in tsi108_open()
1350 data->rxring[i].misc = TSI108_RX_OWN | TSI108_RX_INT; in tsi108_open()
1353 data->rxfree = i; in tsi108_open()
1354 TSI_WRITE(TSI108_EC_RXQ_PTRLOW, data->rxdma); in tsi108_open()
1357 data->txring[i].next0 = data->txdma + (i + 1) * sizeof(tx_desc); in tsi108_open()
1358 data->txring[i].misc = 0; in tsi108_open()
1361 data->txring[TSI108_TXRING_LEN - 1].next0 = data->txdma; in tsi108_open()
1362 data->txtail = 0; in tsi108_open()
1363 data->txhead = 0; in tsi108_open()
1364 data->txfree = TSI108_TXRING_LEN; in tsi108_open()
1365 TSI_WRITE(TSI108_EC_TXQ_PTRLOW, data->txdma); in tsi108_open()
1368 napi_enable(&data->napi); in tsi108_open()
1370 setup_timer(&data->timer, tsi108_timed_checker, (unsigned long)dev); in tsi108_open()
1371 mod_timer(&data->timer, jiffies + 1); in tsi108_open()
1373 tsi108_restart_rx(data, dev); in tsi108_open()
1391 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_close() local
1394 napi_disable(&data->napi); in tsi108_close()
1396 del_timer_sync(&data->timer); in tsi108_close()
1405 while (!data->txfree || data->txhead != data->txtail) { in tsi108_close()
1406 int tx = data->txtail; in tsi108_close()
1408 skb = data->txskbs[tx]; in tsi108_close()
1409 data->txtail = (data->txtail + 1) % TSI108_TXRING_LEN; in tsi108_close()
1410 data->txfree++; in tsi108_close()
1414 free_irq(data->irq_num, dev); in tsi108_close()
1418 while (data->rxfree) { in tsi108_close()
1419 int rx = data->rxtail; in tsi108_close()
1422 skb = data->rxskbs[rx]; in tsi108_close()
1423 data->rxtail = (data->rxtail + 1) % TSI108_RXRING_LEN; in tsi108_close()
1424 data->rxfree--; in tsi108_close()
1430 data->rxring, data->rxdma); in tsi108_close()
1433 data->txring, data->txdma); in tsi108_close()
1440 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_init_mac() local
1501 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_get_settings() local
1505 spin_lock_irqsave(&data->txlock, flags); in tsi108_get_settings()
1506 rc = mii_ethtool_gset(&data->mii_if, cmd); in tsi108_get_settings()
1507 spin_unlock_irqrestore(&data->txlock, flags); in tsi108_get_settings()
1514 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_set_settings() local
1518 spin_lock_irqsave(&data->txlock, flags); in tsi108_set_settings()
1519 rc = mii_ethtool_sset(&data->mii_if, cmd); in tsi108_set_settings()
1520 spin_unlock_irqrestore(&data->txlock, flags); in tsi108_set_settings()
1527 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_do_ioctl() local
1530 return generic_mii_ioctl(&data->mii_if, if_mii(rq), cmd, NULL); in tsi108_do_ioctl()
1555 struct tsi108_prv_data *data = NULL; in tsi108_init_one() local
1574 data = netdev_priv(dev); in tsi108_init_one()
1575 data->dev = dev; in tsi108_init_one()
1581 data->regs = ioremap(einfo->regs, 0x400); in tsi108_init_one()
1582 if (NULL == data->regs) { in tsi108_init_one()
1587 data->phyregs = ioremap(einfo->phyregs, 0x400); in tsi108_init_one()
1588 if (NULL == data->phyregs) { in tsi108_init_one()
1593 data->mii_if.dev = dev; in tsi108_init_one()
1594 data->mii_if.mdio_read = tsi108_mdio_read; in tsi108_init_one()
1595 data->mii_if.mdio_write = tsi108_mdio_write; in tsi108_init_one()
1596 data->mii_if.phy_id = einfo->phy; in tsi108_init_one()
1597 data->mii_if.phy_id_mask = 0x1f; in tsi108_init_one()
1598 data->mii_if.reg_num_mask = 0x1f; in tsi108_init_one()
1600 data->phy = einfo->phy; in tsi108_init_one()
1601 data->phy_type = einfo->phy_type; in tsi108_init_one()
1602 data->irq_num = einfo->irq_num; in tsi108_init_one()
1603 data->id = pdev->id; in tsi108_init_one()
1604 netif_napi_add(dev, &data->napi, tsi108_poll, 64); in tsi108_init_one()
1618 spin_lock_init(&data->txlock); in tsi108_init_one()
1619 spin_lock_init(&data->misclock); in tsi108_init_one()
1621 tsi108_reset_ether(data); in tsi108_init_one()
1642 data->msg_enable = DEBUG; in tsi108_init_one()
1649 iounmap(data->phyregs); in tsi108_init_one()
1652 iounmap(data->regs); in tsi108_init_one()
1669 struct tsi108_prv_data *data = netdev_priv(dev); in tsi108_timed_checker() local
1673 mod_timer(&data->timer, jiffies + CHECK_PHY_INTERVAL); in tsi108_timed_checker()