xref: /openbmc/qemu/ui/udmabuf.c (revision 6a50f64ca01d0a7b97f14f069762bfd88160f31e)
187f12216SVivek Kasireddy /*
287f12216SVivek Kasireddy  * udmabuf helper functions.
387f12216SVivek Kasireddy  *
487f12216SVivek Kasireddy  * This work is licensed under the terms of the GNU GPL, version 2 or later.
587f12216SVivek Kasireddy  * See the COPYING file in the top-level directory.
687f12216SVivek Kasireddy  */
787f12216SVivek Kasireddy #include "qemu/osdep.h"
887f12216SVivek Kasireddy #include "qapi/error.h"
987f12216SVivek Kasireddy #include "ui/console.h"
10*5feed38cSThomas Huth #include "qemu/error-report.h"
1187f12216SVivek Kasireddy 
1287f12216SVivek Kasireddy #include <sys/ioctl.h>
1387f12216SVivek Kasireddy 
udmabuf_fd(void)1487f12216SVivek Kasireddy int udmabuf_fd(void)
1587f12216SVivek Kasireddy {
1687f12216SVivek Kasireddy     static bool first = true;
1787f12216SVivek Kasireddy     static int udmabuf;
1887f12216SVivek Kasireddy 
1987f12216SVivek Kasireddy     if (!first) {
2087f12216SVivek Kasireddy         return udmabuf;
2187f12216SVivek Kasireddy     }
2287f12216SVivek Kasireddy     first = false;
2387f12216SVivek Kasireddy 
2487f12216SVivek Kasireddy     udmabuf = open("/dev/udmabuf", O_RDWR);
2587f12216SVivek Kasireddy     if (udmabuf < 0) {
2687f12216SVivek Kasireddy         warn_report("open /dev/udmabuf: %s", strerror(errno));
2787f12216SVivek Kasireddy     }
2887f12216SVivek Kasireddy     return udmabuf;
2987f12216SVivek Kasireddy }
30