aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/sgi-ip22/ip22-mc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/sgi-ip22/ip22-mc.c')
-rw-r--r--arch/mips/sgi-ip22/ip22-mc.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/arch/mips/sgi-ip22/ip22-mc.c b/arch/mips/sgi-ip22/ip22-mc.c
index 75ada8a9713b..7cec0a4e527d 100644
--- a/arch/mips/sgi-ip22/ip22-mc.c
+++ b/arch/mips/sgi-ip22/ip22-mc.c
@@ -121,22 +121,22 @@ void __init sgimc_init(void)
121 */ 121 */
122 122
123 /* Step 0: Make sure we turn off the watchdog in case it's 123 /* Step 0: Make sure we turn off the watchdog in case it's
124 * still running (which might be the case after a 124 * still running (which might be the case after a
125 * soft reboot). 125 * soft reboot).
126 */ 126 */
127 tmp = sgimc->cpuctrl0; 127 tmp = sgimc->cpuctrl0;
128 tmp &= ~SGIMC_CCTRL0_WDOG; 128 tmp &= ~SGIMC_CCTRL0_WDOG;
129 sgimc->cpuctrl0 = tmp; 129 sgimc->cpuctrl0 = tmp;
130 130
131 /* Step 1: The CPU/GIO error status registers will not latch 131 /* Step 1: The CPU/GIO error status registers will not latch
132 * up a new error status until the register has been 132 * up a new error status until the register has been
133 * cleared by the cpu. These status registers are 133 * cleared by the cpu. These status registers are
134 * cleared by writing any value to them. 134 * cleared by writing any value to them.
135 */ 135 */
136 sgimc->cstat = sgimc->gstat = 0; 136 sgimc->cstat = sgimc->gstat = 0;
137 137
138 /* Step 2: Enable all parity checking in cpu control register 138 /* Step 2: Enable all parity checking in cpu control register
139 * zero. 139 * zero.
140 */ 140 */
141 /* don't touch parity settings for IP28 */ 141 /* don't touch parity settings for IP28 */
142 tmp = sgimc->cpuctrl0; 142 tmp = sgimc->cpuctrl0;
@@ -147,7 +147,7 @@ void __init sgimc_init(void)
147 sgimc->cpuctrl0 = tmp; 147 sgimc->cpuctrl0 = tmp;
148 148
149 /* Step 3: Setup the MC write buffer depth, this is controlled 149 /* Step 3: Setup the MC write buffer depth, this is controlled
150 * in cpu control register 1 in the lower 4 bits. 150 * in cpu control register 1 in the lower 4 bits.
151 */ 151 */
152 tmp = sgimc->cpuctrl1; 152 tmp = sgimc->cpuctrl1;
153 tmp &= ~0xf; 153 tmp &= ~0xf;
@@ -155,26 +155,26 @@ void __init sgimc_init(void)
155 sgimc->cpuctrl1 = tmp; 155 sgimc->cpuctrl1 = tmp;
156 156
157 /* Step 4: Initialize the RPSS divider register to run as fast 157 /* Step 4: Initialize the RPSS divider register to run as fast
158 * as it can correctly operate. The register is laid 158 * as it can correctly operate. The register is laid
159 * out as follows: 159 * out as follows:
160 * 160 *
161 * ---------------------------------------- 161 * ----------------------------------------
162 * | RESERVED | INCREMENT | DIVIDER | 162 * | RESERVED | INCREMENT | DIVIDER |
163 * ---------------------------------------- 163 * ----------------------------------------
164 * 31 16 15 8 7 0 164 * 31 16 15 8 7 0
165 * 165 *
166 * DIVIDER determines how often a 'tick' happens, 166 * DIVIDER determines how often a 'tick' happens,
167 * INCREMENT determines by how the RPSS increment 167 * INCREMENT determines by how the RPSS increment
168 * registers value increases at each 'tick'. Thus, 168 * registers value increases at each 'tick'. Thus,
169 * for IP22 we get INCREMENT=1, DIVIDER=1 == 0x101 169 * for IP22 we get INCREMENT=1, DIVIDER=1 == 0x101
170 */ 170 */
171 sgimc->divider = 0x101; 171 sgimc->divider = 0x101;
172 172
173 /* Step 5: Initialize GIO64 arbitrator configuration register. 173 /* Step 5: Initialize GIO64 arbitrator configuration register.
174 * 174 *
175 * NOTE: HPC init code in sgihpc_init() must run before us because 175 * NOTE: HPC init code in sgihpc_init() must run before us because
176 * we need to know Guiness vs. FullHouse and the board 176 * we need to know Guiness vs. FullHouse and the board
177 * revision on this machine. You have been warned. 177 * revision on this machine. You have been warned.
178 */ 178 */
179 179
180 /* First the basic invariants across all GIO64 implementations. */ 180 /* First the basic invariants across all GIO64 implementations. */
@@ -187,18 +187,18 @@ void __init sgimc_init(void)
187 if (SGIOC_SYSID_BOARDREV(sgioc->sysid) < 2) { 187 if (SGIOC_SYSID_BOARDREV(sgioc->sysid) < 2) {
188 tmp |= SGIMC_GIOPAR_HPC264; /* 2nd HPC at 64bits */ 188 tmp |= SGIMC_GIOPAR_HPC264; /* 2nd HPC at 64bits */
189 tmp |= SGIMC_GIOPAR_PLINEEXP0; /* exp0 pipelines */ 189 tmp |= SGIMC_GIOPAR_PLINEEXP0; /* exp0 pipelines */
190 tmp |= SGIMC_GIOPAR_MASTEREXP1; /* exp1 masters */ 190 tmp |= SGIMC_GIOPAR_MASTEREXP1; /* exp1 masters */
191 tmp |= SGIMC_GIOPAR_RTIMEEXP0; /* exp0 is realtime */ 191 tmp |= SGIMC_GIOPAR_RTIMEEXP0; /* exp0 is realtime */
192 } else { 192 } else {
193 tmp |= SGIMC_GIOPAR_HPC264; /* 2nd HPC 64bits */ 193 tmp |= SGIMC_GIOPAR_HPC264; /* 2nd HPC 64bits */
194 tmp |= SGIMC_GIOPAR_PLINEEXP0; /* exp[01] pipelined */ 194 tmp |= SGIMC_GIOPAR_PLINEEXP0; /* exp[01] pipelined */
195 tmp |= SGIMC_GIOPAR_PLINEEXP1; 195 tmp |= SGIMC_GIOPAR_PLINEEXP1;
196 tmp |= SGIMC_GIOPAR_MASTEREISA; /* EISA masters */ 196 tmp |= SGIMC_GIOPAR_MASTEREISA; /* EISA masters */
197 } 197 }
198 } else { 198 } else {
199 /* Guiness specific settings. */ 199 /* Guiness specific settings. */
200 tmp |= SGIMC_GIOPAR_EISA64; /* MC talks to EISA at 64bits */ 200 tmp |= SGIMC_GIOPAR_EISA64; /* MC talks to EISA at 64bits */
201 tmp |= SGIMC_GIOPAR_MASTEREISA; /* EISA bus can act as master */ 201 tmp |= SGIMC_GIOPAR_MASTEREISA; /* EISA bus can act as master */
202 } 202 }
203 sgimc->giopar = tmp; /* poof */ 203 sgimc->giopar = tmp; /* poof */
204 204