PDK API Guide for J721E
LDC Interface

Introduction

Interface file for LDC M2M FVID2 driver

Files

file  vhwa_m2mLdc.h
 Defines the structures / control operations that could be used to configure / control LDC M2M driver.
 

Data Structures

struct  Vhwa_M2mLdcCreateArgs
 
struct  Vhwa_M2mLdcInitParams
 Init Parameters for LDC M2M Driver. More...
 
struct  Vhwa_M2mLdcSl2AllocPrms
 Used for allocating SL2 memory. More...
 

Functions

int32_t Vhwa_m2mLdcInit (Vhwa_M2mLdcInitParams *ldcInitPrms)
 Initializes LDC Init Parameters. More...
 
void Vhwa_m2mLdcDeInit (void)
 DeInitializes LDC Init Parameters. More...
 
int32_t Vhwa_m2mLdcAllocSl2 (const Vhwa_M2mLdcSl2AllocPrms *sl2allocPrms)
 Function to allocate Sl2 memory for the output buffers. More...
 
void Vhwa_m2mLdcFreeSl2 (void)
 Function to free allocated SL2. More...
 
static void Vhwa_m2mLdcInitParamsInit (Vhwa_M2mLdcInitParams *ldcCfg)
 This function should be used to initialize variable of type Vhwa_M2mLdcInitParams. More...
 
static void Vhwa_M2mLdcCreateArgsInit (Vhwa_M2mLdcCreateArgs *createArgs)
 This function should be used to initialize variable of type Vhwa_M2mLdcCreateArgs. More...
 
static void Vhwa_M2mLdcSl2AllocPrmsInit (Vhwa_M2mLdcSl2AllocPrms *sl2Prms)
 

Macros

#define VHWA_M2M_LDC_DRV_INST_ID   (0U)
 
#define VHWA_M2M_LDC_MAX_HANDLES   (8u)
 Max Number of handles supported by LDC M2M Driver. More...
 

Ioctls for the LDC memory to memory driver

Input/Output control MACRO's for LDC memory to memory module

#define IOCTL_VHWA_M2M_LDC_SET_PARAMS   (VHWA_IOCTL_M2M_LDC_IOCTL_BASE)
 IOCTL for setting LDC configuration. This IOCTL takes LDC Configuration Ldc_Config as input. More...
 
#define IOCTL_VHWA_M2M_LDC_GET_PERFORMANCE   (IOCTL_VHWA_M2M_LDC_SET_PARAMS + 1U)
 IOCTL for getting module's performance numbers for the last frame submitted. More...
 
#define IOCTL_VHWA_M2M_LDC_GET_PSA_SIGN
 IOCTL for getting LSE PSA Signature. More...
 
#define IOCTL_VHWA_M2M_LDC_REGISTER_ERR_CB
 IOCTL for enabling error events and registering callbacks for the same. This IOCTL pointer to Ldc_ErrEventParams as input. More...
 
#define IOCTL_VHWA_M2M_LDC_SET_RD_BW_LIMIT
 IOCTL for enabling and setting parameters for LDC Read bandwidth limiter. This ioctl sets the configurations directly in the registers, so it gets used for all open handles. This IOCTL takes pointer to Ldc_RdBwLimitConfig as input. More...
 
#define IOCTL_VHWA_M2M_LDC_SET_HTS_LIMIT
 IOCTL for enabling and setting HTS limiter. This is used to slowed down the HTS by introducing clock cycles between internal start signals. This IOCTL takes pointer to Vhwa_HtsLimiter as input. More...
 
#define IOCTL_VHWA_M2M_LDC_SYNC_START
 IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing. More...
 

Macro Definition Documentation

◆ VHWA_M2M_LDC_DRV_INST_ID

#define VHWA_M2M_LDC_DRV_INST_ID   (0U)

< Instance ID for the LDC M2m driver

◆ VHWA_M2M_LDC_MAX_HANDLES

#define VHWA_M2M_LDC_MAX_HANDLES   (8u)

Max Number of handles supported by LDC M2M Driver.

◆ IOCTL_VHWA_M2M_LDC_SET_PARAMS

#define IOCTL_VHWA_M2M_LDC_SET_PARAMS   (VHWA_IOCTL_M2M_LDC_IOCTL_BASE)

IOCTL for setting LDC configuration. This IOCTL takes LDC Configuration Ldc_Config as input.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_VHWA_M2M_LDC_GET_PERFORMANCE

#define IOCTL_VHWA_M2M_LDC_GET_PERFORMANCE   (IOCTL_VHWA_M2M_LDC_SET_PARAMS + 1U)

IOCTL for getting module's performance numbers for the last frame submitted.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_VHWA_M2M_LDC_GET_PSA_SIGN

#define IOCTL_VHWA_M2M_LDC_GET_PSA_SIGN
Value:
( \
IOCTL_VHWA_M2M_LDC_GET_PERFORMANCE + 1U)

IOCTL for getting LSE PSA Signature.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_VHWA_M2M_LDC_REGISTER_ERR_CB

#define IOCTL_VHWA_M2M_LDC_REGISTER_ERR_CB
Value:
1U)
#define IOCTL_VHWA_M2M_LDC_GET_PSA_SIGN
IOCTL for getting LSE PSA Signature.
Definition: vhwa_m2mLdc.h:129

IOCTL for enabling error events and registering callbacks for the same. This IOCTL pointer to Ldc_ErrEventParams as input.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_VHWA_M2M_LDC_SET_RD_BW_LIMIT

#define IOCTL_VHWA_M2M_LDC_SET_RD_BW_LIMIT
Value:
( \
IOCTL_VHWA_M2M_LDC_REGISTER_ERR_CB + 1U)

IOCTL for enabling and setting parameters for LDC Read bandwidth limiter. This ioctl sets the configurations directly in the registers, so it gets used for all open handles. This IOCTL takes pointer to Ldc_RdBwLimitConfig as input.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_VHWA_M2M_LDC_SET_HTS_LIMIT

#define IOCTL_VHWA_M2M_LDC_SET_HTS_LIMIT
Value:
( \
IOCTL_VHWA_M2M_LDC_SET_RD_BW_LIMIT + 1U)

IOCTL for enabling and setting HTS limiter. This is used to slowed down the HTS by introducing clock cycles between internal start signals. This IOCTL takes pointer to Vhwa_HtsLimiter as input.

Returns
FVID2_SOK on success, else error code.

◆ IOCTL_VHWA_M2M_LDC_SYNC_START

#define IOCTL_VHWA_M2M_LDC_SYNC_START
Value:
( \
IOCTL_VHWA_M2M_LDC_SET_HTS_LIMIT + 1U)

IOCTL to sync start each module This IOCTL doesn't configure any register and only enable pipeline to start processing.

Returns
FVID2_SOK on success, else error code.

Function Documentation

◆ Vhwa_m2mLdcInit()

int32_t Vhwa_m2mLdcInit ( Vhwa_M2mLdcInitParams ldcInitPrms)

Initializes LDC Init Parameters.

Parameters
ldcInitPrmsLDC Init Parameters This parameter should not be 0.
Returns
Returns 0 on success else returns error value

◆ Vhwa_m2mLdcDeInit()

void Vhwa_m2mLdcDeInit ( void  )

DeInitializes LDC Init Parameters.

◆ Vhwa_m2mLdcAllocSl2()

int32_t Vhwa_m2mLdcAllocSl2 ( const Vhwa_M2mLdcSl2AllocPrms sl2allocPrms)

Function to allocate Sl2 memory for the output buffers.

Parameters
sl2allocPrmsPointer to a Vhwa_M2mLdcSl2AllocPrms structure containing the SL2 allocation parameters
Returns
FVID2_SOK if successful, else suitable error code

◆ Vhwa_m2mLdcFreeSl2()

void Vhwa_m2mLdcFreeSl2 ( void  )

Function to free allocated SL2.

◆ Vhwa_m2mLdcInitParamsInit()

static void Vhwa_m2mLdcInitParamsInit ( Vhwa_M2mLdcInitParams ldcCfg)
inlinestatic

This function should be used to initialize variable of type Vhwa_M2mLdcInitParams.

VhwaM2mLdcCfg_Init

Parameters
ldcCfgA pointer of type Vhwa_M2mLdcInitParams
Returns
None

◆ Vhwa_M2mLdcCreateArgsInit()

static void Vhwa_M2mLdcCreateArgsInit ( Vhwa_M2mLdcCreateArgs createArgs)
inlinestatic

This function should be used to initialize variable of type Vhwa_M2mLdcCreateArgs.

Vhwa_M2mLdcCreateArgsInit

Parameters
createArgsA pointer of type Vhwa_M2mLdcCreateArgs
Returns
None

◆ Vhwa_M2mLdcSl2AllocPrmsInit()

static void Vhwa_M2mLdcSl2AllocPrmsInit ( Vhwa_M2mLdcSl2AllocPrms sl2Prms)
inlinestatic