summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/flcn_gk20a.c11
-rw-r--r--drivers/gpu/nvgpu/gk20a/flcn_gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c1
3 files changed, 10 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)
diff --git a/drivers/gpu/nvgpu/gk20a/flcn_gk20a.h b/drivers/gpu/nvgpu/gk20a/flcn_gk20a.h
index 2af58104..049da562 100644
--- a/drivers/gpu/nvgpu/gk20a/flcn_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/flcn_gk20a.h
@@ -13,6 +13,7 @@
13#ifndef __FLCN_GK20A_H__ 13#ifndef __FLCN_GK20A_H__
14#define __FLCN_GK20A_H__ 14#define __FLCN_GK20A_H__
15 15
16void gk20a_falcon_ops(struct nvgpu_falcon *flcn);
16void gk20a_falcon_init_hal(struct gpu_ops *gops); 17void gk20a_falcon_init_hal(struct gpu_ops *gops);
17 18
18#endif /* __FLCN_GK20A_H__ */ 19#endif /* __FLCN_GK20A_H__ */
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 9452e153..380c28ac 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -176,6 +176,7 @@ int gk20a_finalize_poweron(struct gk20a *g)
176 176
177 /* init interface layer support for PMU falcon */ 177 /* init interface layer support for PMU falcon */
178 nvgpu_flcn_sw_init(g, FALCON_ID_PMU); 178 nvgpu_flcn_sw_init(g, FALCON_ID_PMU);
179 nvgpu_flcn_sw_init(g, FALCON_ID_SEC2);
179 180
180 if (g->ops.bios_init) 181 if (g->ops.bios_init)
181 err = g->ops.bios_init(g); 182 err = g->ops.bios_init(g);