xref: /qemu/ui/udmabuf.c (revision 87f12216d9268ed90e6114a22cbc3f53b0fd8457)
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*87f12216SVivek Kasireddy 
11*87f12216SVivek Kasireddy #ifdef CONFIG_LINUX
12*87f12216SVivek Kasireddy 
13*87f12216SVivek Kasireddy #include <fcntl.h>
14*87f12216SVivek Kasireddy #include <sys/ioctl.h>
15*87f12216SVivek Kasireddy 
16*87f12216SVivek Kasireddy int udmabuf_fd(void)
17*87f12216SVivek Kasireddy {
18*87f12216SVivek Kasireddy     static bool first = true;
19*87f12216SVivek Kasireddy     static int udmabuf;
20*87f12216SVivek Kasireddy 
21*87f12216SVivek Kasireddy     if (!first) {
22*87f12216SVivek Kasireddy         return udmabuf;
23*87f12216SVivek Kasireddy     }
24*87f12216SVivek Kasireddy     first = false;
25*87f12216SVivek Kasireddy 
26*87f12216SVivek Kasireddy     udmabuf = open("/dev/udmabuf", O_RDWR);
27*87f12216SVivek Kasireddy     if (udmabuf < 0) {
28*87f12216SVivek Kasireddy         warn_report("open /dev/udmabuf: %s", strerror(errno));
29*87f12216SVivek Kasireddy     }
30*87f12216SVivek Kasireddy     return udmabuf;
31*87f12216SVivek Kasireddy }
32*87f12216SVivek Kasireddy 
33*87f12216SVivek Kasireddy #else
34*87f12216SVivek Kasireddy 
35*87f12216SVivek Kasireddy int udmabuf_fd(void)
36*87f12216SVivek Kasireddy {
37*87f12216SVivek Kasireddy     return -1;
38*87f12216SVivek Kasireddy }
39*87f12216SVivek Kasireddy 
40*87f12216SVivek Kasireddy #endif
41