From cfc6f0613c16e9bc888a4e6378e5900e3bcefdfa Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Fri, 22 Apr 2016 12:52:45 -0500 Subject: [PATCH] gbm_map: update to revised gbm_bo_map API Add stride return parameter and properly pass usage flags. Signed-off-by: Rob Herring --- gralloc_gbm.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gralloc_gbm.cpp b/gralloc_gbm.cpp index 265d1eb..eeb637a 100644 --- a/gralloc_gbm.cpp +++ b/gralloc_gbm.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -193,14 +194,21 @@ static int gbm_map(struct gralloc_gbm_bo_t *bo, int x, int y, int w, int h, int enable_write, void **addr) { int err = 0; + int flags = GBM_BO_TRANSFER_READ; + uint32_t stride; if (bo->map_data) return -EINVAL; - *addr = gbm_bo_map(bo->bo, x, y, w, h, 0, &bo->map_data); + if (enable_write) + flags |= GBM_BO_TRANSFER_WRITE; + + *addr = gbm_bo_map(bo->bo, x, y, w, h, flags, &stride, &bo->map_data); ALOGE("mapped bo %p at %p", bo, *addr); if (*addr == NULL) - err = -ENOMEM; + return -ENOMEM; + + assert(stride == gbm_bo_get_stride(bo)); return err; } -- 2.11.0