All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] PCI DMA pseudo-bypass for powernv
@ 2018-06-29  7:34 Russell Currey
  2018-06-29  7:34 ` [PATCH 1/3] powerpc/powernv/pci: Track largest available TCE order per PHB Russell Currey
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Russell Currey @ 2018-06-29  7:34 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: benh, alistair, aik, tpearson, Russell Currey

These patches implement a new set of DMA operations designed to allow
devices that cannot address bit 59 to use more than 32-bit DMA.

The previous implementation for PHB3 assumed contiguous memory, which
is no longer the case on POWER9 and possibly later.  As a result, a new
approach was necessary, which is what this new implementation does.

These patches aren't perfect yet - most notably, there is no
implementation of unmap() - once a TCE is created it is never freed.
For the most part this isn't an issue, but could potentially be a
problem for a device that can't address many bits and maps *a lot* of
memory.

I have a much more complex implementation in the back that I will post
in future, but until that's ready and fully tested, I believe the
drastic performance improvement is worth getting this upstream sooner
rather than later.

Thanks to Benjamin Herrenschmidt, Alistair Popple and Timothy Pearson
for their help.

Russell Currey (3):
  powerpc/powernv/pci: Track largest available TCE order per PHB
  powerpc/powernv: DMA operations for discontiguous allocation
  powerpc/powernv/pci: Track TCE tables in debugfs

 arch/powerpc/include/asm/dma-mapping.h    |   1 +
 arch/powerpc/platforms/powernv/Makefile   |   2 +-
 arch/powerpc/platforms/powernv/pci-dma.c  | 243 ++++++++++++++++++++++
 arch/powerpc/platforms/powernv/pci-ioda.c | 132 +++++++-----
 arch/powerpc/platforms/powernv/pci.h      |  10 +
 5 files changed, 334 insertions(+), 54 deletions(-)
 create mode 100644 arch/powerpc/platforms/powernv/pci-dma.c

-- 
2.17.1

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

end of thread, other threads:[~2018-07-04  6:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-29  7:34 [PATCH 0/3] PCI DMA pseudo-bypass for powernv Russell Currey
2018-06-29  7:34 ` [PATCH 1/3] powerpc/powernv/pci: Track largest available TCE order per PHB Russell Currey
2018-07-02  7:32   ` Alexey Kardashevskiy
2018-07-02  7:34     ` Alexey Kardashevskiy
2018-07-03  5:49       ` Russell Currey
2018-06-29  7:34 ` [PATCH 2/3] powerpc/powernv: DMA operations for discontiguous allocation Russell Currey
2018-06-30  2:52   ` Benjamin Herrenschmidt
2018-07-02  8:47   ` Alexey Kardashevskiy
2018-07-03  6:09     ` Russell Currey
2018-07-04  6:12   ` Russell Currey
2018-06-29  7:34 ` [PATCH 3/3] powerpc/powernv/pci: Track TCE tables in debugfs Russell Currey

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.