xemu/ui/udmabuf.c
Vivek Kasireddy 87f12216d9 ui: Get the fd associated with udmabuf driver
Try to open the udmabuf dev node for the first time or return the
fd if the device was previously opened.

Based-on-patch-by: Gerd Hoffmann <kraxel@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Message-Id: <20210526231429.1045476-2-vivek.kasireddy@intel.com>

[ kraxel: fixup fcntl.h include ]

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2021-05-27 12:06:01 +02:00

41 lines
665 B
C

/*
* udmabuf helper functions.
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*/
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "ui/console.h"
#ifdef CONFIG_LINUX
#include <fcntl.h>
#include <sys/ioctl.h>
int udmabuf_fd(void)
{
static bool first = true;
static int udmabuf;
if (!first) {
return udmabuf;
}
first = false;
udmabuf = open("/dev/udmabuf", O_RDWR);
if (udmabuf < 0) {
warn_report("open /dev/udmabuf: %s", strerror(errno));
}
return udmabuf;
}
#else
int udmabuf_fd(void)
{
return -1;
}
#endif