linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] powerpv/powernv: Restore pnv_npu_try_dma_set_bypass()
@ 2019-10-30 16:59 Reza Arbab
  2019-10-30 16:59 ` [PATCH 01/11] Revert "powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function" Reza Arbab
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Reza Arbab @ 2019-10-30 16:59 UTC (permalink / raw)
  To: linuxppc-dev
  Cc: Andrew Donnellan, Alexey Kardashevskiy, Oliver O'Halloran,
	Alistair Popple, Paul Mackerras, Thomas Gleixner,
	Christoph Hellwig

With recent kernels, TCE tables for NPU devices are no longer being
configured. That task was performed by pnv_npu_try_dma_set_bypass(), a
function that got swept away in recent overhauling of dma code.

Patches 1-4 here bring the lost function back and reintegrate it with
the updated generic iommu bypass infrastructure.

Patch 5 fixes a regression in behavior when a requested dma mask can not
be fulfilled.

Patches 6-8 are cleanup. I put these later in the set because they
aren't bisectable until after the restored code is wired back in.

Patches 9-11 refactor pnv_pci_ioda_iommu_bypass_supported(). It seems
wrong for a boolean *_supported() function to have side effects. They
reintroduce a pci controller based dma_set_mask() hook. If that's
undesirable, these last three patches can be dropped.

Reza Arbab (11):
  Revert "powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass()
    function"
  powerpc/powernv: Add pnv_ioda_pe_iommu_bypass_supported()
  powerpc/powernv/npu: Change pnv_npu_try_dma_set_bypass() argument
  powerpc/powernv/npu: Wire up pnv_npu_try_dma_set_bypass()
  powerpc/powernv: Return failure for some uses of dma_set_mask()
  powerpc/powernv: Remove intermediate variable
  powerpc/powernv/npu: Simplify pnv_npu_try_dma_set_bypass() loop
  powerpc/powernv: Replace open coded pnv_ioda_get_pe()s
  Revert "powerpc/pci: remove the dma_set_mask pci_controller ops
    methods"
  powerpc/powernv: Add pnv_phb3_iommu_bypass_supported()
  powerpc/powernv: Add pnv_pci_ioda_dma_set_mask()

 arch/powerpc/include/asm/pci-bridge.h     |   2 +
 arch/powerpc/kernel/dma-iommu.c           |  19 ++++--
 arch/powerpc/kernel/dma-mask.c            |   9 +++
 arch/powerpc/platforms/powernv/Kconfig    |   1 +
 arch/powerpc/platforms/powernv/npu-dma.c  | 106 +++++++++++++++++++++++++++---
 arch/powerpc/platforms/powernv/pci-ioda.c |  71 ++++++++++++--------
 arch/powerpc/platforms/powernv/pci.h      |  10 ++-
 7 files changed, 177 insertions(+), 41 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-10-30 18:38 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-30 16:59 [PATCH 00/11] powerpv/powernv: Restore pnv_npu_try_dma_set_bypass() Reza Arbab
2019-10-30 16:59 ` [PATCH 01/11] Revert "powerpc/powernv: Remove unused pnv_npu_try_dma_set_bypass() function" Reza Arbab
2019-10-30 16:59 ` [PATCH 02/11] powerpc/powernv: Add pnv_ioda_pe_iommu_bypass_supported() Reza Arbab
2019-10-30 16:59 ` [PATCH 03/11] powerpc/powernv/npu: Change pnv_npu_try_dma_set_bypass() argument Reza Arbab
2019-10-30 16:59 ` [PATCH 04/11] powerpc/powernv/npu: Wire up pnv_npu_try_dma_set_bypass() Reza Arbab
2019-10-30 16:59 ` [PATCH 05/11] powerpc/powernv: Return failure for some uses of dma_set_mask() Reza Arbab
2019-10-30 16:59 ` [PATCH 06/11] powerpc/powernv: Remove intermediate variable Reza Arbab
2019-10-30 16:59 ` [PATCH 07/11] powerpc/powernv/npu: Simplify pnv_npu_try_dma_set_bypass() loop Reza Arbab
2019-10-30 16:59 ` [PATCH 08/11] powerpc/powernv: Replace open coded pnv_ioda_get_pe()s Reza Arbab
2019-10-30 16:59 ` [PATCH 09/11] Revert "powerpc/pci: remove the dma_set_mask pci_controller ops methods" Reza Arbab
2019-10-30 16:59 ` [PATCH 10/11] powerpc/powernv: Add pnv_phb3_iommu_bypass_supported() Reza Arbab
2019-10-30 17:00 ` [PATCH 11/11] powerpc/powernv: Add pnv_pci_ioda_dma_set_mask() Reza Arbab
2019-10-30 17:55   ` Christoph Hellwig
2019-10-30 18:10     ` Reza Arbab
2019-10-30 17:53 ` [PATCH 00/11] powerpv/powernv: Restore pnv_npu_try_dma_set_bypass() Christoph Hellwig
2019-10-30 18:08   ` Reza Arbab
2019-10-30 18:13     ` Christoph Hellwig
2019-10-30 18:32       ` Reza Arbab
2019-10-30 18:33         ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).