All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Yinghai Lu <yinghai@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Vinod Koul <vinod.koul@intel.com>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Jiang Liu <jiang.liu@linux.intel.com>
Cc: Ashok Raj <ashok.raj@intel.com>,
	Yijing Wang <wangyijing@huawei.com>,
	Tony Luck <tony.luck@intel.com>,
	iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
	linux-hotplug@vger.kernel.org, linux-kernel@vger.kernel.org,
	dmaengine@vger.kernel.org
Subject: [Patch Part3 V4 12/21] iommu/vt-d: Introduce helper function iova_size() to improve code readability
Date: Fri, 11 Jul 2014 14:19:36 +0800	[thread overview]
Message-ID: <1405059585-10620-13-git-send-email-jiang.liu@linux.intel.com> (raw)
In-Reply-To: <1405059585-10620-1-git-send-email-jiang.liu@linux.intel.com>

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
 drivers/iommu/intel-iommu.c |    7 +++----
 include/linux/iova.h        |    5 +++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index c9e65edaa2ad..cd1ba24c766a 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3101,10 +3101,10 @@ static void flush_unmaps(void)
 			/* On real hardware multiple invalidations are expensive */
 			if (cap_caching_mode(iommu->cap))
 				iommu_flush_iotlb_psi(iommu, domain->id,
-					iova->pfn_lo, iova->pfn_hi - iova->pfn_lo + 1,
+					iova->pfn_lo, iova_size(iova),
 					!deferred_flush[i].freelist[j], 0);
 			else {
-				mask = ilog2(mm_to_dma_pfn(iova->pfn_hi - iova->pfn_lo + 1));
+				mask = ilog2(mm_to_dma_pfn(iova_size(iova)));
 				iommu_flush_dev_iotlb(deferred_flush[i].domain[j],
 						(uint64_t)iova->pfn_lo << PAGE_SHIFT, mask);
 			}
@@ -3905,8 +3905,7 @@ static int intel_iommu_memory_notifier(struct notifier_block *nb,
 			rcu_read_lock();
 			for_each_active_iommu(iommu, drhd)
 				iommu_flush_iotlb_psi(iommu, si_domain->id,
-					iova->pfn_lo,
-					iova->pfn_hi - iova->pfn_lo + 1,
+					iova->pfn_lo, iova_size(iova),
 					!freelist, 0);
 			rcu_read_unlock();
 			dma_free_pagelist(freelist);
diff --git a/include/linux/iova.h b/include/linux/iova.h
index 3277f4711349..19e81d5ccb6d 100644
--- a/include/linux/iova.h
+++ b/include/linux/iova.h
@@ -34,6 +34,11 @@ struct iova_domain {
 	unsigned long	dma_32bit_pfn;
 };
 
+static inline unsigned long iova_size(struct iova *iova)
+{
+	return iova->pfn_hi - iova->pfn_lo + 1;
+}
+
 struct iova *alloc_iova_mem(void);
 void free_iova_mem(struct iova *iova);
 void free_iova(struct iova_domain *iovad, unsigned long pfn);
-- 
1.7.10.4


WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Yinghai Lu <yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Dan Williams
	<dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Rafael J . Wysocki"
	<rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Cc: Tony Luck <tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: [Patch Part3 V4 12/21] iommu/vt-d: Introduce helper function iova_size() to improve code readability
Date: Fri, 11 Jul 2014 14:19:36 +0800	[thread overview]
Message-ID: <1405059585-10620-13-git-send-email-jiang.liu@linux.intel.com> (raw)
In-Reply-To: <1405059585-10620-1-git-send-email-jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
---
 drivers/iommu/intel-iommu.c |    7 +++----
 include/linux/iova.h        |    5 +++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index c9e65edaa2ad..cd1ba24c766a 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3101,10 +3101,10 @@ static void flush_unmaps(void)
 			/* On real hardware multiple invalidations are expensive */
 			if (cap_caching_mode(iommu->cap))
 				iommu_flush_iotlb_psi(iommu, domain->id,
-					iova->pfn_lo, iova->pfn_hi - iova->pfn_lo + 1,
+					iova->pfn_lo, iova_size(iova),
 					!deferred_flush[i].freelist[j], 0);
 			else {
-				mask = ilog2(mm_to_dma_pfn(iova->pfn_hi - iova->pfn_lo + 1));
+				mask = ilog2(mm_to_dma_pfn(iova_size(iova)));
 				iommu_flush_dev_iotlb(deferred_flush[i].domain[j],
 						(uint64_t)iova->pfn_lo << PAGE_SHIFT, mask);
 			}
@@ -3905,8 +3905,7 @@ static int intel_iommu_memory_notifier(struct notifier_block *nb,
 			rcu_read_lock();
 			for_each_active_iommu(iommu, drhd)
 				iommu_flush_iotlb_psi(iommu, si_domain->id,
-					iova->pfn_lo,
-					iova->pfn_hi - iova->pfn_lo + 1,
+					iova->pfn_lo, iova_size(iova),
 					!freelist, 0);
 			rcu_read_unlock();
 			dma_free_pagelist(freelist);
diff --git a/include/linux/iova.h b/include/linux/iova.h
index 3277f4711349..19e81d5ccb6d 100644
--- a/include/linux/iova.h
+++ b/include/linux/iova.h
@@ -34,6 +34,11 @@ struct iova_domain {
 	unsigned long	dma_32bit_pfn;
 };
 
+static inline unsigned long iova_size(struct iova *iova)
+{
+	return iova->pfn_hi - iova->pfn_lo + 1;
+}
+
 struct iova *alloc_iova_mem(void);
 void free_iova_mem(struct iova *iova);
 void free_iova(struct iova_domain *iovad, unsigned long pfn);
-- 
1.7.10.4

WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Yinghai Lu <yinghai@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Vinod Koul <vinod.koul@intel.com>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Jiang Liu <jiang.liu@linux.intel.com>
Cc: Ashok Raj <ashok.raj@intel.com>,
	Yijing Wang <wangyijing@huawei.com>,
	Tony Luck <tony.luck@intel.com>,
	iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
	linux-hotplug@vger.kernel.org, linux-kernel@vger.kernel.org,
	dmaengine@vger.kernel.org
Subject: [Patch Part3 V4 12/21] iommu/vt-d: Introduce helper function iova_size() to improve code readability
Date: Fri, 11 Jul 2014 06:19:36 +0000	[thread overview]
Message-ID: <1405059585-10620-13-git-send-email-jiang.liu@linux.intel.com> (raw)
In-Reply-To: <1405059585-10620-1-git-send-email-jiang.liu@linux.intel.com>

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
 drivers/iommu/intel-iommu.c |    7 +++----
 include/linux/iova.h        |    5 +++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index c9e65edaa2ad..cd1ba24c766a 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3101,10 +3101,10 @@ static void flush_unmaps(void)
 			/* On real hardware multiple invalidations are expensive */
 			if (cap_caching_mode(iommu->cap))
 				iommu_flush_iotlb_psi(iommu, domain->id,
-					iova->pfn_lo, iova->pfn_hi - iova->pfn_lo + 1,
+					iova->pfn_lo, iova_size(iova),
 					!deferred_flush[i].freelist[j], 0);
 			else {
-				mask = ilog2(mm_to_dma_pfn(iova->pfn_hi - iova->pfn_lo + 1));
+				mask = ilog2(mm_to_dma_pfn(iova_size(iova)));
 				iommu_flush_dev_iotlb(deferred_flush[i].domain[j],
 						(uint64_t)iova->pfn_lo << PAGE_SHIFT, mask);
 			}
@@ -3905,8 +3905,7 @@ static int intel_iommu_memory_notifier(struct notifier_block *nb,
 			rcu_read_lock();
 			for_each_active_iommu(iommu, drhd)
 				iommu_flush_iotlb_psi(iommu, si_domain->id,
-					iova->pfn_lo,
-					iova->pfn_hi - iova->pfn_lo + 1,
+					iova->pfn_lo, iova_size(iova),
 					!freelist, 0);
 			rcu_read_unlock();
 			dma_free_pagelist(freelist);
diff --git a/include/linux/iova.h b/include/linux/iova.h
index 3277f4711349..19e81d5ccb6d 100644
--- a/include/linux/iova.h
+++ b/include/linux/iova.h
@@ -34,6 +34,11 @@ struct iova_domain {
 	unsigned long	dma_32bit_pfn;
 };
 
+static inline unsigned long iova_size(struct iova *iova)
+{
+	return iova->pfn_hi - iova->pfn_lo + 1;
+}
+
 struct iova *alloc_iova_mem(void);
 void free_iova_mem(struct iova *iova);
 void free_iova(struct iova_domain *iovad, unsigned long pfn);
-- 
1.7.10.4


  parent reply	other threads:[~2014-07-11  6:17 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11  6:19 [Patch Part3 V4 00/21] Enable support of Intel DMAR device hotplug Jiang Liu
2014-07-11  6:19 ` Jiang Liu
2014-07-11  6:19 ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 01/21] iommu/vt-d: Match segment number when searching for dev_iotlb capable devices Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 02/21] iommu/vt-d: Use correct domain id to flush virtual machine domains Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 03/21] iommu/vt-d: Introduce helper functions to improve code readability Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 04/21] iommu/vt-d: Introduce helper functions to make code symmetric for readability Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 05/21] iommu/vt-d: Allocate dynamic domain id for virtual domains only Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 06/21] iommu/vt-d: Fix possible invalid memory access caused by free_dmar_iommu() Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 07/21] iommu/vt-d: Avoid freeing virtual machine domain in free_dmar_iommu() Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 08/21] iommu/vt-d: Simplify include/linux/dmar.h Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 09/21] iommu/vt-d: Change iommu_enable/disable_translation to return void Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 10/21] iommu/vt-d: Simplify intel_unmap_sg() and kill duplicated code Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 11/21] iommu/vt-d: Introduce helper domain_pfn_within_range() to simplify code Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` Jiang Liu [this message]
2014-07-11  6:19   ` [Patch Part3 V4 12/21] iommu/vt-d: Introduce helper function iova_size() to improve code readability Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 13/21] iommu/vt-d: Fix issue in computing domain's iommu_snooping flag Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 14/21] iommu/vt-d: Introduce helper function dmar_walk_resources() Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 15/21] iommu/vt-d: Dynamically allocate and free seq_id for DMAR units Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 16/21] iommu/vt-d: Implement DMAR unit hotplug framework Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-23 15:34   ` Joerg Roedel
2014-07-23 15:34     ` Joerg Roedel
2014-07-23 15:34     ` Joerg Roedel
2014-07-24  2:33     ` iommu/vt-d: Fix build error caused by unknown definition of acpi_handle Jiang Liu
2014-07-24  2:33       ` Jiang Liu
2014-07-24  2:33       ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 17/21] iommu/vt-d: Search for ACPI _DSM method for DMAR hotplug Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 18/21] iommu/vt-d: Enhance intel_irq_remapping driver to support DMAR unit hotplug Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 19/21] iommu/vt-d: Enhance error recovery in function intel_enable_irq_remapping() Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19 ` [Patch Part3 V4 20/21] iommu/vt-d: Enhance intel-iommu driver to support DMAR unit hotplug Jiang Liu
2014-07-11  6:19   ` Jiang Liu
2014-07-11  6:19   ` Jiang Liu
     [not found] ` <1405059585-10620-1-git-send-email-jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-07-11  6:19   ` [Patch Part3 V4 21/21] pci, ACPI, iommu: Enhance pci_root to support DMAR device hotplug Jiang Liu
2014-07-11  6:19     ` Jiang Liu
2014-07-11  6:19     ` Jiang Liu
2014-07-16 18:48     ` Bjorn Helgaas
2014-07-16 18:48       ` Bjorn Helgaas
2014-07-29 10:49 ` [Patch Part3 V4 00/21] Enable support of Intel " Joerg Roedel
2014-07-29 10:49   ` Joerg Roedel
2014-07-29 12:09   ` Jiang Liu
2014-07-29 12:09     ` Jiang Liu
2014-07-29 12:09     ` Jiang Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1405059585-10620-13-git-send-email-jiang.liu@linux.intel.com \
    --to=jiang.liu@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=bhelgaas@google.com \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-hotplug@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=tony.luck@intel.com \
    --cc=vinod.koul@intel.com \
    --cc=wangyijing@huawei.com \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.