From a73b5d3c6f04cc420b7e01554a97dbb19fada27a Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Wed, 22 Jul 2020 18:37:05 +0530 Subject: [PATCH] gpu: nvgpu: use smpc global mode capability check In nvgpu_dbg_gpu_ioctl_smpc_ctxsw_mode(), check if SMPC global mode capability is supported instead of checking for the function pointer. Enable the capability only for Turing since pre-Turing GPUs don't support it. Bug 2510974 Jira NVGPU-5360 Change-Id: I352fb2a91b836cd8ef727966a53a28255d8ea834 Signed-off-by: Deepak Nibade Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2389653 Tested-by: mobile promotions Reviewed-by: mobile promotions --- drivers/gpu/nvgpu/hal/init/hal_tu104.c | 1 + drivers/gpu/nvgpu/os/linux/ioctl_dbg.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/nvgpu/hal/init/hal_tu104.c b/drivers/gpu/nvgpu/hal/init/hal_tu104.c index 18c1d24d6..f92bdd567 100644 --- a/drivers/gpu/nvgpu/hal/init/hal_tu104.c +++ b/drivers/gpu/nvgpu/hal/init/hal_tu104.c @@ -1741,6 +1741,7 @@ int tu104_init_hal(struct gk20a *g) #ifdef CONFIG_NVGPU_PROFILER nvgpu_set_enabled(g, NVGPU_SUPPORT_PROFILER_V2_DEVICE, true); nvgpu_set_enabled(g, NVGPU_SUPPORT_PROFILER_V2_CONTEXT, false); + nvgpu_set_enabled(g, NVGPU_SUPPORT_SMPC_GLOBAL_MODE, true); #endif nvgpu_set_enabled(g, NVGPU_SUPPORT_SEC2_RTOS, true); nvgpu_set_enabled(g, NVGPU_SUPPORT_PMU_RTOS_FBQ, true); diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c index de9bc442b..a32267f60 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c @@ -971,7 +971,7 @@ static int nvgpu_dbg_gpu_ioctl_smpc_ctxsw_mode(struct dbg_session_gk20a *dbg_s, } if (global_mode) { - if (g->ops.gr.update_smpc_global_mode == NULL) { + if (!nvgpu_is_enabled(g, NVGPU_SUPPORT_SMPC_GLOBAL_MODE)) { nvgpu_err(g, "SMPC global mode not supported"); err = -EINVAL; goto clean_up;