All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Anup Patel <anup.patel@broadcom.com>,
	Will Deacon <will.deacon@arm.com>, Joerg Roedel <joro@8bytes.org>,
	Baptiste Reynal <b.reynal@virtualopensystems.com>,
	Alex Williamson <alex.williamson@redhat.com>
Cc: Scott Branden <sbranden@broadcom.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	iommu@lists.linux-foundation.org, kvm@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com
Subject: Re: [PATCH 3/5] iommu/arm-smmu-v3: add IOMMU_CAP_BYPASS to the ARM SMMUv3 driver
Date: Wed, 19 Jul 2017 12:00:54 +0100	[thread overview]
Message-ID: <ace28bd1-2dd3-482c-d11b-539c055ee9b7@arm.com> (raw)
In-Reply-To: <1500456838-18405-4-git-send-email-anup.patel@broadcom.com>

On 19/07/17 10:33, Anup Patel wrote:
> The ARM SMMUv3 support bypassing transactions for which domain
> is not configured. The patch adds corresponding IOMMU capability
> to advertise this fact.
> 
> Signed-off-by: Anup Patel <anup.patel@broadcom.com>
> ---
>  drivers/iommu/arm-smmu-v3.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
> index 568c400..a6c7f66 100644
> --- a/drivers/iommu/arm-smmu-v3.c
> +++ b/drivers/iommu/arm-smmu-v3.c
> @@ -1423,6 +1423,8 @@ static bool arm_smmu_capable(enum iommu_cap cap)
>  		return true;
>  	case IOMMU_CAP_NOEXEC:
>  		return true;
> +	case IOMMU_CAP_BYPASS:
> +		return true;

And this is never true. If Linux knows a device masters through the
SMMU, it will always have a default domain of some sort (either identity
or DMA ops). If Linux doesn't know, then it won't have been able to
initialise the stream table for the relevant stream IDs, thus any
'bypass' DMA is going to raise C_BAD_STE. SMMUv3 can effectively only
bypass unknown stream IDs if disabled entirely.

Robin.

>  	default:
>  		return false;
>  	}
> 

WARNING: multiple messages have this Message-ID (diff)
From: robin.murphy@arm.com (Robin Murphy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/5] iommu/arm-smmu-v3: add IOMMU_CAP_BYPASS to the ARM SMMUv3 driver
Date: Wed, 19 Jul 2017 12:00:54 +0100	[thread overview]
Message-ID: <ace28bd1-2dd3-482c-d11b-539c055ee9b7@arm.com> (raw)
In-Reply-To: <1500456838-18405-4-git-send-email-anup.patel@broadcom.com>

On 19/07/17 10:33, Anup Patel wrote:
> The ARM SMMUv3 support bypassing transactions for which domain
> is not configured. The patch adds corresponding IOMMU capability
> to advertise this fact.
> 
> Signed-off-by: Anup Patel <anup.patel@broadcom.com>
> ---
>  drivers/iommu/arm-smmu-v3.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
> index 568c400..a6c7f66 100644
> --- a/drivers/iommu/arm-smmu-v3.c
> +++ b/drivers/iommu/arm-smmu-v3.c
> @@ -1423,6 +1423,8 @@ static bool arm_smmu_capable(enum iommu_cap cap)
>  		return true;
>  	case IOMMU_CAP_NOEXEC:
>  		return true;
> +	case IOMMU_CAP_BYPASS:
> +		return true;

And this is never true. If Linux knows a device masters through the
SMMU, it will always have a default domain of some sort (either identity
or DMA ops). If Linux doesn't know, then it won't have been able to
initialise the stream table for the relevant stream IDs, thus any
'bypass' DMA is going to raise C_BAD_STE. SMMUv3 can effectively only
bypass unknown stream IDs if disabled entirely.

Robin.

>  	default:
>  		return false;
>  	}
> 

  reply	other threads:[~2017-07-19 11:00 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-19  9:33 [PATCH 0/5] FlexRM support in VFIO platform Anup Patel via iommu
2017-07-19  9:33 ` Anup Patel
2017-07-19  9:33 ` Anup Patel
2017-07-19  9:33 ` [PATCH 1/5] iommu: Add capability IOMMU_CAP_BYPASS Anup Patel
2017-07-19  9:33   ` Anup Patel
     [not found]   ` <1500456838-18405-2-git-send-email-anup.patel-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-07-19 10:58     ` Robin Murphy
2017-07-19 10:58       ` Robin Murphy
2017-07-19 10:58       ` Robin Murphy
2017-07-19 11:19       ` Anup Patel
2017-07-19 11:19         ` Anup Patel
     [not found]         ` <CAALAos_o25mtphxcVE0rr9dE8YAm-os2C_HD9oDnt41ZMDP8pA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-19 11:23           ` Will Deacon
2017-07-19 11:23             ` Will Deacon
2017-07-19 11:23             ` Will Deacon
2017-07-19 11:26             ` Anup Patel
2017-07-19 11:26               ` Anup Patel
     [not found]               ` <CAALAos8nf-d5i74J7-sAJb2o9eFj2PVDeLLVd=wun+gW1ihXSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-19 11:29                 ` Robin Murphy
2017-07-19 11:29                   ` Robin Murphy
2017-07-19 11:29                   ` Robin Murphy
2017-07-19 11:30                 ` Will Deacon
2017-07-19 11:30                   ` Will Deacon
2017-07-19 11:30                   ` Will Deacon
     [not found]                   ` <20170719113017.GH13642-5wv7dgnIgG8@public.gmane.org>
2017-07-19 11:33                     ` Anup Patel via iommu
2017-07-19 11:33                       ` Anup Patel
2017-07-19 11:33                       ` Anup Patel
2017-07-19  9:33 ` [PATCH 2/5] iommu/arm-smmu: add IOMMU_CAP_BYPASS to the ARM SMMU driver Anup Patel
2017-07-19  9:33   ` Anup Patel
     [not found]   ` <1500456838-18405-3-git-send-email-anup.patel-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-07-19 10:59     ` Robin Murphy
2017-07-19 10:59       ` Robin Murphy
2017-07-19 10:59       ` Robin Murphy
     [not found] ` <1500456838-18405-1-git-send-email-anup.patel-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-07-19  9:33   ` [PATCH 3/5] iommu/arm-smmu-v3: add IOMMU_CAP_BYPASS to the ARM SMMUv3 driver Anup Patel via iommu
2017-07-19  9:33     ` Anup Patel
2017-07-19  9:33     ` Anup Patel
2017-07-19 11:00     ` Robin Murphy [this message]
2017-07-19 11:00       ` Robin Murphy
     [not found]       ` <ace28bd1-2dd3-482c-d11b-539c055ee9b7-5wv7dgnIgG8@public.gmane.org>
2017-07-19 11:23         ` Anup Patel via iommu
2017-07-19 11:23           ` Anup Patel
2017-07-19 11:23           ` Anup Patel
     [not found]           ` <CAALAos8y0kLGrbwgz3u=ZVyteSicuPyQZ3Yp=LPZohXzVaE5NQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-19 11:25             ` Will Deacon
2017-07-19 11:25               ` Will Deacon
2017-07-19 11:25               ` Will Deacon
     [not found]               ` <20170719112524.GF13642-5wv7dgnIgG8@public.gmane.org>
2017-07-19 11:31                 ` Anup Patel via iommu
2017-07-19 11:31                   ` Anup Patel
2017-07-19 11:31                   ` Anup Patel
     [not found]                   ` <CAALAos_xGCt7U1Oz5uCf9Q4hP6fdn4fcymFNQP5xO_UBduSY3g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-19 11:33                     ` Will Deacon
2017-07-19 11:33                       ` Will Deacon
2017-07-19 11:33                       ` Will Deacon
2017-07-19 11:39                       ` Anup Patel
2017-07-19 11:39                         ` Anup Patel
     [not found]                         ` <CAALAos99HWLoW=0P-dvFA+oNsF03TRNzNbfppyQNtqmcRELXXQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-19 11:53                           ` Will Deacon
2017-07-19 11:53                             ` Will Deacon
2017-07-19 11:53                             ` Will Deacon
     [not found]                             ` <20170719115333.GJ13642-5wv7dgnIgG8@public.gmane.org>
2017-07-20  4:02                               ` Anup Patel via iommu
2017-07-20  4:02                                 ` Anup Patel
2017-07-20  4:02                                 ` Anup Patel
     [not found]                                 ` <CAALAos-YbVbgvPmDYXeWaF4y8MQ9i7CG3tgGuf-QLR6hmXo18Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-20  9:10                                   ` Will Deacon
2017-07-20  9:10                                     ` Will Deacon
2017-07-20  9:10                                     ` Will Deacon
     [not found]                                     ` <20170720091003.GA17837-5wv7dgnIgG8@public.gmane.org>
2017-07-20 11:08                                       ` Anup Patel via iommu
2017-07-20 11:08                                         ` Anup Patel
2017-07-20 11:08                                         ` Anup Patel
     [not found]                                         ` <CAALAos8571-UVp7Ky81qFESVcNcWx_H2VOemFt_++NFCxcMg3w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-07-20 11:17                                           ` Will Deacon
2017-07-20 11:17                                             ` Will Deacon
2017-07-20 11:17                                             ` Will Deacon
2017-07-20 11:17                                       ` Robin Murphy
2017-07-20 11:17                                         ` Robin Murphy
2017-07-20 11:17                                         ` Robin Murphy
     [not found]                                         ` <8e82d8f5-e5e2-dd09-c774-29f9eda2ecdd-5wv7dgnIgG8@public.gmane.org>
2017-07-24 17:16                                           ` Alex Williamson
2017-07-24 17:16                                             ` Alex Williamson
2017-07-24 17:16                                             ` Alex Williamson
     [not found]                                             ` <20170724111621.7f1c3a85-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2017-07-24 17:23                                               ` Robin Murphy
2017-07-24 17:23                                                 ` Robin Murphy
2017-07-24 17:23                                                 ` Robin Murphy
     [not found]                                                 ` <6468f359-1682-b9b0-5a4d-72738939cb84-5wv7dgnIgG8@public.gmane.org>
2017-07-24 19:06                                                   ` Alex Williamson
2017-07-24 19:06                                                     ` Alex Williamson
2017-07-24 19:06                                                     ` Alex Williamson
2017-07-25  8:59                                                     ` Anup Patel
2017-07-25  8:59                                                       ` Anup Patel
2017-07-19  9:33   ` [PATCH 5/5] vfio: platform: reset: Add Broadcom FlexRM reset module Anup Patel via iommu
2017-07-19  9:33     ` Anup Patel
2017-07-19  9:33     ` Anup Patel
     [not found]     ` <1500456838-18405-6-git-send-email-anup.patel-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-07-19 16:50       ` Scott Branden via iommu
2017-07-19 16:50         ` Scott Branden
2017-07-19 16:50         ` Scott Branden
     [not found]         ` <27236534-a9fb-53bc-f0c6-eb674833a94e-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
2017-07-20  4:05           ` Anup Patel via iommu
2017-07-20  4:05             ` Anup Patel
2017-07-20  4:05             ` Anup Patel
2017-07-19  9:33 ` [PATCH 4/5] vfio: Allow No-IOMMU mode for IOMMUs with bypass capability Anup Patel
2017-07-19  9:33   ` Anup Patel
2017-07-19 10:57 ` [PATCH 0/5] FlexRM support in VFIO platform Robin Murphy
2017-07-19 10:57   ` Robin Murphy
     [not found]   ` <0dc860ed-a40c-1bfd-f584-225807edb25b-5wv7dgnIgG8@public.gmane.org>
2017-07-19 11:17     ` Anup Patel via iommu
2017-07-19 11:17       ` Anup Patel
2017-07-19 11:17       ` Anup Patel
2017-07-19 11:25       ` Robin Murphy
2017-07-19 11:25         ` Robin Murphy
     [not found]         ` <d4ef45d5-43cc-c632-082d-a92b8681faee-5wv7dgnIgG8@public.gmane.org>
2017-07-19 11:28           ` Anup Patel via iommu
2017-07-19 11:28             ` Anup Patel
2017-07-19 11:28             ` Anup Patel

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=ace28bd1-2dd3-482c-d11b-539c055ee9b7@arm.com \
    --to=robin.murphy@arm.com \
    --cc=alex.williamson@redhat.com \
    --cc=anup.patel@broadcom.com \
    --cc=b.reynal@virtualopensystems.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sbranden@broadcom.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.