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

1 /* SPDX-License-Identifier: MIT */
3 * Copyright (C) 2020-2023 Intel Corporation
33 * Index in the API version table
72 /* Job status returned when the job was preempted mid-inference */
76 * Host <-> VPU IPC channels.
77 * ASYNC commands use a high priority channel, other messages use low-priority ones.
90 * Sizes of the reserved areas in jobs, in bytes.
95 * Sizes of the reserved areas in job queues, in bytes.
108 * NOTE: 96 is used so that the size of 'struct vpu_ipc_msg' in the JSM API is
115 * same process with a relative in-process priority. Valid values for relative
116 * priority are given below - max and min.
119 #define VPU_HWS_COMMAND_QUEUE_MIN_IN_PROCESS_PRIORITY -7
168 * This enum defines the different types of entities involved in logging.
189 * This is the number of buffers that can be stored in the log buffer provided by the host.
190 * It is written by host before passing buffer to VPU. VPU should consider it read-only.
201 /* VPU timestamp must be an invariant timer tick (not impacted by DVFS) */
205 * 0 - context state change
206 * 1 - queue new work
207 * 2 - queue unwait sync object
208 * 3 - queue no more work
209 * 4 - queue wait sync object
218 * Host <-> VPU IPC messages types.
222 /* IPC Host -> Device, Async commands */
236 /** Configure logging (used to modify configuration passed in boot params). */
276 * the buffer specified in the command structure.
295 /* Control command: Suspend command queue. */
310 /* IPC Host -> Device, General commands */
322 /* IPC Device -> Host, Job completion */
324 /* IPC Device -> Host, Async command completion */
392 /* IPC Device -> Host, HWS notify index entry of log buffer written */
394 /* IPC Device -> Host, HWS completion of a context suspend request */
409 /* IPC Device -> Host, General command completion */
424 * Host <-> LRT IPC message payload definitions
450 /* Virtual address in Global GTT pointing to the start of job queue. */
452 /* Size of the job queue in bytes. */
454 /* Host sub-stream ID for the context assigned to the doorbell. */
479 * Requested power level. The power level value is in the
480 * range [0, power_level_count-1] where power_level_count
484 * power_level_count-1 corresponds to the minimum possible
494 /* Host sub-stream ID for the context to be released. */
518 /** Sampling rate in nanoseconds. */
531 * there is no space left to write data at the next sample period the VPU
533 * send a notification to the host driver if @notify_sample_count is non-zero.
566 * continue writing metric data to the current buffer. In this case the
568 * If the address is non-zero and differs from the current buffer address the
579 * are non-zero in same update request. It is the host's responsibility to ensure
588 /* 64-bit unique ID for the blob to be de-initialized. */
681 * Power consumption limit for each supported power level in
682 * [0-100%] range relative to power level 0.
688 /* 64-bit unique ID for the blob de-initialized. */
695 * Grace period in 100ns units when preempting another priority band for
700 * Default quantum in 100ns units for scheduling across processes
705 * Default grace period in 100ns units for processes that preempt each
711 * in situations when it's starved by the focus band.
789 /* Priority relative to other contexts in the same process */
793 /* Context quantum relative to other contexts of same priority in the same process */
813 /* Host sub-stream ID for the context assigned to the doorbell. */
819 /* Size of the command queue in bytes. */
824 * @brief Structure to set another buffer to be used for scheduling-related logging.
828 * - header: 32 bytes in size, as shown in 'struct vpu_hws_log_buffer_header'.
829 * The header contains the number of log entries in the buffer.
830 * - log entry: 0 to n-1, each log entry is 32 bytes in size, as shown in
877 * @brief HWS suspend command queue request and done structure.
878 * Host will request the suspend of contexts and VPU will;
879 * - Suspend all work on this context
880 * - Preempt any running work
881 * - Asynchronously perform the above and return success immediately once
883 * - Notify the host of completion of these operations via
885 * - Reject any other context operations on a context with an in-flight
886 * suspend request running
887 * Same structure used when VPU notifies host of completion of a context suspend
888 * request. The ids and suspend fence value reported in this command will match
889 * the one in the request from the host to suspend the context. Once suspend is
903 * Suspend fence value - reported by the VPU suspend context
904 * completed once suspend is complete.
912 * - VPU will resume all work on this context
913 * - Scheduler will allow this context to be scheduled
946 * - For VPU_JSM_MSG_TRACE_SET_CONFIG, the payload specifies the desired
949 * - For VPU_JSM_MSG_TRACE_SET_CONFIG_RSP, the payload reports the logging
951 * The host can compare this payload with the one it sent in the
955 * - VPU_JSM_MSG_TRACE_GET_CONFIG_RSP, the payload reports the current logging
967 * bitwise OR of values defined in logging_destination enum.
972 * bitwise OR of values defined in loggable_hw_component enum.
1027 * Data sent from the VPU to the host in all metric streamer response messages
1028 * and in asynchronous notification.
1039 * Size in bytes of single sample - total size of all enabled counters.
1052 * collected samples because the current buffer is full and there is no
1059 * Number of bytes written into the metric data buffer. In response to the
1062 * in the request was NULL or too small to hold descriptors of all counters
1068 * Metric group description placed in the metric buffer after successful completion
1075 * Offset to the next metric group (8-byte aligned). If this offset is 0 this
1078 * + description_string_size and must be 8-byte aligned.
1082 * Offset to the first metric counter description record (8-byte aligned).
1086 /** Index of the group. This corresponds to bit index in metric_group_mask. */
1088 /** Number of counters in the metric group. */
1114 * Metric counter description, placed in the buffer after vpu_jsm_metric_group_descriptor.
1119 * Offset to the next counter in a group (8-byte aligned). If this offset is
1120 * 0 this is the last counter in the group.
1124 * Offset to the counter data from the start of samples in this metric group.
1128 /** Size of the metric counter data in bytes. */
1163 * (https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html)
1168 * NOTE: in order for MVLOG_DEBUG messages to be actually printed, the host
1178 * Dyndbg command (same format as Linux dyndbg); must be a NULL-terminated
1187 * This is a bi-directional payload.
1207 /** Duty cycle active time in microseconds */
1209 /** Duty cycle inactive time in microseconds */
1259 * Host <-> LRT IPC message base structure.
1272 * Request ID, provided by the host in a request message and passed
1273 * back by VPU in the response message.