xref: /OK3568_Linux_fs/kernel/drivers/xen/gntdev-dmabuf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun 
3*4882a593Smuzhiyun /*
4*4882a593Smuzhiyun  * Xen dma-buf functionality for gntdev.
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * Copyright (c) 2018 Oleksandr Andrushchenko, EPAM Systems Inc.
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef _GNTDEV_DMABUF_H
10*4882a593Smuzhiyun #define _GNTDEV_DMABUF_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #include <xen/gntdev.h>
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun struct gntdev_dmabuf_priv;
15*4882a593Smuzhiyun struct gntdev_priv;
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun struct gntdev_dmabuf_priv *gntdev_dmabuf_init(struct file *filp);
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun void gntdev_dmabuf_fini(struct gntdev_dmabuf_priv *priv);
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun long gntdev_ioctl_dmabuf_exp_from_refs(struct gntdev_priv *priv, int use_ptemod,
22*4882a593Smuzhiyun 				       struct ioctl_gntdev_dmabuf_exp_from_refs __user *u);
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun long gntdev_ioctl_dmabuf_exp_wait_released(struct gntdev_priv *priv,
25*4882a593Smuzhiyun 					   struct ioctl_gntdev_dmabuf_exp_wait_released __user *u);
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun long gntdev_ioctl_dmabuf_imp_to_refs(struct gntdev_priv *priv,
28*4882a593Smuzhiyun 				     struct ioctl_gntdev_dmabuf_imp_to_refs __user *u);
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun long gntdev_ioctl_dmabuf_imp_release(struct gntdev_priv *priv,
31*4882a593Smuzhiyun 				     struct ioctl_gntdev_dmabuf_imp_release __user *u);
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #endif
34