diff options
-rw-r--r-- | include/asm-parisc/pci.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/asm-parisc/pci.h b/include/asm-parisc/pci.h index fa39d07d49e9..f277254159b7 100644 --- a/include/asm-parisc/pci.h +++ b/include/asm-parisc/pci.h | |||
@@ -84,11 +84,17 @@ static __inline__ int pci_is_lmmio(struct pci_hba_data *hba, unsigned long a) | |||
84 | /* | 84 | /* |
85 | ** Convert between PCI (IO_VIEW) addresses and processor (PA_VIEW) addresses. | 85 | ** Convert between PCI (IO_VIEW) addresses and processor (PA_VIEW) addresses. |
86 | ** See pcibios.c for more conversions used by Generic PCI code. | 86 | ** See pcibios.c for more conversions used by Generic PCI code. |
87 | ** | ||
88 | ** Platform characteristics/firmware guarantee that | ||
89 | ** (1) PA_VIEW - IO_VIEW = lmmio_offset for both LMMIO and ELMMIO | ||
90 | ** (2) PA_VIEW == IO_VIEW for GMMIO | ||
87 | */ | 91 | */ |
88 | #define PCI_BUS_ADDR(hba,a) (PCI_IS_LMMIO(hba,a) \ | 92 | #define PCI_BUS_ADDR(hba,a) (PCI_IS_LMMIO(hba,a) \ |
89 | ? ((a) - hba->lmmio_space_offset) /* mangle LMMIO */ \ | 93 | ? ((a) - hba->lmmio_space_offset) /* mangle LMMIO */ \ |
90 | : (a)) /* GMMIO */ | 94 | : (a)) /* GMMIO */ |
91 | #define PCI_HOST_ADDR(hba,a) ((a) + hba->lmmio_space_offset) | 95 | #define PCI_HOST_ADDR(hba,a) (((a) & PCI_F_EXTEND) == 0 \ |
96 | ? (a) + hba->lmmio_space_offset \ | ||
97 | : (a)) | ||
92 | 98 | ||
93 | #else /* !CONFIG_64BIT */ | 99 | #else /* !CONFIG_64BIT */ |
94 | 100 | ||