|
iPXE
|
#include "etherboot.h"#include "nic.h"#include <ipxe/isapnp.h>#include <ipxe/isa.h>#include <ipxe/ethernet.h>Go to the source code of this file.
Data Structures | |
| union | wn3_config |
| struct | wn3_config::w3_config_fields |
| struct | boom_rx_desc |
| struct | boom_tx_desc |
| struct | corkscrew_private |
| struct | media_table |
Macros | |
| #define | HZ 100 |
| #define | CORKSCREW 1 |
| #define | AUTOMEDIA 1 |
| #define | VORTEX_BUS_MASTER |
| #define | TX_RING_SIZE 16 |
| #define | RX_RING_SIZE 16 |
| #define | PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer. */ |
| #define | DRIVER_DEBUG 1 |
| #define | CORKSCREW_ID 10 |
| #define | EL3WINDOW(win_num) |
| #define | EL3_CMD 0x0e |
| #define | EL3_STATUS 0x0e |
| #define | RX_BYTES_MASK (unsigned short) (0x07ff) |
| #define | vp NIC_FAKE_BSS_PTR ( struct corkscrew_private ) |
Enumerations | |
| enum | corkscrew_cmd { TotalReset = 0 << 11 , SelectWindow = 1 << 11 , StartCoax = 2 << 11 , RxDisable = 3 << 11 , RxEnable = 4 << 11 , RxReset = 5 << 11 , UpStall = 6 << 11 , UpUnstall = (6 << 11) + 1 , DownStall = (6 << 11) + 2 , DownUnstall = (6 << 11) + 3 , RxDiscard = 8 << 11 , TxEnable = 9 << 11 , TxDisable , TxReset = 11 << 11 , FakeIntr = 12 << 11 , AckIntr = 13 << 11 , SetIntrEnb = 14 << 11 , SetStatusEnb = 15 << 11 , SetRxFilter = 16 << 11 , SetRxThreshold , SetTxThreshold = 18 << 11 , SetTxStart = 19 << 11 , StartDMAUp = 20 << 11 , StartDMADown = (20 << 11) + 1 , StatsEnable , StatsDisable = 22 << 11 , StopCoax = 23 << 11 } |
| enum | RxFilter { RxStation = 1 , RxMulticast = 2 , RxBroadcast = 4 , RxProm = 8 } |
| enum | corkscrew_status { IntLatch = 0x0001 , AdapterFailure = 0x0002 , TxComplete = 0x0004 , TxAvailable = 0x0008 , RxComplete = 0x0010 , RxEarly = 0x0020 , IntReq = 0x0040 , StatsFull = 0x0080 , DMADone = 1 << 8 , DownComplete = 1 << 9 , UpComplete = 1 << 10 , DMAInProgress = 1 << 11 , CmdInProgress = 1 << 12 } |
| enum | Window1 { TX_FIFO = 0x10 , RX_FIFO = 0x10 , RxErrors = 0x14 , RxStatus = 0x18 , Timer = 0x1A , TxStatus = 0x1B , TxFree = 0x1C } |
| enum | Window0 { Wn0IRQ = 0x08 , Wn0EepromCmd = 0x200A , Wn0EepromData = 0x200C } |
| enum | Win0_EEPROM_bits { EEPROM_Read = 0x80 , EEPROM_WRITE = 0x40 , EEPROM_ERASE = 0xC0 , EEPROM_EWENB = 0x30 , EEPROM_EWDIS = 0x00 } |
| enum | Window3 { Wn3_Config = 0 , Wn3_MAC_Ctrl = 6 , Wn3_Options = 8 } |
| enum | Window4 { Wn4_NetDiag = 6 , Wn4_Media = 10 } |
| enum | Win4_Media_bits { Media_SQE = 0x0008 , Media_10TP = 0x00C0 , Media_Lnk = 0x0080 , Media_LnkBeat = 0x0800 } |
| enum | Window7 { Wn7_MasterAddr = 0 , Wn7_MasterLen = 6 , Wn7_MasterStatus = 12 } |
| enum | MasterCtrl { PktStatus = 0x400 , DownListPtr = 0x404 , FragAddr = 0x408 , FragLen , TxFreeThreshold = 0x40f , UpPktStatus = 0x410 , UpListPtr = 0x418 } |
| enum | rx_desc_status { RxDComplete = 0x00008000 , RxDError = 0x4000 } |
| enum | xcvr_types { XCVR_10baseT , XCVR_AUI , XCVR_10baseTOnly , XCVR_10base2 , XCVR_100baseTx , XCVR_100baseFx , XCVR_MII = 6 , XCVR_Default = 8 } |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER) | |
| static void | t3c515_wait (unsigned int nticks) |
| static int | corkscrew_found_device (int ioaddr, int irq, int product_index, int options, struct nic *nic) |
| static int | corkscrew_probe1 (int ioaddr, int irq, int product_index, struct nic *nic) |
| static void | t515_reset (struct nic *nic) |
| static int | t515_poll (struct nic *nic, int retrieve) |
| static void | t515_transmit (struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p) |
| static void | t515_disable (struct nic *nic, struct isapnp_device *isapnp) |
| static void | t515_irq (struct nic *nic __unused, irq_action_t action __unused) |
| static int | t515_probe (struct nic *nic, struct isapnp_device *isapnp) |
| ISAPNP_DRIVER (t515_driver, t515_adapters) | |
| DRIVER ("3c515", nic_driver, isapnp_driver, t515_driver, t515_probe, t515_disable, *vp) | |
| ISA_ROM ("3c515", "3c515 Fast EtherLink ISAPnP") | |
Variables | |
| static int | if_port |
| static struct media_table | media_tbl [] |
| static int | options = -1 |
| static char | padmap [] |
| static struct nic_operations | t515_operations |
| static struct isapnp_device_id | t515_adapters [] |
| #define TX_RING_SIZE 16 |
Definition at line 85 of file 3c515.c.
Referenced by a3c90x_free_tx_ring(), a3c90x_process_tx_packets(), a3c90x_setup_tx_ring(), a3c90x_transmit(), epic100_init_ring(), epic100_transmit(), forcedeth_transmit(), get_tx_le(), init_ring(), nv_init_rings(), nv_init_tx_ring(), nv_process_tx_packets(), pcnet32_process_tx_packets(), pcnet32_transmit(), sky2_err_intr(), sky2_free_rings(), sky2_status_intr(), sky2_tx_complete(), sky2_up(), t515_reset(), tx_dist(), and w89c840_transmit().
| #define RX_RING_SIZE 16 |
Definition at line 86 of file 3c515.c.
Referenced by a3c90x_free_rx_iobuf(), a3c90x_free_rx_ring(), a3c90x_process_rx_packets(), a3c90x_refill_rx_ring(), a3c90x_setup_rx_ring(), epic100_init_ring(), epic100_poll(), init_ring(), init_ring(), nv_alloc_rx(), nv_free_rxtx_resources(), nv_init_rings(), nv_init_rx_ring(), nv_process_rx_packets(), pcnet32_free_rx_resources(), pcnet32_process_rx_packets(), pcnet32_refill_rx_ring(), skge_up(), sundance_poll(), t515_reset(), tulip_init_ring(), tulip_poll(), and w89c840_poll().
| #define PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer. */ |
Definition at line 87 of file 3c515.c.
Referenced by epic100_init_ring(), epic100_poll(), epic100_transmit(), init_ring(), init_ring(), sundance_poll(), and t515_reset().
| #define CORKSCREW_ID 10 |
Definition at line 97 of file 3c515.c.
Referenced by t515_probe().
| #define EL3WINDOW | ( | win_num | ) |
Definition at line 99 of file 3c515.c.
Referenced by corkscrew_probe1(), and t515_reset().
| #define EL3_CMD 0x0e |
Definition at line 101 of file 3c515.c.
Referenced by t515_disable(), t515_poll(), t515_reset(), and t515_transmit().
| #define EL3_STATUS 0x0e |
Definition at line 102 of file 3c515.c.
Referenced by t515_poll(), t515_reset(), and t515_transmit().
| #define vp NIC_FAKE_BSS_PTR ( struct corkscrew_private ) |
Definition at line 239 of file 3c515.c.
Referenced by ath5k_get_pcdac_intercepts(), corkscrew_found_device(), corkscrew_probe1(), DRIVER(), t515_poll(), and t515_reset().
| enum corkscrew_cmd |
| enum RxFilter |
| enum corkscrew_status |
| enum Window1 |
| enum Window0 |
| enum Win0_EEPROM_bits |
| enum Window3 |
| enum Win4_Media_bits |
| Enumerator | |
|---|---|
| Media_SQE | |
| Media_10TP | |
| Media_Lnk | |
| Media_LnkBeat | |
| enum Window7 |
| enum MasterCtrl |
| enum rx_desc_status |
| enum xcvr_types |
| Enumerator | |
|---|---|
| XCVR_10baseT | |
| XCVR_AUI | |
| XCVR_10baseTOnly | |
| XCVR_10base2 | |
| XCVR_100baseTx | |
| XCVR_100baseFx | |
| XCVR_MII | |
| XCVR_Default | |
| FILE_LICENCE | ( | GPL2_OR_LATER | ) |
|
static |
Definition at line 57 of file 3c515.c.
References currticks().
Referenced by corkscrew_probe1(), and t515_probe().
|
static |
Definition at line 656 of file 3c515.c.
References corkscrew_probe1(), ioaddr, nic_operations::irq, options, and vp.
Referenced by t515_probe().
|
static |
Definition at line 678 of file 3c515.c.
References __unused, wn3_config::w3_config_fields::autoselect, checksum, DBG, EEPROM_Read, EL3WINDOW, eth_ntoa(), htons, wn3_config::i, if_port, inl, inw, ioaddr, nic_operations::irq, media_tbl, nic::node_addr, outw, printf(), wn3_config::w3_config_fields::ram_size, wn3_config::w3_config_fields::ram_split, wn3_config::w3_config_fields::ram_width, t3c515_wait(), wn3_config::u, vp, Wn0EepromCmd, Wn0EepromData, Wn3_Config, Wn3_Options, and wn3_config::w3_config_fields::xcvr.
Referenced by corkscrew_found_device().
|
static |
Definition at line 293 of file 3c515.c.
References AckIntr, AdapterFailure, CmdInProgress, DBG, DMADone, DownComplete, DownListPtr, EL3_CMD, EL3_STATUS, EL3WINDOW, wn3_config::i, if_port, inb, inl, IntLatch, IntReq, inw, nic::ioaddr, Media_10TP, Media_SQE, media_tbl, name, nic::node_addr, NULL, outb, outl, outw, PKT_BUF_SZ, printf(), RX_RING_SIZE, RxBroadcast, RxComplete, RxEarly, RxEnable, RxMulticast, RxProm, RxReset, RxStation, SetIntrEnb, SetRxFilter, SetStatusEnb, StartCoax, StatsFull, TX_RING_SIZE, TxAvailable, TxEnable, TxFreeThreshold, TxReset, wn3_config::u, UpComplete, vp, Wn3_Config, Wn3_MAC_Ctrl, Wn4_Media, Wn4_NetDiag, and wn3_config::w3_config_fields::xcvr.
Referenced by t515_disable(), and t515_probe().
|
static |
Definition at line 418 of file 3c515.c.
References AckIntr, CmdInProgress, DBG, DMADone, DownComplete, EL3_CMD, EL3_STATUS, ETH_ALEN, inb, insw, IntLatch, IntReq, inw, nic::ioaddr, outw, nic::packet, nic::packetlen, printf(), RX_BYTES_MASK, RX_FIFO, RxComplete, RxDError, RxDiscard, RxEarly, RxStatus, SetIntrEnb, StatsFull, status, TxAvailable, type, udelay(), UpComplete, and vp.
|
static |
Definition at line 504 of file 3c515.c.
References CmdInProgress, DBG, EL3_CMD, EL3_STATUS, ETH_ALEN, ETH_FRAME_LEN, ETH_HLEN, htons, inb, inw, nic::ioaddr, len, nic::node_addr, outb, outsw, outw, pad, padmap, status, TX_FIFO, TxComplete, TxEnable, TxFree, TxReset, and TxStatus.
|
static |
Definition at line 566 of file 3c515.c.
References deactivate_isapnp_device(), EL3_CMD, if_port, nic::ioaddr, outw, RxDisable, SetIntrEnb, StopCoax, t515_reset(), TxDisable, and XCVR_10base2.
Referenced by DRIVER().
|
static |
|
static |
Definition at line 614 of file 3c515.c.
References activate_isapnp_device(), corkscrew_found_device(), CORKSCREW_ID, DBG, EEPROM_Read, inl, inw, isapnp_device::ioaddr, nic::ioaddr, isapnp_device::irqno, nic::irqno, nic::nic_op, options, outw, t3c515_wait(), t515_operations, t515_reset(), Wn0EepromCmd, and Wn0EepromData.
Referenced by DRIVER().
| ISAPNP_DRIVER | ( | t515_driver | , |
| t515_adapters | ) |
References t515_adapters.
| DRIVER | ( | "3c515" | , |
| nic_driver | , | ||
| isapnp_driver | , | ||
| t515_driver | , | ||
| t515_probe | , | ||
| t515_disable | , | ||
| * | vp ) |
References t515_disable(), t515_probe(), and vp.
| ISA_ROM | ( | "3c515" | , |
| "3c515 Fast EtherLink ISAPnP" | ) |
|
static |
Definition at line 66 of file 3c515.c.
Referenced by corkscrew_probe1(), t515_disable(), and t515_reset().
|
static |
Referenced by corkscrew_probe1(), and t515_reset().
|
static |
Definition at line 286 of file 3c515.c.
Referenced by corkscrew_found_device(), dhcp_create_packet(), dhcp_option(), dhcp_option_offset(), dhcpopt_fetch(), dhcpopt_init(), dhcpopt_no_realloc(), dhcpopt_store(), dhcpopt_update_used_len(), dhcppkt_init(), dhcppkt_len(), dhcpv6_check_duid(), dhcpv6_iaaddr(), dhcpv6_option(), dhcpv6_register(), dhcpv6_rx(), dhcpv6_status_code(), dhcpv6_tx(), find_dhcp_option_with_encap(), ifec_mdio_setup(), ifec_mdio_setup(), ifec_net_open(), ipv6_check_options(), linux_args_parse(), ndp_register_settings(), nvo_realloc_dhcpopt(), resize_dhcp_option(), set_dhcp_option(), t515_probe(), tcp_rx(), tcp_rx_opts(), and tcp_rx_syn().
|
static |
Definition at line 498 of file 3c515.c.
Referenced by t509_transmit(), t515_transmit(), and t595_transmit().
|
static |
Definition at line 602 of file 3c515.c.
Referenced by t515_probe().
|
static |