Lines Matching full:scmi
3 * System Control and Management Interface (SCMI) Raw mode support
10 * When enabled the SCMI Raw mode support exposes a userspace API which allows
11 * to send and receive SCMI commands, replies and notifications from a user
12 * application through injection and snooping of bare SCMI messages in binary
15 * Such injected SCMI transactions will then be routed through the SCMI core
16 * stack towards the SCMI backend server using whatever SCMI transport is
19 * It is meant to help in running any sort of SCMI backend server testing, no
26 * In order to avoid possible interferences between the SCMI Raw transactions
27 * originated from a test-suite and the normal operations of the SCMI drivers,
28 * when Raw mode is enabled, by default, all the regular SCMI drivers are
30 * latter case the regular SCMI stack drivers will be loaded as usual and it is
32 * regular SCMI drivers in order to avoid interferences during the test runs.
36 * All SCMI Raw entries are rooted under a common top /raw debugfs top directory
37 * which in turn is rooted under the corresponding underlying SCMI instance.
39 * /sys/kernel/debug/scmi/
79 * for SCMI bare message injection, in contrast with the general entries above
93 * on replies and properly choosing SCMI sequence numbers for the outgoing
103 * Since the SCMI core regular stack is partially used to deliver and collect
105 * unexpected message can be identified by the SCMI core as usual and they will
128 #include <trace/events/scmi.h>
152 * struct scmi_raw_mode_info - Structure holding SCMI Raw instance data
155 * @handle: Pointer to SCMI entity handle to use
166 * @dentry: Top debugfs root dentry for SCMI Raw
169 * Note that this descriptor is passed back to the core after SCMI Raw is
170 * initialized as an opaque handle to use by subsequent SCMI Raw call hooks.
212 * struct scmi_raw_buffer - Structure to hold a full SCMI message
414 * In SCMI Raw mode, once a user-provided injected SCMI message is sent, we
417 * SCMI message to send, pending till eventually a reply is received.
421 * Even though reply messages are collected and reported into the SCMI Raw layer
500 dev_info(raw->handle->dev, "Resetting SCMI Raw stack.\n"); in scmi_xfer_raw_reset()
508 * bare SCMI message.
511 * @buf: A buffer containing the whole SCMI message to send (including the
521 * sequence-numbers between successive SCMI messages such registration could
550 /* Build xfer from the provided SCMI bare LE message */ in scmi_xfer_raw_get_init()
665 * scmi_raw_message_send - An helper to build and send an SCMI command using
666 * the provided SCMI bare message buffer
669 * @buf: A buffer containing the whole SCMI message to send (including the
725 * @buf: A buffer to get hold of the whole SCMI message received and represented
766 /* SCMI Raw debugfs helpers */
1070 raw->wait_wq = alloc_workqueue("scmi-raw-wait-wq-%d", in scmi_xfer_raw_worker_init()
1150 * scmi_raw_mode_init - Function to initialize the SCMI Raw stack
1152 * @handle: Pointer to SCMI entity handle
1154 * @instance_id: The ID of the underlying SCMI platform instance represented by
1161 * This function prepare the SCMI Raw stack and creates the debugfs API.
1236 dev_info(dev, "SCMI RAW Mode initialized for instance %d\n", raw->id); in scmi_raw_mode_init()
1242 * scmi_raw_mode_cleanup - Function to cleanup the SCMI Raw stack
1244 * @r: An opaque handle to an initialized SCMI Raw instance
1299 * If Raw mode is enabled, this is called from the SCMI core on the regular RX
1411 * @msg_hdr: The SCMI message header of the message to fetch and report
1414 * If Raw mode is enabled, this is called from the SCMI core on the RX path in