Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/xscale Program the BARs after the limit regs. ...



details:   https://anonhg.NetBSD.org/src/rev/8fb7e59a3ae8
branches:  trunk
changeset: 542172:8fb7e59a3ae8
user:      briggs <briggs%NetBSD.org@localhost>
date:      Thu Jan 23 03:53:16 2003 +0000

description:
Program the BARs after the limit regs.  When the BARs are written, the
value actually stored in the BAR is masked by the limit register.

diffstat:

 sys/arch/arm/xscale/i80321.c |  32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diffs (73 lines):

diff -r c08a558a7351 -r 8fb7e59a3ae8 sys/arch/arm/xscale/i80321.c
--- a/sys/arch/arm/xscale/i80321.c      Thu Jan 23 03:33:16 2003 +0000
+++ b/sys/arch/arm/xscale/i80321.c      Thu Jan 23 03:53:16 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: i80321.c,v 1.9 2003/01/01 00:45:00 thorpej Exp $       */
+/*     $NetBSD: i80321.c,v 1.10 2003/01/23 03:53:16 briggs Exp $       */
 
 /*
  * Copyright (c) 2002 Wasabi Systems, Inc.
@@ -111,48 +111,48 @@
        /*
         * Program the Inbound windows.
         */
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR0,
+           (0xffffffff - (sc->sc_iwin[0].iwin_size - 1)) & 0xffffffc0);
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR0,
+           sc->sc_iwin[0].iwin_xlate);
        if (sc->sc_is_host) {
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    PCI_MAPREG_START, sc->sc_iwin[0].iwin_base_lo);
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    PCI_MAPREG_START + 0x04, sc->sc_iwin[0].iwin_base_hi);
        }
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR0,
-           (0xffffffff - (sc->sc_iwin[0].iwin_size - 1)) & 0xffffffc0);
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR0,
-           sc->sc_iwin[0].iwin_xlate);
 
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR1,
+           (0xffffffff - (sc->sc_iwin[1].iwin_size - 1)) & 0xffffffc0);
+       /* no xlate for window 1 */
        if (sc->sc_is_host) {
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    PCI_MAPREG_START + 0x08, sc->sc_iwin[1].iwin_base_lo);
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    PCI_MAPREG_START + 0x0c, sc->sc_iwin[1].iwin_base_hi);
        }
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR1,
-           (0xffffffff - (sc->sc_iwin[1].iwin_size - 1)) & 0xffffffc0);
-       /* no xlate for window 1 */
 
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR2,
+           (0xffffffff - (sc->sc_iwin[2].iwin_size - 1)) & 0xffffffc0);
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR2,
+           sc->sc_iwin[2].iwin_xlate);
        if (sc->sc_is_host) {
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    PCI_MAPREG_START + 0x10, sc->sc_iwin[2].iwin_base_lo);
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    PCI_MAPREG_START + 0x14, sc->sc_iwin[2].iwin_base_hi);
        }
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR2,
-           (0xffffffff - (sc->sc_iwin[2].iwin_size - 1)) & 0xffffffc0);
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR2,
-           sc->sc_iwin[2].iwin_xlate);
 
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR3,
+           (0xffffffff - (sc->sc_iwin[3].iwin_size - 1)) & 0xffffffc0);
+       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR3,
+           sc->sc_iwin[3].iwin_xlate);
        if (sc->sc_is_host) {
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    ATU_IABAR3, sc->sc_iwin[3].iwin_base_lo);
                bus_space_write_4(sc->sc_st, sc->sc_atu_sh,
                    ATU_IAUBAR3, sc->sc_iwin[3].iwin_base_hi);
        }
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IALR3,
-           (0xffffffff - (sc->sc_iwin[3].iwin_size - 1)) & 0xffffffc0);
-       bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_IATVR3,
-           sc->sc_iwin[3].iwin_xlate);
 
        /*
         * Mask (disable) the ATU interrupt sources.



Home | Main Index | Thread Index | Old Index