diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/inc')
5 files changed, 33 insertions, 13 deletions
diff --git a/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_ext.h b/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_ext.h index 00951b1..efbe6d3 100644 --- a/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_ext.h @@ -238,6 +238,7 @@ typedef uint32_t fmSpecialOperations_t; /**< typedef for definin #define FM_SP_OP_CLEAR_RPD 0x02000000 /**< Clear the RPD bit */ #define FM_SP_OP_CAPWAP_DTLS_ENC 0x01000000 /**< activate features that related to CAPWAP-DTLS post Encryption */ #define FM_SP_OP_CAPWAP_DTLS_DEC 0x00800000 /**< activate features that related to CAPWAP-DTLS post Decryption */ +#define FM_SP_OP_IPSEC_NO_ETH_HDR 0x00400000 /**< activate features that related to IPSec without Eth hdr */ /* @} */ /**************************************************************************//** @@ -1659,6 +1660,21 @@ t_Error FM_ForceIntr (t_Handle h_Fm, e_FmExceptions exception); *//***************************************************************************/ t_Error FM_SetPortsBandwidth(t_Handle h_Fm, t_FmPortsBandwidthParams *p_PortsBandwidth); +/**************************************************************************//* + @Function FM_GetMuramHandle + + @Description Gets the corresponding MURAM handle + + @Param[in] h_Fm A handle to an FM Module. + + @Return MURAM handle; NULL otherwise. + + @Cautions Allowed only following FM_Init(). + This routine should NOT be called from guest-partition + (i.e. guestId != NCSW_MASTER_ID) +*//***************************************************************************/ +t_Handle FM_GetMuramHandle(t_Handle h_Fm); + /** @} */ /* end of FM_runtime_control_grp group */ /** @} */ /* end of FM_lib_grp group */ /** @} */ /* end of FM_grp group */ diff --git a/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h b/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h index e67fbb6..c489124 100644 --- a/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/Peripherals/fm_pcd_ext.h @@ -95,9 +95,8 @@ #define FM_PCD_KG_NUM_OF_DEFAULT_GROUPS 16 /**< Number of default value logical groups */ #define FM_PCD_PRS_NUM_OF_LABELS 32 /**< Maximum number of SW parser labels */ -#define FM_PCD_SW_PRS_SIZE 0x00000800 /**< Total size of SW parser area */ -#define FM_PCD_PRS_SW_OFFSET 0x00000040 /**< Size of illegal addresses at the beginning - of the SW parser area */ +#define FM_SW_PRS_MAX_IMAGE_SIZE (FM_PCD_SW_PRS_SIZE /*- FM_PCD_PRS_SW_OFFSET -FM_PCD_PRS_SW_TAIL_SIZE*/-FM_PCD_PRS_SW_PATCHES_SIZE) + /**< Maximum size of SW parser code */ #define FM_PCD_MAX_MANIP_INSRT_TEMPLATE_SIZE 128 /**< Maximum size of insertion template for insert manipulation */ @@ -1144,7 +1143,7 @@ typedef enum e_FmPcdManipHdrFieldUpdateVlan { } e_FmPcdManipHdrFieldUpdateVlan; /**************************************************************************//** - @Description Enumeration type for selecting specific L2 fields removal + @Description Enumeration type for selecting specific L2 header insertion *//***************************************************************************/ typedef enum e_FmPcdManipHdrInsrtSpecificL2 { e_FM_PCD_MANIP_HDR_INSRT_MPLS /**< Insert MPLS header (Unlimited MPLS labels) */ @@ -2243,7 +2242,7 @@ typedef struct t_FmPcdManipHdrRmvByHdrParams { If TRUE, remove also the specified header. */ t_FmManipHdrInfo hdrInfo; } fromStartByHdr; /**< Relevant when type = e_FM_PCD_MANIP_RMV_BY_HDR_FROM_START */ -#endif /* FM_CAPWAP_SUPPORT */ +#endif /* (DPAA_VERSION >= 11) || ... */ #if (DPAA_VERSION >= 11) t_FmManipHdrInfo hdrInfo; /**< Relevant when type = e_FM_PCD_MANIP_RMV_BY_HDR_FROM_START */ #endif /* (DPAA_VERSION >= 11) */ @@ -2356,9 +2355,14 @@ typedef struct t_FmPcdManipSpecialOffloadIPSecParams { (direction depends on the 'decryption' field). */ bool variableIpHdrLen; /**< TRUE for supporting variable IP header length in decryption. */ bool variableIpVersion; /**< TRUE for supporting both IP version on the same SA in encryption */ - uint8_t outerIPHdrLen; /**< if 'variableIpVersion == TRUE' than this field must be set to non-zero value; + uint8_t outerIPHdrLen; /**< if 'variableIpVersion == TRUE' then this field must be set to non-zero value; It is specifies the length of the outer IP header that was configured in the corresponding SA. */ + uint16_t arwSize; /**< if <> '0' then will perform ARW check for this SA; + The value must be a multiplication of 16 */ + uintptr_t arwAddr; /**< if arwSize <> '0' then this field must be set to non-zero value; + MUST be allocated from FMAN's MURAM that the post-sec op-port belongs to; + Must be 4B aligned. Required MURAM size is 'NEXT_POWER_OF_2(arwSize+32))/8+4' Bytes */ } t_FmPcdManipSpecialOffloadIPSecParams; #if (DPAA_VERSION >= 11) @@ -3832,8 +3836,6 @@ t_Error FM_PCD_HashTableGetBucketAging(t_Handle h_HashTbl, uint32_t *p_BucketAgingMask, uint8_t *agedKeysArray[31]); - - /**************************************************************************//** @Function FM_PCD_ManipNodeSet diff --git a/drivers/net/ethernet/freescale/fman/inc/flib/fsl_fman.h b/drivers/net/ethernet/freescale/fman/inc/flib/fsl_fman.h index cec4e10..96a63fa 100755 --- a/drivers/net/ethernet/freescale/fman/inc/flib/fsl_fman.h +++ b/drivers/net/ethernet/freescale/fman/inc/flib/fsl_fman.h @@ -672,7 +672,6 @@ enum fman_counters { #define QMI_GS_HALT_NOT_BUSY 0x00000002 - /**************************************************************************//** @Description IRAM defines *//***************************************************************************/ @@ -753,8 +752,9 @@ void fman_set_dma_emergency(struct fman_dma_regs *dma_rg, bool is_write, bool enable); void fman_set_dma_ext_bus_pri(struct fman_dma_regs *dma_rg, uint32_t pri); void fman_set_congestion_group_pfc_priority(uint32_t *cpg_rg, - uint32_t congestion_group_id, - uint8_t priority_bit_map); + uint32_t congestion_group_id, + uint8_t piority_bit_map, + uint32_t reg_num); void fman_defconfig(struct fman_cfg *cfg, bool is_master); diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h index ce9c3e7..38ed441 100644 --- a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3H/dpaa_integration_ext.h @@ -220,7 +220,7 @@ typedef enum #define FM_PCD_PLCR_NUM_ENTRIES 256 /**< Total number of policer profiles */ #define FM_PCD_KG_NUM_OF_SCHEMES 32 /**< Total number of KG schemes */ #define FM_PCD_MAX_NUM_OF_CLS_PLANS 256 /**< Number of classification plan entries. */ -#define FM_PCD_PRS_SW_PATCHES_SIZE 0x00000460 /**< Number of bytes saved for patches */ +#define FM_PCD_PRS_SW_PATCHES_SIZE 0x00000600 /**< Number of bytes saved for patches */ #define FM_PCD_SW_PRS_SIZE 0x00000800 /**< Total size of SW parser area */ /* RTC defines */ diff --git a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h index be3fcb1..594527e 100644 --- a/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h +++ b/drivers/net/ethernet/freescale/fman/inc/integrations/FMANV3L/dpaa_integration_ext.h @@ -203,6 +203,8 @@ typedef enum #define FM_MAX_NUM_OF_10G_TX_PORTS FM_MAX_NUM_OF_10G_MACS #define FM_MAX_NUM_OF_TX_PORTS (FM_MAX_NUM_OF_10G_TX_PORTS + FM_MAX_NUM_OF_1G_TX_PORTS) +#define FM_MAX_NUM_OF_MACSECS 1 /* Should be updated */ + #define FM_PORT_MAX_NUM_OF_EXT_POOLS 4 /**< Number of external BM pools per Rx port */ #define FM_PORT_NUM_OF_CONGESTION_GRPS 256 /**< Total number of congestion groups in QM */ #define FM_MAX_NUM_OF_SUB_PORTALS 16 @@ -221,7 +223,7 @@ typedef enum #define FM_PCD_PLCR_NUM_ENTRIES 256 /**< Total number of policer profiles */ #define FM_PCD_KG_NUM_OF_SCHEMES 32 /**< Total number of KG schemes */ #define FM_PCD_MAX_NUM_OF_CLS_PLANS 256 /**< Number of classification plan entries. */ -#define FM_PCD_PRS_SW_PATCHES_SIZE 0x00000460 /**< Number of bytes saved for patches */ +#define FM_PCD_PRS_SW_PATCHES_SIZE 0x00000600 /**< Number of bytes saved for patches */ #define FM_PCD_SW_PRS_SIZE 0x00000800 /**< Total size of SW parser area */ /* RTC defines */ |