diff options
| author | Mark Brown <broonie@kernel.org> | 2026-09-17 21:09:10 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-09-17 21:09:10 +0100 |
| commit | 90e0d4ddc596554269dca0c54f4bbcc90bd83ff2 (patch) | |
| tree | 75b8c8f90be56b422614671739f77b20bd59095f /include | |
| parent | f173da949c38de4ccbe5fe8c254c11da70ddb6c2 (diff) | |
| parent | da48e73dfe057b9fd4dc136ebbccc154a0130f8b (diff) | |
| download | linux-next-90e0d4ddc596554269dca0c54f4bbcc90bd83ff2.tar.gz linux-next-90e0d4ddc596554269dca0c54f4bbcc90bd83ff2.zip | |
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/omap-mailbox.h | 5 | ||||
| -rw-r--r-- | include/linux/rpmsg/virtio_rpmsg.h | 41 | ||||
| -rw-r--r-- | include/uapi/linux/rpmsg.h | 15 |
3 files changed, 53 insertions, 8 deletions
diff --git a/include/linux/omap-mailbox.h b/include/linux/omap-mailbox.h index 3cc5c4ed7f5a..e45f8c3841c2 100644 --- a/include/linux/omap-mailbox.h +++ b/include/linux/omap-mailbox.h @@ -6,8 +6,9 @@ #ifndef OMAP_MAILBOX_H #define OMAP_MAILBOX_H -typedef uintptr_t mbox_msg_t; +typedef u32 mbox_msg_t; -#define omap_mbox_message(data) (u32)(mbox_msg_t)(data) +#define omap_mbox_to_message(data) ((void *)(uintptr_t)(data)) +#define omap_mbox_from_message(data) ((mbox_msg_t)(uintptr_t)(data)) #endif /* OMAP_MAILBOX_H */ diff --git a/include/linux/rpmsg/virtio_rpmsg.h b/include/linux/rpmsg/virtio_rpmsg.h new file mode 100644 index 000000000000..0872cbca4593 --- /dev/null +++ b/include/linux/rpmsg/virtio_rpmsg.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) Pinecone Inc. 2019 + * Copyright (C) Xiang Xiao <xiaoxiang@pinecone.net> + * Copyright (C) Advanced Micro Devices, Inc. 2026 + */ + +#ifndef _LINUX_VIRTIO_RPMSG_H +#define _LINUX_VIRTIO_RPMSG_H + +#include <linux/types.h> +#include <linux/virtio_types.h> + +/* The feature bitmap for virtio rpmsg */ +#define VIRTIO_RPMSG_F_NS 0 /* RP supports name service notifications */ +#define VIRTIO_RPMSG_F_BUFSZ 1 /* RP advertises RX/TX buffer sizes from config space */ + +/* Version of struct virtio_rpmsg_config understood by this driver */ +#define RPMSG_VDEV_CONFIG_V1 1 + +/** + * struct virtio_rpmsg_config - config space for rpmsg virtio device + * + * @version: version of this structure, currently %RPMSG_VDEV_CONFIG_V1. + * @size: size of this structure in bytes. + * @txbuf_size: Tx buf size from remote's view. For Linux this is rx buf size. + * @rxbuf_size: Rx buf size from remote's view. For Linux this is tx buf size. + * + * This is the configuration structure shared by the device and the driver, + * read when %VIRTIO_RPMSG_F_BUFSZ is negotiated. The fields are laid out so + * the structure is naturally 32-bit aligned. + */ +struct virtio_rpmsg_config { + u8 version; + __virtio16 size; + /* The tx/rx individual buffer size (if VIRTIO_RPMSG_F_BUFSZ) */ + __virtio32 txbuf_size; + __virtio32 rxbuf_size; +} __packed; + +#endif /* _LINUX_VIRTIO_RPMSG_H */ diff --git a/include/uapi/linux/rpmsg.h b/include/uapi/linux/rpmsg.h index f0c8da2b185b..d553ebac3181 100644 --- a/include/uapi/linux/rpmsg.h +++ b/include/uapi/linux/rpmsg.h @@ -24,32 +24,35 @@ struct rpmsg_endpoint_info { }; /** - * Instantiate a new rmpsg char device endpoint. + * RPMSG_CREATE_EPT_IOCTL - Instantiate a new rmpsg char device endpoint. */ #define RPMSG_CREATE_EPT_IOCTL _IOW(0xb5, 0x1, struct rpmsg_endpoint_info) /** - * Destroy a rpmsg char device endpoint created by the RPMSG_CREATE_EPT_IOCTL. + * RPMSG_DESTROY_EPT_IOCTL - Destroy a rpmsg char device endpoint created + * by the RPMSG_CREATE_EPT_IOCTL. */ #define RPMSG_DESTROY_EPT_IOCTL _IO(0xb5, 0x2) /** - * Instantiate a new local rpmsg service device. + * RPMSG_CREATE_DEV_IOCTL - Instantiate a new local rpmsg service device. */ #define RPMSG_CREATE_DEV_IOCTL _IOW(0xb5, 0x3, struct rpmsg_endpoint_info) /** - * Release a local rpmsg device. + * RPMSG_RELEASE_DEV_IOCTL - Release a local rpmsg device. */ #define RPMSG_RELEASE_DEV_IOCTL _IOW(0xb5, 0x4, struct rpmsg_endpoint_info) /** - * Get the flow control state of the remote rpmsg char device. + * RPMSG_GET_OUTGOING_FLOWCONTROL - Get the flow control state of the + * remote rpmsg char device. */ #define RPMSG_GET_OUTGOING_FLOWCONTROL _IOR(0xb5, 0x5, int) /** - * Set the flow control state of the local rpmsg char device. + * RPMSG_SET_INCOMING_FLOWCONTROL - Set the flow control state of the + * local rpmsg char device. */ #define RPMSG_SET_INCOMING_FLOWCONTROL _IOR(0xb5, 0x6, int) |
