All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joro@8bytes.org>
To: Will Deacon <will.deacon@arm.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>
Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	Joerg Roedel <joro@8bytes.org>
Subject: [PATCH 00/10 v2] Let IOMMU core know about individual IOMMUs
Date: Mon,  6 Feb 2017 17:10:19 +0100	[thread overview]
Message-ID: <1486397429-29327-1-git-send-email-joro@8bytes.org> (raw)

Changes since v1:

	* Rebased to v4.10-rc7
	* Fixed build failures found by the
	  kbuild test robot

Hi,

the IOMMU core code already has two ways of representing
individual hardware IOMMUs. One is the sysfs code and the
other is the newer iommu_register_instance interface. These
two interfaces are special purpose and can be unified.

This unification is attempted in this patch-set. It
introduces an extensible 'struct iommu_device' which
represents a hardware IOMMU in the IOMMU core code.

For now the struct contains a pointer to the iommu_ops, which
is a step to get rid of the per-bus iommu_ops, and a pointer
to a firmware-node structure.

The patches have been tested on x86 hardware and an AMD Seattle
ARM64 system.

Please review, test and provide feedback!

Thanks a lot,

       Joerg

Joerg Roedel (10):
  iommu: Rename iommu_get_instance()
  iommu: Rename struct iommu_device
  iommu: Introduce new 'struct iommu_device'
  iommu: Add sysfs bindings for struct iommu_device
  iommu: Make iommu_device_link/unlink take a struct iommu_device
  iommu/arm-smmu: Make use of the iommu_register interface
  iommu/msm: Make use of iommu_device_register interface
  iommu/mediatek: Make use of iommu_device_register interface
  iommu/exynos: Make use of iommu_device_register interface
  iommu: Remove iommu_register_instance interface

 drivers/acpi/arm64/iort.c       |  2 +-
 drivers/iommu/amd_iommu.c       | 18 ++++++----
 drivers/iommu/amd_iommu_init.c  |  9 +++--
 drivers/iommu/amd_iommu_types.h |  4 +--
 drivers/iommu/arm-smmu-v3.c     | 21 ++++++++++--
 drivers/iommu/arm-smmu.c        | 31 ++++++++++++++++-
 drivers/iommu/dmar.c            | 20 +++++++----
 drivers/iommu/exynos-iommu.c    | 18 ++++++++--
 drivers/iommu/intel-iommu.c     | 19 ++++++-----
 drivers/iommu/iommu-sysfs.c     | 61 +++++++++++++++-------------------
 drivers/iommu/iommu.c           | 68 +++++++++++++++++---------------------
 drivers/iommu/msm_iommu.c       | 73 ++++++++++++++++++++++++++++++++++++++++-
 drivers/iommu/msm_iommu.h       |  3 ++
 drivers/iommu/mtk_iommu.c       | 27 ++++++++++++++-
 drivers/iommu/mtk_iommu.h       |  2 ++
 include/linux/intel-iommu.h     |  3 +-
 include/linux/iommu.h           | 65 ++++++++++++++++++++++++------------
 include/linux/of_iommu.h        |  8 +----
 18 files changed, 316 insertions(+), 136 deletions(-)

-- 
1.9.1

WARNING: multiple messages have this Message-ID (diff)
From: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
To: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	Robin Murphy <robin.murphy-5wv7dgnIgG8@public.gmane.org>,
	Lorenzo Pieralisi
	<lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>,
	Alex Williamson
	<alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 00/10 v2] Let IOMMU core know about individual IOMMUs
Date: Mon,  6 Feb 2017 17:10:19 +0100	[thread overview]
Message-ID: <1486397429-29327-1-git-send-email-joro@8bytes.org> (raw)

Changes since v1:

	* Rebased to v4.10-rc7
	* Fixed build failures found by the
	  kbuild test robot

Hi,

the IOMMU core code already has two ways of representing
individual hardware IOMMUs. One is the sysfs code and the
other is the newer iommu_register_instance interface. These
two interfaces are special purpose and can be unified.

This unification is attempted in this patch-set. It
introduces an extensible 'struct iommu_device' which
represents a hardware IOMMU in the IOMMU core code.

For now the struct contains a pointer to the iommu_ops, which
is a step to get rid of the per-bus iommu_ops, and a pointer
to a firmware-node structure.

The patches have been tested on x86 hardware and an AMD Seattle
ARM64 system.

Please review, test and provide feedback!

Thanks a lot,

       Joerg

Joerg Roedel (10):
  iommu: Rename iommu_get_instance()
  iommu: Rename struct iommu_device
  iommu: Introduce new 'struct iommu_device'
  iommu: Add sysfs bindings for struct iommu_device
  iommu: Make iommu_device_link/unlink take a struct iommu_device
  iommu/arm-smmu: Make use of the iommu_register interface
  iommu/msm: Make use of iommu_device_register interface
  iommu/mediatek: Make use of iommu_device_register interface
  iommu/exynos: Make use of iommu_device_register interface
  iommu: Remove iommu_register_instance interface

 drivers/acpi/arm64/iort.c       |  2 +-
 drivers/iommu/amd_iommu.c       | 18 ++++++----
 drivers/iommu/amd_iommu_init.c  |  9 +++--
 drivers/iommu/amd_iommu_types.h |  4 +--
 drivers/iommu/arm-smmu-v3.c     | 21 ++++++++++--
 drivers/iommu/arm-smmu.c        | 31 ++++++++++++++++-
 drivers/iommu/dmar.c            | 20 +++++++----
 drivers/iommu/exynos-iommu.c    | 18 ++++++++--
 drivers/iommu/intel-iommu.c     | 19 ++++++-----
 drivers/iommu/iommu-sysfs.c     | 61 +++++++++++++++-------------------
 drivers/iommu/iommu.c           | 68 +++++++++++++++++---------------------
 drivers/iommu/msm_iommu.c       | 73 ++++++++++++++++++++++++++++++++++++++++-
 drivers/iommu/msm_iommu.h       |  3 ++
 drivers/iommu/mtk_iommu.c       | 27 ++++++++++++++-
 drivers/iommu/mtk_iommu.h       |  2 ++
 include/linux/intel-iommu.h     |  3 +-
 include/linux/iommu.h           | 65 ++++++++++++++++++++++++------------
 include/linux/of_iommu.h        |  8 +----
 18 files changed, 316 insertions(+), 136 deletions(-)

-- 
1.9.1

             reply	other threads:[~2017-02-06 16:10 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-06 16:10 Joerg Roedel [this message]
2017-02-06 16:10 ` [PATCH 00/10 v2] Let IOMMU core know about individual IOMMUs Joerg Roedel
2017-02-06 16:10 ` [PATCH 01/10] iommu: Rename iommu_get_instance() Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10 ` [PATCH 02/10] iommu: Rename struct iommu_device Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10 ` [PATCH 03/10] iommu: Introduce new 'struct iommu_device' Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10 ` [PATCH 04/10] iommu: Add sysfs bindings for struct iommu_device Joerg Roedel
2017-02-06 16:10 ` [PATCH 05/10] iommu: Make iommu_device_link/unlink take a " Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10 ` [PATCH 06/10] iommu/arm-smmu: Make use of the iommu_register interface Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10 ` [PATCH 07/10] iommu/msm: Make use of iommu_device_register interface Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-07  4:32   ` kbuild test robot
2017-02-07  4:32     ` kbuild test robot
2017-02-06 16:10 ` [PATCH 08/10] iommu/mediatek: " Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-07  4:51   ` kbuild test robot
2017-02-07  4:51     ` kbuild test robot
2017-02-07  4:51     ` kbuild test robot
2017-02-06 16:10 ` [PATCH 09/10] iommu/exynos: " Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-07  5:12   ` kbuild test robot
2017-02-07  5:12     ` kbuild test robot
2017-02-07  5:12     ` kbuild test robot
2017-02-07 12:36   ` Marek Szyprowski
2017-02-07 12:36     ` Marek Szyprowski
2017-02-08 13:57     ` Joerg Roedel
2017-02-08 13:57       ` Joerg Roedel
2017-02-08 13:57       ` Joerg Roedel
2017-02-08 14:09       ` Marek Szyprowski
2017-02-08 14:09         ` Marek Szyprowski
2017-02-08 14:09         ` Marek Szyprowski
2017-02-06 16:10 ` [PATCH 10/10] iommu: Remove iommu_register_instance interface Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel
2017-02-06 16:10   ` Joerg Roedel

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=1486397429-29327-1-git-send-email-joro@8bytes.org \
    --to=joro@8bytes.org \
    --cc=alex.williamson@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=robin.murphy@arm.com \
    --cc=will.deacon@arm.com \
    /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.