diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-02-28 15:16:35 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-02 13:43:40 -0500 |
commit | b71fa9289da8da9c5d20e04abaa90870de8b4430 (patch) | |
tree | 7ee943dc8f760fa3408b6a0292a5ee6b095a4beb /drivers | |
parent | f8ec82237ead5f9cb3a5e2f98ef08a6bc55fc931 (diff) |
gpu: nvgpu: Do not bind FECS trace on VPR channels
VPR channels can access VPR, and writing to FECS buffer outside of
VPR causes a region violation.
Bug 1877511
Change-Id: Ida466c81e928d1f67bf1b0e7dd6afb799c1ab2f6
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1312759
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
Tested-by: Season Li <seasonl@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 83a3a523..ef8a3e7d 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -969,7 +969,7 @@ static void gk20a_free_channel(struct channel_gk20a *ch, bool force) | |||
969 | 969 | ||
970 | gk20a_free_error_notifiers(ch); | 970 | gk20a_free_error_notifiers(ch); |
971 | 971 | ||
972 | if (g->ops.fecs_trace.unbind_channel) | 972 | if (g->ops.fecs_trace.unbind_channel && !ch->vpr) |
973 | g->ops.fecs_trace.unbind_channel(g, ch); | 973 | g->ops.fecs_trace.unbind_channel(g, ch); |
974 | 974 | ||
975 | /* release channel ctx */ | 975 | /* release channel ctx */ |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index aad6c07b..cb4f8007 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -3303,7 +3303,7 @@ int gk20a_alloc_obj_ctx(struct channel_gk20a *c, | |||
3303 | "fail to load golden ctx image"); | 3303 | "fail to load golden ctx image"); |
3304 | goto out; | 3304 | goto out; |
3305 | } | 3305 | } |
3306 | if (g->ops.fecs_trace.bind_channel) { | 3306 | if (g->ops.fecs_trace.bind_channel && !c->vpr) { |
3307 | err = g->ops.fecs_trace.bind_channel(g, c); | 3307 | err = g->ops.fecs_trace.bind_channel(g, c); |
3308 | if (err) { | 3308 | if (err) { |
3309 | gk20a_warn(dev_from_gk20a(g), | 3309 | gk20a_warn(dev_from_gk20a(g), |