diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/cpm_uart/cpm_uart_cpm1.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.c b/drivers/serial/cpm_uart/cpm_uart_cpm1.c index 08e55fdc882a..925fb607d8c4 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm1.c +++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.c | |||
@@ -40,6 +40,7 @@ | |||
40 | 40 | ||
41 | #include <asm/io.h> | 41 | #include <asm/io.h> |
42 | #include <asm/irq.h> | 42 | #include <asm/irq.h> |
43 | #include <asm/fs_pd.h> | ||
43 | 44 | ||
44 | #include <linux/serial_core.h> | 45 | #include <linux/serial_core.h> |
45 | #include <linux/kernel.h> | 46 | #include <linux/kernel.h> |
@@ -145,7 +146,7 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) | |||
145 | /* was hostalloc but changed cause it blows away the */ | 146 | /* was hostalloc but changed cause it blows away the */ |
146 | /* large tlb mapping when pinning the kernel area */ | 147 | /* large tlb mapping when pinning the kernel area */ |
147 | mem_addr = (u8 *) cpm_dpram_addr(cpm_dpalloc(memsz, 8)); | 148 | mem_addr = (u8 *) cpm_dpram_addr(cpm_dpalloc(memsz, 8)); |
148 | dma_addr = (u32)mem_addr; | 149 | dma_addr = (u32)cpm_dpram_phys(mem_addr); |
149 | } else | 150 | } else |
150 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, | 151 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, |
151 | GFP_KERNEL); | 152 | GFP_KERNEL); |
@@ -205,7 +206,7 @@ int __init cpm_uart_init_portdesc(void) | |||
205 | (unsigned long)&cpmp->cp_smc[0]; | 206 | (unsigned long)&cpmp->cp_smc[0]; |
206 | cpm_uart_ports[UART_SMC1].smcp->smc_smcm |= (SMCM_RX | SMCM_TX); | 207 | cpm_uart_ports[UART_SMC1].smcp->smc_smcm |= (SMCM_RX | SMCM_TX); |
207 | cpm_uart_ports[UART_SMC1].smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | 208 | cpm_uart_ports[UART_SMC1].smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); |
208 | cpm_uart_ports[UART_SMC1].port.uartclk = (((bd_t *) __res)->bi_intfreq); | 209 | cpm_uart_ports[UART_SMC1].port.uartclk = uart_clock(); |
209 | cpm_uart_port_map[cpm_uart_nr++] = UART_SMC1; | 210 | cpm_uart_port_map[cpm_uart_nr++] = UART_SMC1; |
210 | #endif | 211 | #endif |
211 | 212 | ||
@@ -217,7 +218,7 @@ int __init cpm_uart_init_portdesc(void) | |||
217 | (unsigned long)&cpmp->cp_smc[1]; | 218 | (unsigned long)&cpmp->cp_smc[1]; |
218 | cpm_uart_ports[UART_SMC2].smcp->smc_smcm |= (SMCM_RX | SMCM_TX); | 219 | cpm_uart_ports[UART_SMC2].smcp->smc_smcm |= (SMCM_RX | SMCM_TX); |
219 | cpm_uart_ports[UART_SMC2].smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | 220 | cpm_uart_ports[UART_SMC2].smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); |
220 | cpm_uart_ports[UART_SMC2].port.uartclk = (((bd_t *) __res)->bi_intfreq); | 221 | cpm_uart_ports[UART_SMC2].port.uartclk = uart_clock(); |
221 | cpm_uart_port_map[cpm_uart_nr++] = UART_SMC2; | 222 | cpm_uart_port_map[cpm_uart_nr++] = UART_SMC2; |
222 | #endif | 223 | #endif |
223 | 224 | ||
@@ -231,7 +232,7 @@ int __init cpm_uart_init_portdesc(void) | |||
231 | ~(UART_SCCM_TX | UART_SCCM_RX); | 232 | ~(UART_SCCM_TX | UART_SCCM_RX); |
232 | cpm_uart_ports[UART_SCC1].sccp->scc_gsmrl &= | 233 | cpm_uart_ports[UART_SCC1].sccp->scc_gsmrl &= |
233 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); | 234 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); |
234 | cpm_uart_ports[UART_SCC1].port.uartclk = (((bd_t *) __res)->bi_intfreq); | 235 | cpm_uart_ports[UART_SCC1].port.uartclk = uart_clock(); |
235 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC1; | 236 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC1; |
236 | #endif | 237 | #endif |
237 | 238 | ||
@@ -245,7 +246,7 @@ int __init cpm_uart_init_portdesc(void) | |||
245 | ~(UART_SCCM_TX | UART_SCCM_RX); | 246 | ~(UART_SCCM_TX | UART_SCCM_RX); |
246 | cpm_uart_ports[UART_SCC2].sccp->scc_gsmrl &= | 247 | cpm_uart_ports[UART_SCC2].sccp->scc_gsmrl &= |
247 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); | 248 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); |
248 | cpm_uart_ports[UART_SCC2].port.uartclk = (((bd_t *) __res)->bi_intfreq); | 249 | cpm_uart_ports[UART_SCC2].port.uartclk = uart_clock(); |
249 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC2; | 250 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC2; |
250 | #endif | 251 | #endif |
251 | 252 | ||
@@ -259,7 +260,7 @@ int __init cpm_uart_init_portdesc(void) | |||
259 | ~(UART_SCCM_TX | UART_SCCM_RX); | 260 | ~(UART_SCCM_TX | UART_SCCM_RX); |
260 | cpm_uart_ports[UART_SCC3].sccp->scc_gsmrl &= | 261 | cpm_uart_ports[UART_SCC3].sccp->scc_gsmrl &= |
261 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); | 262 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); |
262 | cpm_uart_ports[UART_SCC3].port.uartclk = (((bd_t *) __res)->bi_intfreq); | 263 | cpm_uart_ports[UART_SCC3].port.uartclk = uart_clock(); |
263 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC3; | 264 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC3; |
264 | #endif | 265 | #endif |
265 | 266 | ||
@@ -273,7 +274,7 @@ int __init cpm_uart_init_portdesc(void) | |||
273 | ~(UART_SCCM_TX | UART_SCCM_RX); | 274 | ~(UART_SCCM_TX | UART_SCCM_RX); |
274 | cpm_uart_ports[UART_SCC4].sccp->scc_gsmrl &= | 275 | cpm_uart_ports[UART_SCC4].sccp->scc_gsmrl &= |
275 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); | 276 | ~(SCC_GSMRL_ENR | SCC_GSMRL_ENT); |
276 | cpm_uart_ports[UART_SCC4].port.uartclk = (((bd_t *) __res)->bi_intfreq); | 277 | cpm_uart_ports[UART_SCC4].port.uartclk = uart_clock(); |
277 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC4; | 278 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC4; |
278 | #endif | 279 | #endif |
279 | return 0; | 280 | return 0; |