summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
index 1b18a8f9..4d62d8e9 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * GK20A Graphics FIFO (gr host) 2 * GK20A Graphics FIFO (gr host)
3 * 3 *
4 * Copyright (c) 2011-2019, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2011-2020, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a 6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"), 7 * copy of this software and associated documentation files (the "Software"),
@@ -2250,6 +2250,15 @@ int gk20a_fifo_tsg_unbind_channel(struct channel_gk20a *ch)
2250 goto fail_enable_tsg; 2250 goto fail_enable_tsg;
2251 } 2251 }
2252 2252
2253 while (ch->mmu_debug_mode_refcnt > 0U) {
2254 err = nvgpu_tsg_set_mmu_debug_mode(ch, false);
2255 if (err != 0) {
2256 nvgpu_err(g, "disable mmu debug mode failed ch:%u",
2257 ch->chid);
2258 break;
2259 }
2260 }
2261
2253 /* Remove channel from TSG and re-enable rest of the channels */ 2262 /* Remove channel from TSG and re-enable rest of the channels */
2254 nvgpu_rwsem_down_write(&tsg->ch_list_lock); 2263 nvgpu_rwsem_down_write(&tsg->ch_list_lock);
2255 nvgpu_list_del(&ch->ch_entry); 2264 nvgpu_list_del(&ch->ch_entry);