Message ID | 1470213656-1042-5-git-send-email-aik@ozlabs.ru (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
On Wed, Aug 03, 2016 at 06:40:45PM +1000, Alexey Kardashevskiy wrote: > "powerpc/powernv/pci: Rework accessing the TCE invalidate register" > broke TCE invalidation on IODA2/PHB3 for real mode. > > This makes invalidate work again. > > Fixes: fd141d1a99a3 > Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> > --- > arch/powerpc/platforms/powernv/pci-ioda.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c > index 53b56c0..59c7e7d 100644 > --- a/arch/powerpc/platforms/powernv/pci-ioda.c > +++ b/arch/powerpc/platforms/powernv/pci-ioda.c > @@ -1877,7 +1877,7 @@ static void pnv_pci_phb3_tce_invalidate(struct pnv_ioda_pe *pe, bool rm, > unsigned shift, unsigned long index, > unsigned long npages) > { > - __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, false); > + __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, rm); > unsigned long start, end, inc; > > /* We'll invalidate DMA address in PE scope */ > @@ -1935,10 +1935,12 @@ static void pnv_pci_ioda2_tce_invalidate(struct iommu_table *tbl, > pnv_pci_phb3_tce_invalidate(pe, rm, shift, > index, npages); > else if (rm) > + { > opal_rm_pci_tce_kill(phb->opal_id, > OPAL_PCI_TCE_KILL_PAGES, > pe->pe_number, 1u << shift, > index << shift, npages); > + } These braces look a) unrelated to the actual point of the patch, b) unnecessary and c) not in keeping with normal coding style. > else > opal_pci_tce_kill(phb->opal_id, > OPAL_PCI_TCE_KILL_PAGES,
On Wed, 2016-03-08 at 08:40:45 UTC, Alexey Kardashevskiy wrote: > "powerpc/powernv/pci: Rework accessing the TCE invalidate register" > broke TCE invalidation on IODA2/PHB3 for real mode. > > This makes invalidate work again. > > Fixes: fd141d1a99a3 > Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Applied to powerpc fixes, thanks. https://git.kernel.org/powerpc/c/4d9021957b5218310e28767f25 cheers
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c index 53b56c0..59c7e7d 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c @@ -1877,7 +1877,7 @@ static void pnv_pci_phb3_tce_invalidate(struct pnv_ioda_pe *pe, bool rm, unsigned shift, unsigned long index, unsigned long npages) { - __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, false); + __be64 __iomem *invalidate = pnv_ioda_get_inval_reg(pe->phb, rm); unsigned long start, end, inc; /* We'll invalidate DMA address in PE scope */ @@ -1935,10 +1935,12 @@ static void pnv_pci_ioda2_tce_invalidate(struct iommu_table *tbl, pnv_pci_phb3_tce_invalidate(pe, rm, shift, index, npages); else if (rm) + { opal_rm_pci_tce_kill(phb->opal_id, OPAL_PCI_TCE_KILL_PAGES, pe->pe_number, 1u << shift, index << shift, npages); + } else opal_pci_tce_kill(phb->opal_id, OPAL_PCI_TCE_KILL_PAGES,
"powerpc/powernv/pci: Rework accessing the TCE invalidate register" broke TCE invalidation on IODA2/PHB3 for real mode. This makes invalidate work again. Fixes: fd141d1a99a3 Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- arch/powerpc/platforms/powernv/pci-ioda.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)