diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 11 |
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); |