drm-tests: revert temporarily use of mmap() to map BO
mmap() works apparently fine but I probably have to fill in the
info->map_data structure; failing to do so causes a segmentation
fault. This CL reverts back to using gbm_bo_map2() while I find
out a more permanent solution.
BUG=b:185492766
BUG=b:183760490
TEST=plane_test -f NV12 on volteer
Change-Id: I10e3ac3a354c012d8c0b451b80006d04a84301f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/drm-tests/+/2852813
Tested-by: Miguel Casas <mcasas@chromium.org>
Auto-Submit: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
diff --git a/bsdrm/src/mmap.c b/bsdrm/src/mmap.c
index 1e05123..20ce1fb 100644
--- a/bsdrm/src/mmap.c
+++ b/bsdrm/src/mmap.c
@@ -119,16 +119,15 @@
void *ptr = NULL;
// Use mmap() for planar formats and gbm_bo_map() for others.
if (gbm_bo_get_plane_count(bo) > 1) {
- const int drm_prime_fd = gbm_bo_get_fd_for_plane(bo, plane);
- const size_t plane_length = bs_calculate_plane_size(bo, plane);
- assert(plane_length);
- ptr =
- mmap(NULL, plane_length, (PROT_READ | PROT_WRITE), MAP_SHARED, drm_prime_fd, 0);
+ // TODO(mcasas, b/185492766): Use mmap() here.
+ ptr = gbm_bo_map2(bo, /*x=*/0, /*y=*/0, w, h, GBM_BO_TRANSFER_READ_WRITE, stride,
+ &info->map_data, plane);
} else {
assert(plane == 0);
ptr = gbm_bo_map(bo, /*x=*/0, /*y=*/0, w, h, GBM_BO_TRANSFER_READ_WRITE, stride,
&info->map_data);
}
+ assert(ptr);
return ptr;
}