From a3802a2ae9d5ffeaec038a9ce7fc9fa333f1a68c Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Tue, 4 Jul 2017 23:36:55 +0530 Subject: gpu: nvgpu: falcon copy to IMEM support - Added falcon interface/HAL copy to IMEM method - Deleted copy to IMEM code & then replaced with nvgpu_flcn_copy_to_imem() in multiple files - Code cleanup JIRA NVGPU-117 Change-Id: Ic47197ef7dc449e5bf1f418ac02598500c96da21 Signed-off-by: Mahantesh Kumbar Reviewed-on: https://git-master/r/1513273 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gm206/bios_gm206.c | 37 +++--------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) (limited to 'drivers/gpu/nvgpu/gm206') diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c index be089f2f..14610120 100644 --- a/drivers/gpu/nvgpu/gm206/bios_gm206.c +++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "gk20a/gk20a.h" #include "gk20a/platform_gk20a.h" @@ -39,40 +40,8 @@ static void upload_code(struct gk20a *g, u32 dst, u8 *src, u32 size, u8 port, bool sec) { - u32 i, words; - u32 *src_u32 = (u32 *)src; - u32 blk; - u32 tag = 0; - - gk20a_dbg_info("upload %d bytes to %x", size, dst); - - words = size >> 2; - - blk = dst >> 8; - tag = blk; - - gk20a_dbg_info("upload %d words to %x block %d", - words, dst, blk); - - gk20a_writel(g, pwr_falcon_imemc_r(port), - pwr_falcon_imemc_offs_f(dst >> 2) | - pwr_falcon_imemc_blk_f(blk) | - pwr_falcon_imemc_aincw_f(1) | - sec << 28); - - for (i = 0; i < words; i++) { - if (i % 64 == 0) { - gk20a_writel(g, 0x10a188, tag); - tag++; - } - - gk20a_writel(g, pwr_falcon_imemd_r(port), src_u32[i]); - } - - while (i % 64) { - gk20a_writel(g, pwr_falcon_imemd_r(port), 0); - i++; - } + nvgpu_flcn_copy_to_imem(g->pmu.flcn, dst, src, size, port, sec, + dst >> 8); } static void upload_data(struct gk20a *g, u32 dst, u8 *src, u32 size, u8 port) -- cgit v1.2.2