13 #include <linux/module.h>
14 #include <linux/kernel.h>
15 #include <linux/pci.h>
16 #include <linux/types.h>
21 #define DEBUG_RESOURCES 0
22 #define DEBUG_CONFIG 0
25 # define DBGC(x...) printk(KERN_DEBUG x)
32 #define DBG_RES(x...) printk(KERN_DEBUG x)
54 #define PCI_HBA_MAX 32
72 #define EISA_IN(size) if (EISA_bus && (b == 0)) return eisa_in##size(addr)
73 #define EISA_OUT(size) if (EISA_bus && (b == 0)) return eisa_out##size(d, addr)
76 #define EISA_OUT(size)
79 #define PCI_PORT_IN(type, size) \
80 u##size in##type (int addr) \
82 int b = PCI_PORT_HBA(addr); \
84 if (!parisc_pci_hba[b]) return (u##size) -1; \
85 return pci_port->in##type(parisc_pci_hba[b], PCI_PORT_ADDR(addr)); \
87 EXPORT_SYMBOL(in##type);
94 #define PCI_PORT_OUT(type, size) \
95 void out##type (u##size d, int addr) \
97 int b = PCI_PORT_HBA(addr); \
99 if (!parisc_pci_hba[b]) return; \
100 pci_port->out##type(parisc_pci_hba[b], PCI_PORT_ADDR(addr), d); \
102 EXPORT_SYMBOL(out##type);
113 static
int __init pcibios_init(
void)
163 if (lat >= 16)
return;
177 unsigned short bridge_ctl;
206 DBG_RES(
"pcibios_align_resource(%s, (%p) [%lx,%lx]/%x, 0x%lx, 0x%lx)\n",
207 pci_name(((
struct pci_dev *) data)),
209 (
int) res->
flags, size, alignment);
215 mask =
max(alignment, align) - 1;
251 if (cmd != old_cmd) {
252 dev_info(&dev->
dev,
"enabling SERR and PARITY (%04x -> %04x)\n",
268 parisc_pci_hba[pci_hba_count] = hba;
269 hba->
hba_num = pci_hba_count++;