Visible to Intel only — GUID: gph1661431586725
Ixiasoft
Visible to Intel only — GUID: gph1661431586725
Ixiasoft
38.5. Switch IP Software API
Register definition header file: intel_vvp_switch_regs.h
Include file: intel_vvp_switch.h
Name | Description |
---|---|
intel_vvp_switch_init | Initialize the Switch instance |
intel_vvp_switch_get_lite_mode | Returns if Lite mode is on |
intel_vvp_switch_get_debug_enabled | Returns if Debug features is on |
intel_vvp_switch_has_uninterrupted_inputs
|
Returns if the Switch input is uninterruptible and always provides video data |
intel_vvp_switch_has_auto_consume
|
Returns if the Switch is using a two-phase rerouting to avoid backpressure at inputs |
intel_vvp_switch_get_num_inputs
|
Returns the number of inputs |
intel_vvp_switch_get_num_outputs | Returns the number of outputs |
intel_vvp_switch_is_running | Returns true if the IP is currently processing video data |
intel_vvp_switch_get_commit_status | Returns true if the IP has uncommitted writes |
intel_vvp_switch_get_status | Reads the status register |
intel_vvp_switch_set_input_config | Configures an input behavior (enabled, disabled, consumed) |
intel_vvp_switch_get_input_config | Returns the selected input behavior |
intel_vvp_switch_set_output_config | Configures an output behavior |
intel_vvp_switch_get_output_config | Returns the selected output behavior |
intel_vvp_switch_commit_writes | Commit all outstanding writes |
enum eIntelVvpSwitchInputConfig
- Members
-
kIntelVvpSwitchInputDisabled (0) - input disabled
kIntelVvpSwitchInputEnabled (1) - input enabled
kIntelVvpSwitchInputConsumed (3) - input consumed
kIntelVvpSwitchInputConfigInvalid (-1) - invalid input configuration (to indicate errors)
- Description
-
Enumeration for the configurable input behaviors
intel_vvp_switch_init
- Prototype
-
int intel_vvp_switch_init(intel_vvp_switch_instance *instance, intel_vvp_core_base base);
- Description
-
Initializes a Switch instance. The initialization stops early if the vendor ID or product ID the IP reads at the base address are not a match or if the register map version is not supported. Otherwise, the function proceeds to read and store the IP compile-time parameterization. The instance is not fully initialized and the application should not use it further if returning a non-zero error code.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
base - base address of the register map
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of error
kIntelVvpCoreVidErr if the vendor id of the core is not the Intel FPGA vendor ID (0x6AF7).
kIntelVvpCorePidErr if the product_id does not match with the Switch product ID
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpSwitchRegMapVersionErr if the register map is not supported
intel_vvp_switch_get_lite_mode
- Prototype
-
bool intel_vvp_switch_get_lite_mode(intel_vvp_switch_instance *instance);
- Description
-
Returns the value of the LITE_MODE register. The instance must be a valid intel_vvp_switch_instance fully initialized
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
true if the IP is in lite mode
intel_vvp_switch_get_debug_enabled
- Prototype
-
bool intel_vvp_switch_get_debug_enabled(intel_vvp_switch_instance *instance);
- Description
-
Returns the value of the DEBUG_ENABLED register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
true if the IP is parameterized with debug features enabled
intel_vvp_switch_has_uninterrupted_inputs
- Prototype
-
bool intel_vvp_switch_has_uninterrupted_inputs(intel_vvp_switch_instance *instance);
- Description
-
Returns the value of the UNINTERRUPTED_INPUTS register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
true if the IP was configured to assume uninterruptible inputs.
intel_vvp_switch_has_auto_consume
- Prototype
-
bool intel_vvp_switch_has_auto_consume(intel_vvp_switch_instance *instance);
- Description
-
Returns the value of the AUTO_CONSUME register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
true is the IP was configured to automatically consume waiting inputs during a switch
intel_vvp_switch_get_num_inputs
- Prototype
-
uint8_t intel_vvp_switch_get_num_inputs(intel_vvp_switch_instance *instance);
- Description
-
Returns the value of the NUM_INPUTS register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
The number of inputs
intel_vvp_switch_get_num_outputs
- Prototype
-
uint8_t intel_vvp_switch_get_num_outputs(intel_vvp_switch_instance* instance);
- Description
-
Returns the value of the NUM_OUTPUTS register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
The number of outputs
intel_vvp_switch_is_running
- Prototype
-
bool intel_vvp_switch_is_running(intel_vvp_switch_instance* instance);
- Description
-
Reads and returns the running bit of the STATUS register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
True if the IP is currently receiving or storing an input field, false when between two input fields
intel_vvp_switch_get_commit_status
- Prototype
-
bool intel_vvp_switch_get_commit_status(intel_vvp_clipper_instance* instance);
- Description
-
Reads and returns the commit pending bit of the STATUS register. The instance must be a valid intel_vvp_switch_instance fully initialized and configured in full mode.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
True is the IP is configured in full mode and if the agent interface contains uncommitted writes.
intel_vvp_switch_get_status
- Prototype
-
uint32_t intel_vvp_switch_get_status(intel_vvp_switch_instance* instance);
- Description
-
Reads the STATUS register. The instance must be a valid intel_vvp_switch_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
The content of the STATUS register
intel_vvp_switch_set_input_config
- Prototype
-
int intel_vvp_switch_set_input_config(intel_vvp_switch_instance *instance, uint8_t input, eIntelVvpSwitchInputConfig input_config)
- Description
-
Changes the configuration for a chosen input. The instance must be a valid intel_vvp_switch_instance fully initialized and the input must be valid
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
input - selected input in the range [0..num_inputs-1] where num_inputs is the number of configured inputs
input_config - new input configuration (enabled, disabled, consumed). An input that is enabled but not tied to any output is automatically consumed
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid
kIntelVvpSwitchParameterErr if the input is out-of-range or the input_config parameter is invalid
intel_vvp_switch_get_input_config
- Prototype
-
eIntelVvpSwitchInputConfig intel_vvp_switch_get_input_config(intel_vvp_switch_instance *instance, uint8_t input)
- Description
-
Returns the current configuration for a requested input
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
input - chosen input in the range [0..num_inputs-1] where num_inputs is the number of configured inputs
- Returns
-
The configuration for the selected input, kIntelVvpSwitchInputConfigInvalid in case of error (invalid instance, debug not enabled, invalid input)
intel_vvp_switch_set_output_config
- Prototype
-
int intel_vvp_switch_set_output_config(intel_vvp_switch_instance *instance, uint8_t output, bool enabled, uint8_t input)
- Description
-
Change the configuration of a selected output. The instance must be a valid intel_vvp_switch_instance fully initialized. The output, and the optional input, must be valid
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
output - chosen output in the range [0..num_outputs-1] where num_outputs is the number of configured outputs
enabled - true to enable the output
input - if the output is enabled, this is the chosen input in the range [0..num_inputs-1] where num_inputs is the number of configured inputs
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid
kIntelVvpSwitchParameterErr if the output and or the input is invalid. Note that selecting an invalid input disables the output
intel_vvp_switch_get_output_config
- Prototype
-
int intel_vvp_switch_get_output_config(intel_vvp_switch_instance *instance, uint8_t output)
- Description
-
Returns the current configuration for a requested output. The instance must be a valid intel_vvp_switch_instance fully initialized and with debug enabled. The output must be valid
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
output - chosen output in the range [0..num_outputs-1] where num_outputs is the number of configured outputs
- Returns
-
The selected input for the given output, -1 if the output is disabled
Other negative values are for errors:
kIntelVvpCoreInstanceErr if the instance is invalid or not configured for debug
kIntelVvpSwitchParameterErr if the output is invalid
intel_vvp_switch_commit_writes
- Prototype
-
int intel_vvp_switch_commit_writes(intel_vvp_switch_instance* instance)
- Description
-
Commits all pending writes before processing the next field. The instance must be valid and parameterized in full mode.
- Arguments
-
instance - pointer to the intel_vvp_switch_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk (0) for success, negative error code otherwise