From 24f47f0de8bd5f10bdcd505237ff33baf6fe80eb Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Mon, 17 Sep 2018 14:29:41 +0530 Subject: gpu: nvgpu: SEC2 RTOS support s/w init -Created struct nvgpu_sec2 to hold members related to SEC2-RTOS ucode support in header file sec2.h -Created nvgpu_sec2 variable under struct gk20a. -Created NVGPU_SUPPORT_SEC2_RTOS enable flag to enable SEC2 RTOS support. -Defined method nvgpu_init_sec2_support() to init SEC2 RTOS support by performing s/w setup like mutex-init, sequence-init & add support for remove_support. -Defined method nvgpu_sec2_destroy() to deinit SEC2 RTOS support. -Added nvgpu_init_sec2_support()/nvgpu_sec2_destroy() as part gk20a_finalize_poweron()/gk20a_prepare_poweroff() sequence based on NVGPU_SUPPORT_SEC2_RTOS enable flag -Assigned g->sec2->flcn to point to g->sec2_flcn to access falcon. -Made Makefile changes to include sec2.c to build JIRA NVGPUT-80 Change-Id: Icdc8c25994e305427ad465a5a20e9ce533759a9e Signed-off-by: Mahantesh Kumbar Reviewed-on: https://git-master.nvidia.com/r/1791955 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gk20a.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 39318f66..7855493d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -93,6 +93,10 @@ int gk20a_prepare_poweroff(struct gk20a *g) ret |= nvgpu_pmu_destroy(g); } + if (nvgpu_is_enabled(g, NVGPU_SUPPORT_SEC2_RTOS)) { + ret |= nvgpu_sec2_destroy(g); + } + ret |= gk20a_gr_suspend(g); ret |= nvgpu_mm_suspend(g); ret |= gk20a_fifo_suspend(g); @@ -313,6 +317,14 @@ int gk20a_finalize_poweron(struct gk20a *g) } } + if (nvgpu_is_enabled(g, NVGPU_SUPPORT_SEC2_RTOS)) { + err = nvgpu_init_sec2_support(g); + if (err != 0) { + nvgpu_err(g, "failed to init sec2"); + goto done; + } + } + if (g->ops.pmu.is_pmu_supported(g)) { err = nvgpu_init_pmu_support(g); if (err) { -- cgit v1.2.2