From: Grant Grundler Date: Wed, 11 Jan 2006 01:48:00 +0000 (-0500) Subject: [PARISC] Make PCI_HOST_ADDR and PCI_BUS_ADDR symmetrical X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9b9ff2e16a4609a7ab39b12e67fc56b51c8cd1f4;p=linux-beck.git [PARISC] Make PCI_HOST_ADDR and PCI_BUS_ADDR symmetrical Change to asm-parisc/pci.h makes the define of PCI_HOST_ADDR symmetrical with PCI_BUS_ADDR. Also add a comment about PA_VIEW and LMMIO/ELMMIO/GMMIO. Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin --- 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 */