From patchwork Tue Apr 19 16:56:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Auger Eric X-Patchwork-Id: 66121 Delivered-To: patches@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1968850qge; Tue, 19 Apr 2016 09:57:11 -0700 (PDT) X-Received: by 10.28.144.8 with SMTP id s8mr24474268wmd.39.1461085023071; Tue, 19 Apr 2016 09:57:03 -0700 (PDT) Return-Path: Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com. [2a00:1450:400c:c09::232]) by mx.google.com with ESMTPS id 200si3525873wmj.49.2016.04.19.09.57.02 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Apr 2016 09:57:03 -0700 (PDT) Received-SPF: pass (google.com: domain of eric.auger@linaro.org designates 2a00:1450:400c:c09::232 as permitted sender) client-ip=2a00:1450:400c:c09::232; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: domain of eric.auger@linaro.org designates 2a00:1450:400c:c09::232 as permitted sender) smtp.mailfrom=eric.auger@linaro.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: by mail-wm0-x232.google.com with SMTP id n3so40539798wmn.0 for ; Tue, 19 Apr 2016 09:57:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NtdRfxm7RSDMFIjOV8uCYRCPg879ufyA6k4dj+t1im8=; b=i/9dmmckDi+MI0v3hDTVdzY3X0jTRJPtSZhu9A2IByBB77ICKn0a9NaKdI5SlJ/Ci8 q2oqixCTFtwSF7nd52UvnKIVHZ7gHpW594xvOHZlLr9zF2jFGLc6OOAbmp6RvJaN2NaM CoNVP4/QpZ+5TacLCwCvbhGA1y1MfPJx6DZ+c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NtdRfxm7RSDMFIjOV8uCYRCPg879ufyA6k4dj+t1im8=; b=m/iS+b5zSbWZGWza9g6XI8inyvuMK+7rB2o9IvUBIvv7umsTS28e9uWP0Ow6P50z0n HCCkXq9br9I/7rwW2sMU0uvybgDQ8wBpcEJzLbkVayCoKhjarASgbZApQJ4/RkL7U1mI cIddSwz0jBZrwk40s6RGHDmSe95PVdjdsnpefimCBZBodU164xj9yWKB+SX+UMSuPC6C OhwR+oGX7y1afEu3jRd6D7v+lmmVfkD7yw1y3xXGVZAi2MiJPxim/FvR6XKi6OxOrBUV q2MxGHpYBrHB+JPd68TeXmv7mHtslsBXFokU3u1uPWwEPqPrtWu8aJmbl43HoHnNRjFO 9Okg== X-Gm-Message-State: AOPr4FVK34b0Io5HhurHbar4xwCSAqmN1IaBuacWjO5Jtp8SUao59srg3SqjLKlQN4N+3/ifpSY= X-Received: by 10.28.61.8 with SMTP id k8mr4786460wma.7.1461085022764; Tue, 19 Apr 2016 09:57:02 -0700 (PDT) Return-Path: Received: from new-host-34.home (LMontsouris-657-1-37-90.w80-11.abo.wanadoo.fr. [80.11.198.90]) by smtp.gmail.com with ESMTPSA id x2sm1169329wjr.33.2016.04.19.09.57.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 19 Apr 2016 09:57:01 -0700 (PDT) From: Eric Auger To: eric.auger@st.com, eric.auger@linaro.org, robin.murphy@arm.com, alex.williamson@redhat.com, will.deacon@arm.com, joro@8bytes.org, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, christoffer.dall@linaro.org, linux-arm-kernel@lists.infradead.org Cc: patches@linaro.org, linux-kernel@vger.kernel.org, Bharat.Bhushan@freescale.com, pranav.sawargaonkar@gmail.com, p.fedin@samsung.com, iommu@lists.linux-foundation.org, Jean-Philippe.Brucker@arm.com, julien.grall@arm.com Subject: [PATCH v7 10/10] iommu/arm-smmu: call iommu_free_reserved_iova_domain on domain destruction Date: Tue, 19 Apr 2016 16:56:34 +0000 Message-Id: <1461084994-2355-11-git-send-email-eric.auger@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461084994-2355-1-git-send-email-eric.auger@linaro.org> References: <1461084994-2355-1-git-send-email-eric.auger@linaro.org> When the domain gets destroyed, let's make sure all reserved iova resources get released. Choice is made to put that call in arm-smmu(-v3).c to do something similar to what was done for iommu_put_dma_cookie. Signed-off-by: Eric Auger --- v7: new --- drivers/iommu/arm-smmu-v3.c | 2 ++ drivers/iommu/arm-smmu.c | 2 ++ 2 files changed, 4 insertions(+) -- 1.9.1 diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index a077a35..afd0dac 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -1444,6 +1445,7 @@ static void arm_smmu_domain_free(struct iommu_domain *domain) struct arm_smmu_device *smmu = smmu_domain->smmu; iommu_put_dma_cookie(domain); + iommu_free_reserved_iova_domain(domain); free_io_pgtable_ops(smmu_domain->pgtbl_ops); /* Free the CD and ASID, if we allocated them */ diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 8cd7b8a..492339f 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -1009,6 +1010,7 @@ static void arm_smmu_domain_free(struct iommu_domain *domain) * already been detached. */ iommu_put_dma_cookie(domain); + iommu_free_reserved_iova_domain(domain); arm_smmu_destroy_domain_context(domain); kfree(smmu_domain); }