summaryrefslogtreecommitdiff
path: root/include/linux/iova.h
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2017-08-10 16:49:44 +0300
committerJoerg Roedel <jroedel@suse.de>2017-08-15 19:23:51 +0300
commit1928210107edd4fa786199fef6b875d3af3bef88 (patch)
treeb9fd3aecab10c1d0968e8e49ff69ef30e0b4b938 /include/linux/iova.h
parent42f87e71c3df12d8f29ec1bb7b47772ffaeaf1ee (diff)
downloadlinux-1928210107edd4fa786199fef6b875d3af3bef88.tar.xz
iommu/iova: Implement Flush-Queue ring buffer
Add a function to add entries to the Flush-Queue ring buffer. If the buffer is full, call the flush-callback and free the entries. Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/iova.h')
-rw-r--r--include/linux/iova.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/iova.h b/include/linux/iova.h
index 8aa10896150e..1ae85248ec50 100644
--- a/include/linux/iova.h
+++ b/include/linux/iova.h
@@ -127,6 +127,9 @@ struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
bool size_aligned);
void free_iova_fast(struct iova_domain *iovad, unsigned long pfn,
unsigned long size);
+void queue_iova(struct iova_domain *iovad,
+ unsigned long pfn, unsigned long pages,
+ unsigned long data);
unsigned long alloc_iova_fast(struct iova_domain *iovad, unsigned long size,
unsigned long limit_pfn);
struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo,
@@ -182,6 +185,12 @@ static inline void free_iova_fast(struct iova_domain *iovad,
{
}
+static inline void queue_iova(struct iova_domain *iovad,
+ unsigned long pfn, unsigned long pages,
+ unsigned long data)
+{
+}
+
static inline unsigned long alloc_iova_fast(struct iova_domain *iovad,
unsigned long size,
unsigned long limit_pfn)