summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/falcon/falcon.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/falcon/falcon.c')
-rw-r--r--drivers/gpu/nvgpu/common/falcon/falcon.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/falcon/falcon.c b/drivers/gpu/nvgpu/common/falcon/falcon.c
index a0f88de3..b1d6558a 100644
--- a/drivers/gpu/nvgpu/common/falcon/falcon.c
+++ b/drivers/gpu/nvgpu/common/falcon/falcon.c
@@ -219,6 +219,34 @@ bool nvgpu_flcn_get_idle_status(struct nvgpu_falcon *flcn)
219 return status; 219 return status;
220} 220}
221 221
222int nvgpu_flcn_copy_from_emem(struct nvgpu_falcon *flcn,
223 u32 src, u8 *dst, u32 size, u8 port)
224{
225 struct nvgpu_falcon_engine_dependency_ops *flcn_dops =
226 &flcn->flcn_engine_dep_ops;
227 int status = -EINVAL;
228
229 if (flcn_dops->copy_from_emem != NULL) {
230 status = flcn_dops->copy_from_emem(flcn, src, dst, size, port);
231 }
232
233 return status;
234}
235
236int nvgpu_flcn_copy_to_emem(struct nvgpu_falcon *flcn,
237 u32 dst, u8 *src, u32 size, u8 port)
238{
239 struct nvgpu_falcon_engine_dependency_ops *flcn_dops =
240 &flcn->flcn_engine_dep_ops;
241 int status = -EINVAL;
242
243 if (flcn_dops->copy_to_emem != NULL) {
244 status = flcn_dops->copy_to_emem(flcn, dst, src, size, port);
245 }
246
247 return status;
248}
249
222int nvgpu_flcn_copy_from_dmem(struct nvgpu_falcon *flcn, 250int nvgpu_flcn_copy_from_dmem(struct nvgpu_falcon *flcn,
223 u32 src, u8 *dst, u32 size, u8 port) 251 u32 src, u8 *dst, u32 size, u8 port)
224{ 252{