summaryrefslogtreecommitdiffstats
path: root/sys/dev/exca
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2005-10-14 04:48:11 +0000
committerimp <imp@FreeBSD.org>2005-10-14 04:48:11 +0000
commit8a791e77bbe202440a53cf5ceef34bc0899623c2 (patch)
tree50a54e2556b3a764e71bb2dedbbb35a32f71b490 /sys/dev/exca
parent86ab2d4d2761a5d74160c157b2d27070f0d6609c (diff)
downloadFreeBSD-src-8a791e77bbe202440a53cf5ceef34bc0899623c2.zip
FreeBSD-src-8a791e77bbe202440a53cf5ceef34bc0899623c2.tar.gz
MFP4: Minor tweaks.
Diffstat (limited to 'sys/dev/exca')
-rw-r--r--sys/dev/exca/exca.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/exca/exca.c b/sys/dev/exca/exca.c
index 043d934..100812a 100644
--- a/sys/dev/exca/exca.c
+++ b/sys/dev/exca/exca.c
@@ -181,6 +181,8 @@ exca_do_mem_map(struct exca_softc *sc, int win)
struct mem_map_index_st *map;
struct pccard_mem_handle *mem;
uint32_t offset;
+ int mem8 = (mem->kind == PCCARD_A_MEM_ATTR);
+ mem8 = 1;
map = &mem_map_index[win];
mem = &sc->mem[win];
@@ -190,7 +192,8 @@ exca_do_mem_map(struct exca_softc *sc, int win)
(mem->addr >> EXCA_SYSMEM_ADDRX_SHIFT) & 0xff);
exca_putb(sc, map->sysmem_start_msb,
((mem->addr >> (EXCA_SYSMEM_ADDRX_SHIFT + 8)) &
- EXCA_SYSMEM_ADDRX_START_MSB_ADDR_MASK));
+ EXCA_SYSMEM_ADDRX_START_MSB_ADDR_MASK) |
+ (mem8 ? 0 : EXCA_SYSMEM_ADDRX_START_MSB_DATASIZE_16BIT));
exca_putb(sc, map->sysmem_stop_lsb,
((mem->addr + mem->realsize - 1) >>
@@ -643,6 +646,7 @@ exca_valid_slot(struct exca_softc *exca)
* IBM clone chips use 0x88 and 0x89, apparently
*/
c = exca_getb(exca, EXCA_IDENT);
+ DEVPRINTF(exca->dev, "Ident is %x\n", c);
if ((c & EXCA_IDENT_IFTYPE_MASK) != EXCA_IDENT_IFTYPE_MEM_AND_IO)
return (0);
if ((c & EXCA_IDENT_ZERO) != 0)
OpenPOWER on IntegriCloud