summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h
diff options
context:
space:
mode:
authorSunny He <suhe@nvidia.com>2017-07-26 14:13:15 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-27 19:34:44 -0400
commit9d37d8b78c2dac7fa480493d1ab67b95290b87f1 (patch)
tree338d862a37c8639c68a22f9543fa1499f2307762 /drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h
parent6431ec360bf7b7baf6dd687b1525c40114ede189 (diff)
gpu: nvgpu: Reorg fecs_trace HAL initialization
Reorganize HAL initialization to remove inheritance and construct the gpu_ops struct at compile time. This patch only covers the fecs_trace sub-module of the gpu_ops struct. Perform HAL function assignments in hal_gxxxx.c through the population of a chip-specific copy of gpu_ops. Jira NVGPU-74 Change-Id: I84485ad64997270c6a0fce3c95dc9ceb0094cf6c Signed-off-by: Sunny He <suhe@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1527419 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h
index 4979d6c6..454a33e8 100644
--- a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 2 * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify it 4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License, 5 * under the terms and conditions of the GNU General Public License,
@@ -14,7 +14,21 @@
14#ifndef __FECS_TRACE_GK20A_H 14#ifndef __FECS_TRACE_GK20A_H
15#define __FECS_TRACE_GK20A_H 15#define __FECS_TRACE_GK20A_H
16 16
17struct gpu_ops; 17struct gk20a;
18void gk20a_init_fecs_trace_ops(struct gpu_ops *ops); 18struct channel_gk20a;
19struct nvgpu_ctxsw_trace_filter;
20
21int gk20a_fecs_trace_poll(struct gk20a *g);
22int gk20a_fecs_trace_init(struct gk20a *g);
23int gk20a_fecs_trace_bind_channel(struct gk20a *g,
24 struct channel_gk20a *ch);
25int gk20a_fecs_trace_unbind_channel(struct gk20a *g, struct channel_gk20a *ch);
26int gk20a_fecs_trace_reset(struct gk20a *g);
27int gk20a_fecs_trace_deinit(struct gk20a *g);
28int gk20a_gr_max_entries(struct gk20a *g,
29 struct nvgpu_ctxsw_trace_filter *filter);
30int gk20a_fecs_trace_enable(struct gk20a *g);
31int gk20a_fecs_trace_disable(struct gk20a *g);
32bool gk20a_fecs_trace_is_enabled(struct gk20a *g);
19 33
20#endif /* __FECS_TRACE_GK20A_H */ 34#endif /* __FECS_TRACE_GK20A_H */