From 28a642f6bbf62dce632d6d4ef75eabc1da0128ef Mon Sep 17 00:00:00 2001 From: Thomas Fleury Date: Wed, 13 Dec 2017 16:54:01 -0800 Subject: gpu: nvgpu: vgpu: allow disabling of ctxsw tracing Fixed build failure that occurred when disabling FECS ctxsw tracing using CONFIG_GK20A_CTXSW_TRACE. JIRA EVLR-2162 Change-Id: I751eba835c5f3f527571167e8b05fadb9687c64d Signed-off-by: Thomas Fleury Reviewed-on: https://git-master.nvidia.com/r/1617557 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Richard Zhao GVS: Gerrit_Virtual_Submit Reviewed-by: Aparna Das Reviewed-by: Terje Bergstrom Tested-by: Dennis Kou Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/vgpu/fecs_trace_vgpu.c | 2 ++ drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c | 2 ++ drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c | 2 ++ drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c | 4 ++++ 4 files changed, 10 insertions(+) diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/fecs_trace_vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/fecs_trace_vgpu.c index 5007de36..5344313a 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/fecs_trace_vgpu.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/fecs_trace_vgpu.c @@ -190,6 +190,7 @@ int vgpu_mmap_user_buffer(struct gk20a *g, struct vm_area_struct *vma) vma->vm_page_prot); } +#ifdef CONFIG_GK20A_CTXSW_TRACE int vgpu_fecs_trace_max_entries(struct gk20a *g, struct nvgpu_ctxsw_trace_filter *filter) { @@ -223,3 +224,4 @@ void vgpu_fecs_trace_data_update(struct gk20a *g) { gk20a_ctxsw_trace_wake_up(g, 0); } +#endif /* CONFIG_GK20A_CTXSW_TRACE */ diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c b/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c index 7c376396..31608200 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c @@ -522,7 +522,9 @@ int vgpu_gp10b_init_hal(struct gk20a *g) gops->clock_gating = vgpu_gp10b_ops.clock_gating; gops->fifo = vgpu_gp10b_ops.fifo; gops->gr_ctx = vgpu_gp10b_ops.gr_ctx; +#ifdef CONFIG_GK20A_CTXSW_TRACE gops->fecs_trace = vgpu_gp10b_ops.fecs_trace; +#endif gops->mm = vgpu_gp10b_ops.mm; gops->pramin = vgpu_gp10b_ops.pramin; gops->therm = vgpu_gp10b_ops.therm; diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c index 7372a956..b41d9dc3 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c @@ -568,7 +568,9 @@ int vgpu_gv11b_init_hal(struct gk20a *g) gops->fifo = vgpu_gv11b_ops.fifo; gops->gr_ctx = vgpu_gv11b_ops.gr_ctx; gops->mm = vgpu_gv11b_ops.mm; +#ifdef CONFIG_GK20A_CTXSW_TRACE gops->fecs_trace = vgpu_gv11b_ops.fecs_trace; +#endif gops->therm = vgpu_gv11b_ops.therm; gops->pmu = vgpu_gv11b_ops.pmu; gops->regops = vgpu_gv11b_ops.regops; diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c index 1ec0bc1c..3ff68ec2 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c @@ -191,9 +191,11 @@ static int vgpu_intr_thread(void *dev_id) vgpu_ce2_nonstall_isr(g, &msg->info.ce2_nonstall_intr); break; +#ifdef CONFIG_GK20A_CTXSW_TRACE case TEGRA_VGPU_EVENT_FECS_TRACE: vgpu_fecs_trace_data_update(g); break; +#endif case TEGRA_VGPU_EVENT_CHANNEL: vgpu_handle_channel_event(g, &msg->info.channel_event); break; @@ -508,7 +510,9 @@ int vgpu_pm_finalize_poweron(struct device *dev) if (err) goto done; +#ifdef CONFIG_GK20A_CTXSW_TRACE gk20a_ctxsw_trace_init(g); +#endif gk20a_sched_ctrl_init(g); gk20a_channel_resume(g); -- cgit v1.2.2