From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: Robin Murphy <robin.murphy@arm.com>,
iommu@lists.linux-foundation.org,
Will Deacon <will.deacon@arm.com>,
Hanjun Guo <hanjun.guo@linaro.org>,
Marc Zyngier <marc.zyngier@arm.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Tomasz Nowicki <tn@semihalf.com>, Jon Masters <jcm@redhat.com>,
Eric Auger <eric.auger@redhat.com>,
Sinan Kaya <okaya@codeaurora.org>,
Nate Watterson <nwatters@codeaurora.org>,
Prem Mallappa <prem.mallappa@broadcom.com>,
Dennis Chen <dennis.chen@arm.com>,
linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v7 04/16] drivers: iommu: make of_iommu_set/get_ops() DT agnostic
Date: Mon, 14 Nov 2016 16:42:28 +0000 [thread overview]
Message-ID: <20161114164228.GA31339@red-moon> (raw)
In-Reply-To: <20161114155222.GZ2078@8bytes.org>
On Mon, Nov 14, 2016 at 04:52:23PM +0100, Joerg Roedel wrote:
> On Mon, Nov 14, 2016 at 12:00:47PM +0000, Robin Murphy wrote:
> > If we've already made the decision to move away from bus ops, I don't
> > see that it makes sense to deliberately introduce new dependencies on
> > them. Besides, as it stands, this patch literally implements "tell the
> > iommu-core which hardware-iommus exist in the system and a seperate
> > iommu_ops ptr for each of them" straight off.
>
> Not sure which code you are looking at, but as I see it we have only
> per-device iommu-ops now (with this patch). That is different from
> having core-visible hardware-iommu instances where devices could link
> to.
This patch enables the IOMMU-OF-node<->device look-up on non-OF (ie
ACPI) systems by "converting" the of_node to a generic fwnode_handle,
that's all it does (and move the related look-up code from
drivers/iommu/of_iommu.c to drivers/iommu/iommu.c so that it does
not depend on OF_IOMMU any longer).
> Also the rest of iommu-core code still makes use of the per-bus ops. The
> per-device ops are only used for the of_xlate fn-ptr.
I can put this patch on the backburner and retrieve the iommu_ops
through the dev->bus path in the IORT xlate function (iort_iommu_xlate()
introduced in the last patch), the change is trivial and should work
just fine but it deserves a v8 to give everyone a chance to test it.
We would end-up handling the device->iommu_ops look-up differently in DT
and ACPI for streamid translations though, I am not sure I see a reason
why.
Thanks,
Lorenzo
WARNING: multiple messages have this Message-ID (diff)
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 04/16] drivers: iommu: make of_iommu_set/get_ops() DT agnostic
Date: Mon, 14 Nov 2016 16:42:28 +0000 [thread overview]
Message-ID: <20161114164228.GA31339@red-moon> (raw)
In-Reply-To: <20161114155222.GZ2078@8bytes.org>
On Mon, Nov 14, 2016 at 04:52:23PM +0100, Joerg Roedel wrote:
> On Mon, Nov 14, 2016 at 12:00:47PM +0000, Robin Murphy wrote:
> > If we've already made the decision to move away from bus ops, I don't
> > see that it makes sense to deliberately introduce new dependencies on
> > them. Besides, as it stands, this patch literally implements "tell the
> > iommu-core which hardware-iommus exist in the system and a seperate
> > iommu_ops ptr for each of them" straight off.
>
> Not sure which code you are looking at, but as I see it we have only
> per-device iommu-ops now (with this patch). That is different from
> having core-visible hardware-iommu instances where devices could link
> to.
This patch enables the IOMMU-OF-node<->device look-up on non-OF (ie
ACPI) systems by "converting" the of_node to a generic fwnode_handle,
that's all it does (and move the related look-up code from
drivers/iommu/of_iommu.c to drivers/iommu/iommu.c so that it does
not depend on OF_IOMMU any longer).
> Also the rest of iommu-core code still makes use of the per-bus ops. The
> per-device ops are only used for the of_xlate fn-ptr.
I can put this patch on the backburner and retrieve the iommu_ops
through the dev->bus path in the IORT xlate function (iort_iommu_xlate()
introduced in the last patch), the change is trivial and should work
just fine but it deserves a v8 to give everyone a chance to test it.
We would end-up handling the device->iommu_ops look-up differently in DT
and ACPI for streamid translations though, I am not sure I see a reason
why.
Thanks,
Lorenzo
next prev parent reply other threads:[~2016-11-14 16:42 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-09 14:19 [PATCH v7 00/16] ACPI IORT ARM SMMU support Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 02/16] drivers: acpi: iort: introduce linker section for IORT entries probing Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
[not found] ` <20161109141948.19244-1-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2016-11-09 14:19 ` [PATCH v7 01/16] drivers: acpi: add FWNODE_ACPI_STATIC fwnode type Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
[not found] ` <20161109141948.19244-2-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2016-11-09 23:37 ` Rafael J. Wysocki
2016-11-09 23:37 ` Rafael J. Wysocki
2016-11-09 23:37 ` Rafael J. Wysocki
2016-11-09 23:37 ` Rafael J. Wysocki
2016-11-09 14:19 ` [PATCH v7 03/16] drivers: acpi: iort: add support for IOMMU fwnode registration Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 04/16] drivers: iommu: make of_iommu_set/get_ops() DT agnostic Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:40 ` Robin Murphy
2016-11-09 14:40 ` Robin Murphy
[not found] ` <c3136fae-144c-5949-3933-671b783671c8-5wv7dgnIgG8@public.gmane.org>
2016-11-10 11:05 ` Lorenzo Pieralisi
2016-11-10 11:05 ` Lorenzo Pieralisi
2016-11-10 11:05 ` Lorenzo Pieralisi
2016-11-10 11:05 ` Lorenzo Pieralisi
2016-11-11 15:22 ` Joerg Roedel
2016-11-11 15:22 ` Joerg Roedel
2016-11-11 16:17 ` Robin Murphy
2016-11-11 16:17 ` Robin Murphy
2016-11-11 16:27 ` Joerg Roedel
2016-11-11 16:27 ` Joerg Roedel
[not found] ` <20161111162736.GV2078-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2016-11-11 17:43 ` Robin Murphy
2016-11-11 17:43 ` Robin Murphy
2016-11-11 17:43 ` Robin Murphy
2016-11-14 10:26 ` Lorenzo Pieralisi
2016-11-14 10:26 ` Lorenzo Pieralisi
2016-11-14 12:00 ` Robin Murphy
2016-11-14 12:00 ` Robin Murphy
[not found] ` <41e3eff1-9ce6-bcfb-5716-c65ef38add63-5wv7dgnIgG8@public.gmane.org>
2016-11-14 15:52 ` Joerg Roedel
2016-11-14 15:52 ` Joerg Roedel
2016-11-14 15:52 ` Joerg Roedel
2016-11-14 16:42 ` Lorenzo Pieralisi [this message]
2016-11-14 16:42 ` Lorenzo Pieralisi
2016-11-14 18:25 ` Robin Murphy
2016-11-14 18:25 ` Robin Murphy
2016-11-15 10:07 ` Lorenzo Pieralisi
2016-11-15 10:07 ` Lorenzo Pieralisi
2016-11-16 9:56 ` Lorenzo Pieralisi
2016-11-16 9:56 ` Lorenzo Pieralisi
2016-11-29 16:05 ` Joerg Roedel
2016-11-29 16:05 ` Joerg Roedel
2016-11-29 16:05 ` Joerg Roedel
2016-11-29 17:06 ` Will Deacon
2016-11-29 17:06 ` Will Deacon
2016-11-09 14:19 ` [PATCH v7 05/16] drivers: iommu: arm-smmu: convert struct device of_node to fwnode usage Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
[not found] ` <20161109141948.19244-6-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2016-11-09 14:43 ` Robin Murphy
2016-11-09 14:43 ` Robin Murphy
2016-11-09 14:43 ` Robin Murphy
2016-11-09 14:19 ` [PATCH v7 06/16] drivers: iommu: arm-smmu-v3: " Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
[not found] ` <20161109141948.19244-7-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2016-11-09 14:44 ` Robin Murphy
2016-11-09 14:44 ` Robin Murphy
2016-11-09 14:44 ` Robin Murphy
2016-11-09 14:19 ` [PATCH v7 07/16] drivers: acpi: implement acpi_dma_configure Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
[not found] ` <20161109141948.19244-8-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2016-11-09 15:33 ` Robin Murphy
2016-11-09 15:33 ` Robin Murphy
2016-11-09 15:33 ` Robin Murphy
2016-11-09 15:33 ` Robin Murphy
2016-11-16 0:55 ` Rafael J. Wysocki
2016-11-16 0:55 ` Rafael J. Wysocki
2016-11-16 0:55 ` Rafael J. Wysocki
2016-11-09 14:19 ` [PATCH v7 09/16] drivers: acpi: iort: add support for ARM SMMU platform devices creation Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 10/16] drivers: iommu: arm-smmu-v3: split probe functions into DT/generic portions Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 12/16] drivers: iommu: arm-smmu: " Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 13/16] drivers: iommu: arm-smmu: add IORT configuration Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 15/16] drivers: acpi: iort: add single mapping function Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 08/16] drivers: acpi: iort: add node match function Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 11/16] drivers: iommu: arm-smmu-v3: add IORT configuration Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 14/16] drivers: acpi: iort: replace rid map type with type mask Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-09 14:19 ` [PATCH v7 16/16] drivers: acpi: iort: introduce iort_iommu_configure Lorenzo Pieralisi
2016-11-09 14:19 ` Lorenzo Pieralisi
2016-11-16 0:56 ` Rafael J. Wysocki
2016-11-16 0:56 ` Rafael J. Wysocki
2016-11-16 0:56 ` Rafael J. Wysocki
2016-11-09 23:36 ` [PATCH v7 00/16] ACPI IORT ARM SMMU support Rafael J. Wysocki
2016-11-09 23:36 ` Rafael J. Wysocki
2016-11-09 23:36 ` Rafael J. Wysocki
2016-11-09 23:36 ` Rafael J. Wysocki
2016-11-10 10:58 ` Lorenzo Pieralisi
2016-11-10 10:58 ` Lorenzo Pieralisi
2016-11-10 10:58 ` Lorenzo Pieralisi
[not found] ` <CAJZ5v0j09fsp4Y66v2UANOGnW4FNO7PWxpZY=Pgw=bUccEL_eA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-15 10:12 ` Lorenzo Pieralisi
2016-11-15 10:12 ` Lorenzo Pieralisi
2016-11-15 10:12 ` Lorenzo Pieralisi
2016-11-15 13:04 ` Rafael J. Wysocki
2016-11-15 13:04 ` Rafael J. Wysocki
2016-11-15 13:04 ` Rafael J. Wysocki
[not found] ` <CAJZ5v0gh9qB41zcnvnETDA-5ho577uhxE4rehZqEXorFViY__w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-15 14:07 ` Lorenzo Pieralisi
2016-11-15 14:07 ` Lorenzo Pieralisi
2016-11-15 14:07 ` Lorenzo Pieralisi
2016-11-11 12:44 ` Hanjun Guo
2016-11-11 12:44 ` Hanjun Guo
2016-11-16 13:28 ` Tomasz Nowicki
2016-11-16 13:28 ` Tomasz Nowicki
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=20161114164228.GA31339@red-moon \
--to=lorenzo.pieralisi@arm.com \
--cc=dennis.chen@arm.com \
--cc=eric.auger@redhat.com \
--cc=hanjun.guo@linaro.org \
--cc=iommu@lists.linux-foundation.org \
--cc=jcm@redhat.com \
--cc=joro@8bytes.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=nwatters@codeaurora.org \
--cc=okaya@codeaurora.org \
--cc=prem.mallappa@broadcom.com \
--cc=rjw@rjwysocki.net \
--cc=robin.murphy@arm.com \
--cc=tn@semihalf.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.