diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 21:31:24 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 21:31:24 -0800 |
commit | 05f6ece6f37f987e9de643f6f76e8fb5d5b9e014 (patch) | |
tree | 5244e85d0dfb2619b0af4bc80a2c99dd579f79a5 /include/asm-parisc/pci.h | |
parent | 35d138ae22f826f95f0f8d0285947582ccf4508f (diff) | |
parent | 58b6c58caef7a34eab7ec887288fa495696653e7 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
Diffstat (limited to 'include/asm-parisc/pci.h')
-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) /* ** Convert between PCI (IO_VIEW) addresses and processor (PA_VIEW) addresses. ** See pcibios.c for more conversions used by Generic PCI code. +** +** Platform characteristics/firmware guarantee that +** (1) PA_VIEW - IO_VIEW = lmmio_offset for both LMMIO and ELMMIO +** (2) PA_VIEW == IO_VIEW for GMMIO */ #define PCI_BUS_ADDR(hba,a) (PCI_IS_LMMIO(hba,a) \ ? ((a) - hba->lmmio_space_offset) /* mangle LMMIO */ \ : (a)) /* GMMIO */ -#define PCI_HOST_ADDR(hba,a) ((a) + hba->lmmio_space_offset) +#define PCI_HOST_ADDR(hba,a) (((a) & PCI_F_EXTEND) == 0 \ + ? (a) + hba->lmmio_space_offset \ + : (a)) #else /* !CONFIG_64BIT */ |