|
iPXE
|
Go to the source code of this file.
Data Structures | |
| struct | w840_rx_desc |
| struct | w840_tx_desc |
| struct | winbond_private |
| struct | w89c840_bss |
Macros | |
| #define | USE_IO_OPS |
| #define | virt_to_le32desc(addr) virt_to_bus(addr) |
| #define | le32desc_to_virt(addr) bus_to_virt(addr) |
| #define | TX_RING_SIZE 2 |
| #define | RX_RING_SIZE 2 |
| #define | TX_FIFO_SIZE (2048) |
| #define | TX_BUG_FIFO_LIMIT (TX_FIFO_SIZE-1514-16) |
| #define | TX_TIMEOUT (10*1000) |
| #define | PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer.*/ |
| #define | W840_FLAGS (PCI_USES_IO | PCI_ADDR0 | PCI_USES_MASTER) |
| #define | readb inb |
| #define | readw inw |
| #define | readl inl |
| #define | writeb outb |
| #define | writew outw |
| #define | writel outl |
| #define | PRIV_ALIGN 15 /* Required alignment mask */ |
| #define | PRIV_ALIGN_BYTES 32 |
| #define | w89c840_buf NIC_FAKE_BSS ( struct w89c840_bss ) |
| #define | PCI_VENDOR_ID_WINBOND2 0x1050 |
| #define | PCI_DEVICE_ID_WINBOND2_89C840 0x0840 |
| #define | PCI_VENDOR_ID_COMPEX 0x11f6 |
| #define | PCI_DEVICE_ID_COMPEX_RL100ATX 0x2011 |
| #define | eeprom_delay(ee_addr) readl(ee_addr) |
| #define | mdio_delay(mdio_addr) readl(mdio_addr) |
| #define | MDIO_WRITE0 (MDIO_EnbOutput) |
| #define | MDIO_WRITE1 (MDIO_DataOut | MDIO_EnbOutput) |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER) | |
| static int | eeprom_read (long ioaddr, int location) |
| static int | mdio_read (int base_address, int phy_id, int location) |
| static void | check_duplex (void) |
| static void | set_rx_mode (void) |
| static void | init_ring (void) |
| static void | w89c840_reset (struct nic *nic) |
| static int | w89c840_poll (struct nic *nic, int retrieve) |
| static void | w89c840_transmit (struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p) |
| static void | w89c840_disable (struct nic *nic, void *hwdev __unused) |
| static void | w89c840_irq (struct nic *nic __unused, irq_action_t action __unused) |
| PCI_DRIVER (w89c840_driver, w89c840_nics, PCI_NO_CLASS) | |
| static int | w89c840_probe (struct nic *nic, struct pci_device *p) |
| static void | mdio_sync (long mdio_addr) |
| DRIVER ("W89C840F", nic_driver, pci_driver, w89c840_driver, w89c840_probe, w89c840_disable, w89c840_buf) | |
Variables | |
| static const char * | w89c840_version = "driver Version 0.94 - December 12, 2003" |
| static u32 | driver_flags = CanHaveMII | HasBrokenTx |
| static struct winbond_private | w840private |
| static int | ioaddr |
| static unsigned short | eeprom [0x40] |
| static struct nic_operations | w89c840_operations |
| static struct pci_device_id | w89c840_nics [] |
| static char | mii_preamble_required = 1 |
| #define virt_to_le32desc | ( | addr | ) | virt_to_bus(addr) |
| #define le32desc_to_virt | ( | addr | ) | bus_to_virt(addr) |
| #define TX_BUG_FIFO_LIMIT (TX_FIFO_SIZE-1514-16) |
| #define PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer.*/ |
| #define W840_FLAGS (PCI_USES_IO | PCI_ADDR0 | PCI_USES_MASTER) |
| #define w89c840_buf NIC_FAKE_BSS ( struct w89c840_bss ) |
| #define PCI_VENDOR_ID_WINBOND2 0x1050 |
| #define PCI_DEVICE_ID_WINBOND2_89C840 0x0840 |
| #define PCI_VENDOR_ID_COMPEX 0x11f6 |
| #define PCI_DEVICE_ID_COMPEX_RL100ATX 0x2011 |
| #define MDIO_WRITE0 (MDIO_EnbOutput) |
| #define MDIO_WRITE1 (MDIO_DataOut | MDIO_EnbOutput) |
| Enumerator | |
|---|---|
| CanHaveMII | |
| KendinPktDropBug | |
| CanHaveMII | |
| HasBrokenTx | |
Definition at line 134 of file w89c840.c.
| enum w840_offsets |
Definition at line 169 of file w89c840.c.
| enum intr_status_bits |
Definition at line 181 of file w89c840.c.
| enum rx_mode_bits |
| Enumerator | |
|---|---|
| AcceptAllIPMulti | |
| AcceptMultiHash | |
| AcceptAll | |
| AcceptBroadcast | |
| AcceptMulticast | |
| AcceptMyPhys | |
| AcceptErr | |
| AcceptRunt | |
| AcceptBroadcast | |
| AcceptMulticast | |
| AcceptAllPhys | |
| AcceptMyPhys | |
Definition at line 190 of file w89c840.c.
| enum mii_reg_bits |
| Enumerator | |
|---|---|
| MDIO_ShiftClk | |
| MDIO_Data | |
| MDIO_EnbOutput | |
| MDIO_ShiftClk | |
| MDIO_DataIn | |
| MDIO_DataOut | |
| MDIO_EnbOutput | |
| MDIO_EnbIn | |
Definition at line 196 of file w89c840.c.
| enum desc_status_bits |
Definition at line 216 of file w89c840.c.
| enum EEPROM_Ctrl_Bits |
| Enumerator | |
|---|---|
| EE_ShiftClk | |
| EE_Write0 | |
| EE_Write1 | |
| EE_ChipSelect | |
| EE_DataIn | |
Definition at line 737 of file w89c840.c.
| enum EEPROM_Cmds |
| Enumerator | |
|---|---|
| EE_WriteCmd | |
| EE_ReadCmd | |
| EE_EraseCmd | |
| FILE_LICENCE | ( | GPL2_OR_LATER | ) |
|
static |
Definition at line 747 of file w89c840.c.
References addr, EE_ChipSelect, EE_DataIn, EE_ReadCmd, EE_ShiftClk, EE_Write0, EE_Write1, EECtrl, eeprom_delay, read_cmd, readl, retval, and writel.
Referenced by w89c840_probe().
|
static |
Definition at line 810 of file w89c840.c.
References MDIO_DataIn, mdio_delay, MDIO_EnbIn, MDIO_ShiftClk, mdio_sync(), MDIO_WRITE0, MDIO_WRITE1, mii_preamble_required, MIICtrl, readl, retval, and writel.
Referenced by check_duplex(), and w89c840_probe().
|
static |
Definition at line 872 of file w89c840.c.
References winbond_private::advertising, winbond_private::csr6, winbond_private::duplex_lock, winbond_private::full_duplex, ioaddr, mdio_read(), winbond_private::phys, printf(), and w840private.
Referenced by w89c840_reset().
|
static |
Definition at line 895 of file w89c840.c.
References AcceptBroadcast, AcceptMulticast, AcceptMyPhys, winbond_private::csr6, ioaddr, memset(), MulticastFilter0, MulticastFilter1, NetworkConfig, printf(), w840private, and writel.
Referenced by w89c840_reset().
|
static |
Definition at line 921 of file w89c840.c.
References w840_rx_desc::buffer1, winbond_private::cur_rx, winbond_private::cur_tx, DescEndRing, DescIntr, DescOwn, winbond_private::dirty_rx, winbond_private::dirty_tx, w840_rx_desc::length, w840_rx_desc::next_desc, PKT_BUF_SZ, winbond_private::rx_buf_sz, winbond_private::rx_head_desc, winbond_private::rx_ring, RX_RING_SIZE, w840_rx_desc::status, w840_tx_desc::status, winbond_private::tx_full, winbond_private::tx_q_bytes, winbond_private::tx_ring, TX_RING_SIZE, virt_to_le32desc, w840private, and w89c840_buf.
Referenced by w89c840_reset().
|
static |
Definition at line 302 of file w89c840.c.
References check_duplex(), winbond_private::csr6, ETH_ALEN, init_ring(), ioaddr, nic::node_addr, PCIBusCfg, printf(), winbond_private::rx_ring, RxRingPtr, RxStartDemand, set_rx_mode(), StationAddr, winbond_private::tx_ring, TxRingPtr, virt_to_bus(), w840private, writeb, and writel.
Referenced by w89c840_disable(), w89c840_poll(), and w89c840_probe().
|
static |
Definition at line 378 of file w89c840.c.
References w840_rx_desc::buffer1, winbond_private::cur_rx, desc, DescOwn, IntrStatus, ioaddr, le32desc_to_virt, memcpy(), nic::packet, nic::packetlen, pkt_len, printf(), readl, winbond_private::rx_head_desc, winbond_private::rx_ring, RX_RING_SIZE, status, w840_rx_desc::status, w840private, and w89c840_reset().
|
static |
Definition at line 483 of file w89c840.c.
References w840_tx_desc::buffer1, winbond_private::cur_tx, currticks(), DescEndRing, DescIntr, DescOwn, DescWholePkt, winbond_private::drv_flags, ETH_ALEN, ETH_HLEN, ETH_ZLEN, HasBrokenTx, ioaddr, w840_tx_desc::length, memcpy(), nic::node_addr, printf(), w840_tx_desc::status, TX_BUG_FIFO_LIMIT, winbond_private::tx_full, winbond_private::tx_q_bytes, winbond_private::tx_ring, TX_RING_SIZE, TX_TIMEOUT, TxStartDemand, u16, u32, virt_to_le32desc, w840private, w89c840_buf, and writel.
|
static |
Definition at line 583 of file w89c840.c.
References winbond_private::csr6, ioaddr, NetworkConfig, w840private, w89c840_reset(), and writel.
|
static |
| PCI_DRIVER | ( | w89c840_driver | , |
| w89c840_nics | , | ||
| PCI_NO_CLASS | |||
| ) |
|
static |
Definition at line 626 of file w89c840.c.
References adjust_pci_device(), winbond_private::advertising, CanHaveMII, DBG, pci_device::device, driver_flags, eeprom_read(), ETH_ALEN, eth_ntoa(), nic::ioaddr, pci_device::ioaddr, ioaddr, nic::irqno, mdio_read(), winbond_private::mii_cnt, nic::nic_op, nic::node_addr, PCI_DEVICE_ID_COMPEX_RL100ATX, PCI_DEVICE_ID_WINBOND2_89C840, PCI_VENDOR_ID_COMPEX, PCI_VENDOR_ID_WINBOND2, PCIBusCfg, winbond_private::phys, printf(), value, pci_device::vendor, w840private, w89c840_operations, w89c840_reset(), w89c840_version, and writel.
|
static |
Definition at line 797 of file w89c840.c.
References bits, mdio_delay, MDIO_ShiftClk, MDIO_WRITE1, and writel.
Referenced by mdio_read().
| DRIVER | ( | "W89C840F" | , |
| nic_driver | , | ||
| pci_driver | , | ||
| w89c840_driver | , | ||
| w89c840_probe | , | ||
| w89c840_disable | , | ||
| w89c840_buf | |||
| ) |
|
static |
Definition at line 88 of file w89c840.c.
Referenced by w89c840_probe().
|
static |
Definition at line 142 of file w89c840.c.
Referenced by w89c840_probe().
|
static |
Referenced by check_duplex(), init_ring(), set_rx_mode(), w89c840_disable(), w89c840_poll(), w89c840_probe(), w89c840_reset(), and w89c840_transmit().
|
static |
Definition at line 255 of file w89c840.c.
Referenced by check_duplex(), set_rx_mode(), w89c840_disable(), w89c840_poll(), w89c840_probe(), w89c840_reset(), and w89c840_transmit().
|
static |
Definition at line 608 of file w89c840.c.
Referenced by w89c840_probe().
|
static |
|
static |
Definition at line 790 of file w89c840.c.
Referenced by mdio_read().
1.8.15