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