v4.14.0 (#9)
This commit is contained in:
committed by
GitHub
parent
86bb9c4968
commit
9bce73eb42
@@ -54,6 +54,9 @@ extern "C" {
|
||||
(vdma_channel_index) = ((src) & CONTEXT_SWITCH_DEFS__PACKED_VDMA_CHANNEL_ID__VDMA_CHANNEL_INDEX_MASK); \
|
||||
} while (0)
|
||||
|
||||
#define CONTEXT_SWITCH_DEFS__WRITE_ACTION_BY_TYPE_MAX_SIZE (4)
|
||||
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
uint16_t core_bytes_per_buffer;
|
||||
@@ -104,6 +107,8 @@ typedef enum __attribute__((packed)) {
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_OPEN_BOUNDARY_INPUT_CHANNEL,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_OPEN_BOUNDARY_OUTPUT_CHANNEL,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_ENABLE_NMS,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_WRITE_DATA_BY_TYPE,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_SWITCH_LCU_BATCH,
|
||||
|
||||
/* Must be last */
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_COUNT
|
||||
@@ -358,8 +363,33 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8_t nms_unit_index;
|
||||
uint8_t network_index;
|
||||
uint16_t number_of_classes;
|
||||
uint16_t burst_size;
|
||||
} CONTEXT_SWITCH_DEFS__enable_nms_action_t;
|
||||
|
||||
typedef enum {
|
||||
WRITE_ACTION_TYPE_GENERAL = 0,
|
||||
WRITE_ACTION_TYPE_WRITE_BATCH = 1,
|
||||
|
||||
/* Must be last */
|
||||
WRITE_ACTION_BY_TYPE_COUNT
|
||||
} CONTEXT_SWITCH_DEFS__WRITE_ACTION_TYPE_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t address;
|
||||
uint8_t data_type; //CONTEXT_SWITCH_DEFS__WRITE_ACTION_TYPE_t
|
||||
uint32_t data;
|
||||
uint8_t shift;
|
||||
uint32_t mask;
|
||||
uint8_t network_index;
|
||||
} CONTEXT_SWITCH_DEFS__write_data_by_type_action_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t packed_lcu_id;
|
||||
uint8_t network_index;
|
||||
uint32_t kernel_done_count;
|
||||
} CONTEXT_SWITCH_DEFS__switch_lcu_batch_action_data_t;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1017,6 +1017,7 @@ typedef enum {
|
||||
CONTROL_PROTOCOL__CONTEXT_SWITCH_STATUS_COUNT,
|
||||
} CONTROL_PROTOCOL__CONTEXT_SWITCH_STATUS_t;
|
||||
|
||||
#define CONTROL_PROTOCOL__INIFINITE_BATCH_COUNT (0)
|
||||
typedef struct {
|
||||
uint32_t state_machine_status_length;
|
||||
uint8_t state_machine_status;
|
||||
@@ -1024,6 +1025,8 @@ typedef struct {
|
||||
uint8_t application_index;
|
||||
uint32_t dynamic_batch_size_length;
|
||||
uint16_t dynamic_batch_size;
|
||||
uint32_t batch_count_length;
|
||||
uint16_t batch_count;
|
||||
uint32_t keep_nn_config_during_reset_length;
|
||||
uint8_t keep_nn_config_during_reset;
|
||||
} CONTROL_PROTOCOL__change_context_switch_status_request_t;
|
||||
@@ -1315,6 +1318,8 @@ typedef struct {
|
||||
uint8_t application_index;
|
||||
uint32_t dynamic_batch_size_length;
|
||||
uint16_t dynamic_batch_size;
|
||||
uint32_t batch_count_length;
|
||||
uint16_t batch_count;
|
||||
uint32_t channels_info_length;
|
||||
CONTROL_PROTOCOL__hw_infer_channels_info_t channels_info;
|
||||
} CONTROL_PROTOCOL__change_hw_infer_status_request_t;
|
||||
|
||||
@@ -57,6 +57,8 @@ typedef enum {
|
||||
HEALTH_MONITOR_CPU_ECC_FATAL_EVENT_ID,
|
||||
CONTEXT_SWITCH_BREAKPOINT_REACHED,
|
||||
HEALTH_MONITOR_CLOCK_CHANGED_EVENT_ID,
|
||||
HW_INFER_MANAGER_INFER_DONE,
|
||||
|
||||
D2H_EVENT_ID_COUNT /* Must be last*/
|
||||
} D2H_EVENT_ID_t;
|
||||
|
||||
@@ -138,6 +140,12 @@ typedef struct {
|
||||
|
||||
#define D2H_EVENT_HEALTH_MONITOR_CLOCK_CHANGED_EVENT_PARAMETER_COUNT (2)
|
||||
|
||||
typedef struct {
|
||||
uint32_t infer_cycles;
|
||||
} D2H_EVENT_hw_infer_mamager_infer_done_message_t;
|
||||
|
||||
#define D2H_EVENT_HW_INFER_MANAGER_INFER_DONE_PARAMETER_COUNT (1)
|
||||
|
||||
/* D2H_EVENT__message_parameters_t should be in the same order as hailo_notification_message_parameters_t */
|
||||
typedef union {
|
||||
D2H_EVENT_rx_error_event_message_t rx_error_event;
|
||||
@@ -149,6 +157,7 @@ typedef union {
|
||||
D2H_EVENT_health_monitor_cpu_ecc_event_message_t health_monitor_cpu_ecc_event;
|
||||
D2H_EVENT_context_switch_breakpoint_reached_event_massage_t context_switch_breakpoint_reached_event;
|
||||
D2H_EVENT_health_monitor_clock_changed_event_message_t health_monitor_clock_changed_event;
|
||||
D2H_EVENT_hw_infer_mamager_infer_done_message_t hw_infer_manager_infer_done_event;
|
||||
} D2H_EVENT__message_parameters_t;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -411,6 +411,7 @@ Updating rules:
|
||||
FIRMWARE_STATUS__X(CONTROL_PROTOCOL_STATUS_INVALID_SLEEP_STATE)\
|
||||
FIRMWARE_STATUS__X(CONTROL_PROTOCOL_STATUS_INVALID_HW_INFER_STATE_LENGTH)\
|
||||
FIRMWARE_STATUS__X(CONTROL_PROTOCOL_STATUS_INVALID_CHANNELS_INFO_LENGTH)\
|
||||
FIRMWARE_STATUS__X(CONTROL_PROTOCOL_STATUS_INVALID_BATCH_COUNT_LENGTH)\
|
||||
\
|
||||
FIRMWARE_MODULE__X(FIRMWARE_MODULE__POWER_MEASUREMENT)\
|
||||
FIRMWARE_STATUS__X(HAILO_POWER_MEASUREMENT_STATUS_POWER_INIT_ERROR)\
|
||||
@@ -554,6 +555,7 @@ Updating rules:
|
||||
FIRMWARE_STATUS__X(PCIE_SERVICE_STATUS_INVALID_H2D_CHANNEL_INDEX)\
|
||||
FIRMWARE_STATUS__X(PCIE_SERVICE_STATUS_INVALID_D2H_CHANNEL_INDEX)\
|
||||
FIRMWARE_STATUS__X(PCIE_SERVICE_INVALID_INITIAL_CREDIT_SIZE)\
|
||||
FIRMWARE_STATUS__X(PCIE_SERVICE_ERROR_ADDING_CREDITS_TO_PCIE_CHANNEL)\
|
||||
\
|
||||
FIRMWARE_MODULE__X(FIRMWARE_MODULE__FIRMWARE_UPDATE)\
|
||||
FIRMWARE_STATUS__X(FIRMWARE_UPDATE_STATUS_INVALID_PARAMETERS)\
|
||||
@@ -753,6 +755,9 @@ Updating rules:
|
||||
FIRMWARE_STATUS__X(CONTEXT_SWITCH_STATUS_INVALID_DYNAMIC_CONTEXT_COUNT)\
|
||||
FIRMWARE_STATUS__X(CONTEXT_SWITCH_STATUS_CONTEXT_INDEX_OUT_OF_RANGE)\
|
||||
FIRMWARE_STATUS__X(CONTEXT_SWITCH_STATUS_TOTAL_PROVIDED_EDGE_LAYERS_LARGER_THEN_EXPECTED)\
|
||||
FIRMWARE_STATUS__X(CONTEXT_SWITCH_STATUS_REACHED_TIMEOUT_WHILE_WAITING_FOR_NETWORK_IDLE)\
|
||||
FIRMWARE_STATUS__X(CONTEXT_SWITCH_STATUS_WRITE_DATA_BY_TYPE_ACTION_INVALID_TYPE)\
|
||||
FIRMWARE_STATUS__X(CONTEXT_SWITCH_STATUS_WRITE_DATA_BY_TYPE_ACTION_INVALID_MEMORY_SPACE)\
|
||||
\
|
||||
FIRMWARE_MODULE__X(FIRMWARE_MODULE__D2H_EVENT_MANAGER)\
|
||||
FIRMWARE_STATUS__X(HAILO_D2H_EVENT_MANAGER_STATUS_MESSAGE_HIGH_PRIORITY_QUEUE_CREATE_FAILED)\
|
||||
@@ -1010,6 +1015,7 @@ Updating rules:
|
||||
FIRMWARE_STATUS__X(VDMA_SERVICE_STATUS_INVALID_CONSTANTS)\
|
||||
FIRMWARE_STATUS__X(VDMA_SERVICE_STATUS_INVALID_CHANNEL_INDEX)\
|
||||
FIRMWARE_STATUS__X(VDMA_SERVICE_STATUS_INVALID_EDGE_LAYER_DIRECTION)\
|
||||
FIRMWARE_STATUS__X(VDMA_SERVICE_INSUFFICIENT_DESCRIPTORS_COUNT)\
|
||||
\
|
||||
FIRMWARE_MODULE__X(FIRMWARE_MODULE__MEMORY_LOGGER)\
|
||||
FIRMWARE_STATUS__X(MEMORY_LOGGER_STATUS_DEBUG_INSUFFICIENT_MEMORY)\
|
||||
@@ -1079,6 +1085,9 @@ Updating rules:
|
||||
FIRMWARE_STATUS__X(NMS_MANAGER_STATUS_INVALID_NETWORK_INDEX)\
|
||||
FIRMWARE_STATUS__X(NMS_MANAGER_STATUS_INVALID_NMS_UNIT_INDEX)\
|
||||
FIRMWARE_STATUS__X(NMS_MANAGER_STATUS_INVALID_BATCH_SIZE)\
|
||||
FIRMWARE_STATUS__X(NMS_MANAGER_STATUS_INVALID_NUM_CLASSES_SIZE)\
|
||||
FIRMWARE_STATUS__X(NMS_MANAGER_STATUS_INVALID_BURST_SIZE)\
|
||||
FIRMWARE_STATUS__X(NMS_MANAGER_STATUS_INVALID_LAST_FRAME_IN_BATCH_SIZE)\
|
||||
\
|
||||
FIRMWARE_MODULE__X(FIRMWARE_MODULE__CLUSTER_MANAGER)\
|
||||
FIRMWARE_STATUS__X(CLUSTER_MANAGER_STATUS_INVALID_CLUSTER_INDEX)\
|
||||
@@ -1087,6 +1096,7 @@ Updating rules:
|
||||
FIRMWARE_STATUS__X(CLUSTER_MANAGER_STATUS_INVALID_LCU_INDEX)\
|
||||
FIRMWARE_STATUS__X(CLUSTER_MANAGER_STATUS_INVALID_KERNEL_DONE_ADDRESS)\
|
||||
FIRMWARE_STATUS__X(CLUSTER_MANAGER_STATUS_RECEIVED_UNEXPECTED_INTERRUPT)\
|
||||
FIRMWARE_STATUS__X(CLUSTER_MANAGER_STATUS_INVALID_NETWORK_INDEX)\
|
||||
\
|
||||
FIRMWARE_MODULE__X(FIRMWARE_MODULE__HW_INFER_MANAGER)\
|
||||
FIRMWARE_STATUS__X(HW_INFER_MANAGER_STATUS_NETWORK_GROUP_NOT_CONFIGURED_BEFORE_INFER_START)\
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#ifndef __UTILS_H__
|
||||
#define __UTILS_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/** A compile time assertion check.
|
||||
*
|
||||
* Validate at compile time that the predicate is true without
|
||||
@@ -125,4 +127,20 @@ _PP_ISEMPTY( \
|
||||
|
||||
#define MICROSECONDS_IN_MILLISECOND (1000)
|
||||
|
||||
static inline uint8_t ceil_log2(uint32_t n)
|
||||
{
|
||||
uint8_t result = 0;
|
||||
|
||||
if (n <= 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (n > 1) {
|
||||
result++;
|
||||
n = (n + 1) >> 1;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* __UTILS_H__ */
|
||||
|
||||
Reference in New Issue
Block a user