#include <linux/module.h>#include <linux/kernel.h>#include <linux/sched.h>#include <linux/types.h>#include <linux/fcntl.h>#include <linux/interrupt.h>#include <linux/ptrace.h>#include <linux/ioport.h>#include <linux/in.h>#include <linux/malloc.h>#include <linux/string.h>#include <linux/errno.h>#include <linux/init.h>#include <linux/netdevice.h>#include <linux/etherdevice.h>#include <linux/skbuff.h>#include <asm/system.h>#include <asm/bitops.h>#include <asm/io.h>#include <asm/dma.h>#include <asm/ecard.h>#include "ether1.h"Include dependency graph for ether1.c:

Go to the source code of this file.
Defines | |
| #define | __ETHER1_C |
| #define | BUFFER_SIZE 0x10000 |
| #define | TX_AREA_START 0x00100 |
| #define | TX_AREA_END 0x05000 |
| #define | RX_AREA_START 0x05000 |
| #define | RX_AREA_END 0x0fc00 |
| #define | tx_done(dev) 0 |
| #define | BUS_16 16 |
| #define | BUS_8 8 |
| #define | DISABLEIRQS 1 |
| #define | NORMALIRQS 0 |
| #define | ether1_inw(dev, addr, type, offset, svflgs) ether1_inw_p (dev, addr + (int)(&((type *)0)->offset), svflgs) |
| #define | ether1_outw(dev, val, addr, type, offset, svflgs) ether1_outw_p (dev, val, addr + (int)(&((type *)0)->offset), svflgs) |
| #define | NOP_ADDR (TX_AREA_START) |
| #define | NOP_SIZE (0x06) |
| #define | TDR_ADDR (0x003a) |
| #define | TDR_SIZE (0x08) |
| #define | MC_ADDR (0x002e) |
| #define | MC_SIZE (0x0c) |
| #define | SA_ADDR (0x0022) |
| #define | SA_SIZE (0x0c) |
| #define | CFG_ADDR (0x0010) |
| #define | CFG_SIZE (0x12) |
| #define | SCB_ADDR (0x0000) |
| #define | SCB_SIZE (0x10) |
| #define | ISCP_ADDR (0xffee) |
| #define | ISCP_SIZE (0x08) |
| #define | SCP_ADDR (0xfff6) |
| #define | SCP_SIZE (0x0a) |
| #define | RFD_SIZE (0x16) |
| #define | RBD_SIZE (0x0a) |
| #define | TX_SIZE (0x08) |
| #define | TBD_SIZE (0x08) |
Functions | |
| static unsigned short | ether1_inw_p (struct device *dev, int addr, int svflgs) |
| static void | ether1_outw_p (struct device *dev, unsigned short val, int addr, int svflgs) |
| static void * | ether1_inswb (unsigned int addr, void *data, unsigned int len) |
| static void * | ether1_outswb (unsigned int addr, void *data, unsigned int len) |
| static void | ether1_writebuffer (struct device *dev, void *data, unsigned int start, unsigned int length) |
| static void | ether1_readbuffer (struct device *dev, void *data, unsigned int start, unsigned int length) |
| __initfunc (static int ether1_ramtest(struct device *dev, unsigned char byte)) | |
| static int | ether1_reset (struct device *dev) |
| __initfunc (static int ether1_init_2(struct device *dev)) | |
| static int | ether1_init_for_open (struct device *dev) |
| __initfunc (static void ether1_addr(struct device *dev)) | |
| __initfunc (int ether1_probe(struct device *dev)) | |
| static int | ether1_txalloc (struct device *dev, int size) |
| static void | ether1_restart (struct device *dev, char *reason) |
| static int | ether1_open (struct device *dev) |
| static int | ether1_sendpacket (struct sk_buff *skb, struct device *dev) |
| static void | ether1_xmit_done (struct device *dev) |
| static void | ether1_recv_done (struct device *dev) |
| static void | ether1_interrupt (int irq, void *dev_id, struct pt_regs *regs) |
| static int | ether1_close (struct device *dev) |
| static struct enet_statistics * | ether1_getstats (struct device *dev) |
| static void | ether1_setmulticastlist (struct device *dev) |
Variables | |
| static unsigned int | net_debug = NET_DEBUG |
| static char * | version = "ether1 ethernet driver (c) 1995 Russell King v1.05\n" |
| static const card_ids __init | ether1_cids [] |
| static nop_t | init_nop |
| static tdr_t | init_tdr |
| static mc_t | init_mc |
| static sa_t | init_sa |
| static cfg_t | init_cfg |
| static scb_t | init_scb |
| static iscp_t | init_iscp |
| static scp_t | init_scp |
| static rfd_t | init_rfd |
| static rbd_t | init_rbd |
|
|
|
|
|
Definition at line 61 of file ether1.c. Referenced by __initfunc(), acceptb(), answer(), do_format(), fd_writetrack(), mac_init(), mac_make_spframes(), rcvpkt(), sc_init(), setup_buffers(), sktr_init_opb(), and sndpkt(). |
|
|
Definition at line 71 of file ether1.c. Referenced by ether1_reset(). |
|
|
|
|
|
Definition at line 375 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 376 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 81 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 84 of file ether1.c. Referenced by ether1_init_for_open(), ether1_interrupt(), ether1_recv_done(), and ether1_xmit_done(). |
|
|
Definition at line 85 of file ether1.c. Referenced by ether1_interrupt(), ether1_recv_done(), ether1_sendpacket(), and ether1_xmit_done(). |
|
|
Definition at line 407 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 408 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 354 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 355 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
|
|
|
Definition at line 336 of file ether1.c. Referenced by ether1_init_for_open(), ether1_sendpacket(), and ether1_xmit_done(). |
|
|
Definition at line 82 of file ether1.c. Referenced by ether1_init_for_open(), ether1_interrupt(), ether1_recv_done(), ether1_sendpacket(), and ether1_xmit_done(). |
|
|
Definition at line 437 of file ether1.c. Referenced by ether1_init_for_open(), ether1_recv_done(), and wv_ru_start(). |
|
|
Definition at line 426 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 65 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 64 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 365 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 366 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 393 of file ether1.c. Referenced by ether1_init_for_open(), ether1_interrupt(), and ether1_xmit_done(). |
|
|
Definition at line 394 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 417 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 418 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 447 of file ether1.c. Referenced by ether1_sendpacket(), and ether1_xmit_done(). |
|
|
Definition at line 344 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 345 of file ether1.c. Referenced by ether1_init_for_open(). |
|
|
Definition at line 63 of file ether1.c. Referenced by ether1_txalloc(). |
|
|
Definition at line 62 of file ether1.c. Referenced by ether1_txalloc(). |
|
|
Definition at line 67 of file ether1.c. Referenced by if_send(), net_send_packet(), ni5010_send_packet(), seeq8005_send_packet(), skmca_tx(), and smc_send_packet(). |
|
|
Definition at line 446 of file ether1.c. Referenced by ether1_sendpacket(), ether1_xmit_done(), and isicom_tx(). |
|
|
Definition at line 676 of file ether1.c. References ec, ecard_address(), ecard_claim, ECARD_FAST, ecard_find(), ECARD_IOC, ecard_startfind(), ENODEV, ether1_cids, and NULL. Here is the call graph for this function: ![]() |
|
|
Definition at line 667 of file ether1.c. References inb. |
|
|
|
|
|
Definition at line 257 of file ether1.c. References BUFFER_SIZE, ENODEV, ether1_readbuffer(), ether1_writebuffer(), i, KERN_CRIT, kfree(), kmalloc(), memset, printk, ret, and xff. Here is the call graph for this function: ![]() |
|
|
Definition at line 1075 of file ether1.c. References ether1_reset(), free_irq(), and MOD_DEC_USE_COUNT. Here is the call graph for this function: ![]() |
|
|
|
|
|
Definition at line 450 of file ether1.c. References addr, CFG_ADDR, CFG_SIZE, DISABLEIRQS, ETH_FRAME_LEN, ether1_inw, ether1_reset(), ether1_writebuffer(), HZ, i, ISCP_ADDR, ISCP_SIZE, jiffies, KERN_DEBUG, KERN_ERR, KERN_WARNING, MC_ADDR, MC_SIZE, next, NOP_SIZE, NORMALIRQS, outb, printk, rbd_t::rbd_bufl, RBD_SIZE, RFD_SIZE, RX_AREA_END, RX_AREA_START, SA_ADDR, SA_SIZE, SCB_ADDR, scb_command(), SCB_SIZE, scb_status(), SCP_ADDR, SCP_SIZE, STAT_OK, status, TDR_ADDR, TDR_OPEN, TDR_SHORT, TDR_SIZE, TDR_TIME, and time_after. Referenced by ether1_open(), and ether1_restart(). Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 127 of file ether1.c. References __asm__(), ioaddr, and used. Referenced by ether1_readbuffer(). Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 1023 of file ether1.c. References device, ether1_inw, ether1_outw, ether1_recv_done(), ether1_xmit_done(), KERN_WARNING, NORMALIRQS, outb, printk, SCB_ADDR, scb_command(), scb_status(), and status. Referenced by ether1_open(). Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 88 of file ether1.c. References inw, outb, restore_flags, ret, and save_flags_cli. |
|
|
Definition at line 755 of file ether1.c. References EAGAIN, enet_statistics, ether1_init_for_open(), ether1_interrupt(), free_irq(), memset, MOD_DEC_USE_COUNT, MOD_INC_USE_COUNT, and request_irq(). Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 170 of file ether1.c. References __asm__(), ioaddr, and used. Referenced by ether1_writebuffer(). Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
Definition at line 104 of file ether1.c. References outb, outw, restore_flags, and save_flags_cli. |
|
||||||||||||||||||||
|
Definition at line 236 of file ether1.c. References ether1_inswb(), offset, outb, and page. Referenced by __initfunc(), ether1_recv_done(), and ether1_xmit_done(). Here is the call graph for this function: ![]() |
|
|
Definition at line 968 of file ether1.c. References sk_buff::dev, eth_type_trans(), ether1_inw, ether1_outw, ether1_readbuffer(), KERN_ERR, KERN_WARNING, length(), netif_rx(), NORMALIRQS, printk, rbd_t::rbd_bufl, RBD_EOF, RBD_SIZE, rbd_t::rbd_status, and status. Referenced by ether1_interrupt(). Here is the call graph for this function: ![]() |
|
|
Definition at line 305 of file ether1.c. Referenced by ether1_close(), ether1_init_for_open(), and ether1_restart(). |
|
||||||||||||
|
Definition at line 731 of file ether1.c. References ether1_init_for_open(), ether1_reset(), KERN_ERR, KERN_WARNING, and printk. Referenced by ether1_sendpacket(). Here is the call graph for this function: ![]() |
|
||||||||||||
|
Definition at line 780 of file ether1.c. References CMD_INTR, CMD_NOP, sk_buff::data, dev_kfree_skb, ETH_FRAME_LEN, ETH_ZLEN, ether1_outw, ether1_restart(), ether1_txalloc(), ether1_writebuffer(), jiffies, KERN_WARNING, sk_buff::len, len, nop, NOP_SIZE, NORMALIRQS, NULL, printk, restore_flags, save_flags_cli, tbd_t::tbd_bufh, tbd_t::tbd_bufl, TBD_SIZE, test_and_set_bit, tmp, tx, and TX_SIZE. Here is the call graph for this function: ![]() |
|
|
|
|
||||||||||||
|
Definition at line 705 of file ether1.c. References start, tail, TX_AREA_END, and TX_AREA_START. Referenced by ether1_sendpacket(), and ether1_xmit_done(). |
|
||||||||||||||||||||
|
Definition at line 214 of file ether1.c. References ether1_outswb(), offset, outb, and page. Referenced by __initfunc(), ether1_init_for_open(), and ether1_sendpacket(). Here is the call graph for this function: ![]() |
|
|
Definition at line 865 of file ether1.c. References again, CMD_NOP, CMD_TDR, ETH_FRAME_LEN, ether1_inw, ether1_outw, ether1_readbuffer(), ether1_txalloc(), KERN_ERR, KERN_WARNING, mark_bh, NET_BH, nop, NOP_SIZE, NORMALIRQS, outb, printk, SCB_ADDR, scb_command(), STAT_OK, TBD_SIZE, and TX_SIZE. Referenced by ether1_interrupt(). Here is the call graph for this function: ![]() |
|
|
Initial value: {
{ MANU_ACORN, PROD_ACORN_ETHER1 },
{ 0xffff, 0xffff }
}
Definition at line 74 of file ether1.c. Referenced by __initfunc(). |
|
|
Initial value: {
0,
CMD_CONFIG,
SA_ADDR,
8,
8,
CFG8_SRDY,
CFG9_PREAMB8 | CFG9_ADDRLENBUF | CFG9_ADDRLEN(6),
0,
0x60,
0,
CFG13_RETRY(15) | CFG13_SLOTH(2),
0,
}
|
|
|
Initial value: {
1,
SCB_ADDR,
0x0000,
0x0000
}
|
|
|
Initial value: {
0,
CMD_SETMULTICAST,
TDR_ADDR,
0,
{ { 0, } }
}
|
|
|
Initial value: |
|
|
Initial value: {
0,
0,
0,
0,
ETH_FRAME_LEN + 8
}
|
|
|
Initial value: {
0,
0,
0,
0,
{ 0, },
{ 0, },
0
}
|
|
|
Initial value: {
0,
CMD_SETADDRESS,
MC_ADDR,
{ 0, }
}
|
|
|
Initial value: {
0,
SCB_CMDACKRNR | SCB_CMDACKCNA | SCB_CMDACKFR | SCB_CMDACKCX,
CFG_ADDR,
RX_AREA_START,
0,
0,
0,
0
}
|
|
|
Initial value: {
SCP_SY_16BBUS,
{ 0, 0 },
ISCP_ADDR,
0
}
|
|
|
Initial value: |
|
|
|
|