diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 5b259672..a7f8005b 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -2826,6 +2826,12 @@ void gk20a_channel_semaphore_wakeup(struct gk20a *g, bool post_events) | |||
2826 | 2826 | ||
2827 | gk20a_dbg_fn(""); | 2827 | gk20a_dbg_fn(""); |
2828 | 2828 | ||
2829 | /* | ||
2830 | * Ensure that all pending writes are actually done before trying to | ||
2831 | * read semaphore values from DRAM. | ||
2832 | */ | ||
2833 | g->ops.mm.fb_flush(g); | ||
2834 | |||
2829 | for (chid = 0; chid < f->num_channels; chid++) { | 2835 | for (chid = 0; chid < f->num_channels; chid++) { |
2830 | struct channel_gk20a *c = g->fifo.channel+chid; | 2836 | struct channel_gk20a *c = g->fifo.channel+chid; |
2831 | if (gk20a_channel_get(c)) { | 2837 | if (gk20a_channel_get(c)) { |