summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/hal_gp106.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2018-01-26 14:44:12 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-01-31 05:40:48 -0500
commitb386768d323c95f530dd28b695927426e52fe0dc (patch)
treeb6facabb206b8d7e5dbc471512c71db2eb35f245 /drivers/gpu/nvgpu/gp106/hal_gp106.c
parenta9644aa4435a72e5c7e768f85ffb98802940cab4 (diff)
gpu: nvgpu: make .tsg_unbind_channel one layer lower
The message to tell RM server to unbind channel has to be sent after client unbinds the channel and before client calls tsg release. The channel has to belong to a tsg on RM server before client submit a runlist to remove the channel. Or there's a bare channel problem. By moving .tsg_unbind_channl one layer lower, gk20a_tsg_unbind_channel() will be common functions for all chip, and it'll call tsg release after call .tsg_unbind_channel. So vgpu won't need to worry about tsg was released before sending msg to RM server. Bug 200382695 Bug 200382785 Change-Id: I32acc122f3f9d5d0628049ccf673225f9e90c87a Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1645383 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/hal_gp106.c')
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index 7a57672e..edf1be37 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -487,7 +487,7 @@ static const struct gpu_ops gp106_ops = {
487 .handle_pbdma_intr_0 = gk20a_fifo_handle_pbdma_intr_0, 487 .handle_pbdma_intr_0 = gk20a_fifo_handle_pbdma_intr_0,
488 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1, 488 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1,
489 .tsg_bind_channel = gk20a_tsg_bind_channel, 489 .tsg_bind_channel = gk20a_tsg_bind_channel,
490 .tsg_unbind_channel = gk20a_tsg_unbind_channel, 490 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel,
491#ifdef CONFIG_TEGRA_GK20A_NVHOST 491#ifdef CONFIG_TEGRA_GK20A_NVHOST
492 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf, 492 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf,
493 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf, 493 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf,