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

📄 skgeinit.h

📁 Linux内核源码
💻 H
📖 第 1 页 / 共 2 页
字号:
					 * configured.					 *//* * Master/Slave Mode capabilities */#define	SK_MS_CAP_AUTO		(1<<0)	/* Automatic resolution */#define	SK_MS_CAP_MASTER	(1<<1)	/* This station is master */#define	SK_MS_CAP_SLAVE		(1<<2)	/* This station is slave */#define	SK_MS_CAP_INDETERMINATED (1<<3)	/* Return value for virtual port if					 * multiple ports are differently					 * configured.					 *//* * Set Master/Slave Mode Parameter (and capabilities) */#define	SK_MS_MODE_AUTO		1	/* Automatic resolution */#define	SK_MS_MODE_MASTER	2	/* This station is master */#define	SK_MS_MODE_SLAVE	3	/* This station is slave */#define SK_MS_MODE_INDETERMINATED 4	/* Return value for virtual port if 					 * multiple ports are differently					 *//* * Master/Slave Status Parameter */#define	SK_MS_STAT_UNSET	1	/* The MS status is never been determ*/#define	SK_MS_STAT_MASTER	2	/* This station is master */#define	SK_MS_STAT_SLAVE	3	/* This station is slave */#define	SK_MS_STAT_FAULT	4	/* MS resolution failed */#define SK_MS_STAT_INDETERMINATED 5	/* Return value for virtual port if					 * multiple ports are differently					 *//* * defines for parameter 'Mode' when calling SkXmSetRxCmd() */#define SK_STRIP_FCS_ON		(1<<0)	/* Enable FCS stripping of rx frames */#define SK_STRIP_FCS_OFF	(1<<1)	/* Disable FCS stripping of rx frames */#define SK_STRIP_PAD_ON		(1<<2)	/* Enable pad byte stripping of rx f */#define SK_STRIP_PAD_OFF	(1<<3)	/* Disable pad byte stripping of rx f */#define SK_LENERR_OK_ON		(1<<4)	/* Don't chk fr for in range len error*/#define SK_LENERR_OK_OFF	(1<<5)	/* Check frames for in range len error*/#define SK_BIG_PK_OK_ON		(1<<6)	/* Don't set rcvError bit for big fr */#define SK_BIG_PK_OK_OFF	(1<<7)	/* Set rcvError bit for big frames */	/* * States of PState */#define SK_PRT_RESET	0	/* the port is reset */#define SK_PRT_STOP	1	/* the port is stopped (similar to sw reset) */#define SK_PRT_INIT	2	/* the port is initialized */#define SK_PRT_RUN	3	/* the port has an active link *//* * Default receive frame limit for Workaround of XMAC Errata */#define	SK_DEF_RX_WA_LIM	SK_CONSTU64(100)/* * Define link partner Status */#define	SK_LIPA_UNKNOWN	0	/* Link partner is in unknown state */#define	SK_LIPA_MANUAL	1	/* Link partner is in detected manual state */#define	SK_LIPA_AUTO	2	/* Link partner is in autonegotiation state *//* * Define Maximum Restarts before restart is ignored (3com WA) */#define	SK_MAX_LRESTART	3	/* Max. 3 times the link is restarted *//* * define max. autonegotiation timeouts before link detection in sense mode is * reset. */#define	SK_MAX_ANEG_TO	10	/* Max. 10 times the sense mode is reset *//* structures *****************************************************************//* * Port Structure */typedef	struct s_GePort {#ifndef SK_DIAG	SK_TIMER	PWaTimer;	/* Workaround Timer */#endif	SK_U64	PPrevShorts;	/* Previous short Counter checking */	SK_U64	PPrevRx;		/* Previous RxOk Counter checking */	SK_U64	PPrevFcs;		/* Previous FCS Error Counter checking */	SK_U64	PRxLim;			/* Previous RxOk Counter checking */	SK_U64	LastOctets;		/* For half duplex hang check */#ifndef SK_DIAG	SK_TIMER	HalfDupChkTimer;#endif	int		PLinkResCt;		/* Link Restart Counter */	int		PAutoNegTimeOut;/* AutoNegotiation timeout current value */	int		PAutoNegTOCt;	/* AutoNeg Timeout Counter */	int		PRxQSize;		/* Port Rx Queue Size in kB */	int		PXSQSize;		/* Port Synchronous Transmit Queue Size in kB */	int		PXAQSize;		/* Port Asynchronous Transmit Queue Size in kB*/	SK_U32	PRxQRamStart;	/* Receive Queue RAM Buffer Start Address */	SK_U32	PRxQRamEnd;		/* Receive Queue RAM Buffer End Address */	SK_U32	PXsQRamStart;	/* Sync Tx Queue RAM Buffer Start Address */	SK_U32	PXsQRamEnd;		/* Sync Tx Queue RAM Buffer End Address */	SK_U32	PXaQRamStart;	/* Async Tx Queue RAM Buffer Start Address */	SK_U32	PXaQRamEnd;		/* Async Tx Queue RAM Buffer End Address */	int		PRxQOff;		/* Rx Queue Address Offset */	int		PXsQOff;		/* Synchronous Tx Queue Address Offset */	int		PXaQOff;		/* Asynchronous Tx Queue Address Offset */	int		PhyType;		/* PHY used on this port */	SK_U16	PhyAddr;		/* MDIO/MDC PHY address */	SK_U16	PRxCmd;			/* Port Receive Command Configuration Value */	SK_U16	PIsave;			/* Saved Interrupt status word */	SK_U16	PSsave;			/* Saved PHY status word */	SK_U16	Align01;	SK_BOOL	PHWLinkUp;		/* The hardware Link is up (wireing) */	SK_BOOL	PState;			/* Is port initialized ? */	SK_BOOL	PLinkBroken;	/* Is Link broken ? */	SK_BOOL	PCheckPar;		/* Do we check for parity errors ? */	SK_BOOL	HalfDupTimerActive;	SK_U8	PLinkCap;		/* Link Capabilities */	SK_U8	PLinkModeConf;	/* Link Mode configured */	SK_U8	PLinkMode;		/* Link Mode currently used */	SK_U8	PLinkModeStatus;/* Link Mode Status */	SK_U8	PFlowCtrlCap;	/* Flow Control Capabilities */	SK_U8	PFlowCtrlMode;	/* Flow Control Mode */	SK_U8	PFlowCtrlStatus;/* Flow Control Status */	SK_U8	PMSCap;			/* Master/Slave Capabilities */	SK_U8	PMSMode;		/* Master/Slave Mode */	SK_U8	PMSStatus;		/* Master/Slave Status */	SK_U8	PAutoNegFail;	/* Autonegotiation fail flag */	SK_U8	PLipaAutoNeg;	/* Autonegotiation possible with Link Partner */	SK_U8	Align02;} SK_GEPORT;/* * Gigabit Ethernet Initalization Struct * (has to be included in the adapter context) */typedef	struct s_GeInit {	int			GIMacsFound;	/* Number of MACs found on this adapter */	int			GIPciHwRev;		/* PCI HW Revision Number */	SK_U32		GIRamOffs;		/* RAM Address Offset for addr calculation */	int			GIRamSize;		/* The RAM size of the adapter in kB */	int			GIHstClkFact;	/* Host Clock Factor (62.5 / HstClk * 100) */	int			GIPortUsage;	/* driver port usage: SK_RED_LINK/SK_MUL_LINK */	SK_U32		GIPollTimerVal;	/* Descriptor Poll Timer Init Val in clk ticks*/	int			GILevel;		/* Initialization Level Completed */	SK_GEPORT	GP[SK_MAX_MACS];/* Port Dependent Information */	SK_BOOL		GIAnyPortAct;	/* Is True if one or more port is initialized */	SK_U8		Align01;	SK_U16		Align02;} SK_GEINIT;/* * Define the error numbers and messages for xmac_ii.c and skgeinit.c */#define	SKERR_HWI_E001		(SK_ERRBASE_HWINIT)#define	SKERR_HWI_E001MSG	"SkXmClrExactAddr() has got illegal parameters"#define	SKERR_HWI_E002		(SKERR_HWI_E001+1)#define	SKERR_HWI_E002MSG	"SkGeInit() Level 1 call missing"#define	SKERR_HWI_E003		(SKERR_HWI_E002+1)#define	SKERR_HWI_E003MSG	"SkGeInit() called with illegal init Level"#define	SKERR_HWI_E004		(SKERR_HWI_E003+1)#define	SKERR_HWI_E004MSG	"SkGeInitPort() Queue size illegal configured"#define	SKERR_HWI_E005		(SKERR_HWI_E004+1)#define	SKERR_HWI_E005MSG	"SkGeInitPort() cannot init running ports"#define	SKERR_HWI_E006		(SKERR_HWI_E005+1)#define	SKERR_HWI_E006MSG	"SkGeXmInit(): PState does not match HW state"#define	SKERR_HWI_E007		(SKERR_HWI_E006+1)#define	SKERR_HWI_E007MSG	"SkXmInitDupMd() called with invalid Dup Mode"#define	SKERR_HWI_E008		(SKERR_HWI_E007+1)#define	SKERR_HWI_E008MSG	"SkXmSetRxCmd() called with invalid Mode"#define	SKERR_HWI_E009		(SKERR_HWI_E008+1)#define	SKERR_HWI_E009MSG	"SkGeCfgSync() called although PXSQSize zero"#define	SKERR_HWI_E010		(SKERR_HWI_E009+1)#define	SKERR_HWI_E010MSG	"SkGeCfgSync() called with invalid parameters"#define	SKERR_HWI_E011		(SKERR_HWI_E010+1)#define	SKERR_HWI_E011MSG	"SkGeInitPort() Receive Queue Size to small"#define	SKERR_HWI_E012		(SKERR_HWI_E011+1)#define	SKERR_HWI_E012MSG	"SkGeInitPort() invalid Queue Size specified"#define	SKERR_HWI_E013		(SKERR_HWI_E012+1)#define	SKERR_HWI_E013MSG	"SkGeInitPort() cfg changed for running queue"#define	SKERR_HWI_E014		(SKERR_HWI_E013+1)#define	SKERR_HWI_E014MSG	"SkGeInitPort() unknown GIPortUsage specified"#define	SKERR_HWI_E015		(SKERR_HWI_E014+1)#define	SKERR_HWI_E015MSG	"Illegal Link mode parameter"#define	SKERR_HWI_E016		(SKERR_HWI_E015+1)#define	SKERR_HWI_E016MSG	"Illegal Flow control mode parameter"#define	SKERR_HWI_E017		(SKERR_HWI_E016+1)#define	SKERR_HWI_E017MSG	"Illegal value specified for GIPollTimerVal"#define	SKERR_HWI_E018		(SKERR_HWI_E017+1)#define	SKERR_HWI_E018MSG	"FATAL: SkGeStopPort() does not terminate"#define	SKERR_HWI_E019		(SKERR_HWI_E018+1)#define	SKERR_HWI_E019MSG	""/* function prototypes ********************************************************/#ifndef	SK_KR_PROTO/* * public functions in skgeinit.c */extern void	SkGePollRxD(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_BOOL		PollRxD);extern void	SkGePollTxD(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_BOOL 	PollTxD);extern void	SkGeYellowLED(	SK_AC		*pAC,	SK_IOC		IoC,	int		State);extern int	SkGeCfgSync(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_U32		IntTime,	SK_U32		LimCount,	int		SyncMode);extern void	SkGeLoadLnkSyncCnt(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_U32		CntVal);extern void	SkGeStopPort(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	int		Dir,	int		RstMode);extern int	SkGeInit(	SK_AC		*pAC,	SK_IOC		IoC,	int		Level);extern void	SkGeDeInit(	SK_AC		*pAC,	SK_IOC		IoC);extern int	SkGeInitPort(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkGeXmitLED(	SK_AC		*pAC,	SK_IOC		IoC,	int		Led,	int		Mode);extern void	SkGeInitRamIface(	SK_AC		*pAC,	SK_IOC		IoC);/* * public functions in skxmac2.c */extern void	SkXmSetRxCmd(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	int		Mode);extern void	SkXmClrExactAddr(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	int		StartNum,	int		StopNum);extern void	SkXmFlushTxFifo(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmFlushRxFifo(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmSoftRst(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmHardRst(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmInitMac(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmInitDupMd(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmInitPauseMd(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern int	SkXmAutoNegDone(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port);extern void	SkXmAutoNegLipaXmac(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_U16		IStatus);extern void	SkXmAutoNegLipaBcom(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_U16		IStatus);extern void	SkXmAutoNegLipaLone(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_U16		IStatus);extern void	SkXmIrq(	SK_AC		*pAC,	SK_IOC		IoC,	int		Port,	SK_U16		IStatus);#else	/* SK_KR_PROTO *//* * public functions in skgeinit.c */extern void	SkGePollRxD();extern void	SkGePollTxD();extern void	SkGeYellowLED();extern int	SkGeCfgSync();extern void	SkGeLoadLnkSyncCnt();extern void	SkGeStopPort();extern int	SkGeInit();extern void	SkGeDeInit();extern int	SkGeInitPort();extern void	SkGeXmitLED();extern void	SkGeInitRamIface();/* * public functions in skxmac2.c */extern void	SkXmSetRxCmd();extern void	SkXmClrExactAddr();extern void	SkXmFlushTxFifo();extern void	SkXmFlushRxFifo();extern void	SkXmSoftRst();extern void	SkXmHardRst();extern void	SkXmInitMac();extern void	SkXmInitDupMd();extern void	SkXmInitPauseMd();extern int	SkXmAutoNegDone();extern void	SkXmAutoNegLipa();extern void	SkXmIrq();#endif	/* SK_KR_PROTO */#ifdef __cplusplus}#endif	/* __cplusplus */#endif	/* __INC_SKGEINIT_H_ */

⌨️ 快捷键说明

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