|
@@ -54,6 +54,7 @@
|
|
#define ODSR_CLEAR 0x1c00
|
|
#define ODSR_CLEAR 0x1c00
|
|
#define LTLEECSR_ENABLE_ALL 0xFFC000FC
|
|
#define LTLEECSR_ENABLE_ALL 0xFFC000FC
|
|
#define ESCSR_CLEAR 0x07120204
|
|
#define ESCSR_CLEAR 0x07120204
|
|
|
|
+#define IECSR_CLEAR 0x80000000
|
|
|
|
|
|
#define RIO_PORT1_EDCSR 0x0640
|
|
#define RIO_PORT1_EDCSR 0x0640
|
|
#define RIO_PORT2_EDCSR 0x0680
|
|
#define RIO_PORT2_EDCSR 0x0680
|
|
@@ -1089,11 +1090,11 @@ static void port_error_handler(struct rio_mport *port, int offset)
|
|
|
|
|
|
if (offset == 0) {
|
|
if (offset == 0) {
|
|
out_be32((u32 *)(rio_regs_win + RIO_PORT1_EDCSR), 0);
|
|
out_be32((u32 *)(rio_regs_win + RIO_PORT1_EDCSR), 0);
|
|
- out_be32((u32 *)(rio_regs_win + RIO_PORT1_IECSR), 0);
|
|
|
|
|
|
+ out_be32((u32 *)(rio_regs_win + RIO_PORT1_IECSR), IECSR_CLEAR);
|
|
out_be32((u32 *)(rio_regs_win + RIO_ESCSR), ESCSR_CLEAR);
|
|
out_be32((u32 *)(rio_regs_win + RIO_ESCSR), ESCSR_CLEAR);
|
|
} else {
|
|
} else {
|
|
out_be32((u32 *)(rio_regs_win + RIO_PORT2_EDCSR), 0);
|
|
out_be32((u32 *)(rio_regs_win + RIO_PORT2_EDCSR), 0);
|
|
- out_be32((u32 *)(rio_regs_win + RIO_PORT2_IECSR), 0);
|
|
|
|
|
|
+ out_be32((u32 *)(rio_regs_win + RIO_PORT2_IECSR), IECSR_CLEAR);
|
|
out_be32((u32 *)(rio_regs_win + RIO_PORT2_ESCSR), ESCSR_CLEAR);
|
|
out_be32((u32 *)(rio_regs_win + RIO_PORT2_ESCSR), ESCSR_CLEAR);
|
|
}
|
|
}
|
|
}
|
|
}
|