@@ -114,9 +114,9 @@ struct ltq_uart_port {
114
114
115
115
static inline void asc_update_bits (u32 clear , u32 set , void __iomem * reg )
116
116
{
117
- u32 tmp = readl (reg );
117
+ u32 tmp = __raw_readl (reg );
118
118
119
- writel ((tmp & ~clear ) | set , reg );
119
+ __raw_writel ((tmp & ~clear ) | set , reg );
120
120
}
121
121
122
122
static inline struct
@@ -144,7 +144,7 @@ lqasc_start_tx(struct uart_port *port)
144
144
static void
145
145
lqasc_stop_rx (struct uart_port * port )
146
146
{
147
- writel (ASCWHBSTATE_CLRREN , port -> membase + LTQ_ASC_WHBSTATE );
147
+ __raw_writel (ASCWHBSTATE_CLRREN , port -> membase + LTQ_ASC_WHBSTATE );
148
148
}
149
149
150
150
static int
@@ -153,11 +153,12 @@ lqasc_rx_chars(struct uart_port *port)
153
153
struct tty_port * tport = & port -> state -> port ;
154
154
unsigned int ch = 0 , rsr = 0 , fifocnt ;
155
155
156
- fifocnt = readl (port -> membase + LTQ_ASC_FSTAT ) & ASCFSTAT_RXFFLMASK ;
156
+ fifocnt = __raw_readl (port -> membase + LTQ_ASC_FSTAT ) &
157
+ ASCFSTAT_RXFFLMASK ;
157
158
while (fifocnt -- ) {
158
159
u8 flag = TTY_NORMAL ;
159
160
ch = readb (port -> membase + LTQ_ASC_RBUF );
160
- rsr = (readl (port -> membase + LTQ_ASC_STATE )
161
+ rsr = (__raw_readl (port -> membase + LTQ_ASC_STATE )
161
162
& ASCSTATE_ANY ) | UART_DUMMY_UER_RX ;
162
163
tty_flip_buffer_push (tport );
163
164
port -> icount .rx ++ ;
@@ -217,7 +218,7 @@ lqasc_tx_chars(struct uart_port *port)
217
218
return ;
218
219
}
219
220
220
- while (((readl (port -> membase + LTQ_ASC_FSTAT ) &
221
+ while (((__raw_readl (port -> membase + LTQ_ASC_FSTAT ) &
221
222
ASCFSTAT_TXFREEMASK ) >> ASCFSTAT_TXFREEOFF ) != 0 ) {
222
223
if (port -> x_char ) {
223
224
writeb (port -> x_char , port -> membase + LTQ_ASC_TBUF );
@@ -245,7 +246,7 @@ lqasc_tx_int(int irq, void *_port)
245
246
unsigned long flags ;
246
247
struct uart_port * port = (struct uart_port * )_port ;
247
248
spin_lock_irqsave (& ltq_asc_lock , flags );
248
- writel (ASC_IRNCR_TIR , port -> membase + LTQ_ASC_IRNCR );
249
+ __raw_writel (ASC_IRNCR_TIR , port -> membase + LTQ_ASC_IRNCR );
249
250
spin_unlock_irqrestore (& ltq_asc_lock , flags );
250
251
lqasc_start_tx (port );
251
252
return IRQ_HANDLED ;
@@ -270,7 +271,7 @@ lqasc_rx_int(int irq, void *_port)
270
271
unsigned long flags ;
271
272
struct uart_port * port = (struct uart_port * )_port ;
272
273
spin_lock_irqsave (& ltq_asc_lock , flags );
273
- writel (ASC_IRNCR_RIR , port -> membase + LTQ_ASC_IRNCR );
274
+ __raw_writel (ASC_IRNCR_RIR , port -> membase + LTQ_ASC_IRNCR );
274
275
lqasc_rx_chars (port );
275
276
spin_unlock_irqrestore (& ltq_asc_lock , flags );
276
277
return IRQ_HANDLED ;
@@ -280,7 +281,8 @@ static unsigned int
280
281
lqasc_tx_empty (struct uart_port * port )
281
282
{
282
283
int status ;
283
- status = readl (port -> membase + LTQ_ASC_FSTAT ) & ASCFSTAT_TXFFLMASK ;
284
+ status = __raw_readl (port -> membase + LTQ_ASC_FSTAT ) &
285
+ ASCFSTAT_TXFFLMASK ;
284
286
return status ? 0 : TIOCSER_TEMT ;
285
287
}
286
288
@@ -313,12 +315,12 @@ lqasc_startup(struct uart_port *port)
313
315
asc_update_bits (ASCCLC_DISS | ASCCLC_RMCMASK , (1 << ASCCLC_RMCOFFSET ),
314
316
port -> membase + LTQ_ASC_CLC );
315
317
316
- writel (0 , port -> membase + LTQ_ASC_PISEL );
317
- writel (
318
+ __raw_writel (0 , port -> membase + LTQ_ASC_PISEL );
319
+ __raw_writel (
318
320
((TXFIFO_FL << ASCTXFCON_TXFITLOFF ) & ASCTXFCON_TXFITLMASK ) |
319
321
ASCTXFCON_TXFEN | ASCTXFCON_TXFFLU ,
320
322
port -> membase + LTQ_ASC_TXFCON );
321
- writel (
323
+ __raw_writel (
322
324
((RXFIFO_FL << ASCRXFCON_RXFITLOFF ) & ASCRXFCON_RXFITLMASK )
323
325
| ASCRXFCON_RXFEN | ASCRXFCON_RXFFLU ,
324
326
port -> membase + LTQ_ASC_RXFCON );
@@ -350,7 +352,7 @@ lqasc_startup(struct uart_port *port)
350
352
goto err2 ;
351
353
}
352
354
353
- writel (ASC_IRNREN_RX | ASC_IRNREN_ERR | ASC_IRNREN_TX ,
355
+ __raw_writel (ASC_IRNREN_RX | ASC_IRNREN_ERR | ASC_IRNREN_TX ,
354
356
port -> membase + LTQ_ASC_IRNREN );
355
357
return 0 ;
356
358
@@ -369,7 +371,7 @@ lqasc_shutdown(struct uart_port *port)
369
371
free_irq (ltq_port -> rx_irq , port );
370
372
free_irq (ltq_port -> err_irq , port );
371
373
372
- writel (0 , port -> membase + LTQ_ASC_CON );
374
+ __raw_writel (0 , port -> membase + LTQ_ASC_CON );
373
375
asc_update_bits (ASCRXFCON_RXFEN , ASCRXFCON_RXFFLU ,
374
376
port -> membase + LTQ_ASC_RXFCON );
375
377
asc_update_bits (ASCTXFCON_TXFEN , ASCTXFCON_TXFFLU ,
@@ -461,13 +463,13 @@ lqasc_set_termios(struct uart_port *port,
461
463
asc_update_bits (ASCCON_BRS , 0 , port -> membase + LTQ_ASC_CON );
462
464
463
465
/* now we can write the new baudrate into the register */
464
- writel (divisor , port -> membase + LTQ_ASC_BG );
466
+ __raw_writel (divisor , port -> membase + LTQ_ASC_BG );
465
467
466
468
/* turn the baudrate generator back on */
467
469
asc_update_bits (0 , ASCCON_R , port -> membase + LTQ_ASC_CON );
468
470
469
471
/* enable rx */
470
- writel (ASCWHBSTATE_SETREN , port -> membase + LTQ_ASC_WHBSTATE );
472
+ __raw_writel (ASCWHBSTATE_SETREN , port -> membase + LTQ_ASC_WHBSTATE );
471
473
472
474
spin_unlock_irqrestore (& ltq_asc_lock , flags );
473
475
@@ -578,7 +580,7 @@ lqasc_console_putchar(struct uart_port *port, int ch)
578
580
return ;
579
581
580
582
do {
581
- fifofree = (readl (port -> membase + LTQ_ASC_FSTAT )
583
+ fifofree = (__raw_readl (port -> membase + LTQ_ASC_FSTAT )
582
584
& ASCFSTAT_TXFREEMASK ) >> ASCFSTAT_TXFREEOFF ;
583
585
} while (fifofree == 0 );
584
586
writeb (ch , port -> membase + LTQ_ASC_TBUF );
0 commit comments