diff --git a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c index 7460a0220..1a8e9dcb0 100644 --- a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -436,7 +436,7 @@ clean: } int gk20a_fecs_trace_bind_channel(struct gk20a *g, - struct channel_gk20a *ch, struct nvgpu_gr_ctx *gr_ctx) + struct channel_gk20a *ch, u32 vmid, struct nvgpu_gr_ctx *gr_ctx) { /* * map our circ_buf to the context space and store the GPU VA diff --git a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h index 93b03da76..f8439e569 100644 --- a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -31,7 +31,8 @@ struct nvgpu_gr_ctx; int gk20a_fecs_trace_poll(struct gk20a *g); int gk20a_fecs_trace_init(struct gk20a *g); int gk20a_fecs_trace_bind_channel(struct gk20a *g, - struct channel_gk20a *ch, struct nvgpu_gr_ctx *gr_ctx); + struct channel_gk20a *ch, u32 vmid, + struct nvgpu_gr_ctx *gr_ctx); int gk20a_fecs_trace_unbind_channel(struct gk20a *g, struct channel_gk20a *ch); int gk20a_fecs_trace_reset(struct gk20a *g); int gk20a_fecs_trace_deinit(struct gk20a *g); diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 1dc4b1d26..79f790897 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -2772,7 +2772,7 @@ int gk20a_alloc_obj_ctx(struct channel_gk20a *c, u32 class_num, u32 flags) } #ifdef CONFIG_GK20A_CTXSW_TRACE if (g->ops.fecs_trace.bind_channel && !c->vpr) { - err = g->ops.fecs_trace.bind_channel(g, c, gr_ctx); + err = g->ops.fecs_trace.bind_channel(g, c, 0, gr_ctx); if (err != 0) { nvgpu_warn(g, "fail to bind channel for ctxsw trace"); @@ -2797,7 +2797,7 @@ int gk20a_alloc_obj_ctx(struct channel_gk20a *c, u32 class_num, u32 flags) } #ifdef CONFIG_GK20A_CTXSW_TRACE if (g->ops.fecs_trace.bind_channel && !c->vpr) { - err = g->ops.fecs_trace.bind_channel(g, c, gr_ctx); + err = g->ops.fecs_trace.bind_channel(g, c, 0, gr_ctx); if (err != 0) { nvgpu_warn(g, "fail to bind channel for ctxsw trace"); diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 2693c9ea1..14af92cfd 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h @@ -1044,7 +1044,7 @@ struct gpu_ops { bool (*is_enabled)(struct gk20a *g); int (*reset)(struct gk20a *g); int (*bind_channel)(struct gk20a *g, struct channel_gk20a *ch, - struct nvgpu_gr_ctx *gr_ctx); + u32 vmid, struct nvgpu_gr_ctx *gr_ctx); int (*unbind_channel)(struct gk20a *g, struct channel_gk20a *ch); int (*deinit)(struct gk20a *g);