diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r-- | drivers/gpu/nvgpu/common/falcon/falcon.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/falcon/falcon.c b/drivers/gpu/nvgpu/common/falcon/falcon.c index 99b2c249..d8420ece 100644 --- a/drivers/gpu/nvgpu/common/falcon/falcon.c +++ b/drivers/gpu/nvgpu/common/falcon/falcon.c | |||
@@ -286,6 +286,32 @@ int nvgpu_flcn_bootstrap(struct nvgpu_falcon *flcn, u32 boot_vector) | |||
286 | return status; | 286 | return status; |
287 | } | 287 | } |
288 | 288 | ||
289 | u32 nvgpu_flcn_mailbox_read(struct nvgpu_falcon *flcn, u32 mailbox_index) | ||
290 | { | ||
291 | struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops; | ||
292 | u32 data = 0; | ||
293 | |||
294 | if (flcn_ops->mailbox_read) | ||
295 | data = flcn_ops->mailbox_read(flcn, mailbox_index); | ||
296 | else | ||
297 | nvgpu_warn(flcn->g, "Invalid op on falcon 0x%x ", | ||
298 | flcn->flcn_id); | ||
299 | |||
300 | return data; | ||
301 | } | ||
302 | |||
303 | void nvgpu_flcn_mailbox_write(struct nvgpu_falcon *flcn, u32 mailbox_index, | ||
304 | u32 data) | ||
305 | { | ||
306 | struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops; | ||
307 | |||
308 | if (flcn_ops->mailbox_write) | ||
309 | flcn_ops->mailbox_write(flcn, mailbox_index, data); | ||
310 | else | ||
311 | nvgpu_warn(flcn->g, "Invalid op on falcon 0x%x ", | ||
312 | flcn->flcn_id); | ||
313 | } | ||
314 | |||
289 | void nvgpu_flcn_dump_stats(struct nvgpu_falcon *flcn) | 315 | void nvgpu_flcn_dump_stats(struct nvgpu_falcon *flcn) |
290 | { | 316 | { |
291 | struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops; | 317 | struct nvgpu_falcon_ops *flcn_ops = &flcn->flcn_ops; |