Lines Matching refs:nic
392 static int mii_rw(struct nic *nic __unused, int addr, int miireg, in mii_rw()
451 static void start_rx(struct nic *nic __unused) in start_rx()
481 static void start_tx(struct nic *nic __unused) in start_tx()
505 static void txrx_reset(struct nic *nic __unused) in txrx_reset()
523 static int alloc_rx(struct nic *nic __unused) in alloc_rx()
545 static int update_linkspeed(struct nic *nic) in update_linkspeed() argument
549 adv = mii_rw(nic, np->phyaddr, MII_ADVERTISE, MII_READ); in update_linkspeed()
550 lpa = mii_rw(nic, np->phyaddr, MII_LPA, MII_READ); in update_linkspeed()
583 static int init_ring(struct nic *nic) in init_ring() argument
597 return alloc_rx(nic); in init_ring()
600 static void set_multicast(struct nic *nic) in set_multicast() argument
630 start_rx(nic); in set_multicast()
636 static int forcedeth_reset(struct nic *nic) in forcedeth_reset() argument
653 txrx_reset(nic); in forcedeth_reset()
658 oom = init_ring(nic); in forcedeth_reset()
665 (nic->node_addr[0] << 0) + (nic->node_addr[1] << 8) + in forcedeth_reset()
666 (nic->node_addr[2] << 16) + (nic->node_addr[3] << 24); in forcedeth_reset()
668 (nic->node_addr[4] << 0) + (nic->node_addr[5] << 8); in forcedeth_reset()
693 id1 = mii_rw(nic, i, MII_PHYSID1, MII_READ); in forcedeth_reset()
696 id2 = mii_rw(nic, i, MII_PHYSID2, MII_READ); in forcedeth_reset()
703 update_linkspeed(nic); in forcedeth_reset()
780 set_multicast(nic); in forcedeth_reset()
782 start_tx(nic); in forcedeth_reset()
785 (mii_rw(nic, np->phyaddr, MII_BMSR, MII_READ) & in forcedeth_reset()
800 static int forcedeth_poll(struct nic *nic, int retrieve) in forcedeth_poll() argument
821 nic->packetlen = len; in forcedeth_poll()
823 memcpy(nic->packet, rxb + in forcedeth_poll()
824 (i * RX_NIC_BUFSIZE), nic->packetlen); in forcedeth_poll()
828 alloc_rx(nic); in forcedeth_poll()
836 static void forcedeth_transmit(struct nic *nic, const char *d, /* Destination */ in forcedeth_transmit() argument
854 memcpy(ptxb + ETH_ALEN, nic->node_addr, ETH_ALEN); /* src */ in forcedeth_transmit()
910 static void forcedeth_irq(struct nic *nic __unused, irq_action_t action __unused) in forcedeth_irq()
930 struct nic *nic = (struct nic *) dev; in forcedeth_probe() local
941 nic->irqno = 0; in forcedeth_probe()
942 nic->ioaddr = pci->ioaddr & ~3; in forcedeth_probe()
964 nic->node_addr[0] = (np->orig_mac[1] >> 8) & 0xff; in forcedeth_probe()
965 nic->node_addr[1] = (np->orig_mac[1] >> 0) & 0xff; in forcedeth_probe()
966 nic->node_addr[2] = (np->orig_mac[0] >> 24) & 0xff; in forcedeth_probe()
967 nic->node_addr[3] = (np->orig_mac[0] >> 16) & 0xff; in forcedeth_probe()
968 nic->node_addr[4] = (np->orig_mac[0] >> 8) & 0xff; in forcedeth_probe()
969 nic->node_addr[5] = (np->orig_mac[0] >> 0) & 0xff; in forcedeth_probe()
990 printf("%s: MAC Address %!, ", pci->name, nic->node_addr); in forcedeth_probe()
1014 forcedeth_reset(nic); in forcedeth_probe()
1018 nic->poll = forcedeth_poll; in forcedeth_probe()
1019 nic->transmit = forcedeth_transmit; in forcedeth_probe()
1020 nic->irq = forcedeth_irq; in forcedeth_probe()