diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-02-01 16:39:46 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-02-01 16:39:46 +0900 |
commit | ef407beefbd9928792ccc93857e408e0057bc17b (patch) | |
tree | f98fc1e6eaa7d00b578d759f612d815cd7a7391a /arch/sh/include | |
parent | bcf39352eb9e9026f7a1028d4bce3707b65f104b (diff) | |
download | linux-rt-ef407beefbd9928792ccc93857e408e0057bc17b.tar.gz |
sh: Hook up ERR/PERR/SERR detection for SH7780 PCI host controllers.
These were never handled before, so implement some common infrastructure
to support them, then make use of that in the SH7780-specific code. In
practice there is little here that can not be generalized for SH4 parts,
which will be an incremental change as the 7780/7751 code is gradually
unified.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r-- | arch/sh/include/asm/pci.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h index bbd10cf79825..1de83f2161f7 100644 --- a/arch/sh/include/asm/pci.h +++ b/arch/sh/include/asm/pci.h @@ -29,9 +29,20 @@ struct pci_channel { unsigned int index; unsigned int need_domain_info; + + /* Optional error handling */ + struct timer_list err_timer, serr_timer; + unsigned int err_irq, serr_irq; }; +/* arch/sh/drivers/pci/pci.c */ extern int register_pci_controller(struct pci_channel *hose); +extern void pcibios_report_status(unsigned int status_mask, int warn); + +/* arch/sh/drivers/pci/common.c */ +extern void pcibios_enable_timers(struct pci_channel *hose); +extern unsigned int pcibios_handle_status_errors(unsigned long addr, + unsigned int status, struct pci_channel *hose); extern int pci_is_66mhz_capable(struct pci_channel *hose, int top_bus, int current_bus); |