aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/iova.h
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2017-08-10 16:31:17 +0200
committerJoerg Roedel <jroedel@suse.de>2017-08-15 18:23:52 +0200
commit8109c2a2f8463852dddd6a1c3fcf262047c0c124 (patch)
treef7f822e45c2a0849ce240c486c58bfb0fe0f6ced /include/linux/iova.h
parentiommu/iova: Add flush counters to Flush-Queue implementation (diff)
downloadlinux-dev-8109c2a2f8463852dddd6a1c3fcf262047c0c124.tar.xz
linux-dev-8109c2a2f8463852dddd6a1c3fcf262047c0c124.zip
iommu/iova: Add locking to Flush-Queues
The lock is taken from the same CPU most of the time. But having it allows to flush the queue also from another CPU if necessary. This will be used by a timer to regularily flush any pending IOVAs from the Flush-Queues. Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/iova.h')
-rw-r--r--include/linux/iova.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/iova.h b/include/linux/iova.h
index 985b8008999e..913a690cd4b0 100644
--- a/include/linux/iova.h
+++ b/include/linux/iova.h
@@ -60,6 +60,7 @@ struct iova_fq_entry {
struct iova_fq {
struct iova_fq_entry entries[IOVA_FQ_SIZE];
unsigned head, tail;
+ spinlock_t lock;
};
/* holds all the iova translations for a domain */