Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp4461686ybl; Sat, 21 Dec 2019 07:05:52 -0800 (PST) X-Google-Smtp-Source: APXvYqxm1tjSJUvzp4sNE+zJ48EiekpRRZY/KF/PVWcA8ki1u3Iz497EXH3LXGkRlhXG2nht6WJG X-Received: by 2002:a9d:6045:: with SMTP id v5mr20127055otj.252.1576940751984; Sat, 21 Dec 2019 07:05:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576940751; cv=none; d=google.com; s=arc-20160816; b=QmfodHbNYryLx9LxKQHLxedsX94kk2zQcpnmSLIJZBkm5/VOglmTrZz/PnSTYt+FkG RCQJ15o3PAhn4dZ9TxlqH8O6bIC5wxE6gig0+cAUJ98DJFoRBs/mQQ5ALo7dTZnYBvY9 NopkB+hTuVpdiOXjSOosGgQlSNcGKDrqZdCtNIMED/78jzNF0an+UEp63a4SfJR5CWKv O9A5hEqsDjVgVjHSTZgn+APajADIG/2tEnh2wBqE3O3aDcjQjl/fPMzxaxpzzNrzJPKO eW0YPHlELLrmCER7v8q+LV1gIq6eMwRKl//gpkbROnGgKQ3peaWwE7SBfBlJjrj+N8b0 FSbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=i4dEmM8P1MkKKnNa6NcbuVyKrLsO9ZvL1WqSkd7MOXA=; b=xITVpBG7QlWgOVtU0uCFHeSzffvI/6HgIhINR2R2r8WDc1kWC5Xam3+IL9zZAMBGf7 Tt9J3sbynF8B4P+GjgZKdnwDLrz/9QAvzYGVnbo1BuX3SKxBqp1Pma8zpZOGZVZvIrhm jASX6+KKkmFBsLEn1hcNJ4TK92bxgxLBdLTqG6iZV/XwHz3fGOcQgsZdxE09R9K66KiH NB7asgaiFPQFLpNsj/BFJWF+n/0PorLGgRIVjw5OZtf15JsewMEv966SjbOzhmEXhjpD AOOrT1w/OJgwhHsLmWOHmCN1IXyz4C+ut6S3moxAVkDaUUy0iyJ++QQlxQVnlsO2haUS ZiDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tcd-ie.20150623.gappssmtp.com header.s=20150623 header.b=WkrW4Y9g; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u25si4655540otg.170.2019.12.21.07.05.41; Sat, 21 Dec 2019 07:05:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@tcd-ie.20150623.gappssmtp.com header.s=20150623 header.b=WkrW4Y9g; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727458AbfLUPEs (ORCPT + 99 others); Sat, 21 Dec 2019 10:04:48 -0500 Received: from mail-ed1-f67.google.com ([209.85.208.67]:39441 "EHLO mail-ed1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727425AbfLUPEr (ORCPT ); Sat, 21 Dec 2019 10:04:47 -0500 Received: by mail-ed1-f67.google.com with SMTP id t17so11391818eds.6 for ; Sat, 21 Dec 2019 07:04:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i4dEmM8P1MkKKnNa6NcbuVyKrLsO9ZvL1WqSkd7MOXA=; b=WkrW4Y9gFyG7Qyoell6pvhgdKX7JRReMnuuB9atJoZy04C/ONzngI9MJcZe1C52tLI oAbpeUorXN0OuO/Eg0uTEPtK43geQL68lw4o7Ot8H5XsWGNoa1eKf/zWorwqA2LubWhP ocpyZSMtNUbr1NWS3tmsbNFojfO0KFn4+WKore4fioT3aEQ4/J+J2uZcNnl0dckx4Wul NRwfEfsYHCfN/A/PJf0LwxVas5fBCAxc6UJkeMBPTkWvH4AkfCBijNzpnj6o2cB8Gozf 5sLHCOhpM/FGuPL/eZWe8ySg2l+HsNgX8TbOePQbTkrzEKNWd/Ih3KEJxTQ88SBthjQ7 3K5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=i4dEmM8P1MkKKnNa6NcbuVyKrLsO9ZvL1WqSkd7MOXA=; b=pj56d5N3u4n5BuCcFBuOPJ4ypdJ8zNqADIYTGT3JOJl9nP+TlPTstOqXq5ixa0W8Mg AkiFXc/UWv0a98LFbJmBT5xCLkppolTKakfH/OEZt25WXcwxOrT8m0Rbq8u+MLYrDfp0 sYXIO6hiztDSZKna3oWixKN6+rqSW5Xr5EBLFfENIkbZdoM8JzVzXhWuHUMriKA30G7Z FhDTf/qL8WXT/yzlJDx1N0Nrq4Vn0DCIqg9NNBaGpCfvzie0Jq2ycsrC9T9/vwDx252l vz+7ukDhAHfJgvsz03bwHkQvuaNF8UjIMNmas3BpaHzR3hvfUnRNoIAWLaSUO42aVguH kkGg== X-Gm-Message-State: APjAAAU+5IYoneskJzxE2S6bktiI5AhxbNTuIftJ5FL2dSziqkWAP/h4 UddB19X/7LWW7p2zW+I7ObGgVA== X-Received: by 2002:a05:6402:2c3:: with SMTP id b3mr22084523edx.207.1576940686355; Sat, 21 Dec 2019 07:04:46 -0800 (PST) Received: from localhost.localdomain ([80.233.37.20]) by smtp.googlemail.com with ESMTPSA id u13sm1517639ejz.69.2019.12.21.07.04.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 21 Dec 2019 07:04:45 -0800 (PST) From: Tom Murphy To: iommu@lists.linux-foundation.org Cc: Tom Murphy , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie , Daniel Vetter , Joerg Roedel , Will Deacon , Robin Murphy , Marek Szyprowski , Kukjin Kim , Krzysztof Kozlowski , David Woodhouse , Lu Baolu , Andy Gross , Bjorn Andersson , Matthias Brugger , Rob Clark , Heiko Stuebner , Gerald Schaefer , Thierry Reding , Jonathan Hunter , Jean-Philippe Brucker , Alex Williamson , Cornelia Huck , Eric Auger , Julien Grall , Marc Zyngier , Thomas Gleixner , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org, linux-tegra@vger.kernel.org, virtualization@lists.linux-foundation.org, kvm@vger.kernel.org Subject: [PATCH 5/8] iommu: Add iommu_dma_free_cpu_cached_iovas function Date: Sat, 21 Dec 2019 15:03:57 +0000 Message-Id: <20191221150402.13868-6-murphyt7@tcd.ie> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191221150402.13868-1-murphyt7@tcd.ie> References: <20191221150402.13868-1-murphyt7@tcd.ie> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org to dma-iommu ops Add a iommu_dma_free_cpu_cached_iovas function to allow drivers which use the dma-iommu ops to free cached cpu iovas. Signed-off-by: Tom Murphy --- drivers/iommu/dma-iommu.c | 9 +++++++++ include/linux/dma-iommu.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index df28facdfb8b..4eac3cd35443 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -50,6 +50,15 @@ struct iommu_dma_cookie { struct iommu_domain *fq_domain; }; +void iommu_dma_free_cpu_cached_iovas(unsigned int cpu, + struct iommu_domain *domain) +{ + struct iommu_dma_cookie *cookie = domain->iova_cookie; + struct iova_domain *iovad = &cookie->iovad; + + free_cpu_cached_iovas(cpu, iovad); +} + static void iommu_dma_entry_dtor(unsigned long data) { struct page *freelist = (struct page *)data; diff --git a/include/linux/dma-iommu.h b/include/linux/dma-iommu.h index 2112f21f73d8..316d22a4a860 100644 --- a/include/linux/dma-iommu.h +++ b/include/linux/dma-iommu.h @@ -37,6 +37,9 @@ void iommu_dma_compose_msi_msg(struct msi_desc *desc, void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list); +void iommu_dma_free_cpu_cached_iovas(unsigned int cpu, + struct iommu_domain *domain); + #else /* CONFIG_IOMMU_DMA */ struct iommu_domain; -- 2.20.1