diff options
author | Jakub Kicinski <kuba@kernel.org> | 2022-08-18 21:17:10 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-08-18 21:17:10 -0700 |
commit | 268603d79cc48dba671e9caf108fab32315b86a2 (patch) | |
tree | 77466c8c4c104397d1c459674f7a75c4fd60455a /drivers/vdpa/vdpa_user/iova_domain.h | |
parent | 8c78c1e52b0b86bd282c41f3725beabe3c244b94 (diff) | |
parent | 4c2d0b039c5cc0112206a5b22431b577cb1c57ad (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/vdpa/vdpa_user/iova_domain.h')
-rw-r--r-- | drivers/vdpa/vdpa_user/iova_domain.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/vdpa/vdpa_user/iova_domain.h b/drivers/vdpa/vdpa_user/iova_domain.h index 2722d9b8e21a..4e0e50e7ac15 100644 --- a/drivers/vdpa/vdpa_user/iova_domain.h +++ b/drivers/vdpa/vdpa_user/iova_domain.h @@ -14,6 +14,7 @@ #include <linux/iova.h> #include <linux/dma-mapping.h> #include <linux/vhost_iotlb.h> +#include <linux/rwlock.h> #define IOVA_START_PFN 1 @@ -34,6 +35,8 @@ struct vduse_iova_domain { struct vhost_iotlb *iotlb; spinlock_t iotlb_lock; struct file *file; + bool user_bounce_pages; + rwlock_t bounce_lock; }; int vduse_domain_set_map(struct vduse_iova_domain *domain, @@ -61,6 +64,11 @@ void vduse_domain_free_coherent(struct vduse_iova_domain *domain, size_t size, void vduse_domain_reset_bounce_map(struct vduse_iova_domain *domain); +int vduse_domain_add_user_bounce_pages(struct vduse_iova_domain *domain, + struct page **pages, int count); + +void vduse_domain_remove_user_bounce_pages(struct vduse_iova_domain *domain); + void vduse_domain_destroy(struct vduse_iova_domain *domain); struct vduse_iova_domain *vduse_domain_create(unsigned long iova_limit, |