Lines Matching +full:no +full:- +full:tick +full:- +full:in +full:- +full:suspend

1 /* SPDX-License-Identifier: MIT */
3 * Copyright (c) 2020-2024, Intel Corporation.
33 * Index in the API version table
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.
93 * Sizes of the reserved areas in jobs, in bytes.
98 * Sizes of the reserved areas in job queues, in bytes.
111 * NOTE: 96 is used so that the size of 'struct vpu_ipc_msg' in the JSM API is
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
139 * in this API.
184 * This enum defines the different types of entities involved in logging.
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.
217 /* VPU timestamp must be an invariant timer tick (not impacted by DVFS) */
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 */
252 /** Configure logging (used to modify configuration passed in boot params). */
292 * the buffer specified in the command structure.
311 /* Control command: Suspend command queue. */
326 /* IPC Host -> Device, General commands */
338 /* IPC Device -> Host, Job completion */
340 /* IPC Device -> Host, Async command completion */
408 /* IPC Device -> Host, HWS notify index entry of log buffer written */
410 /* IPC Device -> Host, HWS completion of a context suspend request */
425 /* IPC Device -> Host, General command completion */
440 * Host <-> LRT IPC message payload definitions
466 /* Virtual address in Global GTT pointing to the start of job queue. */
468 /* Size of the job queue in bytes. */
470 /* Host sub-stream ID for the context assigned to the doorbell. */
495 * Requested power level. The power level value is in the
496 * range [0, power_level_count-1] where power_level_count
500 * power_level_count-1 corresponds to the minimum possible
510 /* Host sub-stream ID for the context to be released. */
534 /** Sampling rate in nanoseconds. */
547 * there is no space left to write data at the next sample period the VPU
549 * send a notification to the host driver if @notify_sample_count is non-zero.
582 * continue writing metric data to the current buffer. In this case the
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. */
697 * Power consumption limit for each supported power level in
698 * [0-100%] range relative to power level 0.
704 /* 64-bit unique ID for the blob de-initialized. */
711 * Grace period in 100ns units when preempting another priority band for
716 * Default quantum in 100ns units for scheduling across processes
721 * Default grace period in 100ns units for processes that preempt each
727 * in situations when it's starved by the focus band.
801 /* Priority relative to other contexts in the same process */
805 /* Context quantum relative to other contexts of same priority in the same process */
825 /* Host sub-stream ID for the context assigned to the doorbell. */
831 /* Size of the command queue in bytes. */
836 * @brief Structure to set another buffer to be used for scheduling-related logging.
840 * - header: 32 bytes in size, as shown in 'struct vpu_hws_log_buffer_header'.
841 * The header contains the number of log entries in the buffer.
842 * - log entry: 0 to n-1, each log entry is 32 bytes in size, as shown in
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
906 * suspend request running
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
923 * Suspend fence value - reported by the VPU suspend context
924 * completed once suspend is complete.
932 * - VPU will resume all work on this context
933 * - Scheduler will allow this context to be scheduled
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
987 * bitwise OR of values defined in logging_destination enum.
992 * bitwise OR of values defined in loggable_hw_component enum.
1047 * Data sent from the VPU to the host in all metric streamer response messages
1048 * and in asynchronous notification.
1059 * Size in bytes of single sample - total size of all enabled counters.
1072 * collected samples because the current buffer is full and there is no
1079 * Number of bytes written into the metric data buffer. In response to the
1082 * in the request was NULL or too small to hold descriptors of all counters
1088 * Metric group description placed in the metric buffer after successful completion
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).
1106 /** Index of the group. This corresponds to bit index in metric_group_mask. */
1108 /** Number of counters in the metric group. */
1134 * Metric counter description, placed in the buffer after vpu_jsm_metric_group_descriptor.
1139 * Offset to the next counter in a group (8-byte aligned). If this offset is
1140 * 0 this is the last counter in the group.
1144 * Offset to the counter data from the start of samples in this metric group.
1148 /** Size of the metric counter data in bytes. */
1183 * (https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html)
1188 * NOTE: in order for MVLOG_DEBUG messages to be actually printed, the host
1198 * Dyndbg command (same format as Linux dyndbg); must be a NULL-terminated
1207 * This is a bi-directional payload.
1227 /** Duty cycle active time in microseconds */
1229 /** Duty cycle inactive time in microseconds */
1279 * Host <-> LRT IPC message base structure.
1292 * Request ID, provided by the host in a request message and passed
1293 * back by VPU in the response message.