summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
diff options
context:
space:
mode:
authorSunny He <suhe@nvidia.com>2017-06-27 16:42:33 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-13 03:09:08 -0400
commite78153ea1b6b610f2307b86fc42ea33d678b250f (patch)
tree004e16c6b81c4b209cc2714e8722209db92edc2c /drivers/gpu/nvgpu/gp10b/mc_gp10b.c
parentecf67ebbf69a9ab6481b1517b8920f7ac5828bb5 (diff)
gpu: nvgpu: Reorg mc HAL initialization
Reorganize HAL initialization to remove inheritance and construct the gpu_ops struct at compile time. This patch only covers the mc 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: I26d74c14661a193af7e8d90dd672b73010e5f841 Signed-off-by: Sunny He <suhe@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1509601 GVS: Gerrit_Virtual_Submit Reviewed-by: Richard Zhao <rizhao@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/mc_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/mc_gp10b.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/mc_gp10b.c b/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
index 39ad8f9b..5a1d5dcc 100644
--- a/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/mc_gp10b.c
@@ -156,7 +156,7 @@ void mc_gp10b_intr_nonstall_resume(struct gk20a *g)
156 g->ops.mc.intr_mask_restore[NVGPU_MC_INTR_NONSTALLING]); 156 g->ops.mc.intr_mask_restore[NVGPU_MC_INTR_NONSTALLING]);
157} 157}
158 158
159static bool mc_gp10b_is_intr1_pending(struct gk20a *g, 159bool mc_gp10b_is_intr1_pending(struct gk20a *g,
160 enum nvgpu_unit unit, u32 mc_intr_1) 160 enum nvgpu_unit unit, u32 mc_intr_1)
161{ 161{
162 u32 mask = 0; 162 u32 mask = 0;
@@ -179,21 +179,3 @@ static bool mc_gp10b_is_intr1_pending(struct gk20a *g,
179 179
180 return is_pending; 180 return is_pending;
181} 181}
182
183void gp10b_init_mc(struct gpu_ops *gops)
184{
185 gops->mc.intr_enable = mc_gp10b_intr_enable;
186 gops->mc.intr_unit_config = mc_gp10b_intr_unit_config;
187 gops->mc.isr_stall = mc_gp10b_isr_stall;
188 gops->mc.intr_stall = mc_gp10b_intr_stall;
189 gops->mc.intr_stall_pause = mc_gp10b_intr_stall_pause;
190 gops->mc.intr_stall_resume = mc_gp10b_intr_stall_resume;
191 gops->mc.intr_nonstall = mc_gp10b_intr_nonstall;
192 gops->mc.intr_nonstall_pause = mc_gp10b_intr_nonstall_pause;
193 gops->mc.intr_nonstall_resume = mc_gp10b_intr_nonstall_resume;
194 gops->mc.enable = gk20a_mc_enable;
195 gops->mc.disable = gk20a_mc_disable;
196 gops->mc.reset = gk20a_mc_reset;
197 gops->mc.boot_0 = gk20a_mc_boot_0;
198 gops->mc.is_intr1_pending = mc_gp10b_is_intr1_pending;
199}