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

📄 skgeasf.h

📁 这是Marvell Technology Group Ltd. 4355 (rev 12)网卡在linux下的驱动程序源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
    SK_U8       Status;    SK_U8       OldStatus;    SK_U32      OldCmdReg;    SK_U8       SendIndex;    SK_U8       ReceiveIndex;    SK_U8       SendLength;    SK_U8       ReceiveLength;    SK_U8       ExpectResponse;    SK_U8       Cycles;    SK_U64      Time;    SK_U8       ReceiveBuf  [ASF_HCI_REC_BUF_SIZE];    SK_U8       TransmitBuf [ASF_HCI_TRA_BUF_SIZE];    SK_TIMER    AsfTimerHci;} STR_HCI;/* * ASF specific adapter context structure */typedef struct s_AsfData{    SK_U8       CurrentMacAddr[6];    SK_U8       IpAddress[4];    SK_TIMER    AsfTimer;    SK_TIMER    AsfTimerWrSpi;    SK_U8       StateHci;    SK_U8       StateWrSpi;    SK_U8       DriverVersion   [5];    SK_U8       FlashFwVersion  [5];    SK_U8       FlashFwRev;    SK_U8       FileFwVersion   [5];    SK_U8       FileFwRev;//VSz    SK_U8       FlashBuffer     [ASF_FLASH_SIZE];    SK_U8       VpdConfigBuf    [ASF_VPD_CONFIG_SIZE];    STR_ASF_MIB Mib;    STR_HCI     Hci;    SK_U8       GlHciState;    SK_U8       LastGlHciState;    SK_U8       InitState;    SK_U8       VpdInitOk;    SK_U32      FwError;    SK_U8       CpuAlive;    SK_U16      FwWdIntervall;    SK_U16      FwRamSize;    SK_U8       ActivePort;    SK_U8       PrefPort;    SK_U8       FwVersionString [80];    SK_U8       NewGuid;    SK_U8       OpMode;                 // ASF or IPMI operation mode - see SkAsfInit    SK_U8       ChipMode;               // relevant for ASF or IPMI operation mode    SK_U8       DualMode;}SK_ASF_DATA;#define MAX_EVENT_DATA      8struct _STR_EVENT_DATA  {    struct _STR_EVENT_DATA  *next;    SK_U8                   SensorType;               // SNMP (Specific Trap)    SK_U8                   Type;                     // SNMP (Specific Trap)    SK_U8                   Offset;                   // SNMP (Specific Trap)    SK_U8                   SourceType;               // PET    SK_U8                   Severity;                 // PET    SK_U8                   SensorDevice;             // PET    SK_U8                   SensorNumber;             // PET    SK_U8                   Entity;                   // PET    SK_U8                   EntityInstance;           // PET    SK_U8                   DataLen;    SK_U8                   Data [MAX_EVENT_DATA];    // PET};typedef struct _STR_EVENT_DATA STR_EVENT_DATA;/* Functions provided by SkGeAsf *//* ANSI/C++ compliant function prototypes *//* * Public Function prototypes */extern int SkAsfDeInit(SK_AC *pAC, SK_IOC IoC );extern int SkAsfInit (SK_AC *pAC , SK_IOC IoC , int level);extern int SkAsfSuspend (SK_AC *pAC , SK_IOC IoC);extern int SkAsfResume (SK_AC *pAC , SK_IOC IoC);extern int SkAsfDeInitStandBy( SK_AC *pAC, SK_IOC IoC );extern int SkAsfInitStandBy( SK_AC *pAC, SK_IOC IoC, int Level );extern int SkAsfGet (SK_AC *pAC , SK_IOC IoC , SK_U8 *pBuf, unsigned int *pLen);extern int SkAsfPreSet (SK_AC *pAC , SK_IOC IoC , SK_U8 *pBuf, unsigned int *pLen);extern int SkAsfSet (SK_AC *pAC , SK_IOC IoC , SK_U8 *pBuf, unsigned int *pLen);extern int SkAsfEvent (SK_AC *pAC , SK_IOC IoC , SK_U32 Event , SK_EVPARA Param);extern int SkAsfSetOid(SK_AC *pAC, SK_IOC IoC, SK_U32 Id, SK_U32 Inst, SK_U8 *pBuf, unsigned int *pLen);extern void SkAsfTriggerPetFrames (SK_IOC IoC, SK_U32 *TmpVal32);extern int SkAsfPreSetOid(SK_AC *pAC, SK_IOC IoC, SK_U32 Id, SK_U32 Inst, SK_U8 *pBuf, unsigned int *pLen);extern int SkAsfGetOid(SK_AC *pAC, SK_IOC IoC, SK_U32 Id, SK_U32 Inst, SK_U8 *pBuf, unsigned int *pLen);extern int SkAsfRestorePattern(SK_AC *pAC , SK_IOC IoC);SK_I8 SkAsfReadSpiConfigData( SK_AC *pAC );SK_I8 SkAsfWriteSpiConfigData( SK_AC *pAC );SK_I8 SkAsfUpdateSpiConfigData(SK_AC *pAC, SK_U8 *data , SK_U32 off , SK_U32 len, SK_U32 ClrCnt );SK_I8 SkAsfUpdateConfDat( SK_AC *pAC, SK_U8 Pig, SK_U16 RegOffs, SK_U8 ByteEnable, SK_U32 Val, SK_U8 ForceNewEntry );SK_I8 SkAsfReadConfDat( SK_AC *pAC, SK_U8 Pig, SK_U16 RegOffs, SK_U8 ByteEnable, SK_U32 *Val );SK_I8 SkAsfWriteDeferredFlash( SK_AC *pAC, SK_IOC IoC );SK_I8 SkAsfStartWriteDeferredFlash( SK_AC *pAC, SK_IOC IoC );void SkAsfTimer( SK_AC *pAC, SK_IOC IoC );void SkAsfShowMib( SK_AC *pAC );void AsfResetCpu( SK_AC *pAC, SK_IOC IoC );void AsfRunCpu( SK_AC *pAC, SK_IOC IoC );SK_U8 AsfCheckAliveCpu( SK_AC *pAC, SK_IOC IoC );SK_I8 SkAsfSeprom2Mib( SK_AC *pAC, SK_IOC IoC );SK_I8 SkAsfMib2Seprom( SK_AC *pAC, SK_IOC IoC );SK_U8 AsfSmartResetCpu( SK_AC *pAC, SK_IOC IoC, SK_U8 Cold );SK_U8 AsfSmartResetStateCpu( SK_AC *pAC, SK_IOC IoC );SK_U8 AsfCpuState( SK_AC *pAC, SK_IOC Ioc );SK_U8 AsfHciGetData( SK_AC    *pAC, SK_U8 **pHciRecBuf );SK_U8 AsfHciGetState( SK_AC   *pAC );SK_U8 AsfHciSendCommand( SK_AC *pAC, SK_IOC IoC, SK_U8 Command, SK_U8 Par1, SK_U8 Par2, SK_U8 ExpectResponse, SK_U8 Wait, SK_U8 Retry );SK_U8 AsfHciSendData( SK_AC *pAC, SK_IOC IoC,  SK_U8 *Buffer, SK_U8 ExpectResponse, SK_U8 Wait, SK_U8 Retry );SK_U8 AsfHciSendMessage( SK_AC *pAC, SK_IOC IoC, SK_U8 *message, SK_U8 length, SK_U8 ExpectResponse, SK_U8 Wait );void AsfLockSpi( SK_AC *pAC, SK_IOC IoC );void AsfUnlockSpi( SK_AC *pAC, SK_IOC IoC );void SkAsfHci( SK_AC *pAC, SK_IOC IoC, SK_U8 ToEna );void AsfWatchCpu( SK_AC *pAC, SK_IOC IoC, SK_U32 par );void AsfEnable(SK_AC *pAC, SK_IOC IoC );void AsfDisable(SK_AC *pAC, SK_IOC IoC );void AsfSetOsPresentBit( SK_AC *pAC, SK_IOC IoC );void AsfResetOsPresentBit( SK_AC *pAC, SK_IOC IoC );void AsfEnableFlushFifo( SK_AC *pAC, SK_IOC IoC  );void AsfDisableFlushFifo( SK_AC *pAC, SK_IOC IoC);void AsfSetUpPattern(SK_AC *pAC, SK_IOC IoC, SK_U8 port  );SK_I8 AsfWritePatternRam( SK_AC *pAC,                                 SK_IOC IoC,                                 SK_U8 Port,                                 SK_U8 PatternId1,                                 SK_U8 PatternId2,                                 SK_U8 Length1,                                 SK_U8 Length2,                                 SK_U8 *pMask1,                                 SK_U8 *pPattern1,                                 SK_U8 *pMask2,                                 SK_U8 *pPattern2 );SK_I8 AsfWritePatternRamEx( SK_AC *pAC,			    SK_IOC IoC,			    SK_U8 Port,			    SK_U8 PatternId,			    SK_U8 Length1, 			    SK_U8 *pMask1, 			    SK_U8 *pPattern1 );SK_I8 YlciEnablePattern (SK_AC *pAC, SK_IOC IoC, SK_U8 port, SK_U8 pattno );SK_I8 YlciDisablePattern (SK_AC *pAC, SK_IOC IoC, SK_U8 port, SK_U8 pattno );//  ACPI and "ASF!" stuffSK_I8 SkAsfAcpi( SK_AC *pAC, SK_IOC IoC, SK_U8 *pImage );//SK_I8 SkAsfAcpiRsdt( SK_AC *pAC, SK_IOC IoC, SK_U8 *pImage, HANDLE SectionHandle, SK_U32 PhysAddr );//SK_I8 SkAsfAcpiXsdt( SK_AC *pAC, SK_IOC IoC, SK_U8 *pImage, HANDLE SectionHandle, SK_U64 PhysAddr );//SK_I8 SkAsfAcpiAsf( SK_AC *pAC, SK_IOC IoC, SK_U8 *pImage, HANDLE SectionHandle, SK_U32 PhysAddr );SK_I8 SkAsfPatchAsfTable( SK_AC *pAC, SK_IOC IoC, SK_U8 *pImage, SK_U8 *pAsfTable, SK_U32 TableLength );SK_I8 SkAsfPatchGuid( SK_AC *pAC, SK_IOC IoC, SK_U8 *pImage, SK_U8 *pGuid );void SkAsfExamineAsfTable( SK_AC *pAC, SK_IOC IoC, SK_U8 *pAsf, SK_U32 TableLength );SK_I8 SkAsfSendRmcpData(SK_AC *pAC, SK_IOC IoC,SK_U8 *pData, SK_U8 Length );// ipmiSK_I8 AsfWriteIpmiPattern(SK_AC *pAC, SK_IOC IoC, SK_U8 port);/* in file skspilole.c */void spi_init_pac( SK_AC *pAC );// for cleaning up smbus registervoid AsfSetSMBusRegister(SK_IOC IoC);#define SKERR_ASF_E001      (SK_ERRBASE_ASF)#define SKERR_ASF_E001MSG   "SkAsfInit() error: wrong HCI version"#define SKERR_ASF_E002      (SKERR_ASF_E001+1)#define SKERR_ASF_E002MSG   "SkAsfInit() error: flash read"#define SKERR_ASF_E003      (SKERR_ASF_E001+2)#define SKERR_ASF_E003MSG   "SkAsfInit() error: flash erase"#define SKERR_ASF_E004      (SKERR_ASF_E001+3)#define SKERR_ASF_E004MSG   "SkAsfInit() error: flash write"#define SKERR_ASF_E005      (SKERR_ASF_E001+4)#define SKERR_ASF_E005MSG   "SkAsfInit() error: map FW image"#define SKERR_ASF_E006      (SKERR_ASF_E001+5)#define SKERR_ASF_E006MSG   "SkAsfInit() error: flash reread"#define SKERR_ASF_E007      (SKERR_ASF_E001+6)#define SKERR_ASF_E007MSG   "SkAsfInit() error: flash compare"#define SKERR_ASF_E008      (SKERR_ASF_E001+7)#define SKERR_ASF_E008MSG   "SkAsfInit() flash successfully updated"#define SKERR_ASF_E009      (SKERR_ASF_E001+8)#define SKERR_ASF_E009MSG   "SkAsfInit() updating flash"#define ASF_YEC_YTB_BASE_WOL_CTRL1          ((SK_U32)0x0f20)                    // YTB WOL CTRL register link 1#define ASF_YEC_PATTRAM_CLUSTER_BYTES       ((SK_U8)4)    // 4 bytes is a word#define ASF_YEC_PATTRAM_CLUSTER_WORDS       ((SK_U8)4)    // 4 words in a cluster#define ASF_YEC_PATTRAM_CLUSTER_SIZE        ((SK_U8)64)   // pattern ram has 64 cluster#define ASF_YEC_PATTERN_ENA1                (ASF_YEC_YTB_BASE_WOL_CTRL1 + 0x02)     // enable pattern register, width:8#define ASF_YEC_PATTERN_LENGTH_R1_L         (ASF_YEC_YTB_BASE_WOL_CTRL1 + 0x10)     // pattern length register, pattern 0-3, width: 4x8#define ASF_YEC_PATTERN_LENGTH_R1_H         (ASF_YEC_YTB_BASE_WOL_CTRL1 + 0x14)     // pattern length register, pattern 4-6, width: 3x8#define ASF_YEC_PATTERN_MATCHENA1           (ASF_YEC_YTB_BASE_WOL_CTRL1 + 0x0b)     // ASF/PME match enable register, width: 8#define ASF_YEC_PATTERN_CTRL1               (ASF_YEC_YTB_BASE_WOL_CTRL1 + 0x00)     // match result, match control, wol ctrl and status#define ASF_YEC_YTB_BASE_MACRXFIFO1         ((SK_U32)0x0c40)                        // base of receive MAC fifo registers, port 1#define ASF_YEC_MAC_FIFO_CTRL1              (ASF_YEC_YTB_BASE_MACRXFIFO1 + 0x08)    // control/test Rx MAC, link1, 32 bit#define ASF_YEC_MAC_FIFO_FLUSHMASK1         (ASF_YEC_YTB_BASE_MACRXFIFO1 + 0x0c)    // flush mask register Rx MAC, link1, 32 bit#define ASF_YEC_MAC_FIFO_FLUSHTHRES1        (ASF_YEC_YTB_BASE_MACRXFIFO1 + 0x10)    // Rx MAC FIFO Flush Threshold, link1, 32 bit#define ASF_YLCI_MACRXFIFOTHRES             8                                       // mac rx threshold in qwords#define ASF_PATTERN_ID_RSP					4#define ASF_PATTERN_ID_ARP					5#define ASF_PATTERN_ID_RMCP					6//  Yukon Extreme#define ASF_YEX_YTB_BASE_WOL_CTRL1          ((SK_U32)0x0f20)                    // YTB WOL CTRL register link 1#define ASF_YEX_PATTRAM_CLUSTER_BYTES       ((SK_U8)4)    // 4 bytes is a word#define ASF_YEX_PATTRAM_CLUSTER_WORDS       ((SK_U8)4)    // 4 words in a cluster#define ASF_YEX_PATTRAM_CLUSTER_SIZE        ((SK_U8)64)   // pattern ram has 64 cluster#define ASF_YEX_PATTERN_ENA1                (ASF_YEX_YTB_BASE_WOL_CTRL1 + 0x02)     // enable pattern register, width:8#define ASF_YEX_PATTERN_LENGTH_R1_L         (ASF_YEX_YTB_BASE_WOL_CTRL1 + 0x10)     // pattern length register, pattern 0-3, width: 4x8#define ASF_YEX_PATTERN_LENGTH_R1_H         (ASF_YEX_YTB_BASE_WOL_CTRL1 + 0x14)     // pattern length register, pattern 4-6, width: 3x8#define ASF_YEX_PATTERN_LENGTH_R1_EH        (ASF_YEX_YTB_BASE_WOL_CTRL1 + 0x18)     // pattern length register, pattern 7-8, width: 3x8#define ASF_YEX_PATTERN_MATCHENA1           (ASF_YEX_YTB_BASE_WOL_CTRL1 + 0x0c)     // ASF/PME match enable register, width: 8#define ASF_YEX_PATTERN_CTRL1               (ASF_YEX_YTB_BASE_WOL_CTRL1 + 0x00)     // match result, match control, wol ctrl and status#ifdef USE_ASF_DASH_FW#define ASF_DASH_PATTERN_NUM_MAC	0#define ASF_DASH_PATTERN_NUM_MUL	1#define ASF_DASH_PATTERN_NUM_BDC	2#define ASF_DASH_PATTERN_NUM_ICMPV6	3#else#define ASF_DASH_PATTERN_NUM_ICMP	0#define ASF_DASH_PATTERN_NUM_ARP	1#define ASF_DASH_PATTERN_NUM_RMCP	5#define ASF_DASH_PATTERN_NUM_RSP	6#define ASF_DASH_PATTERN_NUM_TCP1	7#define ASF_DASH_PATTERN_NUM_TCP2	8#endif#ifdef USE_ASF_DASH_FW#pragma pack(1)typedef struct _STR_YASF_CANON{/* Version 1100 = 1.100*/    SK_U16      StructVersion;/* Pattern A */    SK_U8        PatA_Enabled;/* Pattern B */    SK_U16	PatB_FrameType;    SK_U16	PatB_Port;    SK_U8		PatB_ComStr[6];    SK_U16	PatB_PDUType;    SK_U8		PatB_OID1[14];    SK_U8		PatB_OID2[14];    SK_U8		PatB_OID3[14];    SK_U8        PatB_IndexCounter;    SK_U8        PatB_Enabled;/* Pattern C */    SK_U16	PatC_FrameType;    SK_U16	PatC_Port;    SK_U8		PatC_ComStr[6];    SK_U16	PatC_PDUType;    SK_U8		PatC_OID1[14];    SK_U8		PatC_OID2[14];    SK_U8		PatC_OID3[14];    SK_U8        PatC_IndexCounter;    SK_U8        PatC_Enabled;/* Pattern D */    SK_U16	PatD_FrameType;    SK_U16	PatD_Port;    SK_U8		PatD_ComStr[6];    SK_U16	PatD_PDUType;    SK_U8		PatD_OID1[14];    SK_U8		PatD_OID2[14];    SK_U8		PatD_OID3[14];    SK_U8        PatD_IndexCounter;    SK_U8        PatD_Enabled;/* Pattern E */    SK_U16	PatE_FrameType;    SK_U16	PatE_Port;    SK_U8		PatE_ComStr[6];    SK_U16	PatE_PDUType;    SK_U8		PatE_OID1[14];    SK_U8		PatE_OID2[14];    SK_U8		PatE_OID3[14];    SK_U8        PatE_IndexCounter;    SK_U8        PatE_Enabled;	/* Pattern F */    SK_U16	PatF_FrameType;    SK_U16	PatF_Port;    SK_U8		PatF_ComStr[6];    SK_U16	PatF_PDUType;    SK_U8		PatF_OID1[14];    SK_U8		PatF_OID2[14];    SK_U8		PatF_OID3[14];    SK_U8        PatF_IndexCounter;    SK_U8        PatF_Enabled;	/* Pattern G */    SK_U16	PatG_FrameType;    SK_U16	PatG_Port;    SK_U8		PatG_ComStr[6];    SK_U16	PatG_PDUType;    SK_U8		PatG_OID1[14];    SK_U8		PatG_OID2[14];    SK_U8		PatG_OID3[14];    SK_U8        PatG_IndexCounter;    SK_U8        PatG_Enabled;	/* Pattern H */    SK_U8        PatH_Enabled;	/* Pattern J */    SK_U8        PatJ_Enabled;	/* Pattern K */    SK_U16	PatK_FrameType;    SK_U8		PatK_VerALength;    SK_U8		PatK_ProtID;    SK_U16	PatK_Port;    SK_U8        PatK_Enabled;/* Pattern L */    SK_U16	PatL_FrameType;    SK_U8		PatL_VerALength;    SK_U8		PatL_ProtID;    SK_U16	PatL_Port;    SK_U8		PatL_Ver;    SK_U8		PatL_PacketLen[3];    SK_U8		PatL_NextExt[3];    SK_U16	PatL_LangTagLen;    SK_U8		PatL_LangTag[5];    SK_U8		PatL_PRListLen[2];    SK_U16	PatL_ServTypeLen;    SK_U8		PatL_ServType[20];    SK_U16	PatL_ScopeListLen;    SK_U8		PatL_Scope[5];    SK_U8        PatL_Enabled;/* Pattern M */    SK_U16	PatM_FrameType;    SK_U8		PatM_VerALength;    SK_U8		PatM_ProtID;    SK_U16	PatM_Port;    SK_U8		PatM_PacketHdr[2];    SK_U8		PatM_Ver;    SK_U8		PatM_OpCode[2];    SK_U8        PatM_Enabled;/* Pattern N */    SK_U16	PatN_FrameType;    SK_U8		PatN_VerALength;    SK_U8		PatN_ProtID;    SK_U16	PatN_Port;    SK_U8        PatN_Enabled;/* Pattern P */    SK_U8        PatP_Enabled;/* Pattern Q */    SK_U16	PatQ_FrameType;    SK_U8		PatQ_ProtID;    SK_U16	PatQ_Port;    SK_U8        PatQ_Enabled;/* Pattern R */    SK_U8        PatR_Enabled;} STR_YASF_CANON;typedef struct _DRIVER_INTERFACE{  int    DownloadToFwElements;  char   ElementArrayDl[26];  char   ElementArrayEn[26];  STR_YASF_CANON New_Pattern;} DRIVER_INTERFACE;#endif#endif  /* _INC_SKGEASF_H_ */

⌨️ 快捷键说明

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