Index: ui/ozone/platform/drm/common/client_native_pixmap_dmabuf.cc |
diff --git a/ui/ozone/platform/drm/common/client_native_pixmap_dmabuf.cc b/ui/ozone/platform/drm/common/client_native_pixmap_dmabuf.cc |
index c7bdeb3f467ff60fb970bbe0212d767845cbd7a9..afd1a42fe6a4a87abf700d107a6c67c07971ba60 100644 |
--- a/ui/ozone/platform/drm/common/client_native_pixmap_dmabuf.cc |
+++ b/ui/ozone/platform/drm/common/client_native_pixmap_dmabuf.cc |
@@ -40,23 +40,20 @@ struct local_dma_buf_sync { |
#endif |
namespace ui { |
- |
namespace { |
-void PrimeSyncStart(int dmabuf_fd) { |
+bool PrimeSyncStart(int dmabuf_fd) { |
struct local_dma_buf_sync sync_start = {0}; |
sync_start.flags = LOCAL_DMA_BUF_SYNC_START | LOCAL_DMA_BUF_SYNC_RW; |
- if (drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_start)) |
- PLOG(ERROR) << "Failed DMA_BUF_SYNC_START"; |
+ return !drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_start); |
} |
-void PrimeSyncEnd(int dmabuf_fd) { |
+bool PrimeSyncEnd(int dmabuf_fd) { |
struct local_dma_buf_sync sync_end = {0}; |
sync_end.flags = LOCAL_DMA_BUF_SYNC_END | LOCAL_DMA_BUF_SYNC_RW; |
- if (drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end)) |
- PLOG(ERROR) << "Failed DMA_BUF_SYNC_END"; |
+ return !drmIoctl(dmabuf_fd, LOCAL_DMA_BUF_IOCTL_SYNC, &sync_end); |
} |
} // namespace |
@@ -124,7 +121,8 @@ ClientNativePixmapDmaBuf::~ClientNativePixmapDmaBuf() { |
bool ClientNativePixmapDmaBuf::Map() { |
TRACE_EVENT0("drm", "DmaBuf:Map"); |
if (data_ != nullptr) { |
- PrimeSyncStart(dmabuf_fd_.get()); |
+ bool rv = PrimeSyncStart(dmabuf_fd_.get()); |
+ PLOG_IF(ERROR, !rv && !map_count_) << "PrimeSyncStart Failed"; |
return true; |
} |
return false; |
@@ -132,7 +130,9 @@ bool ClientNativePixmapDmaBuf::Map() { |
void ClientNativePixmapDmaBuf::Unmap() { |
TRACE_EVENT0("drm", "DmaBuf:Unmap"); |
- PrimeSyncEnd(dmabuf_fd_.get()); |
+ bool rv = PrimeSyncEnd(dmabuf_fd_.get()); |
+ PLOG_IF(ERROR, !rv && !map_count_) << "PrimeSyncEnd Failed"; |
+ ++map_count_; |
Daniele Castagna
2017/03/24 00:53:10
nit: If we increment it here it's not really a map
|
} |
void* ClientNativePixmapDmaBuf::GetMemoryAddress(size_t plane) const { |