diff --git a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c index 9e116c364..705eccaa9 100644 --- a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c @@ -518,6 +518,9 @@ int gk20a_ctxsw_trace_init(struct gk20a *g) if (unlikely(err)) goto fail; + g->gpu_characteristics.flags |= + NVGPU_GPU_FLAGS_SUPPORT_FECS_CTXSW_TRACE; + return 0; fail: diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h index 1dce8803b..5a9a1d256 100644 --- a/include/uapi/linux/nvgpu.h +++ b/include/uapi/linux/nvgpu.h @@ -130,6 +130,8 @@ struct nvgpu_gpu_zbc_query_table_args { #define NVGPU_GPU_FLAGS_SUPPORT_SET_THERM_ALERT_LIMIT (1ULL << 14) /* NVGPU_GPU_IOCTL_GET_EVENT_FD is available */ #define NVGPU_GPU_FLAGS_SUPPORT_DEVICE_EVENTS (1ULL << 15) +/* FECS context switch tracing is available */ +#define NVGPU_GPU_FLAGS_SUPPORT_FECS_CTXSW_TRACE (1ULL << 16) struct nvgpu_gpu_characteristics { __u32 arch;