summaryrefslogtreecommitdiffstats
path: root/sys/dev/ep/if_epreg.h
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>1999-09-26 06:42:36 +0000
committermdodd <mdodd@FreeBSD.org>1999-09-26 06:42:36 +0000
commit5272c65210119098f91f9749539447f2945f26a9 (patch)
tree1686bbf05ff020787377386cdef3689839bbc67f /sys/dev/ep/if_epreg.h
parent07038f1e994b4a14bbf31e08277be3a83b8b95d1 (diff)
downloadFreeBSD-src-5272c65210119098f91f9749539447f2945f26a9.zip
FreeBSD-src-5272c65210119098f91f9749539447f2945f26a9.tar.gz
- Split out the ISA and PCCARD specific code.
- Split out the prototypes, externs and struct decls from if_epreg.h into if_epvar.h. - Add support for MCA based Etherlink III (3c529) devices. None of this code is used right now; the old if_ep driver is still in place and used. I will eventually get around to converting if_ep_isa.c to newbus once I've had a talk with Peter and DFR about the DEVICE_IDENTIFY() method. I have tested this code on my PS/2. It works. I would like EISA and ISA testers since my example hardware hasn't arrived yet. Add: dev/ep/if_ep.c optional ep dev/ep/if_ep_isa.c optional ep isa dev/ep/if_ep_eisa.c optional ep eisa dev/ep/if_ep_mca.c optional ep mca dev/ep/if_ep_pccard.c optional ep card to sys/conf/files Remove: i386/eisa/3c5x9.c optional ep i386/isa/if_ep.c optional ep from sys/i386/conf/files.i386 PCCARD testers wanted! I will switch off and cvs rm the old driver in favor of this copy once I've had positive feedback or have the hardware to verify that it works.
Diffstat (limited to 'sys/dev/ep/if_epreg.h')
-rw-r--r--sys/dev/ep/if_epreg.h81
1 files changed, 4 insertions, 77 deletions
diff --git a/sys/dev/ep/if_epreg.h b/sys/dev/ep/if_epreg.h
index 08ff37b..fb729cb 100644
--- a/sys/dev/ep/if_epreg.h
+++ b/sys/dev/ep/if_epreg.h
@@ -19,78 +19,15 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * if_epreg.h,v 1.4 1994/11/13 10:12:37 gibbs Exp Modified by:
- *
- October 2, 1994
-
- Modified by: Andres Vega Garcia
-
- INRIA - Sophia Antipolis, France
- e-mail: avega@sophia.inria.fr
- finger: avega@pax.inria.fr
-
- */
-/*
* $FreeBSD$
- *
- * Promiscuous mode added and interrupt logic slightly changed
- * to reduce the number of adapter failures. Transceiver select
- * logic changed to use value from EEPROM. Autoconfiguration
- * features added.
- * Done by:
- * Serge Babkin
- * Chelindbank (Chelyabinsk, Russia)
- * babkin@hq.icb.chel.su
- */
-
-/*
- * Pccard support for 3C589 by:
- * HAMADA Naoki
- * nao@tom-yam.or.jp
*/
/*
- * Ethernet software status per interface.
+ * DELAY_MULTIPLE: How much to boost "base" delays, except
+ * for the inter-bit delays in get_eeprom_data. A cyrix Media GX needed this.
*/
-struct ep_softc {
- struct arpcom arpcom; /* Ethernet common part */
- int ep_io_addr; /* i/o bus address */
- struct mbuf *top, *mcur;
- short cur_len;
- u_short ep_connectors; /* Connectors on this card. */
- u_char ep_connector; /* Configured connector. */
- int stat; /* some flags */
- int gone; /* adapter is not present (for PCCARD) */
-#define F_RX_FIRST 0x1
-#define F_PROMISC 0x8
-
-#define F_ACCESS_32_BITS 0x100
-
- struct ep_board *epb;
-
- int unit;
-
-#ifdef EP_LOCAL_STATS
- short tx_underrun;
- short rx_no_first;
- short rx_no_mbuf;
- short rx_bpf_disc;
- short rx_overrunf;
- short rx_overrunl;
-#endif
-};
-
-struct ep_board {
- int epb_addr; /* address of this board */
- char epb_used; /* was this entry already used for configuring ? */
- /* data from EEPROM for later use */
- u_short eth_addr[3]; /* Ethernet address */
- u_short prod_id; /* product ID */
- int cmd_off; /* command offset (bit shift) */
- int mii_trans; /* activate MII transiever */
- u_short res_cfg; /* resource configuration */
-};
-
+#define DELAY_MULTIPLE 10
+#define BIT_DELAY_MULTIPLE 10
/*
* Some global constants
@@ -455,16 +392,6 @@ struct ep_board {
#define RX_BYTES_MASK (u_short) (0x07ff)
-extern struct ep_board ep_board[];
-extern int ep_boards;
-extern u_long ep_unit;
-extern struct ep_softc *ep_alloc __P((int unit, struct ep_board *epb));
-extern void ep_free __P((struct ep_softc *sc));
-extern void ep_intr __P((void *sc));
-extern int ep_attach __P((struct ep_softc *sc));
-
-extern u_int16_t get_e __P((struct ep_softc *sc, int offset));
-
/*
* Config flags
*/
OpenPOWER on IntegriCloud