diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index 5255278dde5603a6f13587b1276c0cbc8adc908d..2a377e8a70823a3d3efffeea206e5f89518bb306 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c @@ -512,7 +512,7 @@ static struct drm_driver etnaviv_drm_driver = { .desc = "etnaviv DRM", .date = "20151214", .major = 1, - .minor = 1, + .minor = 2, }; /* diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c index 5bd93169dac2059a0981cc2f24b8c9032447ba9e..d906bae60c54c626fa6eeac9366aa9ea9a49f586 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c @@ -26,7 +26,11 @@ * Cmdstream submission: */ -#define BO_INVALID_FLAGS ~(ETNA_SUBMIT_BO_READ | ETNA_SUBMIT_BO_WRITE) +#define BO_INVALID_FLAGS ~( \ + ETNA_SUBMIT_BO_READ | \ + ETNA_SUBMIT_BO_WRITE | \ + ETNA_SUBMIT_BO_NO_IMPLICIT | \ + 0) /* make sure these don't conflict w/ ETNAVIV_SUBMIT_BO_x */ #define BO_LOCKED 0x4000 #define BO_PINNED 0x2000 @@ -172,7 +176,8 @@ static int submit_fence_sync(const struct etnaviv_gem_submit *submit) for (i = 0; i < submit->nr_bos; i++) { struct etnaviv_gem_object *etnaviv_obj = submit->bos[i].obj; bool write = submit->bos[i].flags & ETNA_SUBMIT_BO_WRITE; - bool explicit = !!(submit->flags & ETNA_SUBMIT_NO_IMPLICIT); + bool explicit = !!(submit->flags & ETNA_SUBMIT_NO_IMPLICIT) || + !!(submit->bos[i].flags & ETNA_SUBMIT_BO_NO_IMPLICIT); ret = etnaviv_gpu_fence_sync_obj(etnaviv_obj, context, write, explicit); diff --git a/include/uapi/drm/etnaviv_drm.h b/include/uapi/drm/etnaviv_drm.h index 76f6f78a352bac46627025769c4e116529d62167..92d71cf6cd57ad28c10f12c36b3a10e017b2078d 100644 --- a/include/uapi/drm/etnaviv_drm.h +++ b/include/uapi/drm/etnaviv_drm.h @@ -144,6 +144,7 @@ struct drm_etnaviv_gem_submit_reloc { */ #define ETNA_SUBMIT_BO_READ 0x0001 #define ETNA_SUBMIT_BO_WRITE 0x0002 +#define ETNA_SUBMIT_BO_NO_IMPLICIT 0x0004 struct drm_etnaviv_gem_submit_bo { __u32 flags; /* in, mask of ETNA_SUBMIT_BO_x */ __u32 handle; /* in, GEM handle */