Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
IPC service static VRINGs API. More...
Data Structures | |
struct | ipc_static_vrings |
Static VRINGs structure. More... | |
Macros | |
#define | VRING_COUNT (2) |
Number of used VRING buffers. | |
#define | MEM_ALIGNMENT CONFIG_IPC_SERVICE_STATIC_VRINGS_MEM_ALIGNMENT |
Memory alignment. | |
Typedefs | |
typedef void(* | ipc_notify_cb) (struct virtqueue *vq, void *priv) |
Define the notify callback. | |
Functions | |
int | ipc_static_vrings_init (struct ipc_static_vrings *vr, unsigned int role) |
Init the static VRINGs. | |
int | ipc_static_vrings_deinit (struct ipc_static_vrings *vr, unsigned int role) |
Deinitialise the static VRINGs. | |
IPC service static VRINGs API.
#define MEM_ALIGNMENT CONFIG_IPC_SERVICE_STATIC_VRINGS_MEM_ALIGNMENT |
#include <include/zephyr/ipc/ipc_static_vrings.h>
Memory alignment.
This should take into account the cache line if the cache is enabled, otherwise it should be naturally aligned to the machine word size.
#define VRING_COUNT (2) |
#include <include/zephyr/ipc/ipc_static_vrings.h>
Number of used VRING buffers.
ipc_notify_cb |
#include <include/zephyr/ipc/ipc_static_vrings.h>
Define the notify callback.
This callback is defined at instance level and it is called on virtqueue notify.
vq | Virtqueue. |
priv | Priv data. |
int ipc_static_vrings_deinit | ( | struct ipc_static_vrings * | vr, |
unsigned int | role | ||
) |
#include <include/zephyr/ipc/ipc_static_vrings.h>
Deinitialise the static VRINGs.
Deinitialise VRINGs and Virtqueues of an OpenAMP / RPMsg instance.
vr | Pointer to the VRINGs instance struct. |
role | Host / Remote role. |
0 | If successful. |
Other | errno codes depending on the OpenAMP implementation. |
int ipc_static_vrings_init | ( | struct ipc_static_vrings * | vr, |
unsigned int | role | ||
) |
#include <include/zephyr/ipc/ipc_static_vrings.h>
Init the static VRINGs.
Init VRINGs and Virtqueues of an OpenAMP / RPMsg instance.
vr | Pointer to the VRINGs instance struct. |
role | Host / Remote role. |
-EINVAL | When some parameter is missing. |
-ENOMEM | When memory is not enough for VQs allocation. |
0 | If successful. |
Other | errno codes depending on the OpenAMP implementation. |