v4.8.0
This commit is contained in:
@@ -23,7 +23,6 @@ extern "C" {
|
||||
#define CONTEXT_SWITCH_DEFS__TIMESTAMP_INIT_VALUE (0xFFFFFFFF)
|
||||
#define CONTEXT_SWITCH_DEFS__ENABLE_LCU_DEFAULT_KERNEL_ADDRESS (1)
|
||||
#define CONTEXT_SWITCH_DEFS__ENABLE_LCU_DEFAULT_KERNEL_COUNT (2)
|
||||
#define CONTEXT_SWITCH_DEFS__ENABLE_LCU_DEFAULT_BATCH_SIZE (1)
|
||||
|
||||
#define CONTEXT_SWITCH_DEFS__PACKED_LCU_ID_LCU_INDEX_SHIFT (0)
|
||||
#define CONTEXT_SWITCH_DEFS__PACKED_LCU_ID_LCU_INDEX_WIDTH (4)
|
||||
@@ -57,7 +56,7 @@ typedef enum : uint8_t {
|
||||
#else
|
||||
typedef enum __attribute__((packed)) {
|
||||
#endif
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_FETCH_VDMA_DESCRIPTORS = 0,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_FETCH_CFG_CHANNEL_DESCRIPTORS = 0,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_TRIGGER_SEQUENCER,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_FETCH_DATA_FROM_VDMA_CHANNEL,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_ENABLE_LCU_DEFAULT,
|
||||
@@ -85,6 +84,8 @@ typedef enum __attribute__((packed)) {
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_WAIT_FOR_DMA_IDLE_ACTION,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_WAIT_FOR_NMS_IDLE,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_FETCH_CCW_BURSTS,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_VALIDATE_VDMA_CHANNEL,
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_BURST_CREDITS_TASK_START,
|
||||
|
||||
/* Must be last */
|
||||
CONTEXT_SWITCH_DEFS__ACTION_TYPE_COUNT
|
||||
@@ -116,9 +117,18 @@ typedef struct {
|
||||
* | | | .last_executed = <last_action_executed_in_repeated>; |
|
||||
* | | | .sub_action_type = CONTEXT_SWITCH_DEFS__ACTION_TYPE_ENABLE_LCU_DEFAULT; |
|
||||
* | | | } |
|
||||
* | | | CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t { .packed_lcu_id=<some_lcu_id>; } |
|
||||
* | | | CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t { .packed_lcu_id=<some_lcu_id>; } |
|
||||
* | V | CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t { .packed_lcu_id=<some_lcu_id>; } |
|
||||
* | | | CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t { |
|
||||
* | | | .packed_lcu_id=<some_lcu_id>; |
|
||||
* | | | .network_index=<some_network_index> |
|
||||
* | | | } |
|
||||
* | | | CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t { |
|
||||
* | | | .packed_lcu_id=<some_lcu_id>; |
|
||||
* | | | .network_index=<some_network_index> |
|
||||
* | | | } |
|
||||
* | | | CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t { |
|
||||
* | | | .packed_lcu_id=<some_lcu_id>; |
|
||||
* | | | .network_index=<some_network_index> |
|
||||
* | V | } |
|
||||
* | ... | (Next action starting with CONTEXT_SWITCH_DEFS__common_action_header_t) |
|
||||
* |-------------------------------------------------------------------------------------------------------|
|
||||
* See also: "CONTROL_PROTOCOL__REPEATED_ACTION_t" in "control_protocol.h"
|
||||
@@ -132,7 +142,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint16_t descriptors_count;
|
||||
uint8_t cfg_channel_number;
|
||||
} CONTEXT_SWITCH_DEFS__read_vdma_action_data_t;
|
||||
} CONTEXT_SWITCH_DEFS__fetch_cfg_channel_descriptors_action_data_t;
|
||||
|
||||
typedef struct {
|
||||
uint16_t ccw_bursts;
|
||||
@@ -146,6 +156,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
uint8_t packed_lcu_id;
|
||||
uint8_t network_index;
|
||||
uint16_t kernel_done_address;
|
||||
uint32_t kernel_done_count;
|
||||
} CONTEXT_SWITCH_DEFS__enable_lcu_action_non_default_data_t;
|
||||
@@ -153,6 +164,7 @@ typedef struct {
|
||||
/* Default action - kernel_done_address and kernel_done_count has default values */
|
||||
typedef struct {
|
||||
uint8_t packed_lcu_id;
|
||||
uint8_t network_index;
|
||||
} CONTEXT_SWITCH_DEFS__enable_lcu_action_default_data_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -163,14 +175,27 @@ typedef struct {
|
||||
uint8_t vdma_channel_index;
|
||||
uint8_t edge_layer_direction;
|
||||
bool is_inter_context;
|
||||
uint8_t host_buffer_type; // CONTROL_PROTOCOL__HOST_BUFFER_TYPE_t
|
||||
uint32_t initial_credit_size;
|
||||
} CONTEXT_SWITCH_DEFS__deactivate_vdma_channel_action_data_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t vdma_channel_index;
|
||||
uint8_t edge_layer_direction;
|
||||
bool is_inter_context;
|
||||
bool is_single_context_network_group;
|
||||
uint8_t host_buffer_type; // CONTROL_PROTOCOL__HOST_BUFFER_TYPE_t
|
||||
uint32_t initial_credit_size;
|
||||
} CONTEXT_SWITCH_DEFS__validate_vdma_channel_action_data_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t vdma_channel_index;
|
||||
uint8_t stream_index;
|
||||
uint32_t channel_credits;
|
||||
uint8_t network_index;
|
||||
uint32_t frame_periph_size;
|
||||
uint8_t credit_type;
|
||||
uint16_t periph_bytes_per_buffer;
|
||||
uint8_t host_buffer_type; // CONTROL_PROTOCOL__HOST_BUFFER_TYPE_t, relevant only for descriptors credit.
|
||||
} CONTEXT_SWITCH_DEFS__fetch_data_action_data_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -182,7 +207,8 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8_t h2d_vdma_channel_index;
|
||||
uint8_t d2h_vdma_channel_index;
|
||||
uint32_t descriptors_per_batch;
|
||||
uint8_t network_index;
|
||||
uint32_t descriptors_per_frame;
|
||||
uint16_t programmed_descriptors_count;
|
||||
} CONTEXT_SWITCH_DEFS__add_ddr_pair_info_action_data_t;
|
||||
|
||||
@@ -227,16 +253,17 @@ typedef struct {
|
||||
uint8_t stream_index;
|
||||
uint8_t vdma_channel_index;
|
||||
CONTEXT_SWITCH_DEFS__stream_reg_info_t stream_reg_info;
|
||||
uint32_t initial_credit_size;
|
||||
bool is_single_context_app;
|
||||
} CONTEXT_SWITCH_DEFS__activate_boundary_input_data_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t stream_index;
|
||||
uint8_t vdma_channel_index;
|
||||
uint8_t network_index;
|
||||
CONTEXT_SWITCH_DEFS__stream_reg_info_t stream_reg_info;
|
||||
uint64_t host_descriptors_base_address;
|
||||
uint16_t initial_host_available_descriptors;
|
||||
uint8_t desc_list_depth;
|
||||
CONTROL_PROTOCOL__host_buffer_info_t host_buffer_info;
|
||||
uint32_t initial_credit_size;
|
||||
} CONTEXT_SWITCH_DEFS__activate_inter_context_input_data_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -244,9 +271,8 @@ typedef struct {
|
||||
uint8_t vdma_channel_index;
|
||||
CONTEXT_SWITCH_DEFS__stream_reg_info_t stream_reg_info;
|
||||
uint64_t host_descriptors_base_address;
|
||||
uint16_t initial_host_available_descriptors;
|
||||
uint8_t desc_list_depth;
|
||||
bool fw_managed_channel;
|
||||
uint32_t initial_credit_size;
|
||||
} CONTEXT_SWITCH_DEFS__activate_ddr_buffer_input_data_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -260,13 +286,9 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint8_t stream_index;
|
||||
uint8_t vdma_channel_index;
|
||||
uint8_t network_index;
|
||||
CONTEXT_SWITCH_DEFS__stream_reg_info_t stream_reg_info;
|
||||
// TODO: add this to CONTEXT_SWITCH_DEFS__stream_reg_info_t
|
||||
uint32_t frame_credits_in_bytes;
|
||||
uint64_t host_descriptors_base_address;
|
||||
uint16_t initial_host_available_descriptors;
|
||||
uint16_t desc_page_size;
|
||||
uint8_t desc_list_depth;
|
||||
CONTROL_PROTOCOL__host_buffer_info_t host_buffer_info;
|
||||
} CONTEXT_SWITCH_DEFS__activate_inter_context_output_data_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -275,16 +297,14 @@ typedef struct {
|
||||
CONTEXT_SWITCH_DEFS__stream_reg_info_t stream_reg_info;
|
||||
uint32_t frame_credits_in_bytes;
|
||||
uint64_t host_descriptors_base_address;
|
||||
uint16_t initial_host_available_descriptors;
|
||||
uint16_t desc_page_size;
|
||||
uint8_t desc_list_depth;
|
||||
bool fw_managed_channel;
|
||||
uint32_t buffered_rows_count;
|
||||
} CONTEXT_SWITCH_DEFS__activate_ddr_buffer_output_data_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t channel_index;
|
||||
uint64_t host_descriptors_base_address;
|
||||
uint16_t initial_host_available_descriptors;
|
||||
CONTROL_PROTOCOL__host_buffer_info_t host_buffer_info;
|
||||
} CONTEXT_SWITCH_DEFS__activate_cfg_channel_t;
|
||||
|
||||
typedef struct {
|
||||
|
||||
Reference in New Issue
Block a user