summaryrefslogtreecommitdiffstats
path: root/sys/dev/xe
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2000-04-20 08:37:46 +0000
committerimp <imp@FreeBSD.org>2000-04-20 08:37:46 +0000
commit13a243d8b505e941ea630f4b61891daf50fefeea (patch)
tree69957a17c1a42efacc3ed378c74214581f9debb1 /sys/dev/xe
parentfd604ada090518363ca1e7006a95289d56558f90 (diff)
downloadFreeBSD-src-13a243d8b505e941ea630f4b61891daf50fefeea.zip
FreeBSD-src-13a243d8b505e941ea630f4b61891daf50fefeea.tar.gz
o Preliminary support for mapping the CIS by the driver.
o Modify xe driver to use this. There's still some issues with this code, so xe can't map the cis just yet. I'm thinking about how to resolve the issue. pccard_nbk's pccard_alloc_resource is getting in the way.
Diffstat (limited to 'sys/dev/xe')
-rw-r--r--sys/dev/xe/if_xe.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/xe/if_xe.c b/sys/dev/xe/if_xe.c
index 00d75c6..8ed6196 100644
--- a/sys/dev/xe/if_xe.c
+++ b/sys/dev/xe/if_xe.c
@@ -35,9 +35,6 @@
*
* xe_memwrite -- maybe better handled pccard layer?
* xe_cem56fix -- need to figure out how to map the extra stuff.
- * xe_activate -- need to write it, and add some stuff to it. Look at if_sn
- * for guidance. resources/interrupts.
- * xe_deactivate -- turn off resources/interrupts.
*/
/*
@@ -142,6 +139,9 @@
#include <net/if_mib.h>
#include <net/bpf.h>
+#include <dev/pccard/pccardvar.h>
+#include "card_if.h"
+
#include <dev/xe/if_xereg.h>
#include <dev/xe/if_xevar.h>
@@ -331,7 +331,6 @@ xe_probe(device_t dev)
#endif
/* Map in the CIS */
- /* XXX This CANNOT work as it needs RF_PCCARD_ATTR support */
r = bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, 0, ~0, 4 << 10, RF_ACTIVE);
if (!r) {
#ifdef XE_DEBUG
@@ -341,6 +340,9 @@ xe_probe(device_t dev)
}
buf = (u_char *) rman_get_start(r);
+ CARD_SET_RES_FLAGS(device_get_parent(dev), dev, SYS_RES_MEMORY, rid,
+ PCCARD_A_MEM_ATTR);
+
/* Grep through CIS looking for relevant tuples */
offs = 0;
do {
OpenPOWER on IntegriCloud