• Home
  • Raw
  • Download

Lines Matching +full:scmi +full:- +full:shmem

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * System Control and Management Interface (SCMI) Message Protocol
5 * and function prototypes used in all the different SCMI protocols.
36 * struct scmi_msg_resp_prot_version - Response for a message
66 * struct scmi_msg_hdr - Message(Tx/Rx) header
86 * pack_scmi_header() - packs and returns 32-bit header
91 * Return: 32-bit packed message header to be sent to the platform.
95 return FIELD_PREP(MSG_ID_MASK, hdr->id) | in pack_scmi_header()
96 FIELD_PREP(MSG_TOKEN_ID_MASK, hdr->seq) | in pack_scmi_header()
97 FIELD_PREP(MSG_PROTOCOL_ID_MASK, hdr->protocol_id); in pack_scmi_header()
101 * unpack_scmi_header() - unpacks and records message and protocol id
103 * @msg_hdr: 32-bit packed message header sent from the platform
108 hdr->id = MSG_XTRACT_ID(msg_hdr); in unpack_scmi_header()
109 hdr->protocol_id = MSG_XTRACT_PROT_ID(msg_hdr); in unpack_scmi_header()
113 * struct scmi_msg - Message(Tx/Rx) structure
124 * struct scmi_xfer - Structure representing a message flow
129 * @rx: Receive message, the buffer should be pre-allocated to store
130 * message. If request-ACK protocol is used, we can reuse the same
185 /* SCMI Transport */
187 * struct scmi_chan_info - Structure representing a SCMI channel information
189 * @dev: Reference to device in the SCMI hierarchy corresponding to this
191 * @handle: Pointer to SCMI entity handle
201 * struct scmi_transport_ops - Structure representing a SCMI transport ops
230 * struct scmi_desc - Description of SoC integration
253 /* shmem related declarations */
256 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem,
258 u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem);
259 void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem,
261 void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem,
263 void shmem_clear_channel(struct scmi_shared_mem __iomem *shmem);
264 bool shmem_poll_done(struct scmi_shared_mem __iomem *shmem,
266 bool shmem_channel_free(struct scmi_shared_mem __iomem *shmem);