summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/falcon
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2017-07-04 14:06:55 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-05 13:39:44 -0400
commita3802a2ae9d5ffeaec038a9ce7fc9fa333f1a68c (patch)
treef6d7ff8b6912a503f2f193ed73415d2479914aa9 /drivers/gpu/nvgpu/common/falcon
parente768e74df8be8abe8442d958bde7a4a2886694ba (diff)
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 <mkumbar@nvidia.com> Reviewed-on: https://git-master/r/1513273 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/falcon')
-rw-r--r--drivers/gpu/nvgpu/common/falcon/falcon.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/falcon/falcon.c b/drivers/gpu/nvgpu/common/falcon/falcon.c
index 3795dd09..74d78e86 100644
--- a/drivers/gpu/nvgpu/common/falcon/falcon.c
+++ b/drivers/gpu/nvgpu/common/falcon/falcon.c
@@ -180,6 +180,22 @@ int nvgpu_flcn_copy_to_dmem(struct nvgpu_falcon *flcn,
180 return flcn_ops->copy_to_dmem(flcn, dst, src, size, port); 180 return flcn_ops->copy_to_dmem(flcn, dst, src, size, port);
181} 181}
182 182
183int nvgpu_flcn_copy_to_imem(struct nvgpu_falcon *flcn,
184 u32 dst, u8 *src, u32 size, u8 port, bool sec, u32 tag)
185{
186 struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops;
187 int status = -EINVAL;
188
189 if (flcn_ops->copy_to_imem)
190 status = flcn_ops->copy_to_imem(flcn, dst, src, size, port,
191 sec, tag);
192 else
193 nvgpu_warn(flcn->g, "Invalid op on falcon 0x%x ",
194 flcn->flcn_id);
195
196 return status;
197}
198
183void nvgpu_flcn_sw_init(struct gk20a *g, u32 flcn_id) 199void nvgpu_flcn_sw_init(struct gk20a *g, u32 flcn_id)
184{ 200{
185 struct nvgpu_falcon *flcn = NULL; 201 struct nvgpu_falcon *flcn = NULL;