⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msapiinternal.h

📁 88E6095f的驱动代码及相应例子源码下载
💻 H
📖 第 1 页 / 共 3 页
字号:
#define DEV_FRAME_SIZE_1632		\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )		/* Not used */#define DEV_FLOW_CTRL_DELAY		\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
/* port based CPU Port */#define DEV_ENHANCED_CPU_PORT	\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_CPU_DEST_PER_PORT	\					( DEV_88E6183 | DEV_88E6093 | \					  DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_CPU_PORT	( DEV_88E6065_FAMILY )#define DEV_MULTICAST	( DEV_88E6065_FAMILY )#define DEV_CPU_DEST	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_MIRROR_DEST	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_QVLAN_ONLY		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_5BIT_PORT		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_SDET_POLARITY	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_LIMITED_SDET	( DEV_88E6165_FAMILY )	/* only port 4 & 5 support SDET Polarity */
/* supports Reserved Multicast, etc */#define DEV_ENHANCED_MULTICAST	\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_ENHANCED_MULTICAST_2X	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_ARP_DEST_SUPPORT		( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_MARVELL_TAG_FLOW_CTRL	\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_USE_DOUBLE_TAG_DATA		\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )		/* Not Used */#define DEV_MARVELL_TAG_LOOP_BLOCK	( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_LOOPBACK_FILTER		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FLOOD_BROADCAST		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_TAG_FLOW_CONTROL	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_ALWAYS_USE_VTU		( DEV_88E6097_FAMILY )#define DEV_RM_ONE_PTAG			( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
					#define DEV_PRIORITY_OVERRIDE	\					( DEV_88E6183 | DEV_88E6093 | DEV_88E6095 | 	\					  DEV_88E6185 | DEV_88E6108 | DEV_88E6097_FAMILY |	\
					  DEV_88E6165_FAMILY )
#define DEV_EXT_PRIORITY_OVERRIDE	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_PRIORITY_OVERRIDE_TABLE	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FQPRI_IN_TABLE		( DEV_88E6065 )#define DEV_FQPRI_OVERRIDE		( DEV_88E6065 )#define DEV_Px_MODE 	( DEV_88E6065_FAMILY )#define DEV_SA_FILTERING	( DEV_88E6065 | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_ARP_TO_CPU		( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_EGRESS_FLOOD	( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FORCE_MAP		( DEV_88E6065_FAMILY )#define DEV_PORT_SCHEDULE	( DEV_88E6065 )#define DEV_PORT_MIXED_SCHEDULE		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_OUT_Q_SIZE		( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_OUT_Q_512		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FULL_Q_COUNTER	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_PROVIDER_TAG	( DEV_88E6065_FAMILY )#define DEV_OLD_HEADER		( DEV_88E6065_FAMILY )#define DEV_RECURSIVE_TAG_STRIP		( DEV_88E6065_FAMILY )#define DEV_FORCE_WITH_VALUE			\					( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | 	\					  DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6065_FAMILY | DEV_88E6097_FAMILY |		\
					  DEV_88E6165_FAMILY )
/* Grouping ATU Entry State for Unicast */#define DEV_UC_7_DYNAMIC		\				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\				  DEV_88E6183 | DEV_88E6093 | DEV_88E6097_FAMILY |					\
				  DEV_88E6165_FAMILY )
#define DEV_UC_NO_PRI_TO_CPU_STATIC_NRL		\
				( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_TO_CPU_STATIC_NRL			\
				( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_NO_PRI_STATIC_NRL			\
				( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_STATIC_NRL					\
				( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_UC_NO_PRI_TO_CPU_STATIC			\
				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\
				  DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_TO_CPU_STATIC			\
				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\
				  DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_UC_NO_PRI_STATIC			\
				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\
				  DEV_88E6183 | DEV_88E6093 | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_STATIC	( DEV_STATIC_ADDR )/* Grouping ATU Entry State for Multicast */#define DEV_MC_MGM_STATIC_UNLIMITED_RATE		\
				( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_MC_PRIO_MGM_STATIC_UNLIMITED_RATE	\
				( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_MC_STATIC_UNLIMITED_RATE	( DEV_STATIC_ADDR & ~DEV_88E6052 )#define DEV_MC_MGM_STATIC		( DEV_STATIC_ADDR )#define DEV_MC_STATIC				( DEV_STATIC_ADDR )#define DEV_MC_PRIO_MGM_STATIC		( DEV_STATIC_ADDR )#define DEV_MC_PRIO_STATIC_UNLIMITED_RATE ( DEV_STATIC_ADDR & ~ (DEV_88E6083|DEV_88E6052) )#define DEV_MC_PRIO_STATIC		( DEV_STATIC_ADDR & ~DEV_88E6083 )/* Grouping Devices that support Pause Limit */#define DEV_PAUSE_LIMIT		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
/* Grouping Devices that support Frame Mode */#define DEV_FRAME_MODE		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_POLICY		( DEV_88E6097 | DEV_88E6165)

#define DEV_PORT_ETYPE	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_FID_REG		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_FRAME_TO_REGISTER	( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_RMU_MODE	( DEV_88E6165_FAMILY )

#define DEV_SWITCH_MAC_REG		( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_ATU_STATS			( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )

#define DEV_JUMBO_MODE		( DEV_88E6165_FAMILY )
#define DEV_PTP				( DEV_88E6165_FAMILY )
#define DEV_PTP_2			0
#define DEV_TAI				0
/* Macros to utilize Device Group */#define IS_IN_DEV_GROUP(dev,_group) (dev->devName & (_group))/* need to check port number(_hwPort) later */
#define IS_VALID_API_CALL(dev,_hwPort, _devName)	    	\	((_hwPort == GT_INVALID_PORT) ? GT_BAD_PARAM :			\
	(!(dev->devName & (_devName)) ? GT_NOT_SUPPORTED : GT_OK))
#define DOES_DEVPORT_SUPPORT_PCS(dev, _hwPort)			\	(!(dev->devName & DEV_GIGABIT_SWITCH) || \	 (dev->devName & DEV_INTERNAL_GPHY) ||   \	(!(dev->devName & DEV_EXTERNAL_PHY_ONLY) && (((_hwPort) < 8) || ((_hwPort) > 10)))	\	? 0 : 1)#define IS_CONFIGURABLE_PHY(dev,_hwPort)	driverIsPhyAttached(dev,_hwPort)

#define GT_GET_SERDES_PORT(dev,_hwPort)		driverGetSerdesPort(dev,_hwPort)

#define GT_GIG_PHY_INT_MASK(dev,_portVct)    ((_portVct) = (_portVct) & 0xF7)#define RECOMMENDED_ESB_LIMIT(dev, _bps)					\		((IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))?16777200:0xFFFFFF)#define RECOMMENDED_CBS_LIMIT(dev, _bps)					\		((IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))?393216:0x200000)#define RECOMMENDED_BUCKET_INCREMENT(dev, _bps)				\		((IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))?174:		\		((_bps) < 1000)?0x3d:							\		((_bps) < 10000)?0x1f:0x4)#define FACTOR_FROM_BUCKET_INCREMENT(dev, _bInc, _f)		\	{														\		if(IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))			\		{													\			if((_bInc) == 174) {(_f) = 64;}					\			else {(_f) = 0;}								\		}													\		else												\		{													\			if((_bInc) == 0x3d) {(_f) = 64;}				\			else if((_bInc) == 0x1f) {(_f) = 128;}			\			else if((_bInc) == 0x4) {(_f) = 1000;}			\			else {(_f) = 0;}								\		}													\	}/*
 * typedef: enum GT_ATU_STATS_OP
 *
 * Description: Enumeration of the ATU Statistics operation *
 * Enumerations:
 *   GT_ATU_STATS_ALL        - count all valid entry
 *   GT_ATU_STATS_NON_STATIC - count all vaild non-static entry
 *   GT_ATU_STATS_ALL_FID    - count all valid entry in the given DBNum(or FID) 
 *   GT_ATU_STATS_NON_STATIC_FID - count all valid non-static entry in the given DBNum(or FID)
 */
typedef enum
{
    GT_ATU_STATS_ALL = 0,
    GT_ATU_STATS_NON_STATIC,
    GT_ATU_STATS_ALL_FID,	GT_ATU_STATS_NON_STATIC_FID
}GT_ATU_STATS_OP;

/*
 *  typedef: struct GT_ATU_STAT
 *
 *  Description: 
 *		This structure is used to count ATU entries.
 *
 *  Fields:
 *      op 	  - counter type
 *		DBNum - required only if op is either GT_ATU_STATS_FID or  *				GT_ATU_STATS_NON_STATIC_FID
 */
typedef struct
{
	GT_ATU_STATS_OP	op;	GT_U32 			DBNum;
} GT_ATU_STAT;

typedef struct _EXTRA_OP_DATA{	GT_U32 moveFrom;	GT_U32 moveTo;	GT_U32 intCause;	GT_U32 reserved;} GT_EXTRA_OP_DATA;
/*******************************************************************************
* gvtuGetViolation
*
* DESCRIPTION:
*       Get VTU Violation data
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       vtuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gvtuGetViolation
(
    IN GT_QD_DEV*       dev,
    OUT GT_VTU_INT_STATUS *vtuIntStatus
);

/*******************************************************************************
* gvtuGetViolation2
*
* DESCRIPTION:
*       Get VTU Violation data (for Gigabit Device)
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       vtuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gvtuGetViolation2
(
    IN GT_QD_DEV*       dev,
    OUT GT_VTU_INT_STATUS *vtuIntStatus
);
/*******************************************************************************
* gvtuGetViolation3
*
* DESCRIPTION:
*       Get VTU Violation data (for Spinnaker family Device)
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       vtuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gvtuGetViolation3
(
    IN GT_QD_DEV*       dev,
    OUT GT_VTU_INT_STATUS *vtuIntStatus
);
/*******************************************************************************
* gatuGetViolation
*
* DESCRIPTION:
*       Get ATU Violation data
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       atuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gatuGetViolation
(
    IN  GT_QD_DEV         *dev,
    OUT GT_ATU_INT_STATUS *atuIntStatus
);

/*******************************************************************************
* gsysSetRetransmitMode
*
* DESCRIPTION:
*       This routine set the Retransmit Mode.
*
* INPUTS:
*       en - GT_TRUE Retransimt Mode is enabled, GT_FALSE otherwise.
*
* OUTPUTS:
*       None.
*
* RETURNS:
*       GT_OK   - on success
*       GT_FAIL - on error
*
* COMMENTS:
*       None.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gsysSetRetransmitMode
(
    IN GT_QD_DEV*       dev,
    IN GT_BOOL en
);

/*******************************************************************************
* gsysGetRetransmitMode
*
* DESCRIPTION:
*       This routine get the Retransmit Mode.
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       en - GT_TRUE Retransmit Mode is enabled, GT_FALSE otherwise.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -