|
iPXE
|
Go to the source code of this file.
Data Structures | |
| struct | sis900_bss |
| struct | mii_chip_info |
| struct | mii_phy |
Macros | |
| #define | sis900_bufs NIC_FAKE_BSS ( struct sis900_bss ) |
| #define | txd sis900_bufs.txd |
| #define | rxd sis900_bufs.rxd |
| #define | txb sis900_bufs.txb |
| #define | rxb sis900_bufs.rxb |
| #define | eeprom_delay() |
| #define | sis900_mdio_delay() |
Functions | |
| FILE_LICENCE (GPL_ANY) | |
| static void | sis900_read_mode (struct nic *nic, int phy_addr, int *speed, int *duplex) |
| static void | amd79c901_read_mode (struct nic *nic, int phy_addr, int *speed, int *duplex) |
| static void | ics1893_read_mode (struct nic *nic, int phy_addr, int *speed, int *duplex) |
| static void | rtl8201_read_mode (struct nic *nic, int phy_addr, int *speed, int *duplex) |
| static void | vt6103_read_mode (struct nic *nic, int phy_addr, int *speed, int *duplex) |
| static int | sis900_probe (struct nic *nic, struct pci_device *pci) |
| static u16 | sis900_read_eeprom (int location) |
| static void | sis900_mdio_reset (long mdio_addr) |
| static void | sis900_mdio_idle (long mdio_addr) |
| static u16 | sis900_mdio_read (int phy_id, int location) |
| static void | sis900_init (struct nic *nic) |
| static void | sis900_reset (struct nic *nic) |
| static void | sis900_init_rxfilter (struct nic *nic) |
| static void | sis900_init_txd (struct nic *nic) |
| static void | sis900_init_rxd (struct nic *nic) |
| static void | sis900_set_rx_mode (struct nic *nic) |
| static void | sis900_check_mode (struct nic *nic) |
| static void | sis900_transmit (struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p) |
| static int | sis900_poll (struct nic *nic, int retrieve) |
| static void | sis900_disable (struct nic *nic, void *hwdev) |
| static void | sis900_irq (struct nic *nic, irq_action_t action) |
| static int | sis900_get_mac_addr (struct pci_device *pci_dev __unused, struct nic *nic) |
| sis900_get_mac_addr: - Get MAC address for stand alone SiS900 model @pci_dev: the sis900 pci device @net_dev: the net device to get address for | |
| static int | sis96x_get_mac_addr (struct pci_device *pci_dev __unused, struct nic *nic) |
| sis96x_get_mac_addr: - Get MAC address for SiS962 or SiS963 model @pci_dev: the sis900 pci device @net_dev: the net device to get address for | |
| static int | sis630e_get_mac_addr (struct pci_device *pci_dev __unused, struct nic *nic __unused) |
| sis630e_get_mac_addr: - Get MAC address for SiS630E model @pci_dev: the sis900 pci device @net_dev: the net device to get address for | |
| static int | sis635_get_mac_addr (struct pci_device *pci_dev __unused, struct nic *nic) |
| sis630e_get_mac_addr: - Get MAC address for SiS630E model @pci_dev: the sis900 pci device @net_dev: the net device to get address for | |
| static void | sis900_reset (struct nic *nic __unused) |
| static void | sis900_init_txd (struct nic *nic __unused) |
| static void | sis900_init_rxd (struct nic *nic __unused) |
| static void | sis900_set_rx_mode (struct nic *nic __unused) |
| static void | sis900_read_mode (struct nic *nic __unused, int phy_addr, int *speed, int *duplex) |
| static void | amd79c901_read_mode (struct nic *nic __unused, int phy_addr, int *speed, int *duplex) |
| static void | ics1893_read_mode (struct nic *nic __unused, int phy_addr, int *speed, int *duplex) |
| ics1893_read_mode: - read media mode for ICS1893 PHY @net_dev: the net device to read mode for @phy_addr: mii phy address @speed: the transmit speed to be determined @duplex: the duplex mode to be determined | |
| static void | rtl8201_read_mode (struct nic *nic __unused, int phy_addr, int *speed, int *duplex) |
| rtl8201_read_mode: - read media mode for rtl8201 phy @nic: the net device to read mode for @phy_addr: mii phy address @speed: the transmit speed to be determined @duplex: the duplex mode to be determined | |
| static void | vt6103_read_mode (struct nic *nic __unused, int phy_addr, int *speed, int *duplex) |
| vt6103_read_mode: - read media mode for vt6103 phy @nic: the net device to read mode for @phy_addr: mii phy address @speed: the transmit speed to be determined @duplex: the duplex mode to be determined | |
| static void | sis900_disable (struct nic *nic, void *hwdev __unused) |
| static void | sis900_irq (struct nic *nic __unused, irq_action_t action __unused) |
| PCI_DRIVER (sis900_driver, sis900_nics, PCI_NO_CLASS) | |
| DRIVER ("SIS900", nic_driver, pci_driver, sis900_driver, sis900_probe, sis900_disable, sis900_bufs) | |
Variables | |
| static struct nic_operations | sis900_operations |
| static int | sis900_debug = 0 |
| static unsigned short | vendor |
| static unsigned short | dev_id |
| static unsigned long | ioaddr |
| static u8 | pci_revision |
| static unsigned int | cur_phy |
| static unsigned int | cur_rx |
| static struct mii_chip_info | mii_chip_table [] |
| static struct mii_phy | mii |
| static struct pci_device_id | sis900_nics [] |
| #define sis900_bufs NIC_FAKE_BSS ( struct sis900_bss ) |
| #define eeprom_delay | ( | ) |
| #define sis900_mdio_delay | ( | ) |
Definition at line 505 of file sis900.c.
Referenced by sis900_mdio_idle(), sis900_mdio_read(), and sis900_mdio_reset().
| FILE_LICENCE | ( | GPL_ANY | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
References name.
|
static |
Definition at line 336 of file sis900.c.
References ACCESSMODE, adjust_pci_device(), cr, cur_phy, DBG, dev_id, pci_device::device, inl, ioaddr, nic::ioaddr, pci_device::ioaddr, nic::irqno, mii, mii_chip_table, MII_PHY_ID0, MII_PHY_ID1, MII_STATUS, name, nic::nic_op, NULL, outl, pci_read_config_byte(), PCI_REVISION, pci_revision, pci_write_config_dword(), printf(), revision, SIS630E_900_REV, sis630e_get_mac_addr(), SIS630ET_900_REV, sis635_get_mac_addr(), sis900_get_mac_addr(), sis900_init(), sis900_mdio_read(), sis900_operations, SIS96x_900_REV, sis96x_get_mac_addr(), u16, u8, pci_device::vendor, and vendor.
Referenced by DRIVER().
|
static |
Definition at line 464 of file sis900.c.
References EECLK, EECS, EEDI, EEDO, eeprom_delay, EEread, inl, ioaddr, mear, outl, read_cmd, retval, u16, and u32.
Referenced by sis900_get_mac_addr(), and sis96x_get_mac_addr().
|
static |
Definition at line 522 of file sis900.c.
References MDC, MDDIR, MDIO, outl, and sis900_mdio_delay.
Referenced by sis900_mdio_read().
|
static |
|
static |
Definition at line 535 of file sis900.c.
References inl, ioaddr, MDC, MDDIR, MDIO, mear, MIIpmdShift, MIIread, MIIregShift, outl, retval, sis900_mdio_delay, sis900_mdio_idle(), sis900_mdio_reset(), and u16.
Referenced by amd79c901_read_mode(), ics1893_read_mode(), rtl8201_read_mode(), sis900_probe(), sis900_read_mode(), and vt6103_read_mode().
|
static |
Definition at line 619 of file sis900.c.
References cr, inl, ioaddr, outl, RxENA, sis900_check_mode(), sis900_init_rxd(), sis900_init_rxfilter(), sis900_init_txd(), sis900_reset(), and sis900_set_rx_mode().
Referenced by sis900_disable(), and sis900_probe().
|
static |
Referenced by sis900_init().
|
static |
Definition at line 681 of file sis900.c.
References inl, ioaddr, nic::node_addr, outl, printf(), RFADDR_shift, rfcr, rfdr, RFEN, sis900_debug, u16, and u32.
Referenced by sis900_init().
|
static |
Referenced by sis900_init().
|
static |
Referenced by sis900_init().
|
static |
Referenced by sis900_init().
|
static |
Definition at line 824 of file sis900.c.
References cfg, cur_phy, DMA_BURST_512, DMA_BURST_64, EDB_MASTER_EN, FDX_CAPABLE_FULL_SELECTED, HW_SPEED_10_MBPS, HW_SPEED_HOME, inl, ioaddr, mii, outl, RxATX, rxcfg, RxDRNT_10, RxDRNT_100, RxDRNT_shift, RxMXDMA_shift, TX_FILL_THRESH, TxATP, txcfg, TxCSI, TxDRNT_10, TxDRNT_100, TxDRNT_shift, TxFILLT_shift, TxHBI, TxMXDMA_shift, and u32.
Referenced by sis900_init().
|
static |
Definition at line 1104 of file sis900.c.
References ABORT, cr, currticks(), DSIZE, ETH_ALEN, ETH_HLEN, ETH_ZLEN, htons, imr, inl, ioaddr, memcpy(), nic::node_addr, outl, OWCOLL, OWN, printf(), sis900_debug, TX_TIMEOUT, txb, txd, TxDIS, txdp, TxENA, u32, UNDERRUN, and virt_to_bus().
|
static |
Definition at line 1183 of file sis900.c.
References ABORT, cr, CRC_SIZE, CRCERR, cur_rx, DSIZE, FAERR, inl, ioaddr, isr, memcpy(), NUM_RX_DESC, outl, OVERRUN, OWN, nic::packet, nic::packetlen, printf(), RUNT, RX_BUF_SIZE, rxb, rxd, RxENA, RXISERR, sis900_debug, TOOLONG, u32, and virt_to_bus().
|
static |
|
static |
sis900_get_mac_addr: - Get MAC address for stand alone SiS900 model @pci_dev: the sis900 pci device @net_dev: the net device to get address for
Older SiS900 and friends, use EEPROM to store MAC address. MAC address is read from read_eeprom() into @net_dev->dev_addr.
Definition at line 181 of file sis900.c.
References __unused, EEPROMMACAddr, EEPROMSignature, nic::node_addr, printf(), signature, sis900_read_eeprom(), and u16.
Referenced by sis900_probe().
|
static |
sis96x_get_mac_addr: - Get MAC address for SiS962 or SiS963 model @pci_dev: the sis900 pci device @net_dev: the net device to get address for
SiS962 or SiS963 model, use EEPROM to store MAC address. And EEPROM is shared by LAN and 1394. When access EEPROM, send EEREQ signal to hardware first and wait for EEGNT. If EEGNT is ON, EEPROM is permitted to be access by LAN, otherwise is not. After MAC address is read from EEPROM, send EEDONE signal to refuse EEPROM access by LAN. The EEPROM map of SiS962 or SiS963 is different to SiS900. The signature field in SiS962 or SiS963 spec is meaningless. MAC address is read into @net_dev->dev_addr.
Definition at line 215 of file sis900.c.
References __unused, EEDONE, EEGNT, EEPROMMACAddr, EEREQ, inl, ioaddr, mear, nic::node_addr, outl, printf(), sis900_read_eeprom(), u16, u32, and udelay().
Referenced by sis900_probe().
|
static |
sis630e_get_mac_addr: - Get MAC address for SiS630E model @pci_dev: the sis900 pci device @net_dev: the net device to get address for
SiS630E model, use APC CMOS RAM to store MAC address. APC CMOS RAM is accessed through ISA bridge. MAC address is read into @net_dev->dev_addr.
Definition at line 253 of file sis900.c.
References __unused, ETH_ALEN, inb, memset(), nic::node_addr, outb, pci_read_config_byte(), pci_write_config_byte(), reg, u, and u8.
Referenced by sis900_probe().
|
static |
sis630e_get_mac_addr: - Get MAC address for SiS630E model @pci_dev: the sis900 pci device @net_dev: the net device to get address for
SiS630E model, use APC CMOS RAM to store MAC address. APC CMOS RAM is accessed through ISA bridge. MAC address is read into @net_dev->dev_addr.
Definition at line 296 of file sis900.c.
References __unused, cr, inl, inw, ioaddr, nic::node_addr, outl, RELOAD, RFADDR_shift, rfcr, rfdr, RFEN, u16, and u32.
Referenced by sis900_probe().
Definition at line 648 of file sis900.c.
References __unused, cfg, cr, ier, imr, inl, ioaddr, isr, outl, pci_revision, PESEL, RESET, rfcr, RND_CNT, RxRCMP, RxRESET, SIS635A_900_REV, SIS900B_900_REV, status, TxRCMP, TxRESET, and u32.
Definition at line 744 of file sis900.c.
References __unused, bufptr, cmdsts, cur_rx, inl, ioaddr, link, NUM_RX_DESC, outl, printf(), RX_BUF_SIZE, rxb, rxd, rxdp, sis900_debug, u32, and virt_to_bus().
Definition at line 782 of file sis900.c.
References __unused, ioaddr, outl, pci_revision, RFAAB, RFAAM, RFADDR_shift, rfcr, rfdr, RFEN, SIS635A_900_REV, SIS900B_900_REV, u16, and u32.
Definition at line 870 of file sis900.c.
References __unused, FDX_CAPABLE_FULL_SELECTED, FDX_CAPABLE_HALF_SELECTED, HW_SPEED_100_MBPS, HW_SPEED_10_MBPS, MII_CNTL_FDX, MII_CONTROL, MII_NWAY_T_FDX, MII_NWAY_TX, MII_NWAY_TX_FDX, MII_PHY_ID0, MII_PHY_ID1, MII_STSOUT, MII_STSOUT_LINK_FAIL, printf(), sis900_mdio_read(), status, u16, and u32.
|
static |
Definition at line 921 of file sis900.c.
References __unused, FDX_CAPABLE_FULL_SELECTED, FDX_CAPABLE_HALF_SELECTED, HW_SPEED_100_MBPS, HW_SPEED_10_MBPS, HW_SPEED_HOME, MII_STAT_CAN_AUTO, MII_STAT_LINK, MII_STATUS, MII_STATUS_SUMMARY, MII_STSSUM_DPLX, MII_STSSUM_LINK, MII_STSSUM_SPD, printf(), sis900_mdio_read(), status, and u16.
ics1893_read_mode: - read media mode for ICS1893 PHY @net_dev: the net device to read mode for @phy_addr: mii phy address @speed: the transmit speed to be determined @duplex: the duplex mode to be determined
ICS1893 PHY use Quick Poll Detailed Status register to determine the speed and duplex mode for sis900
Definition at line 974 of file sis900.c.
References __unused, FDX_CAPABLE_FULL_SELECTED, FDX_CAPABLE_HALF_SELECTED, HW_SPEED_100_MBPS, HW_SPEED_10_MBPS, MII_QPDSTS, MII_STSICS_DPLX, MII_STSICS_LINKSTS, MII_STSICS_SPD, printf(), sis900_mdio_read(), status, and u32.
rtl8201_read_mode: - read media mode for rtl8201 phy @nic: the net device to read mode for @phy_addr: mii phy address @speed: the transmit speed to be determined @duplex: the duplex mode to be determined
read MII_STATUS register from rtl8201 phy to determine the speed and duplex mode for sis900
Definition at line 1014 of file sis900.c.
References __unused, FDX_CAPABLE_FULL_SELECTED, FDX_CAPABLE_HALF_SELECTED, HW_SPEED_100_MBPS, HW_SPEED_10_MBPS, MII_STAT_CAN_T, MII_STAT_CAN_T_FDX, MII_STAT_CAN_TX, MII_STAT_CAN_TX_FDX, MII_STAT_LINK, MII_STATUS, printf(), sis900_mdio_read(), status, and u32.
vt6103_read_mode: - read media mode for vt6103 phy @nic: the net device to read mode for @phy_addr: mii phy address @speed: the transmit speed to be determined @duplex: the duplex mode to be determined
read MII_STATUS register from rtl8201 phy to determine the speed and duplex mode for sis900
Definition at line 1058 of file sis900.c.
References __unused, FDX_CAPABLE_FULL_SELECTED, FDX_CAPABLE_HALF_SELECTED, HW_SPEED_100_MBPS, HW_SPEED_10_MBPS, MII_STAT_CAN_T, MII_STAT_CAN_T_FDX, MII_STAT_CAN_TX, MII_STAT_CAN_TX_FDX, MII_STAT_LINK, MII_STATUS, printf(), sis900_mdio_read(), status, and u32.
|
static |
|
static |
| PCI_DRIVER | ( | sis900_driver | , |
| sis900_nics | , | ||
| PCI_NO_CLASS | ) |
References sis900_nics.
| DRIVER | ( | "SIS900" | , |
| nic_driver | , | ||
| pci_driver | , | ||
| sis900_driver | , | ||
| sis900_probe | , | ||
| sis900_disable | , | ||
| sis900_bufs | ) |
References sis900_bufs, sis900_disable(), and sis900_probe().
|
static |
Definition at line 56 of file sis900.c.
Referenced by sis900_probe().
|
static |
Definition at line 58 of file sis900.c.
Referenced by sis900_init_rxd(), sis900_init_rxfilter(), sis900_init_txd(), sis900_poll(), and sis900_transmit().
|
static |
Definition at line 62 of file sis900.c.
Referenced by sis900_probe(), sis900_reset(), and sis900_set_rx_mode().
|
static |
Definition at line 64 of file sis900.c.
Referenced by sis900_check_mode(), and sis900_probe().
|
static |
|
static |
Referenced by mii_check_link(), mii_dump(), mii_find(), mii_init(), mii_read(), mii_reset(), mii_restart(), mii_write(), pcnet32_chip_detect(), sis900_check_mode(), and sis900_probe().
|
static |
Definition at line 1287 of file sis900.c.
Referenced by PCI_DRIVER().