aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips
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 /include/asm-mips
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 'include/asm-mips')
-rw-r--r--include/asm-mips/txx9/tx3927.h7
-rw-r--r--include/asm-mips/txx9/tx4927.h1
-rw-r--r--include/asm-mips/txx9/tx4927pcic.h3
-rw-r--r--include/asm-mips/txx9/tx4938.h1
4 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-mips/txx9/tx3927.h b/include/asm-mips/txx9/tx3927.h
index ea79e1b16e71..8d62b1ba2c14 100644
--- a/include/asm-mips/txx9/tx3927.h
+++ b/include/asm-mips/txx9/tx3927.h
@@ -236,11 +236,17 @@ struct tx3927_ccfg_reg {
236/* see PCI_STATUS_XXX in linux/pci.h */ 236/* see PCI_STATUS_XXX in linux/pci.h */
237#define PCI_STATUS_NEW_CAP 0x0010 237#define PCI_STATUS_NEW_CAP 0x0010
238 238
239/* bits for ISTAT/IIM */
240#define TX3927_PCIC_IIM_ALL 0x00001600
241
239/* bits for TC */ 242/* bits for TC */
240#define TX3927_PCIC_TC_OF16E 0x00000020 243#define TX3927_PCIC_TC_OF16E 0x00000020
241#define TX3927_PCIC_TC_IF8E 0x00000010 244#define TX3927_PCIC_TC_IF8E 0x00000010
242#define TX3927_PCIC_TC_OF8E 0x00000008 245#define TX3927_PCIC_TC_OF8E 0x00000008
243 246
247/* bits for TSTAT/TIM */
248#define TX3927_PCIC_TIM_ALL 0x0003ffff
249
244/* bits for IOBA/MBA */ 250/* bits for IOBA/MBA */
245/* see PCI_BASE_ADDRESS_XXX in linux/pci.h */ 251/* see PCI_BASE_ADDRESS_XXX in linux/pci.h */
246 252
@@ -320,5 +326,6 @@ struct tx3927_ccfg_reg {
320struct pci_controller; 326struct pci_controller;
321void __init tx3927_pcic_setup(struct pci_controller *channel, 327void __init tx3927_pcic_setup(struct pci_controller *channel,
322 unsigned long sdram_size, int extarb); 328 unsigned long sdram_size, int extarb);
329void tx3927_setup_pcierr_irq(void);
323 330
324#endif /* __ASM_TXX9_TX3927_H */ 331#endif /* __ASM_TXX9_TX3927_H */
diff --git a/include/asm-mips/txx9/tx4927.h b/include/asm-mips/txx9/tx4927.h
index ceb4b79ff4e3..2c26fd17cb4a 100644
--- a/include/asm-mips/txx9/tx4927.h
+++ b/include/asm-mips/txx9/tx4927.h
@@ -249,6 +249,7 @@ void tx4927_time_init(unsigned int tmrnr);
249void tx4927_setup_serial(void); 249void tx4927_setup_serial(void);
250int tx4927_report_pciclk(void); 250int tx4927_report_pciclk(void);
251int tx4927_pciclk66_setup(void); 251int tx4927_pciclk66_setup(void);
252void tx4927_setup_pcierr_irq(void);
252void tx4927_irq_init(void); 253void tx4927_irq_init(void);
253 254
254#endif /* __ASM_TXX9_TX4927_H */ 255#endif /* __ASM_TXX9_TX4927_H */
diff --git a/include/asm-mips/txx9/tx4927pcic.h b/include/asm-mips/txx9/tx4927pcic.h
index e1d78e9ebc06..223841c56131 100644
--- a/include/asm-mips/txx9/tx4927pcic.h
+++ b/include/asm-mips/txx9/tx4927pcic.h
@@ -10,6 +10,7 @@
10#define __ASM_TXX9_TX4927PCIC_H 10#define __ASM_TXX9_TX4927PCIC_H
11 11
12#include <linux/pci.h> 12#include <linux/pci.h>
13#include <linux/irqreturn.h>
13 14
14struct tx4927_pcic_reg { 15struct tx4927_pcic_reg {
15 u32 pciid; 16 u32 pciid;
@@ -196,5 +197,7 @@ void __init tx4927_pcic_setup(struct tx4927_pcic_reg __iomem *pcicptr,
196 struct pci_controller *channel, int extarb); 197 struct pci_controller *channel, int extarb);
197void tx4927_report_pcic_status(void); 198void tx4927_report_pcic_status(void);
198char *tx4927_pcibios_setup(char *str); 199char *tx4927_pcibios_setup(char *str);
200void tx4927_dump_pcic_settings(void);
201irqreturn_t tx4927_pcierr_interrupt(int irq, void *dev_id);
199 202
200#endif /* __ASM_TXX9_TX4927PCIC_H */ 203#endif /* __ASM_TXX9_TX4927PCIC_H */
diff --git a/include/asm-mips/txx9/tx4938.h b/include/asm-mips/txx9/tx4938.h
index 1ed969d381d6..4fff1c9e08d4 100644
--- a/include/asm-mips/txx9/tx4938.h
+++ b/include/asm-mips/txx9/tx4938.h
@@ -285,6 +285,7 @@ void tx4938_report_pci1clk(void);
285int tx4938_pciclk66_setup(void); 285int tx4938_pciclk66_setup(void);
286struct pci_dev; 286struct pci_dev;
287int tx4938_pcic1_map_irq(const struct pci_dev *dev, u8 slot); 287int tx4938_pcic1_map_irq(const struct pci_dev *dev, u8 slot);
288void tx4938_setup_pcierr_irq(void);
288void tx4938_irq_init(void); 289void tx4938_irq_init(void);
289 290
290#endif 291#endif