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) outw(SelectWindow + (win_num), nic->ioaddr + EL3_CMD) |
#define | EL3_CMD 0x0e |
#define | EL3_STATUS 0x0e |
#define | RX_BYTES_MASK (unsigned short) (0x07ff) |
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) | |
ISA_ROM ("3c515", "3c515 Fast EtherLink ISAPnP") | |
Variables | |
static int | if_port |
static struct corkscrew_private * | vp |
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 PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer. */ |
#define EL3WINDOW | ( | win_num | ) | outw(SelectWindow + (win_num), nic->ioaddr + EL3_CMD) |
enum corkscrew_cmd |
Definition at line 106 of file 3c515.c.
enum RxFilter |
Enumerator | |
---|---|
RxStation | |
RxMulticast | |
RxBroadcast | |
RxProm |
enum corkscrew_status |
Enumerator | |
---|---|
IntLatch | |
AdapterFailure | |
TxComplete | |
TxAvailable | |
RxComplete | |
RxEarly | |
IntReq | |
StatsFull | |
DMADone | |
DownComplete | |
UpComplete | |
DMAInProgress | |
CmdInProgress |
Definition at line 128 of file 3c515.c.
enum Window1 |
Enumerator | |
---|---|
TX_FIFO | |
RX_FIFO | |
RxErrors | |
RxStatus | |
Timer | |
TxStatus | |
TxFree |
Definition at line 139 of file 3c515.c.
enum Window0 |
Enumerator | |
---|---|
Wn0IRQ | |
Wn0EepromCmd | |
Wn0EepromData |
enum Win0_EEPROM_bits |
Enumerator | |
---|---|
EEPROM_Read | |
EEPROM_WRITE | |
EEPROM_ERASE | |
EEPROM_EWENB | |
EEPROM_EWDIS |
Definition at line 154 of file 3c515.c.
enum Window3 |
Enumerator | |
---|---|
Wn3_Config | |
Wn3_MAC_Ctrl | |
Wn3_Options |
enum Window4 |
Enumerator | |
---|---|
Wn4_NetDiag | |
Wn4_Media |
Definition at line 175 of file 3c515.c.
enum Win4_Media_bits |
Enumerator | |
---|---|
Media_SQE | |
Media_10TP | |
Media_Lnk | |
Media_LnkBeat |
enum Window7 |
Enumerator | |
---|---|
Wn7_MasterAddr | |
Wn7_MasterLen | |
Wn7_MasterStatus |
enum MasterCtrl |
Enumerator | |
---|---|
PktStatus | |
DownListPtr | |
FragAddr | |
FragLen | |
TxFreeThreshold | |
UpPktStatus | |
UpListPtr |
Definition at line 189 of file 3c515.c.
enum rx_desc_status |
Enumerator | |
---|---|
RxDComplete | |
RxDError |
Definition at line 206 of file 3c515.c.
enum xcvr_types |
Enumerator | |
---|---|
XCVR_10baseT | |
XCVR_AUI | |
XCVR_10baseTOnly | |
XCVR_10base2 | |
XCVR_100baseTx | |
XCVR_100baseFx | |
XCVR_MII | |
XCVR_Default |
Definition at line 244 of file 3c515.c.
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_private::bus_master, corkscrew_probe1(), corkscrew_private::full_duplex, ioaddr, nic_operations::irq, corkscrew_private::media_override, corkscrew_private::options, options, corkscrew_private::product_name, and vp.
Referenced by t515_probe().
|
static |
Definition at line 678 of file 3c515.c.
References wn3_config::w3_config_fields::autoselect, corkscrew_private::autoselect, corkscrew_private::available_media, corkscrew_private::capabilities, checksum, DBG, corkscrew_private::default_media, EEPROM_Read, EL3WINDOW, eth_ntoa(), corkscrew_private::full_bus_master_rx, corkscrew_private::full_bus_master_tx, htons, wn3_config::i, if_port, inl(), inw(), ioaddr, nic_operations::irq, corkscrew_private::media_override, media_tbl, media_table::name, nic::node_addr, outw, printf(), corkscrew_private::product_name, 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, corkscrew_private::autoselect, corkscrew_private::available_media, corkscrew_private::bus_master, CmdInProgress, corkscrew_private::cur_rx, corkscrew_private::cur_tx, DBG, corkscrew_private::default_media, corkscrew_private::dirty_rx, corkscrew_private::dirty_tx, DMADone, DownComplete, DownListPtr, EL3_CMD, EL3_STATUS, EL3WINDOW, corkscrew_private::full_bus_master_rx, corkscrew_private::full_bus_master_tx, corkscrew_private::full_duplex, wn3_config::i, if_port, inb(), inl(), IntLatch, IntReq, inw(), nic::ioaddr, media_table::mask, Media_10TP, media_table::media_bits, corkscrew_private::media_override, Media_SQE, media_tbl, media_table::name, name, media_table::next, 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, corkscrew_private::tx_skbuff, 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, if(), 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.
|
static |
|
static |
Definition at line 614 of file 3c515.c.
References activate_isapnp_device(), corkscrew_found_device(), CORKSCREW_ID, DBG, EEPROM_Read, inl(), inw(), nic::ioaddr, isapnp_device::ioaddr, nic::irqno, isapnp_device::irqno, nic::nic_op, options, outw, t3c515_wait(), t515_operations, t515_reset(), timer, Wn0EepromCmd, and Wn0EepromData.
ISAPNP_DRIVER | ( | t515_driver | , |
t515_adapters | |||
) |
DRIVER | ( | "3c515" | , |
nic_driver | , | ||
isapnp_driver | , | ||
t515_driver | , | ||
t515_probe | , | ||
t515_disable | |||
) |
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 |
Definition at line 67 of file 3c515.c.
Referenced by ath5k_get_pcdac_intercepts(), corkscrew_found_device(), corkscrew_probe1(), t515_poll(), 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_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_net_open(), ipv6_check_options(), 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 t515_transmit().
|
static |
Definition at line 602 of file 3c515.c.
Referenced by t515_probe().
|
static |