summaryrefslogtreecommitdiffstats
path: root/sys/dev/ray
diff options
context:
space:
mode:
authordmlb <dmlb@FreeBSD.org>2001-05-07 13:11:08 +0000
committerdmlb <dmlb@FreeBSD.org>2001-05-07 13:11:08 +0000
commit1de4ae760915ce56a8e92ceb9e8e2c97fd600c8a (patch)
treeff8b19ef818406fa1d9797a659c3ecb17db108cf /sys/dev/ray
parent3426882dda21de4427eccff626ee1161821a51b5 (diff)
downloadFreeBSD-src-1de4ae760915ce56a8e92ceb9e8e2c97fd600c8a.zip
FreeBSD-src-1de4ae760915ce56a8e92ceb9e8e2c97fd600c8a.tar.gz
Remove if_ray_oldcard.h because pccard support multiple windows now.
Setup attribute memory resource in ray_probe so that it is added to the print out of the resource list on card insertion.
Diffstat (limited to 'sys/dev/ray')
-rw-r--r--sys/dev/ray/if_ray.c11
-rw-r--r--sys/dev/ray/if_ray_oldcard.h136
-rw-r--r--sys/dev/ray/if_rayvar.h4
3 files changed, 11 insertions, 140 deletions
diff --git a/sys/dev/ray/if_ray.c b/sys/dev/ray/if_ray.c
index b1b5dbd..8d3a922 100644
--- a/sys/dev/ray/if_ray.c
+++ b/sys/dev/ray/if_ray.c
@@ -227,8 +227,6 @@
*/
#define RAY_CM_RID 2 /* pccardd abuses windows 0 and 1 */
#define RAY_AM_RID 3 /* pccardd abuses windows 0 and 1 */
-#define RAY_NEED_CM_REMAPPING 0 /* Needed until pccard maps more than one memory area */
-#define RAY_NEED_AM_REMAPPING 0 /* Needed until pccard maps more than one memory area */
#define RAY_COM_TIMEOUT (hz/2) /* Timeout for CCS commands */
#define RAY_TX_TIMEOUT (hz/2) /* Timeout for rescheduling TX */
/*
@@ -269,7 +267,6 @@
#include <dev/ray/if_raymib.h>
#include <dev/ray/if_raydbg.h>
#include <dev/ray/if_rayvar.h>
-#include <dev/ray/if_ray_oldcard.h>
/*
* Prototyping
@@ -388,6 +385,11 @@ ray_probe(device_t dev)
error = ray_res_alloc_cm(sc);
if (error)
return (error);
+ error = ray_res_alloc_am(sc);
+ if (error) {
+ ray_res_release(sc);
+ return (error);
+ }
RAY_MAP_CM(sc);
SRAM_READ_REGION(sc, RAY_ECF_TO_HOST_BASE, ep,
sizeof(sc->sc_ecf_startup));
@@ -3543,7 +3545,8 @@ ray_dump_mbuf(struct ray_softc *sc, struct mbuf *m, char *s)
u_int i;
char p[17];
- RAY_PRINTF(sc, "%s", s);
+ RAY_PRINTF(sc, "\nm0->data\t0x%p\nm_pkthdr.len\t%d\nm_len\t%d",
+ mtod(m, u_int8_t *), m->m_pkthdr.len, m->m_len);
i = 0;
bzero(p, 17);
for (; m; m = m->m_next) {
diff --git a/sys/dev/ray/if_ray_oldcard.h b/sys/dev/ray/if_ray_oldcard.h
deleted file mode 100644
index 826227a..0000000
--- a/sys/dev/ray/if_ray_oldcard.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2000
- * Dr. Duncan McLennan Barclay, dmlb@ragnet.demon.co.uk.
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the author nor the names of any co-contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY DUNCAN BARCLAY AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL DUNCAN BARCLAY OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- *
- */
-
-/*
- * Hacks for working around the PCCard layer problems in NEWBUS kludge
- * and OLDCARD.
- *
- * Now that /sys/pccard/pcic.c can support multiple memory maps per
- * slot correctly this is historical code. It is being left in the tree
- * for a short while until interactions between OLDCARD and pccardd
- * are ironed out. The common and attribute memory is now always
- * mapped in. dmlb 17/1/01
- *
- * The driver assumes that the common memory is always mapped in,
- * for the moment we ensure this with the following macro at the
- * head of each function and by using functions to access attribute
- * memory. Hysterical raisins led to the non-"reflexive" approach.
- * Roll on NEWCARD and it can all die...
- *
- * We call the pccard layer to change and restore the mapping each
- * time we use the attribute memory.
- *
- * These could become marcos around bus_activate_resource, but
- * the functions do made hacking them around safer.
- */
-
-#if RAY_NEED_CM_REMAPPING
-#define RAY_MAP_CM(sc) ray_attr_mapcm(sc)
-#else
-#define RAY_MAP_CM(sc)
-#endif /* RAY_NEED_CM_REMAPPING */
-
-#if RAY_NEED_AM_REMAPPING
-static __inline void ray_attr_mapam (struct ray_softc *sc);
-static __inline u_int8_t ray_attr_read_1 (struct ray_softc *sc, off_t offset);
-static __inline void ray_attr_write_1 (struct ray_softc *sc, off_t offset, u_int8_t byte);
-#undef ATTR_READ_1
-#define ATTR_READ_1(sc, off) ray_attr_read_1((sc), (off))
-#undef ATTR_WRITE_1
-#define ATTR_WRITE_1(sc, off, val) ray_attr_write_1((sc), (off), (val))
-#endif /* RAY_NEED_AM_REMAPPING */
-
-#if (RAY_NEED_AM_REMAPPING || RAY_NEED_CM_REMAPPING)
-static __inline void ray_attr_mapcm (struct ray_softc *sc);
-#endif /* (RAY_NEED_AM_REMAPPING || RAY_NEED_CM_REMAPPING) */
-
-#if (RAY_NEED_AM_REMAPPING || RAY_NEED_CM_REMAPPING)
-static __inline void
-ray_attr_mapcm(struct ray_softc *sc)
-{
- bus_activate_resource(sc->dev, SYS_RES_MEMORY, sc->cm_rid, sc->cm_res);
-#if RAY_DEBUG & RAY_DBG_CM
- {
- u_long flags = 0xffff;
- CARD_GET_RES_FLAGS(device_get_parent(sc->dev), sc->dev,
- SYS_RES_MEMORY, sc->cm_rid, &flags);
- RAY_PRINTF(sc, "common memory\n"
- ". start 0x%0lx count 0x%0lx flags 0x%0lx",
- bus_get_resource_start(sc->dev, SYS_RES_MEMORY, sc->cm_rid),
- bus_get_resource_count(sc->dev, SYS_RES_MEMORY, sc->cm_rid),
- flags);
- }
-#endif /* RAY_DEBUG & RAY_DBG_CM */
-}
-#endif /* (RAY_NEED_AM_REMAPPING || RAY_NEED_CM_REMAPPING) */
-
-#if RAY_NEED_AM_REMAPPING
-static __inline void
-ray_attr_mapam(struct ray_softc *sc)
-{
- bus_activate_resource(sc->dev, SYS_RES_MEMORY, sc->am_rid, sc->am_res);
-#if RAY_DEBUG & RAY_DBG_CM
- {
- u_long flags = 0xffff;
- CARD_GET_RES_FLAGS(device_get_parent(sc->dev), sc->dev,
- SYS_RES_MEMORY, sc->am_rid, &flags);
- RAY_PRINTF(sc, "attribute memory\n"
- ". start 0x%0lx count 0x%0lx flags 0x%0lx",
- bus_get_resource_start(sc->dev, SYS_RES_MEMORY, sc->am_rid),
- bus_get_resource_count(sc->dev, SYS_RES_MEMORY, sc->am_rid),
- flags);
- }
-#endif /* RAY_DEBUG & RAY_DBG_CM */
-}
-
-static __inline u_int8_t
-ray_attr_read_1(struct ray_softc *sc, off_t offset)
-{
- u_int8_t byte;
-
- ray_attr_mapam(sc);
- byte = (u_int8_t)bus_space_read_1(sc->am_bst, sc->am_bsh, offset);
- ray_attr_mapcm(sc);
-
- return (byte);
-}
-
-static __inline void
-ray_attr_write_1(struct ray_softc *sc, off_t offset, u_int8_t byte)
-{
- ray_attr_mapam(sc);
- bus_space_write_1(sc->am_bst, sc->am_bsh, offset, byte);
- ray_attr_mapcm(sc);
-}
-#endif /* RAY_NEED_AM_REMAPPING */
diff --git a/sys/dev/ray/if_rayvar.h b/sys/dev/ray/if_rayvar.h
index e30491b..83dd6cc 100644
--- a/sys/dev/ray/if_rayvar.h
+++ b/sys/dev/ray/if_rayvar.h
@@ -283,3 +283,7 @@ static int mib_info[RAY_MIB_MAX+1][3] = RAY_MIB_INFO;
__FUNCTION__ , __LINE__ , ##args); \
} } while (0)
#endif /* RAY_RECERR */
+
+#ifndef RAY_MAP_CM
+#define RAY_MAP_CM(sc)
+#endif /* RAY_MAP_CM */
OpenPOWER on IntegriCloud