Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp960670pxb; Wed, 6 Apr 2022 05:23:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxky+AUf0fRFJJtOqwHAhVx8F7+2gbvshUvPp4wWYYBwMqafbK3abbKwlnI9p0pODTZaaPD X-Received: by 2002:a17:90b:3b45:b0:1c7:5fbe:f503 with SMTP id ot5-20020a17090b3b4500b001c75fbef503mr9592807pjb.178.1649247784251; Wed, 06 Apr 2022 05:23:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649247784; cv=none; d=google.com; s=arc-20160816; b=afC1kJ6lUG+hhc7U9MTRILWg2Mf19wPuIVIzt8nmDQZdVOsaYYniAsj3yTrgT4ihdJ WByz9dqvLDQ0av8GjSS2/cKjROfAsK87TrmKZ/lCVZQKS1JVgVbpfCDx3+39Vge4HLSV ocgfcQY2H/ezlvPEyOUu3Q9m7lGjcqli2ESa6MYBGBTUhEaTySen0F94owRoBZEoAQqb YAchV3EsVMBBLo+Wet5wns53aOe6WgqN8JP/eC0GLU14d7bCPR5753Pu/6xs6UHM/QQ8 wrPdYC2Z2mnIsjhO3pt9T2GyaN/pFYqb4YsVqAMrPxnxd++NWyhHsppFzCDPkn4RXuVP b/oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=x7tRAJSg1aipqmUUTRIwqZx6z4RaokYZr3ImnrUKaUs=; b=LihJQfYbp4/8csk2narlBJZeP9z6BAowBG2iMu2+Q6XeHfX0a6Mp+fqrfPWY5M10Vg TU/3FZqR6AQbLF2/pA0r5g8a/5qh6OYrdnJZYRLgf+MDyZ6FGDVpTo47FwR97TU6+KjF nUBygr/tFqoXkgNSJ6dXhtOdiBcipgEy/OnNb+tK8L2TplxUD6WIT5twO3s+y4Jf3cpF fvTTh1yQN9u5/+eMpsLE7zCd07+jQCg8zLZH1Xh3kvcjtdoZG7zJHGBUESfWEhcOUEcz izPxSk8mAFYE5DRvkvgETmY8IsuG5jGZqipEMvp+PinrWURk3qEGzIovXgzCRn+8C7ge DaIQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id i13-20020a170902cf0d00b00153b2d164ebsi11310370plg.243.2022.04.06.05.23.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 05:23:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E255F6DB4EA; Wed, 6 Apr 2022 04:20:40 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1836641AbiDFAg4 (ORCPT + 99 others); Tue, 5 Apr 2022 20:36:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60338 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1391218AbiDEPeJ (ORCPT ); Tue, 5 Apr 2022 11:34:09 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2BEE44C42B; Tue, 5 Apr 2022 06:41:01 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E79A2D6E; Tue, 5 Apr 2022 06:41:00 -0700 (PDT) Received: from e121345-lin.cambridge.arm.com (e121345-lin.cambridge.arm.com [10.1.196.40]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CF2833F5A1; Tue, 5 Apr 2022 06:40:59 -0700 (PDT) From: Robin Murphy To: ecree.xilinx@gmail.com, habetsm.xilinx@gmail.com, davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com Cc: netdev@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next] sfc: Stop using iommu_present() Date: Tue, 5 Apr 2022 14:40:55 +0100 Message-Id: <7350f957944ecfce6cce90f422e3992a1f428775.1649166055.git.robin.murphy@arm.com> X-Mailer: git-send-email 2.28.0.dirty MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Even if an IOMMU might be present for some PCI segment in the system, that doesn't necessarily mean it provides translation for the device we care about. It appears that what we care about here is specifically whether DMA mapping ops involve any IOMMU overhead or not, so check for translation actually being active for our device. Signed-off-by: Robin Murphy --- drivers/net/ethernet/sfc/falcon/rx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/sfc/falcon/rx.c b/drivers/net/ethernet/sfc/falcon/rx.c index 0c6cc2191369..6bbdb5d2eebf 100644 --- a/drivers/net/ethernet/sfc/falcon/rx.c +++ b/drivers/net/ethernet/sfc/falcon/rx.c @@ -718,12 +718,14 @@ static void ef4_init_rx_recycle_ring(struct ef4_nic *efx, struct ef4_rx_queue *rx_queue) { unsigned int bufs_in_recycle_ring, page_ring_size; + struct iommu_domain __maybe_unused *domain; /* Set the RX recycle ring size */ #ifdef CONFIG_PPC64 bufs_in_recycle_ring = EF4_RECYCLE_RING_SIZE_IOMMU; #else - if (iommu_present(&pci_bus_type)) + domain = iommu_get_domain_for_dev(&efx->pci_dev->dev); + if (domain && domain->type != IOMMU_DOMAIN_IDENTITY) bufs_in_recycle_ring = EF4_RECYCLE_RING_SIZE_IOMMU; else bufs_in_recycle_ring = EF4_RECYCLE_RING_SIZE_NOIOMMU; -- 2.28.0.dirty