Lines Matching +full:host +full:- +full:command
1 /* SPDX-License-Identifier: MIT */
3 * Copyright (c) 2020-2024, Intel Corporation.
43 /* Max number of impacted contexts that can be dealt with the engine reset command */
75 /* Job status returned when the job was preempted mid-inference */
79 * Host <-> VPU IPC channels.
80 * ASYNC commands use a high priority channel, other messages use low-priority ones.
109 * Max length (including trailing NULL char) of a dyndbg command.
117 * For HWS command queue scheduling, we can prioritise command queues inside the
118 * same process with a relative in-process priority. Valid values for relative
119 * priority are given below - max and min.
122 #define VPU_HWS_COMMAND_QUEUE_MIN_IN_PROCESS_PRIORITY -7
138 * Invalid command queue handle identifier. Applies to cmdq_id and cmdq_group
198 /* Written by VPU after adding a log entry. Initialised by host to 0. */
201 * initialised by host to 0.
205 * This is the number of buffers that can be stored in the log buffer provided by the host.
206 * It is written by host before passing buffer to VPU. VPU should consider it read-only.
221 * 0 - context state change
222 * 1 - queue new work
223 * 2 - queue unwait sync object
224 * 3 - queue no more work
225 * 4 - queue wait sync object
234 * Host <-> VPU IPC messages types.
238 /* IPC Host -> Device, Async commands */
265 * Release resource associated with host ssid . All jobs that belong to the host_ssid
277 * Stop collecting metric data. This command will return success if it is called
283 * Update current and next buffer for metric data collection. This command can
292 * the buffer specified in the command structure.
296 /** Control command: Priority band setup */
298 /** Control command: Create command queue */
300 /** Control command: Destroy command queue */
302 /** Control command: Set context scheduling properties */
309 /** Control command: Log buffer setting */
311 /* Control command: Suspend command queue. */
313 /* Control command: Resume command queue */
315 /* Control command: Resume engine after reset */
317 /* Control command: Enable survivability/DCT mode */
319 /* Control command: Disable survivability/DCT mode */
326 /* IPC Host -> Device, General commands */
330 * Control dyndbg behavior by executing a dyndbg command; equivalent to
331 * Linux command: `echo '<dyndbg_cmd>' > <debugfs>/dynamic_debug/control`.
338 /* IPC Device -> Host, Job completion */
340 /* IPC Device -> Host, Async command completion */
390 * Asynchronous event sent from the VPU to the host either when the current
392 * @notify_sample_count samples as indicated through the start command
398 /** Response to control command: Priority band setup */
400 /** Response to control command: Create command queue */
402 /** Response to control command: Destroy command queue */
404 /** Response to control command: Set context scheduling properties */
406 /** Response to control command: Log buffer setting */
408 /* IPC Device -> Host, HWS notify index entry of log buffer written */
410 /* IPC Device -> Host, HWS completion of a context suspend request */
412 /* Response to control command: Resume command queue */
414 /* Response to control command: Resume engine command response */
416 /* Response to control command: Enable survivability/DCT mode */
418 /* Response to control command: Disable survivability/DCT mode */
421 * Response to state dump control command.
425 /* IPC Device -> Host, General command completion */
440 * Host <-> LRT IPC message payload definitions
457 * @brief Register doorbell command structure.
470 /* Host sub-stream ID for the context assigned to the doorbell. */
475 * @brief Unregister doorbell command structure.
496 * range [0, power_level_count-1] where power_level_count
498 * the get power level count command. A power level of 0
500 * power_level_count-1 corresponds to the minimum possible
510 /* Host sub-stream ID for the context to be released. */
517 * @brief Metric streamer start command structure.
549 * send a notification to the host driver if @notify_sample_count is non-zero.
564 * @brief Metric streamer stop command structure.
584 * If the address is non-zero and differs from the current buffer address the
595 * are non-zero in same update request. It is the host's responsibility to ensure
604 /* 64-bit unique ID for the blob to be de-initialized. */
617 /* Host SSID */
621 /* Command queue id */
626 /* Host SSID */
630 /* Command queue id */
641 /* Array of impacted command queue ids and their flags */
654 * Response structure for register doorbell command for both OS
667 * Response structure for unregister doorbell command for both OS
698 * [0-100%] range relative to power level 0.
704 /* 64-bit unique ID for the blob de-initialized. */
735 * @brief HWS create command queue request.
736 * Host will create a command queue via this command.
738 * may contain one or more command queues.
745 /* Host SSID */
751 /* Command queue id */
753 /* Command queue base */
755 /* Command queue size */
762 * @brief HWS create command queue response.
769 /* Host SSID */
773 /* Command queue group */
775 /* Command queue id */
779 /* HWS destroy command queue request / response */
781 /* Host SSID */
785 /* Command queue id */
791 /* Host SSID */
795 /* Command queue id */
814 * @brief Register doorbell command structure.
825 /* Host sub-stream ID for the context assigned to the doorbell. */
827 /* ID of the command queue associated with the doorbell. */
829 /* Virtual address pointing to the start of command queue. */
831 /* Size of the command queue in bytes. */
836 * @brief Structure to set another buffer to be used for scheduling-related logging.
839 * The log buffer received from the host is made up of;
840 * - header: 32 bytes in size, as shown in 'struct vpu_hws_log_buffer_header'.
842 * - log entry: 0 to n-1, each log entry is 32 bytes in size, as shown in
845 * The host should provide the notify index value of log buffer to VPU. This is a
848 * The host should set engine_idx and vpu_log_buffer_va to 0 to disable logging
859 /* Host SSID */
883 * an event into the log buffer at the notify_index. VPU notifies host with
885 * message from VPU to host.
897 * @brief HWS suspend command queue request and done structure.
898 * Host will request the suspend of contexts and VPU will;
899 * - Suspend all work on this context
900 * - Preempt any running work
901 * - Asynchronously perform the above and return success immediately once
903 * - Notify the host of completion of these operations via
905 * - Reject any other context operations on a context with an in-flight
907 * Same structure used when VPU notifies host of completion of a context suspend
908 * request. The ids and suspend fence value reported in this command will match
909 * the one in the request from the host to suspend the context. Once suspend is
910 * complete, VPU will not access any data relating to this command queue until
916 /* Host SSID */
920 /* Command queue id */
923 * Suspend fence value - reported by the VPU suspend context
930 * @brief HWS Resume command queue request / response structure.
931 * Host will request the resume of a context;
932 * - VPU will resume all work on this context
933 * - Scheduler will allow this context to be scheduled
938 /* Host SSID */
942 /* Command queue id */
949 * Host shall send this command to resume scheduling of any valid queue.
966 * - For VPU_JSM_MSG_TRACE_SET_CONFIG, the payload specifies the desired
969 * - For VPU_JSM_MSG_TRACE_SET_CONFIG_RSP, the payload reports the logging
971 * The host can compare this payload with the one it sent in the
975 * - VPU_JSM_MSG_TRACE_GET_CONFIG_RSP, the payload reports the current logging
1047 * Data sent from the VPU to the host in all metric streamer response messages
1059 * Size in bytes of single sample - total size of all enabled counters.
1089 * of the VPU_JSM_MSG_METRIC_STREAMER_INFO command. This is followed by one or more
1095 * Offset to the next metric group (8-byte aligned). If this offset is 0 this
1098 * + description_string_size and must be 8-byte aligned.
1102 * Offset to the first metric counter description record (8-byte aligned).
1139 * Offset to the next counter in a group (8-byte aligned). If this offset is
1183 * (https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html)
1184 * The host can control Dynamic Debug behavior by sending dyndbg commands, which
1188 * NOTE: in order for MVLOG_DEBUG messages to be actually printed, the host
1190 * VPU_JSM_MSG_TRACE_SET_CONFIG command.
1192 * The host can see the current dynamic debug configuration by executing a
1193 * special 'show' command. The dyndbg configuration will be printed to the
1198 * Dyndbg command (same format as Linux dyndbg); must be a NULL-terminated
1207 * This is a bi-directional payload.
1211 * 0: VPU_JSM_MSG_PWR_D0I3_ENTER_DONE is not sent to the host driver
1223 * corresponding to a 85% duty cycle. This payload allows the host to tune these
1279 * Host <-> LRT IPC message base structure.
1292 * Request ID, provided by the host in a request message and passed