struct drm_prime_handle arg = { 0, };
arg.handle = gem_fd;
+ arg.flags = O_CLOEXEC | O_RDWR;
ret = drm_ioctl (drm_fd, DRM_IOCTL_PRIME_HANDLE_TO_FD, &arg);
if (0 != ret) {
+ printf ("fail : get fd from gem:%d (DRM_IOCTL_PRIME_HANDLE_TO_FD)\n", ret);
return -1;
}
return arg.fd;
pBuf =
mmap (0, pMem->size, PROT_READ | PROT_WRITE, MAP_SHARED, pMem->dmaFd, 0);
if (pBuf == MAP_FAILED) {
+ printf("Map failed : size %d, fd %d, error : %s\n", pMem->size, pMem->dmaFd, strerror(errno));
return -1;
}
pMem->pBuffer = pBuf;