Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753493AbdGSK7m (ORCPT ); Wed, 19 Jul 2017 06:59:42 -0400 Received: from foss.arm.com ([217.140.101.70]:37900 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752269AbdGSK7l (ORCPT ); Wed, 19 Jul 2017 06:59:41 -0400 Subject: Re: [PATCH 2/5] iommu/arm-smmu: add IOMMU_CAP_BYPASS to the ARM SMMU driver To: Anup Patel , Will Deacon , Joerg Roedel , Baptiste Reynal , Alex Williamson Cc: Scott Branden , 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 References: <1500456838-18405-1-git-send-email-anup.patel@broadcom.com> <1500456838-18405-3-git-send-email-anup.patel@broadcom.com> From: Robin Murphy Message-ID: <71d21ee4-6112-0ec9-9074-b2a00f5c207c@arm.com> Date: Wed, 19 Jul 2017 11:59:37 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1500456838-18405-3-git-send-email-anup.patel@broadcom.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 963 Lines: 33 On 19/07/17 10:33, Anup Patel wrote: > The ARM SMMUv1 and SMMUv2 support bypassing transactions for > which domain is not configured. The patch adds corresponding > IOMMU capability to advertise this fact. > > Signed-off-by: Anup Patel > --- > drivers/iommu/arm-smmu.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c > index bc89b4d..08a9020 100644 > --- a/drivers/iommu/arm-smmu.c > +++ b/drivers/iommu/arm-smmu.c > @@ -1483,6 +1483,8 @@ static bool arm_smmu_capable(enum iommu_cap cap) > return true; > case IOMMU_CAP_NOEXEC: > return true; > + case IOMMU_CAP_BYPASS: > + return true; Except when it isn't, of course. Beware that what we'd like to do in the long term is flip the polarity of disable_bypass, because there isn't generally a good reason for Non-Secure DMA to be happening behind Linux's back. Robin. > default: > return false; > } >