xref: /qemu/ui/udmabuf.c (revision 6a50f64ca01d0a7b97f14f069762bfd88160f31e)
1 87f12216SVivek Kasireddy /*
2 87f12216SVivek Kasireddy  * udmabuf helper functions.
3 87f12216SVivek Kasireddy  *
4 87f12216SVivek Kasireddy  * This work is licensed under the terms of the GNU GPL, version 2 or later.
5 87f12216SVivek Kasireddy  * See the COPYING file in the top-level directory.
6 87f12216SVivek Kasireddy  */
7 87f12216SVivek Kasireddy #include "qemu/osdep.h"
8 87f12216SVivek Kasireddy #include "qapi/error.h"
9 87f12216SVivek Kasireddy #include "ui/console.h"
10 *5feed38cSThomas Huth #include "qemu/error-report.h"
11 87f12216SVivek Kasireddy 
12 87f12216SVivek Kasireddy #include <sys/ioctl.h>
13 87f12216SVivek Kasireddy 
udmabuf_fd(void)14 87f12216SVivek Kasireddy int udmabuf_fd(void)
15 87f12216SVivek Kasireddy {
16 87f12216SVivek Kasireddy     static bool first = true;
17 87f12216SVivek Kasireddy     static int udmabuf;
18 87f12216SVivek Kasireddy 
19 87f12216SVivek Kasireddy     if (!first) {
20 87f12216SVivek Kasireddy         return udmabuf;
21 87f12216SVivek Kasireddy     }
22 87f12216SVivek Kasireddy     first = false;
23 87f12216SVivek Kasireddy 
24 87f12216SVivek Kasireddy     udmabuf = open("/dev/udmabuf", O_RDWR);
25 87f12216SVivek Kasireddy     if (udmabuf < 0) {
26 87f12216SVivek Kasireddy         warn_report("open /dev/udmabuf: %s", strerror(errno));
27 87f12216SVivek Kasireddy     }
28 87f12216SVivek Kasireddy     return udmabuf;
29 87f12216SVivek Kasireddy }
30