Lines Matching refs:nic
43 #include "nic.h"
83 static void sis900_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex);
84 static void amd79c901_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex);
85 static void ics1893_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex);
86 static void rtl8201_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex);
92 void (*read_mode) (struct nic *nic, int phy_addr, int *speed, int *duplex);
121 struct nic *sis900_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci);
129 static void sis900_init(struct nic *nic);
131 static void sis900_reset(struct nic *nic);
133 static void sis900_init_rxfilter(struct nic *nic);
134 static void sis900_init_txd(struct nic *nic);
135 static void sis900_init_rxd(struct nic *nic);
136 static void sis900_set_rx_mode(struct nic *nic);
137 static void sis900_check_mode(struct nic *nic);
139 static void sis900_transmit(struct nic *nic, const char *d,
141 static int sis900_poll(struct nic *nic);
143 static void sis900_disable(struct nic *nic);
154 static int sis900_get_mac_addr(struct pci_device * pci_dev , struct nic *nic)
168 ((u16 *)(nic->node_addr))[i] = sis900_read_eeprom(i+EEPROMMACAddr);
182 static int sis630e_get_mac_addr(struct pci_device * pci_dev, struct nic *nic)
200 ((u8 *)(nic->node_addr))[i] = inb(0x71);
211 * Description: initializes initializes the NIC, retrieves the
219 * Returns: struct nic *: pointer to NIC data structure
222 struct nic *sis900_probe(struct nic *nic, unsigned short *io_addrs, struct pci_device *pci)
247 ret = sis630e_get_mac_addr(pci, nic);
249 ret = sis630e_get_mac_addr(pci, nic);
251 ret = sis900_get_mac_addr(pci, nic);
260 nic->node_addr, ioaddr);
308 sis900_init(nic);
310 nic->reset = sis900_init;
311 nic->poll = sis900_poll;
312 nic->transmit = sis900_transmit;
313 nic->disable = sis900_disable;
315 return nic;
490 * Arguments: struct nic *nic: NIC data structure
496 sis900_init(struct nic *nic)
499 sis900_reset(nic);
501 sis900_init_rxfilter(nic);
503 sis900_init_txd(nic);
504 sis900_init_rxd(nic);
506 sis900_set_rx_mode(nic);
508 sis900_check_mode(nic);
520 * Arguments: struct nic *nic: NIC data structure
526 sis900_reset(struct nic *nic)
550 * Arguments: struct nic *nic: NIC data structure
556 sis900_init_rxfilter(struct nic *nic)
570 w = (u32) *((u16 *)(nic->node_addr)+i);
590 * Arguments: struct nic *nic: NIC data structure
596 sis900_init_txd(struct nic *nic)
615 * Arguments: struct nic *nic: NIC data structure
621 sis900_init_rxd(struct nic *nic)
654 * Arguments: struct nic *nic: NIC data structure
659 static void sis900_set_rx_mode(struct nic *nic)
682 * parameters on the NIC, and updates NIC registers to match
684 * Arguments: struct nic *nic: NIC data structure
690 sis900_check_mode (struct nic *nic)
695 mii.chip_info->read_mode(nic, cur_phy, &speed, &duplex);
723 * parameters from the NIC
725 * Arguments: struct nic *nic: NIC data structure
731 sis900_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex)
765 * parameters from the NIC
767 * Arguments: struct nic *nic: NIC data structure
773 amd79c901_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex)
827 static void ics1893_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex)
858 * @nic: the net device to read mode for
867 static void rtl8201_read_mode(struct nic *nic, int phy_addr, int *speed, int *duplex)
913 sis900_transmit(struct nic *nic,
932 memcpy(txb + ETH_ALEN, nic->node_addr, ETH_ALEN);
980 * Arguments: struct nic *nic: NIC data structure
986 * Returns (copies) the packet to the array nic->packet.
987 * Returns the length of the packet in nic->packetlen.
991 sis900_poll(struct nic *nic)
1006 nic->packetlen = (rx_status & DSIZE) - CRC_SIZE;
1015 memcpy(nic->packet, (rxb + cur_rx*RX_BUF_SIZE), nic->packetlen);
1038 * Arguments: struct nic *nic: NIC data structure
1044 sis900_disable(struct nic *nic)