diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2017-06-28 06:53:18 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-07-03 06:16:55 -0400 |
commit | 2f712e22303471b8dd2f9388c874d12b07aed258 (patch) | |
tree | c6898c29860abc2970028fd6da60002819fb6488 /drivers/gpu/nvgpu/gk20a/flcn_gk20a.c | |
parent | d2486cf1b1d0b0e3306ba6eb0a8b6573fa27d03e (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.c | 11 |
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 | ||
272 | static void gk20a_falcon_ops(struct nvgpu_falcon *flcn) | 272 | void 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 | ||
321 | void gk20a_falcon_init_hal(struct gpu_ops *gops) | 326 | void gk20a_falcon_init_hal(struct gpu_ops *gops) |