iPXE
|
#include "etherboot.h"
#include <ipxe/pci.h>
#include <ipxe/ethernet.h>
#include "nic.h"
#include "epic100.h"
Go to the source code of this file.
Data Structures | |
struct | epic_rx_desc |
struct | epic_tx_desc |
Macros | |
#define | LINUX_OUT_MACROS |
#define | virt_to_le32desc(addr) cpu_to_le32(virt_to_bus(addr)) |
#define | le32desc_to_virt(addr) bus_to_virt(le32_to_cpu(addr)) |
#define | TX_RING_SIZE 2 /* use at least 2 buffers for TX */ |
#define | RX_RING_SIZE 2 |
#define | PKT_BUF_SZ 1536 /* Size of each temporary Tx/Rx buffer.*/ |
#define | EPIC_DEBUG 0 /* debug level */ |
#define | TD_STDFLAGS TD_LASTDESC |
#define | delay(nanosec) |
#define | rx_ring epic100_bufs.rx_ring |
#define | tx_ring epic100_bufs.tx_ring |
#define | rx_packet epic100_bufs.rx_packet |
#define | tx_packet epic100_bufs.tx_packet |
#define | MII_READOP 1 |
#define | MII_WRITEOP 2 |
Functions | |
FILE_LICENCE (GPL2_OR_LATER) | |
static void | epic100_open (void) |
static void | epic100_init_ring (void) |
static void | epic100_disable (struct nic *nic) |
static int | epic100_poll (struct nic *nic, int retrieve) |
static void | epic100_transmit (struct nic *nic, const char *destaddr, unsigned int type, unsigned int len, const char *data) |
static int | mii_read (int phy_id, int location) |
static void | epic100_irq (struct nic *nic, irq_action_t action) |
static int | epic100_probe (struct nic *nic, struct pci_device *pci) |
static void | set_rx_mode (void) |
static void | epic100_disable (struct nic *nic __unused) |
static void | epic100_irq (struct nic *nic __unused, irq_action_t action __unused) |
PCI_DRIVER (epic100_driver, epic100_nics, PCI_NO_CLASS) | |
DRIVER ("EPIC100", nic_driver, pci_driver, epic100_driver, epic100_probe, epic100_disable) | |
Variables | |
static struct nic_operations | epic100_operations |
static int | ioaddr |
static int | command |
static int | intstat |
static int | intmask |
static int | genctl |
static int | eectl |
static int | test |
static int | mmctl |
static int | mmdata |
static int | lan0 |
static int | mc0 |
static int | rxcon |
static int | txcon |
static int | prcdar |
static int | ptcdar |
static int | eththr |
static unsigned int | cur_rx |
static unsigned int | cur_tx |
static signed char | phys [4] |
struct { | |
struct epic_rx_desc rx_ring [RX_RING_SIZE] | |
struct epic_tx_desc tx_ring [TX_RING_SIZE] | |
unsigned char rx_packet [PKT_BUF_SZ *RX_RING_SIZE] | |
unsigned char tx_packet [PKT_BUF_SZ *TX_RING_SIZE] | |
} | __shared |
static struct pci_device_id | epic100_nics [] |
#define virt_to_le32desc | ( | addr | ) | cpu_to_le32(virt_to_bus(addr)) |
#define le32desc_to_virt | ( | addr | ) | bus_to_virt(le32_to_cpu(addr)) |
#define PKT_BUF_SZ 1536 /* Size of each temporary Tx/Rx buffer.*/ |
#define TD_STDFLAGS TD_LASTDESC |
#define delay | ( | nanosec | ) |
FILE_LICENCE | ( | GPL2_OR_LATER | ) |
|
static |
Definition at line 230 of file epic100.c.
References CR_QUEUE_RX, CR_START_RX, epic100_init_ring(), eththr, GC_MRC_READ_MULT, GC_ONE_COPY, GC_RX_FIFO_THR_64, genctl, mii_read(), outl, phys, prcdar, printf(), ptcdar, putchar(), rx_ring, set_rx_mode(), TC_EARLY_TX_ENABLE, TC_LM_FULL_DPX, TC_LM_NORMAL, tmp, TX_FIFO_THRESH, tx_ring, TX_SLOT_TIME, txcon, and virt_to_le32desc.
Referenced by epic100_probe(), and epic100_transmit().
|
static |
Definition at line 266 of file epic100.c.
References cpu_to_le32, cur_rx, cur_tx, PKT_BUF_SZ, RRING_OWN, rx_packet, rx_ring, RX_RING_SIZE, TD_STDFLAGS, tx_packet, tx_ring, TX_RING_SIZE, virt_to_bus(), and virt_to_le32desc.
Referenced by epic100_open().
|
static |
|
static |
Definition at line 375 of file epic100.c.
References cpu_to_le32, CR_QUEUE_RX, CR_START_RX, cur_rx, INTR_CLEARERRS, intstat, le32_to_cpu, memcpy(), outl, nic::packet, nic::packetlen, PKT_BUF_SZ, printf(), RRING_OWN, rx_packet, rx_ring, RX_RING_SIZE, and status.
|
static |
Definition at line 305 of file epic100.c.
References cpu_to_le32, CR_QUEUE_TX, cur_tx, currticks(), data, epic100_open(), ETH_ALEN, ETH_HLEN, ETH_ZLEN, htons, le32_to_cpu, len, memcpy(), nic::node_addr, outl, PKT_BUF_SZ, printf(), status, TRING_OWN, tx_packet, tx_ring, TX_RING_SIZE, and type.
|
static |
Definition at line 499 of file epic100.c.
References inl(), inw(), MII_READOP, mmctl, mmdata, and outl.
Referenced by epic100_open(), epic100_probe(), mii_check_link(), mii_find(), mii_reset(), mii_restart(), realtek_phy_speed(), rhine_probe(), smscusb_mii_check_link(), and velocity_set_link().
|
static |
|
static |
Definition at line 108 of file epic100.c.
References COMMAND, DBG, EECTL, eectl, epic100_open(), epic100_operations, eth_ntoa(), ETHTHR, eththr, GC_SOFT_RESET, GENCTL, genctl, INTMASK, intmask, INTR_DISABLE, INTSTAT, intstat, inw(), nic::ioaddr, ioaddr, pci_device::ioaddr, nic::irqno, LAN0, lan0, MC0, mc0, mii_read(), MMCTL, mmctl, MMDATA, mmdata, nic::nic_op, nic::node_addr, outl, phys, PRCDAR, prcdar, printf(), PTCDAR, ptcdar, read_eeprom(), RXCON, rxcon, TEST, test, TXCON, txcon, and value.
|
static |
|
static |
PCI_DRIVER | ( | epic100_driver | , |
epic100_nics | , | ||
PCI_NO_CLASS | |||
) |
DRIVER | ( | "EPIC100" | , |
nic_driver | , | ||
pci_driver | , | ||
epic100_driver | , | ||
epic100_probe | , | ||
epic100_disable | |||
) |
|
static |
Definition at line 64 of file epic100.c.
Referenced by epic100_probe().
|
static |
Definition at line 66 of file epic100.c.
Referenced by epic100_probe().
|
static |
Definition at line 68 of file epic100.c.
Referenced by help_exec(), ifec_rfd_init(), myri10ge_command(), phantom_clp_cmd(), process_script(), pxenv_file_exec(), split_command(), and xhci_remove().
|
static |
Definition at line 69 of file epic100.c.
Referenced by epic100_poll(), and epic100_probe().
|
static |
Definition at line 70 of file epic100.c.
Referenced by epic100_probe().
|
static |
Definition at line 71 of file epic100.c.
Referenced by epic100_disable(), epic100_open(), and epic100_probe().
|
static |
Definition at line 72 of file epic100.c.
Referenced by epic100_probe().
|
static |
Definition at line 73 of file epic100.c.
Referenced by adaptive_proportion_test(), adaptive_proportion_test_init(), asn1_okx(), ath9k_hw_4k_set_txpower(), ath9k_hw_ar9287_set_txpower(), ath9k_hw_ar9300_set_txpower(), ath9k_hw_def_set_txpower(), ath9k_hw_set_txpowerlimit(), base16_decode_okx(), base16_encode_okx(), base64_decode_okx(), base64_encode_okx(), cipher_decrypt_okx(), cipher_encrypt_okx(), cipher_okx(), deflate_okx(), dhe_key_okx(), digest_frag_okx(), digest_okx(), dns_compare_fail_okx(), dns_compare_okx(), dns_copy_fail_okx(), dns_copy_okx(), dns_decode_fail_okx(), dns_decode_okx(), dns_encode_fail_okx(), dns_encode_okx(), dns_list_okx(), editstring_okx(), epic100_probe(), eth_probe(), gzip_okx(), hmac_okx(), linebuf_accumulated_okx(), linebuf_consume_okx(), linebuf_okx(), longjmp_okx(), mschapv2_okx(), ne_probe(), ntlm_authenticate_okx(), ntlm_key_okx(), ocsp_prepare_test(), peerdist_info_block_okx(), peerdist_info_okx(), peerdist_info_passphrase_okx(), peerdist_info_segment_okx(), pixbuf_okx(), profile_okx(), pubkey_okx(), pubkey_sign_okx(), repetition_count_test(), repetition_count_test_init(), script_probe(), setjmp_return_ok(), startup_test(), startup_test_init(), string_test_exec(), tcpip_okx(), tcpip_random_okx(), test_ok(), typeof(), uri_churi_okx(), uri_format_okx(), uri_params_list_okx(), uri_params_okx(), uri_parse_format_dup_okx(), uri_parse_okx(), uri_port_okx(), uri_pxe_okx(), uri_resolve_okx(), uri_resolve_path_okx(), utf8_accumulate_okx(), x25519_invert_okx(), x25519_key_okx(), x25519_multiply_okx(), and zlib_okx().
|
static |
Definition at line 74 of file epic100.c.
Referenced by epic100_probe(), and mii_read().
|
static |
Definition at line 75 of file epic100.c.
Referenced by epic100_probe(), and mii_read().
|
static |
Definition at line 76 of file epic100.c.
Referenced by epic100_probe().
|
static |
Definition at line 77 of file epic100.c.
Referenced by epic100_probe(), and set_rx_mode().
|
static |
Definition at line 78 of file epic100.c.
Referenced by epic100_probe(), and set_rx_mode().
|
static |
Definition at line 79 of file epic100.c.
Referenced by epic100_open(), and epic100_probe().
|
static |
Definition at line 80 of file epic100.c.
Referenced by epic100_open(), and epic100_probe().
|
static |
Definition at line 81 of file epic100.c.
Referenced by epic100_open(), and epic100_probe().
|
static |
Definition at line 82 of file epic100.c.
Referenced by epic100_open(), and epic100_probe().
|
static |
Definition at line 84 of file epic100.c.
Referenced by epic100_init_ring(), epic100_poll(), ifec_refill_rx_ring(), ifec_reprime_ru(), ifec_rx_process(), and sis190_process_rx().
|
static |
Definition at line 84 of file epic100.c.
Referenced by epic100_init_ring(), and epic100_transmit().
|
static |
Definition at line 88 of file epic100.c.
Referenced by ehci_ctrl_reachable(), ehci_enqueue(), ena_set_base(), epic100_open(), epic100_probe(), icplus_set_base(), nii_map(), and uhci_reachable().
struct epic_rx_desc rx_ring[RX_RING_SIZE] |
struct epic_tx_desc tx_ring[TX_RING_SIZE] |
unsigned char rx_packet[PKT_BUF_SZ *RX_RING_SIZE] |
unsigned char tx_packet[PKT_BUF_SZ *TX_RING_SIZE] |
struct { ... } __shared |
|
static |