From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0211C31E40 for ; Fri, 9 Aug 2019 15:22:50 +0000 (UTC) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7F1EA20C01 for ; Fri, 9 Aug 2019 15:22:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7F1EA20C01 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=8bytes.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 1C7A5DBC; Fri, 9 Aug 2019 15:22:41 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 9A9F7D3B for ; Fri, 9 Aug 2019 15:22:39 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from theia.8bytes.org (8bytes.org [81.169.241.247]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 7E9B6875 for ; Fri, 9 Aug 2019 15:22:38 +0000 (UTC) Received: by theia.8bytes.org (Postfix, from userid 1000) id 5E8DB45B; Fri, 9 Aug 2019 17:22:36 +0200 (CEST) From: Joerg Roedel To: Joerg Roedel Subject: [PATCH 3/3] iommu: Disable passthrough mode when SME is active Date: Fri, 9 Aug 2019 17:22:33 +0200 Message-Id: <20190809152233.2829-4-joro@8bytes.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190809152233.2829-1-joro@8bytes.org> References: <20190809152233.2829-1-joro@8bytes.org> Cc: Thomas.Lendacky@amd.com, Joerg Roedel , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, bp@alien8.de X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org From: Joerg Roedel Using Passthrough mode when SME is active causes certain devices to use the SWIOTLB bounce buffer. The bounce buffer code has an upper limit of 256kb for the size of DMA allocations, which is too small for certain devices and causes them to fail. With this patch we enable IOMMU by default when SME is active in the system, making the default configuration work for more systems than it does now. Users that don't want IOMMUs to be enabled still can disable them with kernel parameters. Signed-off-by: Joerg Roedel --- drivers/iommu/iommu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 62cae6db0970..fbe1aa51bce9 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -104,6 +104,12 @@ static int __init iommu_subsys_init(void) else iommu_def_domain_type = IOMMU_DOMAIN_DMA; + if ((iommu_def_domain_type == IOMMU_DOMAIN_IDENTITY) && + sme_active()) { + pr_info("SME detected - Disabling default IOMMU passthrough\n"); + iommu_def_domain_type = IOMMU_DOMAIN_DMA; + } + pr_info("Default domain type: %s\n", iommu_domain_type_str(iommu_def_domain_type)); -- 2.17.1 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu