diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-06-28 16:13:48 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-06-28 16:13:48 -0400 |
| commit | cf723497f2b0dfd688dd27949f1d6e26a5aec44c (patch) | |
| tree | f1c760a700ff5fe97f9169eace297b923009a237 | |
| parent | 3c2bfbaadff6e0c257bb6b16c9c97f43618b13dc (diff) | |
| parent | 426ef1bb40a3bd99ccd16d629bd1294805e96fc6 (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.h | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 2 |
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 | ||
| 114 | int etnaviv_gem_wait_bo(struct etnaviv_gpu *gpu, struct drm_gem_object *obj, | 115 | int 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); |
