aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-06-28 16:13:48 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-06-28 16:13:48 -0400
commitcf723497f2b0dfd688dd27949f1d6e26a5aec44c (patch)
treef1c760a700ff5fe97f9169eace297b923009a237
parent3c2bfbaadff6e0c257bb6b16c9c97f43618b13dc (diff)
parent426ef1bb40a3bd99ccd16d629bd1294805e96fc6 (diff)
Merge branch 'etnaviv/fixes' of git://git.pengutronix.de/git/lst/linux
Pull drm/etnaviv fixes from Lucas Stach: "I realized I just missed the cut-off point for the final drm fixes pull, but I have 2 more etnaviv fixes that need to go into 4.12, as they fix fallout from the explicit sync work introduced in the last merge window" [ Pulling directly because Dave is on vacation. Noted by Daniel Vetter, and acked by Dave Airlie - Linus ] * 'etnaviv/fixes' of git://git.pengutronix.de/git/lst/linux: drm/etnaviv: Fix implicit/explicit sync sense inversion drm/etnaviv: fix submit flags getting overwritten by BO content
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem.h3
-rw-r--r--drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.h b/drivers/gpu/drm/etnaviv/etnaviv_gem.h
index c4a091e87426..e437fba1209d 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.h
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.h
@@ -106,9 +106,10 @@ struct etnaviv_gem_submit {
106 struct etnaviv_gpu *gpu; 106 struct etnaviv_gpu *gpu;
107 struct ww_acquire_ctx ticket; 107 struct ww_acquire_ctx ticket;
108 struct dma_fence *fence; 108 struct dma_fence *fence;
109 u32 flags;
109 unsigned int nr_bos; 110 unsigned int nr_bos;
110 struct etnaviv_gem_submit_bo bos[0]; 111 struct etnaviv_gem_submit_bo bos[0];
111 u32 flags; 112 /* No new members here, the previous one is variable-length! */
112}; 113};
113 114
114int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj, 115int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj,
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
index de80ee1b71df..1013765274da 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
@@ -172,7 +172,7 @@ static int submit_fence_sync(const struct etnaviv_gem_submit *submit)
172 for (i = 0; i < submit->nr_bos; i++) { 172 for (i = 0; i < submit->nr_bos; i++) {
173 struct etnaviv_gem_object *etnaviv_obj = submit->bos[i].obj; 173 struct etnaviv_gem_object *etnaviv_obj = submit->bos[i].obj;
174 bool write = submit->bos[i].flags & ETNA_SUBMIT_BO_WRITE; 174 bool write = submit->bos[i].flags & ETNA_SUBMIT_BO_WRITE;
175 bool explicit = !(submit->flags & ETNA_SUBMIT_NO_IMPLICIT); 175 bool explicit = !!(submit->flags & ETNA_SUBMIT_NO_IMPLICIT);
176 176
177 ret = etnaviv_gpu_fence_sync_obj(etnaviv_obj, context, write, 177 ret = etnaviv_gpu_fence_sync_obj(etnaviv_obj, context, write,
178 explicit); 178 explicit);