Remoteproc operations to manage a remoteproc instance. More...
#include <remoteproc.h>
Data Fields | |
| struct remoteproc *(* | init )(struct remoteproc *rproc, const struct remoteproc_ops *ops, void *arg) |
| Initialize the remoteproc instance. More... | |
| void(* | remove )(struct remoteproc *rproc) |
| Remove the remoteproc instance. More... | |
| void *(* | mmap )(struct remoteproc *rproc, metal_phys_addr_t *pa, metal_phys_addr_t *da, size_t size, unsigned int attribute, struct metal_io_region **io) |
| Memory map the memory with physical address or destination address as input. More... | |
| int(* | handle_rsc )(struct remoteproc *rproc, void *rsc, size_t len) |
| Handle the vendor specific resource. More... | |
| int(* | config )(struct remoteproc *rproc, void *data) |
| Configure the remoteproc to make it ready to load and run the executable. More... | |
| int(* | start )(struct remoteproc *rproc) |
| Kick the remoteproc to run the application. More... | |
| int(* | stop )(struct remoteproc *rproc) |
| Stop the remoteproc from running the application, the resource such as memory may not be off. More... | |
| int(* | shutdown )(struct remoteproc *rproc) |
| Shutdown the remoteproc and release its resources. More... | |
| int(* | notify )(struct remoteproc *rproc, uint32_t id) |
| Notify the remote. More... | |
| struct remoteproc_mem *(* | get_mem )(struct remoteproc *rproc, const char *name, metal_phys_addr_t pa, metal_phys_addr_t da, void *va, size_t size, struct remoteproc_mem *buf) |
| Get remoteproc memory I/O region by either name, virtual address, physical address or device address. More... | |
Remoteproc operations to manage a remoteproc instance.
Remoteproc operations need to be implemented by each remoteproc driver
| int(* remoteproc_ops::config) (struct remoteproc *rproc, void *data) |
Configure the remoteproc to make it ready to load and run the executable.
| struct remoteproc_mem*(* remoteproc_ops::get_mem) (struct remoteproc *rproc, const char *name, metal_phys_addr_t pa, metal_phys_addr_t da, void *va, size_t size, struct remoteproc_mem *buf) |
Get remoteproc memory I/O region by either name, virtual address, physical address or device address.
| rproc | Pointer to remoteproc instance |
| name | Memory name |
| pa | Physical address |
| da | Device address |
| va | Virtual address |
| size | Memory size |
| buf | Pointer to remoteproc_mem struct object to store result |
| int(* remoteproc_ops::handle_rsc) (struct remoteproc *rproc, void *rsc, size_t len) |
Handle the vendor specific resource.
| struct remoteproc*(* remoteproc_ops::init) (struct remoteproc *rproc, const struct remoteproc_ops *ops, void *arg) |
Initialize the remoteproc instance.
| void*(* remoteproc_ops::mmap) (struct remoteproc *rproc, metal_phys_addr_t *pa, metal_phys_addr_t *da, size_t size, unsigned int attribute, struct metal_io_region **io) |
Memory map the memory with physical address or destination address as input.
| int(* remoteproc_ops::notify) (struct remoteproc *rproc, uint32_t id) |
Notify the remote.
| void(* remoteproc_ops::remove) (struct remoteproc *rproc) |
Remove the remoteproc instance.
| int(* remoteproc_ops::shutdown) (struct remoteproc *rproc) |
Shutdown the remoteproc and release its resources.
| int(* remoteproc_ops::start) (struct remoteproc *rproc) |
Kick the remoteproc to run the application.
| int(* remoteproc_ops::stop) (struct remoteproc *rproc) |
Stop the remoteproc from running the application, the resource such as memory may not be off.