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

📄 skgepnmi.h

📁 这是Marvell Technology Group Ltd. 4355 (rev 12)网卡在linux下的驱动程序源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
#define OID_SKGE_ALL_DATA				0xFF020190/* Defines for VCT. */#define OID_SKGE_VCT_GET				0xFF020200#define OID_SKGE_VCT_SET				0xFF020201#define OID_SKGE_VCT_STATUS				0xFF020202#define OID_SKGE_VCT_CAPABILITIES		0xFF020203#ifdef SK_DIAG_SUPPORT/* Defines for driver DIAG mode. */#define OID_SKGE_DIAG_MODE				0xFF020204#endif /* SK_DIAG_SUPPORT *//* New OIDs */#define OID_SKGE_DRIVER_RELDATE			0xFF020210#define OID_SKGE_DRIVER_FILENAME		0xFF020211#define OID_SKGE_CHIPID					0xFF020212#define OID_SKGE_RAMSIZE				0xFF020213#define OID_SKGE_VAUXAVAIL				0xFF020214#define OID_SKGE_PHY_TYPE				0xFF020215#define OID_SKGE_PHY_LP_MODE			0xFF020216/* * Added for new DualNet IM driver V2 */#define OID_SKGE_MAC_COUNT				0xFF020217#define OID_SKGE_DUALNET_MODE			0xFF020218#define OID_SKGE_SET_TAGHEADER			0xFF020219#ifdef SK_ASF/* Defines for ASF */#define OID_SKGE_ASF					0xFF02021a#define OID_SKGE_ASF_STORE_CONFIG		0xFF02021b#define OID_SKGE_ASF_ENA				0xFF02021c#define OID_SKGE_ASF_RETRANS			0xFF02021d#define OID_SKGE_ASF_RETRANS_INT		0xFF02021e#define OID_SKGE_ASF_HB_ENA				0xFF02021f#define OID_SKGE_ASF_HB_INT				0xFF020220#define OID_SKGE_ASF_WD_ENA				0xFF020221#define OID_SKGE_ASF_WD_TIME			0xFF020222#define OID_SKGE_ASF_IP_SOURCE			0xFF020223#define OID_SKGE_ASF_MAC_SOURCE			0xFF020224#define OID_SKGE_ASF_IP_DEST			0xFF020225#define OID_SKGE_ASF_MAC_DEST			0xFF020226#define OID_SKGE_ASF_COMMUNITY_NAME		0xFF020227#define OID_SKGE_ASF_RSP_ENA			0xFF020228#define OID_SKGE_ASF_RETRANS_COUNT_MIN	0xFF020229#define OID_SKGE_ASF_RETRANS_COUNT_MAX	0xFF02022a#define OID_SKGE_ASF_RETRANS_INT_MIN	0xFF02022b#define OID_SKGE_ASF_RETRANS_INT_MAX	0xFF02022c#define OID_SKGE_ASF_HB_INT_MIN			0xFF02022d#define OID_SKGE_ASF_HB_INT_MAX			0xFF02022e#define OID_SKGE_ASF_WD_TIME_MIN		0xFF02022f#define OID_SKGE_ASF_WD_TIME_MAX		0xFF020230#define OID_SKGE_ASF_HB_CAP				0xFF020231#define OID_SKGE_ASF_WD_TIMER_RES		0xFF020232#define OID_SKGE_ASF_GUID				0xFF020233#define OID_SKGE_ASF_KEY_OP				0xFF020234#define OID_SKGE_ASF_KEY_ADM			0xFF020235#define OID_SKGE_ASF_KEY_GEN			0xFF020236#define OID_SKGE_ASF_CAP				0xFF020237#define OID_SKGE_ASF_PAR_1				0xFF020238#define OID_SKGE_ASF_OVERALL_OID		0xFF020239#define OID_SKGE_ASF_FW_REMOVE			0xFF02023a#define OID_SKGE_ASF_CHECK_SPI			0xFF02023b#endif /* SK_ASF *//* Defined for Yukon-2 path only */#define OID_SKGE_UPPER_MINIPORT			0xFF02023D#ifdef SK_ASF/* Defines for ASF */#define OID_SKGE_ASF_FWVER_OID			0xFF020240#define OID_SKGE_ASF_ACPI_OID			0xFF020241#define OID_SKGE_ASF_SMBUS_OID			0xFF020242#define OID_SKGE_ASF_DASH_CAP			0xFF020243#define OID_SKGE_ASF_DASH_ENA			0xFF020244#define OID_SKGE_ASF_DASH_USER_DAT		0xFF020245#define OID_SKGE_ASF_DASH_BUSY			0xFF020246#define OID_SKGE_ASF_DASH_MAX_USER		0xFF020247#endif /* SK_ASF *//* VCT struct to store a backup copy of VCT data after a port reset. */typedef struct s_PnmiVct {	SK_U8			VctStatus;	SK_U8			CableLen;	SK_U32			MdiPairLen[4];	SK_U8			MdiPairSts[4];} SK_PNMI_VCT;/* VCT status values (to be given to CPA via OID_SKGE_VCT_STATUS). */#define SK_PNMI_VCT_NONE			0x00#define SK_PNMI_VCT_OLD_VCT_DATA	0x01#define SK_PNMI_VCT_NEW_VCT_DATA	0x02#define SK_PNMI_VCT_OLD_DSP_DATA	0x04#define SK_PNMI_VCT_NEW_DSP_DATA	0x08#define SK_PNMI_VCT_RUNNING			0x10/* VCT cable test status. */#define SK_PNMI_VCT_NORMAL_CABLE		0#define SK_PNMI_VCT_SHORT_CABLE			1#define SK_PNMI_VCT_OPEN_CABLE			2#define SK_PNMI_VCT_TEST_FAIL			3#define SK_PNMI_VCT_IMPEDANCE_MISMATCH	4#define SK_PNMI_VCT_NOT_PRESENT			5/* DSP cable ranges. */#define DSP_CABLE_RANGE_UNDER_50		0	/* under 50m */#define DSP_CABLE_RANGE_50_TO_80		1	/* 50m - 80m */#define DSP_CABLE_RANGE_80_TO_150		2	/* 80m - 150m*/#define DSP_CABLE_RANGE_110_TO_140		3	/* 110m - 140m */#define DSP_CABLE_RANGE_ABOVE_140		4	/* above 140m */#define DSP_CABLE_RANGE_NOT_SUPPORTED	((SK_U8)-1)	/* not supported */#define DSP_CABLE_RANGE_UNDER_50_END	50	/* under 50m */#define DSP_CABLE_RANGE_50_TO_80_END	80	/* 50m - 80m */#define DSP_CABLE_RANGE_80_TO_140_END	140	/* 80m - 140m *//* VCT capabilities (needed for OID_SKGE_VCT_CAPABILITIES. */#define SK_PNMI_VCT_SUPPORTED_VERSION	1#define SK_PNMI_VCT_NOT_SUPPORTED		0#define OID_SKGE_TRAP_SEN_WAR_LOW		500#define OID_SKGE_TRAP_SEN_WAR_UPP		501#define OID_SKGE_TRAP_SEN_ERR_LOW		502#define OID_SKGE_TRAP_SEN_ERR_UPP		503#define OID_SKGE_TRAP_RLMT_CHANGE_THRES	520#define OID_SKGE_TRAP_RLMT_CHANGE_PORT	521#define OID_SKGE_TRAP_RLMT_PORT_DOWN	522#define OID_SKGE_TRAP_RLMT_PORT_UP		523#define OID_SKGE_TRAP_RLMT_SEGMENTATION	524#ifdef SK_DIAG_SUPPORT/* Defines for driver DIAG mode. */#define SK_DIAG_ATTACHED	2#define SK_DIAG_RUNNING		1#define SK_DIAG_IDLE		0#endif /* SK_DIAG_SUPPORT *//* * Generic PNMI IOCTL subcommand definitions. */#define SK_GET_SINGLE_VAR		1#define SK_SET_SINGLE_VAR		2#define SK_PRESET_SINGLE_VAR	3#define SK_GET_FULL_MIB			4#define SK_SET_FULL_MIB			5#define SK_PRESET_FULL_MIB		6/* * Define error numbers and messages for syslog */#define SK_PNMI_ERR001		(SK_ERRBASE_PNMI + 1)#define SK_PNMI_ERR001MSG	"SkPnmiGetStruct: Unknown OID"#define SK_PNMI_ERR002		(SK_ERRBASE_PNMI + 2)#define SK_PNMI_ERR002MSG	"SkPnmiGetStruct: Cannot read VPD keys"#define SK_PNMI_ERR003		(SK_ERRBASE_PNMI + 3)#define SK_PNMI_ERR003MSG	"OidStruct: Called with wrong OID"#define SK_PNMI_ERR004		(SK_ERRBASE_PNMI + 4)#define SK_PNMI_ERR004MSG	"OidStruct: Called with wrong action"#define SK_PNMI_ERR005		(SK_ERRBASE_PNMI + 5)#define SK_PNMI_ERR005MSG	"Perform: Cannot reset driver"#define SK_PNMI_ERR006		(SK_ERRBASE_PNMI + 6)#define SK_PNMI_ERR006MSG	"Perform: Unknown OID action command"#define SK_PNMI_ERR007		(SK_ERRBASE_PNMI + 7)#define SK_PNMI_ERR007MSG	"General: Driver description not initialized"#define SK_PNMI_ERR008		(SK_ERRBASE_PNMI + 8)#define SK_PNMI_ERR008MSG	"Addr: Tried to get unknown OID"#define SK_PNMI_ERR009		(SK_ERRBASE_PNMI + 9)#define SK_PNMI_ERR009MSG	"Addr: Unknown OID"#define SK_PNMI_ERR010		(SK_ERRBASE_PNMI + 10)#define SK_PNMI_ERR010MSG	"CsumStat: Unknown OID"#define SK_PNMI_ERR011		(SK_ERRBASE_PNMI + 11)#define SK_PNMI_ERR011MSG	"SensorStat: Sensor descr string too long"#define SK_PNMI_ERR012		(SK_ERRBASE_PNMI + 12)#define SK_PNMI_ERR012MSG	"SensorStat: Unknown OID"#define SK_PNMI_ERR013		(SK_ERRBASE_PNMI + 13)#define SK_PNMI_ERR013MSG	""#define SK_PNMI_ERR014		(SK_ERRBASE_PNMI + 14)#define SK_PNMI_ERR014MSG	"Vpd: Cannot read VPD keys"#define SK_PNMI_ERR015		(SK_ERRBASE_PNMI + 15)#define SK_PNMI_ERR015MSG	"Vpd: Internal array for VPD keys too small"#define SK_PNMI_ERR016		(SK_ERRBASE_PNMI + 16)#define SK_PNMI_ERR016MSG	"Vpd: Key string too long"#define SK_PNMI_ERR017		(SK_ERRBASE_PNMI + 17)#define SK_PNMI_ERR017MSG	"Vpd: Invalid VPD status pointer"#define SK_PNMI_ERR018		(SK_ERRBASE_PNMI + 18)#define SK_PNMI_ERR018MSG	"Vpd: VPD data not valid"#define SK_PNMI_ERR019		(SK_ERRBASE_PNMI + 19)#define SK_PNMI_ERR019MSG	"Vpd: VPD entries list string too long"#define SK_PNMI_ERR021		(SK_ERRBASE_PNMI + 21)#define SK_PNMI_ERR021MSG	"Vpd: VPD data string too long"#define SK_PNMI_ERR022		(SK_ERRBASE_PNMI + 22)#define SK_PNMI_ERR022MSG	"Vpd: VPD data string too long should be errored before"#define SK_PNMI_ERR023		(SK_ERRBASE_PNMI + 23)#define SK_PNMI_ERR023MSG	"Vpd: Unknown OID in get action"#define SK_PNMI_ERR024		(SK_ERRBASE_PNMI + 24)#define SK_PNMI_ERR024MSG	"Vpd: Unknown OID in preset/set action"#define SK_PNMI_ERR025		(SK_ERRBASE_PNMI + 25)#define SK_PNMI_ERR025MSG	"Vpd: Cannot write VPD after modify entry"#define SK_PNMI_ERR026		(SK_ERRBASE_PNMI + 26)#define SK_PNMI_ERR026MSG	"Vpd: Cannot update VPD"#define SK_PNMI_ERR027		(SK_ERRBASE_PNMI + 27)#define SK_PNMI_ERR027MSG	"Vpd: Cannot delete VPD entry"#define SK_PNMI_ERR028		(SK_ERRBASE_PNMI + 28)#define SK_PNMI_ERR028MSG	"Vpd: Cannot update VPD after delete entry"#define SK_PNMI_ERR029		(SK_ERRBASE_PNMI + 29)#define SK_PNMI_ERR029MSG	"General: Driver description string too long"#define SK_PNMI_ERR030		(SK_ERRBASE_PNMI + 30)#define SK_PNMI_ERR030MSG	"General: Driver version not initialized"#define SK_PNMI_ERR031		(SK_ERRBASE_PNMI + 31)#define SK_PNMI_ERR031MSG	"General: Driver version string too long"#define SK_PNMI_ERR032		(SK_ERRBASE_PNMI + 32)#define SK_PNMI_ERR032MSG	"General: Cannot read VPD Name for HW descr"#define SK_PNMI_ERR033		(SK_ERRBASE_PNMI + 33)#define SK_PNMI_ERR033MSG	"General: HW description string too long"#define SK_PNMI_ERR034		(SK_ERRBASE_PNMI + 34)#define SK_PNMI_ERR034MSG	"General: Unknown OID"#define SK_PNMI_ERR035		(SK_ERRBASE_PNMI + 35)#define SK_PNMI_ERR035MSG	"Rlmt: Unknown OID"#define SK_PNMI_ERR036		(SK_ERRBASE_PNMI + 36)#define SK_PNMI_ERR036MSG	""#define SK_PNMI_ERR037		(SK_ERRBASE_PNMI + 37)#define SK_PNMI_ERR037MSG	"Rlmt: SK_RLMT_MODE_CHANGE event returned not 0"#define SK_PNMI_ERR038		(SK_ERRBASE_PNMI + 38)#define SK_PNMI_ERR038MSG	"Rlmt: SK_RLMT_PREFPORT_CHANGE event returned not 0"#define SK_PNMI_ERR039		(SK_ERRBASE_PNMI + 39)#define SK_PNMI_ERR039MSG	"RlmtStat: Unknown OID"#define SK_PNMI_ERR040		(SK_ERRBASE_PNMI + 40)#define SK_PNMI_ERR040MSG	"PowerManagement: Unknown OID"#define SK_PNMI_ERR041		(SK_ERRBASE_PNMI + 41)#define SK_PNMI_ERR041MSG	"MacPrivateConf: Unknown OID"#define SK_PNMI_ERR042		(SK_ERRBASE_PNMI + 42)#define SK_PNMI_ERR042MSG	"MacPrivateConf: SK_HWEV_SET_ROLE returned not 0"#define SK_PNMI_ERR043		(SK_ERRBASE_PNMI + 43)#define SK_PNMI_ERR043MSG	"MacPrivateConf: SK_HWEV_SET_LMODE returned not 0"#define SK_PNMI_ERR044		(SK_ERRBASE_PNMI + 44)#define SK_PNMI_ERR044MSG	"MacPrivateConf: SK_HWEV_SET_FLOWMODE returned not 0"#define SK_PNMI_ERR045		(SK_ERRBASE_PNMI + 45)#define SK_PNMI_ERR045MSG	"MacPrivateConf: SK_HWEV_SET_SPEED returned not 0"#define SK_PNMI_ERR046		(SK_ERRBASE_PNMI + 46)#define SK_PNMI_ERR046MSG	"Monitor: Unknown OID"#define SK_PNMI_ERR047		(SK_ERRBASE_PNMI + 47)#define SK_PNMI_ERR047MSG	"SirqUpdate: Event function returned not 0"#define SK_PNMI_ERR048		(SK_ERRBASE_PNMI + 48)#define SK_PNMI_ERR048MSG	"RlmtUpdate: Event function returned not 0"#define SK_PNMI_ERR049		(SK_ERRBASE_PNMI + 49)#define SK_PNMI_ERR049MSG	"SkPnmiInit: Invalid size of 'CounterOffset' struct!!"#define SK_PNMI_ERR050		(SK_ERRBASE_PNMI + 50)#define SK_PNMI_ERR050MSG	"SkPnmiInit: Invalid size of 'StatAddr' table!!"#define SK_PNMI_ERR051		(SK_ERRBASE_PNMI + 51)#define SK_PNMI_ERR051MSG	"SkPnmiEvent: Port switch suspicious"#define SK_PNMI_ERR052		(SK_ERRBASE_PNMI + 52)#define SK_PNMI_ERR052MSG	""#define SK_PNMI_ERR053		(SK_ERRBASE_PNMI + 53)#define SK_PNMI_ERR053MSG	"General: Driver release date not initialized"#define SK_PNMI_ERR054		(SK_ERRBASE_PNMI + 54)#define SK_PNMI_ERR054MSG	"General: Driver release date string too long"#define SK_PNMI_ERR055		(SK_ERRBASE_PNMI + 55)#define SK_PNMI_ERR055MSG	"General: Driver file name not initialized"#define SK_PNMI_ERR056		(SK_ERRBASE_PNMI + 56)#define SK_PNMI_ERR056MSG	"General: Driver file name string too long"/* * Management counter macros called by the driver */#define SK_PNMI_SET_DRIVER_DESCR(pAC,v)	((pAC)->Pnmi.pDriverDescription = \	(char *)(v))#define SK_PNMI_SET_DRIVER_VER(pAC,v)	((pAC)->Pnmi.pDriverVersion = \	(char *)(v))#define SK_PNMI_SET_DRIVER_RELDATE(pAC,v)	((pAC)->Pnmi.pDriverReleaseDate = \	(char *)(v))#define SK_PNMI_SET_DRIVER_FILENAME(pAC,v)	((pAC)->Pnmi.pDriverFileName = \	(char *)(v))#define SK_PNMI_CNT_TX_QUEUE_LEN(pAC,v,p) \	{ \		(pAC)->Pnmi.Port[p].TxSwQueueLen = (SK_U64)(v); \		if ((pAC)->Pnmi.Port[p].TxSwQueueLen > (pAC)->Pnmi.Port[p].TxSwQueueMax) { \			(pAC)->Pnmi.Port[p].TxSwQueueMax = (pAC)->Pnmi.Port[p].TxSwQueueLen; \		} \	}#define SK_PNMI_CNT_TX_RETRY(pAC,p)	(((pAC)->Pnmi.Port[p].TxRetryCts)++)#define SK_PNMI_CNT_RX_INTR(pAC,p)	(((pAC)->Pnmi.Port[p].RxIntrCts)++)#define SK_PNMI_CNT_TX_INTR(pAC,p)	(((pAC)->Pnmi.Port[p].TxIntrCts)++)#define SK_PNMI_CNT_NO_RX_BUF(pAC,p)	(((pAC)->Pnmi.Port[p].RxNoBufCts)++)#define SK_PNMI_CNT_NO_TX_BUF(pAC,p)	(((pAC)->Pnmi.Port[p].TxNoBufCts)++)#define SK_PNMI_CNT_USED_TX_DESCR(pAC,v,p) \	((pAC)->Pnmi.Port[p].TxUsedDescrNo=(SK_U64)(v));#define SK_PNMI_CNT_RX_OCTETS_DELIVERED(pAC,v,p) \	{ \		((pAC)->Pnmi.Port[p].RxDeliveredCts)++; \		(pAC)->Pnmi.Port[p].RxOctetsDeliveredCts += (SK_U64)(v); \	}#define SK_PNMI_CNT_ERR_RECOVERY(pAC,p)	(((pAC)->Pnmi.Port[p].ErrRecoveryCts)++);#define SK_PNMI_CNT_SYNC_OCTETS(pAC,p,v) \	{ \		if ((p) < SK_MAX_MACS) { \			((pAC)->Pnmi.Port[p].StatSyncCts)++; \			(pAC)->Pnmi.Port[p].StatSyncOctetsCts += (SK_U64)(v); \		} \	}#define SK_PNMI_CNT_RX_LONGFRAMES(pAC,p) \	{ \		if ((p) < SK_MAX_MACS) { \			((pAC)->Pnmi.Port[p].StatRxLongFrameCts++); \		} \	}#define SK_PNMI_CNT_RX_FRAMETOOLONG(pAC,p) \	{ \		if ((p) < SK_MAX_MACS) { \			((pAC)->Pnmi.Port[p].StatRxFrameTooLongCts++); \		} \	}#define SK_PNMI_CNT_RX_PMACC_ERR(pAC,p) \	{ \		if ((p) < SK_MAX_MACS) { \			((pAC)->Pnmi.Port[p].StatRxPMaccErr++); \		} \	}/* * Conversion Macros */#define SK_PNMI_PORT_INST2LOG(i)	((unsigned int)(i) - 1)#define SK_PNMI_PORT_LOG2INST(l)	((unsigned int)(l) + 1)#define SK_PNMI_PORT_PHYS2LOG(p)	((unsigned int)(p) + 1)#define SK_PNMI_PORT_LOG2PHYS(pAC,l)	((unsigned int)(l) - 1)#define SK_PNMI_PORT_PHYS2INST(pAC,p)	\	(pAC->Pnmi.DualNetActiveFlag ? 2 : ((unsigned int)(p) + 2))#define SK_PNMI_PORT_INST2PHYS(pAC,i)	((unsigned int)(i) - 2)/* * Structure definition for SkPnmiGetStruct and SkPnmiSetStruct */#define SK_PNMI_VPD_KEY_SIZE	5

⌨️ 快捷键说明

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