CARDMEM is the offset of the address ON THE CARD (eg which page).
Instead, use EXCA_MEMREG_WIN_SHIFT which is the amount we shift the bus address by to write into upper memory (eg above 24MB). Use the latter in this case.
This commit is contained in:
parent
85cc199400
commit
26824d8c47
@ -258,7 +258,7 @@ exca_mem_map(struct exca_softc *sc, int kind, struct resource *res)
|
||||
}
|
||||
if (win >= EXCA_MEM_WINS)
|
||||
return (1);
|
||||
if (((rman_get_start(res) >> EXCA_CARDMEM_ADDRX_SHIFT) & 0xff) != 0 &&
|
||||
if (((rman_get_start(res) >> EXCA_MEMREG_WIN_SHIFT) & 0xff) != 0 &&
|
||||
(sc->flags & EXCA_HAS_MEMREG_WIN) == 0) {
|
||||
device_printf(sc->dev, "Does not support mapping above 24M.");
|
||||
return (1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user