diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2015-03-26 20:29:00 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2015-03-30 22:10:40 -0400 |
commit | 027fa02f84e851e21daffdf8900d6117071890f8 (patch) | |
tree | b0a0edef182df124404e010ba5ad3a38a1694949 /arch/powerpc/platforms | |
parent | 433185d2b4e9c25f2a444424c05af72fbadd4275 (diff) |
powerpc/powernv: Don't map M64 segments using M32DT
If M64 has been supported, the prefetchable 64-bits memory resources
shouldn't be mapped to the corresponding PE# via M32DT. Unfortunately,
we're doing that in pnv_ioda_setup_pe_seg() wrongly. The issue was
introduced by commit 262af55 ("powerpc/powernv: Enable M64 aperatus
for PHB3"). The patch fixes the issue by simply skipping M64 resources
when updating to M32DT.
Cc: <stable@vger.kernel.org> # v3.17+
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/powernv/pci-ioda.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index 26fe09936935..76b344125cef 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c | |||
@@ -1777,7 +1777,8 @@ static void pnv_ioda_setup_pe_seg(struct pci_controller *hose, | |||
1777 | region.start += phb->ioda.io_segsize; | 1777 | region.start += phb->ioda.io_segsize; |
1778 | index++; | 1778 | index++; |
1779 | } | 1779 | } |
1780 | } else if (res->flags & IORESOURCE_MEM) { | 1780 | } else if ((res->flags & IORESOURCE_MEM) && |
1781 | !pnv_pci_is_mem_pref_64(res->flags)) { | ||
1781 | region.start = res->start - | 1782 | region.start = res->start - |
1782 | hose->mem_offset[0] - | 1783 | hose->mem_offset[0] - |
1783 | phb->ioda.m32_pci_base; | 1784 | phb->ioda.m32_pci_base; |