aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/txx9
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2008-07-25 10:01:35 -0400
committerRalf Baechle <ralf@linux-mips.org>2008-07-30 16:54:38 -0400
commit455cc256eb23915100e203fb33ee143afd127954 (patch)
tree1ad0c410fef0f7d82587347c3d3e4d4c9646dcee /arch/mips/txx9
parent07517529225ae4ce770271f83d8cd1004733a01d (diff)
[MIPS] TXx9: PCI error handling
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Date: Thu, 24 Jul 2008 00:25:16 +0900 Subject: [PATCH] txx9: PCI error handling Add more control and detailed report on PCI error interrupt. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/txx9')
-rw-r--r--arch/mips/txx9/jmr3927/irq.c20
-rw-r--r--arch/mips/txx9/jmr3927/setup.c1
-rw-r--r--arch/mips/txx9/rbtx4927/setup.c2
-rw-r--r--arch/mips/txx9/rbtx4938/setup.c1
4 files changed, 4 insertions, 20 deletions
diff --git a/arch/mips/txx9/jmr3927/irq.c b/arch/mips/txx9/jmr3927/irq.c
index 070c9a115e57..f3b60233e99d 100644
--- a/arch/mips/txx9/jmr3927/irq.c
+++ b/arch/mips/txx9/jmr3927/irq.c
@@ -103,22 +103,6 @@ static int jmr3927_irq_dispatch(int pending)
103 return irq; 103 return irq;
104} 104}
105 105
106#ifdef CONFIG_PCI
107static irqreturn_t jmr3927_pcierr_interrupt(int irq, void *dev_id)
108{
109 printk(KERN_WARNING "PCI error interrupt (irq 0x%x).\n", irq);
110 printk(KERN_WARNING "pcistat:%02x, lbstat:%04lx\n",
111 tx3927_pcicptr->pcistat, tx3927_pcicptr->lbstat);
112
113 return IRQ_HANDLED;
114}
115static struct irqaction pcierr_action = {
116 .handler = jmr3927_pcierr_interrupt,
117 .mask = CPU_MASK_NONE,
118 .name = "PCI error",
119};
120#endif
121
122static void __init jmr3927_irq_init(void); 106static void __init jmr3927_irq_init(void);
123 107
124void __init jmr3927_irq_setup(void) 108void __init jmr3927_irq_setup(void)
@@ -143,10 +127,6 @@ void __init jmr3927_irq_setup(void)
143 /* setup IOC interrupt 1 (PCI, MODEM) */ 127 /* setup IOC interrupt 1 (PCI, MODEM) */
144 set_irq_chained_handler(JMR3927_IRQ_IOCINT, handle_simple_irq); 128 set_irq_chained_handler(JMR3927_IRQ_IOCINT, handle_simple_irq);
145 129
146#ifdef CONFIG_PCI
147 setup_irq(JMR3927_IRQ_IRC_PCI, &pcierr_action);
148#endif
149
150 /* enable all CPU interrupt bits. */ 130 /* enable all CPU interrupt bits. */
151 set_c0_status(ST0_IM); /* IE bit is still 0. */ 131 set_c0_status(ST0_IM); /* IE bit is still 0. */
152} 132}
diff --git a/arch/mips/txx9/jmr3927/setup.c b/arch/mips/txx9/jmr3927/setup.c
index 57dc91e7afa6..7c16c402ff60 100644
--- a/arch/mips/txx9/jmr3927/setup.c
+++ b/arch/mips/txx9/jmr3927/setup.c
@@ -199,6 +199,7 @@ static void __init jmr3927_pci_setup(void)
199 jmr3927_ioc_reg_out(0, JMR3927_IOC_RESET_ADDR); 199 jmr3927_ioc_reg_out(0, JMR3927_IOC_RESET_ADDR);
200 } 200 }
201 tx3927_pcic_setup(c, JMR3927_SDRAM_SIZE, extarb); 201 tx3927_pcic_setup(c, JMR3927_SDRAM_SIZE, extarb);
202 tx3927_setup_pcierr_irq();
202#endif /* CONFIG_PCI */ 203#endif /* CONFIG_PCI */
203} 204}
204 205
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c
index 88c05ccee3b2..65b72247d320 100644
--- a/arch/mips/txx9/rbtx4927/setup.c
+++ b/arch/mips/txx9/rbtx4927/setup.c
@@ -103,6 +103,7 @@ static void __init tx4927_pci_setup(void)
103 tx4927_report_pciclk(); 103 tx4927_report_pciclk();
104 tx4927_pcic_setup(tx4927_pcicptr, c, extarb); 104 tx4927_pcic_setup(tx4927_pcicptr, c, extarb);
105 } 105 }
106 tx4927_setup_pcierr_irq();
106} 107}
107 108
108static void __init tx4937_pci_setup(void) 109static void __init tx4937_pci_setup(void)
@@ -149,6 +150,7 @@ static void __init tx4937_pci_setup(void)
149 tx4938_report_pciclk(); 150 tx4938_report_pciclk();
150 tx4927_pcic_setup(tx4938_pcicptr, c, extarb); 151 tx4927_pcic_setup(tx4938_pcicptr, c, extarb);
151 } 152 }
153 tx4938_setup_pcierr_irq();
152} 154}
153 155
154static void __init rbtx4927_arch_init(void) 156static void __init rbtx4927_arch_init(void)
diff --git a/arch/mips/txx9/rbtx4938/setup.c b/arch/mips/txx9/rbtx4938/setup.c
index fc9034db526e..4454b7901cd3 100644
--- a/arch/mips/txx9/rbtx4938/setup.c
+++ b/arch/mips/txx9/rbtx4938/setup.c
@@ -121,6 +121,7 @@ static void __init rbtx4938_pci_setup(void)
121 register_pci_controller(c); 121 register_pci_controller(c);
122 tx4927_pcic_setup(tx4938_pcic1ptr, c, 0); 122 tx4927_pcic_setup(tx4938_pcic1ptr, c, 0);
123 } 123 }
124 tx4938_setup_pcierr_irq();
124#endif /* CONFIG_PCI */ 125#endif /* CONFIG_PCI */
125} 126}
126 127