31 #define ASIC_PIO NE_DATA 47 static void eth_pio_read(
unsigned int src,
unsigned char *dst,
unsigned int cnt) {
95 unsigned char mcfilter[8];
101 for (i = 0; i < 8; i++) {
104 DBG(
"Error SMC 83C690 Multicast filter read/write mishap %d\n",
138 unsigned char romdata[16];
139 unsigned char testbuf[32];
153 static unsigned char test[] =
"NE*000 memory";
200 DBG(
"\nNE%c000 base %4.4x, MAC Addr %s\n",
274 unsigned char rstat, curr,
next;
275 unsigned short len, frag;
276 unsigned short pktoff;
288 if (curr ==
next)
return(0);
290 if ( ! retrieve )
return 1;
297 pktoff +=
sizeof(pkthdr);
299 len = pkthdr.len - 4;
302 DBG(
"Bogus packet, ignoring\n");
344 type = (t >> 8) | (t << 8);
375 ISA_ROM(
"ne",
"NE1000/2000 and clones");
ISA_DRIVER(ne_driver, ne_probe_addrs, ne_probe1, GENERIC_ISAPNP_VENDOR, 0x0600)
static unsigned char eth_vendor
uint16_t ioaddr
I/O address.
static __always_inline void off_t int c
uint16_t inw(volatile uint16_t *io_addr)
Read 16-bit word from I/O-mapped device.
uint32_t next
Next descriptor address.
#define outw(data, io_addr)
static unsigned char eth_rx_start
#define D8390_COMMAND_PS1
uint32_t type
Operating system type.
static void eth_pio_write(const unsigned char *src, unsigned int dst, unsigned int cnt)
static isa_probe_addr_t ne_probe_addrs[]
static void ne_disable(struct nic *nic, struct isa_device *isa)
int dummy_connect(struct nic *nic __unused)
static void ne_transmit(struct nic *nic, const char *d, unsigned int t, unsigned int s, const char *p)
static __always_inline void * bus_to_virt(unsigned long bus_addr)
Convert bus address to a virtual address.
#define D8390_COMMAND_RD0
static unsigned long ioaddr
void * memcpy(void *dest, const void *src, size_t len) __nonnull
static void ne_reset(struct nic *nic, struct isa_device *isa)
#define __unused
Declare a variable or data structure as unused.
#define D8390_COMMAND_RD1
uint16_t isa_probe_addr_t
#define GENERIC_ISAPNP_VENDOR
ISA_ROM("ne","NE1000/2000 and clones")
static unsigned char eth_drain_receiver
void dummy_irq(struct nic *nic __unused, irq_action_t irq_action __unused)
static void enable_multicast(unsigned short eth_nic_base)
const char * eth_ntoa(const void *ll_addr)
Transcribe Ethernet address.
#define D8390_COMMAND_PS0
uint8_t inb(volatile uint8_t *io_addr)
Read byte from I/O-mapped device.
static unsigned short eth_asic_base
#define D8390_COMMAND_RD2
#define D8390_COMMAND_TXP
unsigned char * node_addr
#define outb(data, io_addr)
static unsigned char eth_memsize
#define D8390_COMMAND_STP
static unsigned short eth_nic_base
static int ne_probe1(isa_probe_addr_t ioaddr)
static void eth_pio_read(unsigned int src, unsigned char *dst, unsigned int cnt)
static unsigned char eth_tx_start
static int ne_probe(struct nic *nic, struct isa_device *isa)
static int ne_poll(struct nic *nic __unused, int retrieve __unused)
#define DBG(...)
Print a debugging message.
struct nic_operations * nic_op
DRIVER("ne", nic_driver, isapnp_driver, ne_driver, ne_probe, ne_disable)
int(* connect)(struct nic *)
int memcmp(const void *first, const void *second, size_t len)
Compare memory regions.
static unsigned char eth_flags
static struct nic_operations ne_operations
#define D8390_COMMAND_STA
void * memset(void *dest, int character, size_t len) __nonnull