summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2017-06-28 06:53:18 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-03 06:16:55 -0400
commit2f712e22303471b8dd2f9388c874d12b07aed258 (patch)
treec6898c29860abc2970028fd6da60002819fb6488 /drivers/gpu/nvgpu/gk20a/flcn_gk20a.c
parentd2486cf1b1d0b0e3306ba6eb0a8b6573fa27d03e (diff)
gpu: nvgpu: falcon HAL to support SEC2
- Updated falcon controller HAL to support SEC2 falcon & used "is_falcon_supported" flag to know the support on chip. - Created falcon HAL “flcn_gp106.c/h” under gp106 to enable support for SEC2 & inherited gk20a flcn support. - Deleted SEC2 falcon related methods to make use of generic flacon controller methods for SEC2. - GP106 SEC2 code cleanup NVPU JIRA-99 Change-Id: I846e8015ed33554b3d8a45795314f1d28eee482f Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master/r/1510200 GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/flcn_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/flcn_gk20a.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c b/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c
index 2a246fdc..328f5bf7 100644
--- a/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c
@@ -269,7 +269,7 @@ static void gk20a_falcon_engine_dependency_ops(struct nvgpu_falcon *flcn)
269 } 269 }
270} 270}
271 271
272static void gk20a_falcon_ops(struct nvgpu_falcon *flcn) 272void gk20a_falcon_ops(struct nvgpu_falcon *flcn)
273{ 273{
274 struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops; 274 struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops;
275 275
@@ -294,6 +294,11 @@ static void gk20a_falcon_hal_sw_init(struct nvgpu_falcon *flcn)
294 flcn->is_falcon_supported = true; 294 flcn->is_falcon_supported = true;
295 flcn->is_interrupt_enabled = true; 295 flcn->is_interrupt_enabled = true;
296 break; 296 break;
297 case FALCON_ID_SEC2:
298 flcn->flcn_base = FALCON_SEC_BASE;
299 flcn->is_falcon_supported = false;
300 flcn->is_interrupt_enabled = false;
301 break;
297 case FALCON_ID_FECS: 302 case FALCON_ID_FECS:
298 flcn->flcn_base = FALCON_FECS_BASE; 303 flcn->flcn_base = FALCON_FECS_BASE;
299 flcn->is_falcon_supported = true; 304 flcn->is_falcon_supported = true;
@@ -314,8 +319,8 @@ static void gk20a_falcon_hal_sw_init(struct nvgpu_falcon *flcn)
314 nvgpu_mutex_init(&flcn->copy_lock); 319 nvgpu_mutex_init(&flcn->copy_lock);
315 gk20a_falcon_ops(flcn); 320 gk20a_falcon_ops(flcn);
316 } else 321 } else
317 nvgpu_info(g, "flcn-Id 0x%x not supported on current chip", 322 nvgpu_info(g, "falcon 0x%x not supported on %s",
318 flcn->flcn_id); 323 flcn->flcn_id, g->name);
319} 324}
320 325
321void gk20a_falcon_init_hal(struct gpu_ops *gops) 326void gk20a_falcon_init_hal(struct gpu_ops *gops)