summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-05-08 07:43:27 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:09:20 -0400
commitc8a5d3f908977b55f48e94f31e35e0534c4087cd (patch)
tree7c095ae930537a6974a5ffe344ca80015b980907 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c
parent4ac110cb8a46a0c91a4a1e39c168de1b49688971 (diff)
gpu: nvgpu: Fix TLB invalidate race
TLB invalidate can have a race if several contexts use the same address space. One thread starting an invalidate allows another thread to submit before invalidate is completed. Bug 1502332 Change-Id: I074ec493eac3b153c5f23d796a1dee1d8db24855 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/407578 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 1b7191db..7cfb3c24 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -1575,13 +1575,6 @@ static int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
1575 incr_cmd->gp_put = c->gpfifo.put; 1575 incr_cmd->gp_put = c->gpfifo.put;
1576 } 1576 }
1577 1577
1578 /* Invalidate tlb if it's dirty... */
1579 /* TBD: this should be done in the cmd stream, not with PRIs. */
1580 /* We don't know what context is currently running... */
1581 /* Note also: there can be more than one context associated with the */
1582 /* address space (vm). */
1583 gk20a_mm_tlb_invalidate(c->vm);
1584
1585 trace_gk20a_channel_submitted_gpfifo(c->g->dev->name, 1578 trace_gk20a_channel_submitted_gpfifo(c->g->dev->name,
1586 c->hw_chid, 1579 c->hw_chid,
1587 num_entries, 1580 num_entries,