Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
IPC service static VRINGs API

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.
 

Detailed Description

IPC service static VRINGs API.

Macro Definition Documentation

◆ MEM_ALIGNMENT

#define MEM_ALIGNMENT   CONFIG_IPC_SERVICE_STATIC_VRINGS_MEM_ALIGNMENT

#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.

◆ VRING_COUNT

#define VRING_COUNT   (2)

#include <zephyr/ipc/ipc_static_vrings.h>

Number of used VRING buffers.

Typedef Documentation

◆ ipc_notify_cb

ipc_notify_cb

#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.

Parameters
vqVirtqueue.
privPriv data.

Function Documentation

◆ ipc_static_vrings_deinit()

int ipc_static_vrings_deinit ( struct ipc_static_vrings vr,
unsigned int  role 
)

#include <zephyr/ipc/ipc_static_vrings.h>

Deinitialise the static VRINGs.

Deinitialise VRINGs and Virtqueues of an OpenAMP / RPMsg instance.

Parameters
vrPointer to the VRINGs instance struct.
roleHost / Remote role.
Return values
0If successful.
Othererrno codes depending on the OpenAMP implementation.

◆ ipc_static_vrings_init()

int ipc_static_vrings_init ( struct ipc_static_vrings vr,
unsigned int  role 
)

#include <zephyr/ipc/ipc_static_vrings.h>

Init the static VRINGs.

Init VRINGs and Virtqueues of an OpenAMP / RPMsg instance.

Parameters
vrPointer to the VRINGs instance struct.
roleHost / Remote role.
Return values
-EINVALWhen some parameter is missing.
-ENOMEMWhen memory is not enough for VQs allocation.
0If successful.
Othererrno codes depending on the OpenAMP implementation.