Chromium Code Reviews| 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 { |