Lines Matching refs:nic
29 #include "nic.h"
64 static void t595_reset(struct nic *nic)
108 outb(nic->node_addr[i], BASE + VX_W2_ADDR_0 + i);
162 struct nic *nic,
210 outsw(BASE + VX_W1_TX_PIO_WR_1, nic->node_addr, ETH_ALEN/2);
227 static int t595_poll(struct nic *nic, int retrieve)
269 insw(BASE + VX_W1_RX_PIO_RD_1, nic->packet, rx_fifo / 2);
271 nic->packet[rx_fifo-1]=inb(BASE + VX_W1_RX_PIO_RD_1);
272 nic->packetlen=rx_fifo;
282 insw(BASE + VX_W1_RX_PIO_RD_1, nic->packet+nic->packetlen, rx_fifo / 2);
284 nic->packet[nic->packetlen+rx_fifo-1]=inb(BASE + VX_W1_RX_PIO_RD_1);
285 nic->packetlen+=rx_fifo;
292 printf("=%d",nic->packetlen);
305 type = (nic->packet[12]<<8) | nic->packet[13];
306 if(nic->packet[0]+nic->packet[1]+nic->packet[2]+nic->packet[3]+nic->packet[4]+
307 nic->packet[5] == 0xFF*ETH_ALEN)
445 struct nic *nic = (struct nic *)dev;
446 t595_reset(nic);
455 static void t595_irq(struct nic *nic __unused, irq_action_t action __unused)
472 struct nic *nic = (struct nic *)dev;
481 nic->irqno = 0;
482 nic->ioaddr = pci->ioaddr & ~3;
500 p = (unsigned short *) nic->node_addr;
508 printf("Ethernet address: %!\n", nic->node_addr);
510 t595_reset(nic);
512 nic->poll = t595_poll;
513 nic->transmit = t595_transmit;
514 nic->irq = t595_irq;