panfrost: Add flags to reflect the BO imported/exported state

Will be useful to make the ioctl(WAIT_BO) call conditional on BOs that
are not exported/imported (meaning that all GPU accesses are known
by the context).

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
Boris Brezillon 2019-09-14 17:11:03 +02:00
parent 82399b58d3
commit 22190bc27b
2 changed files with 8 additions and 2 deletions

View file

@ -355,7 +355,7 @@ panfrost_bo_import(struct panfrost_screen *screen, int fd)
bo->gem_handle = gem_handle;
bo->gpu = (mali_ptr) get_bo_offset.offset;
bo->size = lseek(fd, 0, SEEK_END);
bo->flags |= PAN_BO_DONT_REUSE;
bo->flags |= PAN_BO_DONT_REUSE | PAN_BO_IMPORTED;
assert(bo->size > 0);
pipe_reference_init(&bo->reference, 1);
@ -376,7 +376,7 @@ panfrost_bo_export(struct panfrost_bo *bo)
if (ret == -1)
return -1;
bo->flags |= PAN_BO_DONT_REUSE;
bo->flags |= PAN_BO_DONT_REUSE | PAN_BO_EXPORTED;
return args.fd;
}

View file

@ -56,6 +56,12 @@ struct panfrost_screen;
* let the BO logic know about this contraint. */
#define PAN_BO_DONT_REUSE (1 << 5)
/* BO has been imported */
#define PAN_BO_IMPORTED (1 << 6)
/* BO has been exported */
#define PAN_BO_EXPORTED (1 << 7)
/* GPU access flags */
/* BO is either shared (can be accessed by more than one GPU batch) or private