All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon@arm.com>
To: Varun Sethi <Varun.Sethi@freescale.com>
Cc: Andreas Herrmann <andreas.herrmann@calxeda.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	Andreas Herrmann <herrmann.der.user@googlemail.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 02/11] iommu/arm-smmu: Introduce iommu_group notifier block
Date: Wed, 22 Jan 2014 13:40:28 +0000	[thread overview]
Message-ID: <20140122134028.GB14108@mudshark.cambridge.arm.com> (raw)
In-Reply-To: <a73ef0128a0141eabf0a3b899f3afdae@DM2PR03MB479.namprd03.prod.outlook.com>

On Wed, Jan 22, 2014 at 01:14:13PM +0000, Varun Sethi wrote:
> > On Tue, Jan 21, 2014 at 05:48:02PM +0000, Varun Sethi wrote:
> > > > +static int arm_smmu_group_notifier(struct notifier_block *nb,
> > > > +				unsigned long action, void *data) {
> > > > +	struct device *dev = data;
> > > > +	struct dma_iommu_mapping *mapping;
> > > > +	struct arm_smmu_device *smmu;
> > > > +	int ret;
> > > > +
> > > > +	switch (action) {
> > > > +	case IOMMU_GROUP_NOTIFY_BIND_DRIVER:
> > > > +
> > > > +		smmu = dev->archdata.iommu;
> > > > +		if (!smmu || !(smmu->options & ARM_SMMU_OPT_ISOLATE_DEVICES))
> > > > +			break;
> > > [Sethi Varun-B16395] Should this check be really done here? The
> > > "Isolate devices" property would allow us to set up iommu groups. My
> > > understanding is that if we specify the isolate devices property, then
> > > each device would have a separate iommu group otherwise all devices
> > > connected to the SMMU would share the iommu group.
> > 
> > That's not what currently happens (at least, in the patch I have queued
> > for groups). The code queued adds each device to its own group in
> > arm_smmu_add_device, which I think is the right thing to do.
> > 
> > > With that logic, we should link the mapping to the iommu group.
> > 
> > Ok, so are you suggesting that we perform the isolation mapping in
> > arm_smmu_add_device and drop the notifier altogether?
> I think that should be fine, until we want to delay mapping creation till
> driver bind time.

Is there a hard dependency on that?

> But the "isolate device" property should dictate iommu group creation.

The reason we added automatic group creation (per-device) is for VFIO, which
expects all devices to be in a group regardless of the device isolation
configuration.

Will

WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 02/11] iommu/arm-smmu: Introduce iommu_group notifier block
Date: Wed, 22 Jan 2014 13:40:28 +0000	[thread overview]
Message-ID: <20140122134028.GB14108@mudshark.cambridge.arm.com> (raw)
In-Reply-To: <a73ef0128a0141eabf0a3b899f3afdae@DM2PR03MB479.namprd03.prod.outlook.com>

On Wed, Jan 22, 2014 at 01:14:13PM +0000, Varun Sethi wrote:
> > On Tue, Jan 21, 2014 at 05:48:02PM +0000, Varun Sethi wrote:
> > > > +static int arm_smmu_group_notifier(struct notifier_block *nb,
> > > > +				unsigned long action, void *data) {
> > > > +	struct device *dev = data;
> > > > +	struct dma_iommu_mapping *mapping;
> > > > +	struct arm_smmu_device *smmu;
> > > > +	int ret;
> > > > +
> > > > +	switch (action) {
> > > > +	case IOMMU_GROUP_NOTIFY_BIND_DRIVER:
> > > > +
> > > > +		smmu = dev->archdata.iommu;
> > > > +		if (!smmu || !(smmu->options & ARM_SMMU_OPT_ISOLATE_DEVICES))
> > > > +			break;
> > > [Sethi Varun-B16395] Should this check be really done here? The
> > > "Isolate devices" property would allow us to set up iommu groups. My
> > > understanding is that if we specify the isolate devices property, then
> > > each device would have a separate iommu group otherwise all devices
> > > connected to the SMMU would share the iommu group.
> > 
> > That's not what currently happens (at least, in the patch I have queued
> > for groups). The code queued adds each device to its own group in
> > arm_smmu_add_device, which I think is the right thing to do.
> > 
> > > With that logic, we should link the mapping to the iommu group.
> > 
> > Ok, so are you suggesting that we perform the isolation mapping in
> > arm_smmu_add_device and drop the notifier altogether?
> I think that should be fine, until we want to delay mapping creation till
> driver bind time.

Is there a hard dependency on that?

> But the "isolate device" property should dictate iommu group creation.

The reason we added automatic group creation (per-device) is for VFIO, which
expects all devices to be in a group regardless of the device isolation
configuration.

Will

  reply	other threads:[~2014-01-22 13:40 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-16 12:44 [PATCH v4 0/11] iommu/arm-smmu: Misc modifications to support SMMUs on Calxeda ECX-2000 Andreas Herrmann
2014-01-16 12:44 ` Andreas Herrmann
     [not found] ` <1389876263-25759-1-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-16 12:44   ` [PATCH 01/11] iommu/arm-smmu: Introduce driver option handling Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
     [not found]     ` <1389876263-25759-2-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-22 11:51       ` Will Deacon
2014-01-22 11:51         ` Will Deacon
     [not found]         ` <20140122115143.GI1621-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-23 20:16           ` Andreas Herrmann
2014-01-23 20:16             ` Andreas Herrmann
2014-01-16 12:44   ` [PATCH 02/11] iommu/arm-smmu: Introduce bus notifier block Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
     [not found]     ` <1389876263-25759-3-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-18 20:59       ` Varun Sethi
2014-01-18 20:59         ` Varun Sethi
     [not found]         ` <419c2609cab14842b5258f7048ce6d43-AZ66ij2kwaacCcN9WK45f+O6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2014-01-20 21:29           ` Andreas Herrmann
2014-01-20 21:29             ` Andreas Herrmann
2014-01-20 21:53       ` [PATCH v2 02/11] iommu/arm-smmu: Introduce iommu_group " Andreas Herrmann
2014-01-20 21:53         ` Andreas Herrmann
2014-01-20 21:56         ` Andreas Herrmann
2014-01-20 21:56           ` Andreas Herrmann
2014-01-20 22:28       ` [PATCH v3 " Andreas Herrmann
2014-01-20 22:28         ` Andreas Herrmann
2014-01-21 17:48         ` Varun Sethi
2014-01-21 17:48           ` Varun Sethi
     [not found]           ` <e92c5fd617fb4068b4ec5de696527ee3-AZ66ij2kwaacCcN9WK45f+O6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2014-01-22 12:25             ` Will Deacon
2014-01-22 12:25               ` Will Deacon
     [not found]               ` <20140122122550.GA14108-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-22 13:14                 ` Varun Sethi
2014-01-22 13:14                   ` Varun Sethi
2014-01-22 13:40                   ` Will Deacon [this message]
2014-01-22 13:40                     ` Will Deacon
     [not found]                     ` <20140122134028.GB14108-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-22 13:54                       ` Varun Sethi
2014-01-22 13:54                         ` Varun Sethi
     [not found]                         ` <aeebc7cf4084486790a5166cf83cb332-AZ66ij2kwaacCcN9WK45f+O6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2014-01-22 15:33                           ` Will Deacon
2014-01-22 15:33                             ` Will Deacon
     [not found]                             ` <20140122153352.GE14108-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-22 19:07                               ` Varun Sethi
2014-01-22 19:07                                 ` Varun Sethi
     [not found]                                 ` <3d0a888e122f490ba6bbc80b1aaa977c-AZ66ij2kwaacCcN9WK45f+O6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2014-01-23 19:57                                   ` Andreas Herrmann
2014-01-23 19:57                                     ` Andreas Herrmann
2014-01-28 11:00                                     ` Varun Sethi
2014-01-28 11:00                                       ` Varun Sethi
     [not found]                                       ` <991cc0024ea54cdb964f31de89c0b0ea-AZ66ij2kwaacCcN9WK45f+O6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2014-01-29 14:14                                         ` Andreas Herrmann
2014-01-29 14:14                                           ` Andreas Herrmann
2014-01-29 19:19                                           ` Varun Sethi
2014-01-29 19:19                                             ` Varun Sethi
2014-01-23 19:24                               ` Andreas Herrmann
2014-01-23 19:24                                 ` Andreas Herrmann
2014-01-24  9:48                                 ` Andreas Herrmann
2014-01-24  9:48                                   ` Andreas Herrmann
2014-01-16 12:44   ` [PATCH 03/11] iommu/arm-smmu: Support buggy implementation where all config accesses are secure Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
2014-01-16 12:44   ` [PATCH 04/11] iommu/arm-smmu: Introduce automatic stream-id-masking Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
     [not found]     ` <1389876263-25759-5-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-22 15:26       ` Will Deacon
2014-01-22 15:26         ` Will Deacon
     [not found]         ` <20140122152622.GD14108-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-22 20:15           ` Andreas Herrmann
2014-01-22 20:15             ` Andreas Herrmann
2014-01-16 12:44   ` [PATCH 05/11] iommu/arm-smmu: Check for duplicate stream IDs when registering master devices Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
     [not found]     ` <1389876263-25759-6-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-22 15:53       ` Will Deacon
2014-01-22 15:53         ` Will Deacon
     [not found]         ` <20140122155302.GF14108-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-23 21:17           ` Andreas Herrmann
2014-01-23 21:17             ` Andreas Herrmann
2014-01-16 12:44   ` [PATCH 06/11] documentation/iommu: Update description of ARM System MMU binding Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
     [not found]     ` <1389876263-25759-7-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-16 14:31       ` Rob Herring
2014-01-16 14:31         ` Rob Herring
2014-01-16 12:44   ` [PATCH 07/11] iommu/arm-smmu: Set MAX_MASTER_STREAMIDS to MAX_PHANDLE_ARGS Andreas Herrmann
2014-01-16 12:44     ` Andreas Herrmann
2014-01-16 12:44 ` [PATCH 08/11] of: Increase MAX_PHANDLE_ARGS Andreas Herrmann
2014-01-16 12:44   ` Andreas Herrmann
     [not found]   ` <1389876263-25759-9-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-16 14:25     ` Rob Herring
2014-01-16 14:25       ` Rob Herring
     [not found]       ` <CAL_Jsq+fDUYne1OQAd4AeQw-JAoFBf0TCv4YVpy6Vt_UmdkA8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-17 11:00         ` Andreas Herrmann
2014-01-17 11:00           ` Andreas Herrmann
2014-01-17 11:08     ` [PATCH v2 " Andreas Herrmann
2014-01-17 11:08       ` Andreas Herrmann
2014-01-29 16:11       ` Suravee Suthikulanit
2014-01-29 16:11         ` Suravee Suthikulanit
     [not found]         ` < CAL_JsqLhzp5jUJPA91rNkQ07kCDYCDZLxw8LxxFEVP9b12e1Jw@mail.gmail.com>
     [not found]         ` <52E92842.3000001-5C7GfCeVMHo@public.gmane.org>
2014-01-29 16:57           ` Rob Herring
2014-01-29 16:57             ` Rob Herring
     [not found]             ` <CAL_JsqLhzp5jUJPA91rNkQ07kCDYCDZLxw8LxxFEVP9b12e1Jw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-29 16:59               ` Suravee Suthikulanit
2014-01-29 16:59                 ` Suravee Suthikulanit
     [not found]                 ` <52E93360.1000904-5C7GfCeVMHo@public.gmane.org>
2014-01-29 17:16                   ` Andreas Herrmann
2014-01-29 17:16                     ` Andreas Herrmann
2014-01-29 17:26                     ` Suravee Suthikulanit
2014-01-29 17:26                       ` Suravee Suthikulanit
     [not found]                       ` <52E939CB.1020705-5C7GfCeVMHo@public.gmane.org>
2014-01-29 17:29                         ` Will Deacon
2014-01-29 17:29                           ` Will Deacon
     [not found]                           ` <20140129172932.GQ26622-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-29 17:57                             ` Suravee Suthikulanit
2014-01-29 17:57                               ` Suravee Suthikulanit
     [not found]                               ` <52E940FC.9050602-5C7GfCeVMHo@public.gmane.org>
2014-01-29 18:03                                 ` Will Deacon
2014-01-29 18:03                                   ` Will Deacon
     [not found]                                   ` <20140129180350.GS26622-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-30 22:53                                     ` Suravee Suthikulanit
2014-01-30 22:53                                       ` Suravee Suthikulanit
     [not found]                                       ` <52EAD7EF.3040305-5C7GfCeVMHo@public.gmane.org>
2014-01-31  0:18                                         ` Will Deacon
2014-01-31  0:18                                           ` Will Deacon
2014-01-30 17:45                         ` Andreas Herrmann
2014-01-30 17:45                           ` Andreas Herrmann
2014-01-31 16:24                           ` Rob Herring
2014-01-31 16:24                             ` Rob Herring
     [not found]                             ` <CAL_Jsq+=dm4kPk=e0h_up9=wvED4fd3MBtSNFxm2NEz_yag-uA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-03 16:44                               ` Will Deacon
2014-02-03 16:44                                 ` Will Deacon
2014-02-04 17:33                   ` Grant Likely
2014-02-04 17:33                     ` Grant Likely
2014-02-04 17:36       ` Grant Likely
2014-02-04 17:36         ` Grant Likely
2014-01-16 12:44 ` [PATCH 09/11] ARM: dts: Add nodes for SMMUs on Calxeda ECX-2000 Andreas Herrmann
2014-01-16 12:44   ` Andreas Herrmann
     [not found]   ` <1389876263-25759-10-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-16 14:30     ` Rob Herring
2014-01-16 14:30       ` Rob Herring
     [not found]       ` <CAL_JsqK2JUBEvCb-=eHFE_T=2AD0K_+V=NAeijzK2DrCwkaCOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-17 11:01         ` Andreas Herrmann
2014-01-17 11:01           ` Andreas Herrmann
2014-01-17 11:16     ` [PATCH v2 " Andreas Herrmann
2014-01-17 11:16       ` Andreas Herrmann
2014-01-16 12:44 ` [PATCH 10/11] arm: dma-mapping: Add additional parameters to arm_iommu_create_mapping Andreas Herrmann
2014-01-16 12:44   ` Andreas Herrmann
     [not found]   ` <1389876263-25759-11-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-22 16:01     ` Will Deacon
2014-01-22 16:01       ` Will Deacon
2014-01-16 12:44 ` [PATCH 11/11] arm: dma-mapping: Add support to extend DMA IOMMU mappings Andreas Herrmann
2014-01-16 12:44   ` Andreas Herrmann
     [not found]   ` <1389876263-25759-12-git-send-email-andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
2014-01-22 16:10     ` Will Deacon
2014-01-22 16:10       ` Will Deacon
     [not found]       ` <20140122161010.GH14108-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-23 21:50         ` Andreas Herrmann
2014-01-23 21:50           ` Andreas Herrmann
2014-01-29 10:57     ` Marek Szyprowski
2014-01-29 10:57       ` Marek Szyprowski
     [not found]       ` <52E8DE7D.5020801-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-01-29 11:05         ` Will Deacon
2014-01-29 11:05           ` Will Deacon
     [not found]           ` <20140129110537.GG26622-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-01-29 14:40             ` Andreas Herrmann
2014-01-29 14:40               ` Andreas Herrmann
2014-01-30  8:28               ` Marek Szyprowski
2014-01-30  8:28                 ` Marek Szyprowski
     [not found]                 ` <52EA0D43.1010802-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-01-30  8:44                   ` Andreas Herrmann
2014-01-30  8:44                     ` Andreas Herrmann
2014-01-31 17:23                     ` [PATCH] " Andreas Herrmann
2014-01-31 17:23                       ` Andreas Herrmann

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=20140122134028.GB14108@mudshark.cambridge.arm.com \
    --to=will.deacon@arm.com \
    --cc=Varun.Sethi@freescale.com \
    --cc=andreas.herrmann@calxeda.com \
    --cc=herrmann.der.user@googlemail.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-arm-kernel@lists.infradead.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.