All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org,
	will.deacon-5wv7dgnIgG8@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org
Cc: laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	djkurtz-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
	thunder.leizhen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org,
	yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	yong.wu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org
Subject: [PATCH v4 0/4] arm64: IOMMU-backed DMA mapping
Date: Thu, 16 Jul 2015 19:40:11 +0100	[thread overview]
Message-ID: <cover.1437070995.git.robin.murphy@arm.com> (raw)

Hi all,

Here's a quick repost to address feedback on v3, and a couple of other
tweaks. Changes this round:

- Fix the heinous dma_mask/coherency confusion, which also simplifies
  some prototypes and parameter passing as a bonus.
- Reorder the iommu_map/unmap in alloc/free to prevent any potential
  access the wrong side of clearing/freeing the pages.
- Made the unconditional clearing of allocations a bit more explicit.
- Made the default domain workaround more robust against the possibility
  of an IOMMU driver giving back the same domain for multiple devices.

Robin.

v3: http://thread.gmane.org/gmane.linux.kernel.iommu/10133
Updated branch at: git://linux-arm.org/linux-rm iommu/dma

Robin Murphy (4):
  iommu/iova: Avoid over-allocating when size-aligned
  iommu: Implement common IOMMU ops for DMA mapping
  arm64: Add IOMMU dma_ops
  arm64: Hook up IOMMU dma_ops

 arch/arm64/Kconfig                   |   1 +
 arch/arm64/include/asm/dma-mapping.h |  15 +-
 arch/arm64/mm/dma-mapping.c          | 452 +++++++++++++++++++++++++++++
 drivers/iommu/Kconfig                |   7 +
 drivers/iommu/Makefile               |   1 +
 drivers/iommu/dma-iommu.c            | 538 +++++++++++++++++++++++++++++++++++
 drivers/iommu/intel-iommu.c          |   2 +
 drivers/iommu/iova.c                 |  23 +-
 include/linux/dma-iommu.h            |  84 ++++++
 include/linux/iommu.h                |   1 +
 10 files changed, 1099 insertions(+), 25 deletions(-)
 create mode 100644 drivers/iommu/dma-iommu.c
 create mode 100644 include/linux/dma-iommu.h

-- 
1.9.1

WARNING: multiple messages have this Message-ID (diff)
From: robin.murphy@arm.com (Robin Murphy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 0/4] arm64: IOMMU-backed DMA mapping
Date: Thu, 16 Jul 2015 19:40:11 +0100	[thread overview]
Message-ID: <cover.1437070995.git.robin.murphy@arm.com> (raw)

Hi all,

Here's a quick repost to address feedback on v3, and a couple of other
tweaks. Changes this round:

- Fix the heinous dma_mask/coherency confusion, which also simplifies
  some prototypes and parameter passing as a bonus.
- Reorder the iommu_map/unmap in alloc/free to prevent any potential
  access the wrong side of clearing/freeing the pages.
- Made the unconditional clearing of allocations a bit more explicit.
- Made the default domain workaround more robust against the possibility
  of an IOMMU driver giving back the same domain for multiple devices.

Robin.

v3: http://thread.gmane.org/gmane.linux.kernel.iommu/10133
Updated branch at: git://linux-arm.org/linux-rm iommu/dma

Robin Murphy (4):
  iommu/iova: Avoid over-allocating when size-aligned
  iommu: Implement common IOMMU ops for DMA mapping
  arm64: Add IOMMU dma_ops
  arm64: Hook up IOMMU dma_ops

 arch/arm64/Kconfig                   |   1 +
 arch/arm64/include/asm/dma-mapping.h |  15 +-
 arch/arm64/mm/dma-mapping.c          | 452 +++++++++++++++++++++++++++++
 drivers/iommu/Kconfig                |   7 +
 drivers/iommu/Makefile               |   1 +
 drivers/iommu/dma-iommu.c            | 538 +++++++++++++++++++++++++++++++++++
 drivers/iommu/intel-iommu.c          |   2 +
 drivers/iommu/iova.c                 |  23 +-
 include/linux/dma-iommu.h            |  84 ++++++
 include/linux/iommu.h                |   1 +
 10 files changed, 1099 insertions(+), 25 deletions(-)
 create mode 100644 drivers/iommu/dma-iommu.c
 create mode 100644 include/linux/dma-iommu.h

-- 
1.9.1

             reply	other threads:[~2015-07-16 18:40 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-16 18:40 Robin Murphy [this message]
2015-07-16 18:40 ` [PATCH v4 0/4] arm64: IOMMU-backed DMA mapping Robin Murphy
     [not found] ` <cover.1437070995.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2015-07-16 18:40   ` [PATCH v4 1/4] iommu/iova: Avoid over-allocating when size-aligned Robin Murphy
2015-07-16 18:40     ` Robin Murphy
     [not found]     ` <35cb877828b570db84e89684ef76308cd1857f0c.1437070995.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2015-07-28 13:31       ` David Woodhouse
2015-07-28 13:31         ` David Woodhouse
2015-07-16 18:40   ` [PATCH v4 2/4] iommu: Implement common IOMMU ops for DMA mapping Robin Murphy
2015-07-16 18:40     ` Robin Murphy
     [not found]     ` <00fb13713dc8a69dc32b859f9311e70d78fb0c7a.1437070995.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2015-07-28 16:45       ` Catalin Marinas
2015-07-28 16:45         ` Catalin Marinas
2015-07-16 18:40   ` [PATCH v4 3/4] arm64: Add IOMMU dma_ops Robin Murphy
2015-07-16 18:40     ` Robin Murphy
     [not found]     ` <f51a6dfad1367107b07ca43624a990a62f3d4f3c.1437070995.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2015-07-28 17:27       ` Catalin Marinas
2015-07-28 17:27         ` Catalin Marinas
2015-07-16 18:40   ` [PATCH v4 4/4] arm64: Hook up " Robin Murphy
2015-07-16 18:40     ` Robin Murphy
     [not found]     ` <fecbcc50e62ae86639c886ab86e4ec067d52b16a.1437070995.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2015-07-28 17:30       ` Catalin Marinas
2015-07-28 17:30         ` Catalin Marinas
2015-07-20 15:26   ` [PATCH v4 0/4] arm64: IOMMU-backed DMA mapping Joerg Roedel
2015-07-20 15:26     ` Joerg Roedel
     [not found]     ` <20150720152637.GD10969-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-07-20 17:23       ` Robin Murphy
2015-07-20 17:23         ` Robin Murphy
     [not found]         ` <55AD2E97.1040901-5wv7dgnIgG8@public.gmane.org>
2015-07-28 12:46           ` Will Deacon
2015-07-28 12:46             ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1437070995.git.robin.murphy@arm.com \
    --to=robin.murphy-5wv7dgnigg8@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=djkurtz-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
    --cc=laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=thunder.leizhen-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
    --cc=yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    --cc=yong.wu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.