SOURCES: sk98lin_v8.40.2.3_2.4.33_patch (NEW) - from http://www.ma...

marcus marcus at pld-linux.org
Thu Aug 17 09:34:50 CEST 2006


Author: marcus                       Date: Thu Aug 17 07:34:50 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from http://www.marvell.com/drivers/upload/install-8_40.tar.bz2

---- Files affected:
SOURCES:
   sk98lin_v8.40.2.3_2.4.33_patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/sk98lin_v8.40.2.3_2.4.33_patch
diff -u /dev/null SOURCES/sk98lin_v8.40.2.3_2.4.33_patch:1.1
--- /dev/null	Thu Aug 17 09:34:50 2006
+++ SOURCES/sk98lin_v8.40.2.3_2.4.33_patch	Thu Aug 17 09:34:45 2006
@@ -0,0 +1,43148 @@
+diff -ruN linux/drivers/net/sk98lin/build_no.c linux-new/drivers/net/sk98lin/build_no.c
+--- linux/drivers/net/sk98lin/build_no.c	2003-06-13 14:51:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/build_no.c	1970-01-01 00:00:00.000000000 +0000
+@@ -1,10 +0,0 @@
+-/******************************************************************************
+- *
+- *	Name:		Build_No.c
+- *	Version:	1.01
+- *
+- */
+-
+-static const char SysKonnectBuildNumber[] =
+-	"@(#)SK-BUILD: 6.02 (20021219) PL: ALL.01";
+-^Z
+\ Brak znaku nowej linii na końcu pliku
+diff -ruN linux/drivers/net/sk98lin/h/lm80.h linux-new/drivers/net/sk98lin/h/lm80.h
+--- linux/drivers/net/sk98lin/h/lm80.h	2004-04-14 13:05:30.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/lm80.h	2006-03-22 09:09:55.000000000 +0000
+@@ -2,6 +2,8 @@
+  *
+  * Name:	lm80.h	
+  * Project:	Gigabit Ethernet Adapters, Common Modules
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	Contains all defines for the LM80 Chip
+  *		(National Semiconductor).
+  *
+@@ -9,6 +11,7 @@
+ 
+ /******************************************************************************
+  *
++ *	LICENSE:
+  *	(C)Copyright 1998-2002 SysKonnect.
+  *	(C)Copyright 2002-2003 Marvell.
+  *
+@@ -18,6 +21,7 @@
+  *	(at your option) any later version.
+  *
+  *	The information in this file is provided "AS IS" without warranty.
++ *	/LICENSE
+  *
+  ******************************************************************************/
+ 
+diff -ruN linux/drivers/net/sk98lin/h/skaddr.h linux-new/drivers/net/sk98lin/h/skaddr.h
+--- linux/drivers/net/sk98lin/h/skaddr.h	2004-04-14 13:05:30.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skaddr.h	2006-03-22 09:09:55.000000000 +0000
+@@ -2,12 +2,15 @@
+  *
+  * Name:	skaddr.h
+  * Project:	Gigabit Ethernet Adapters, ADDR-Modul
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	Header file for Address Management (MC, UC, Prom).
+  *
+  ******************************************************************************/
+ 
+ /******************************************************************************
+  *
++ *	LICENSE:
+  *	(C)Copyright 1998-2002 SysKonnect GmbH.
+  *	(C)Copyright 2002-2003 Marvell.
+  *
+@@ -17,6 +20,7 @@
+  *	(at your option) any later version.
+  *
+  *	The information in this file is provided "AS IS" without warranty.
++ *	/LICENSE
+  *
+  ******************************************************************************/
+ 
+@@ -260,6 +264,9 @@
+ 	SK_MAC_ADDR	*pMc,
+ 	int		Flags);
+ 
++extern	SK_U32	SkXmacMcHash(
++	unsigned char *pMc);
++
+ extern	int	SkAddrGmacMcAdd(
+ 	SK_AC		*pAC,
+ 	SK_IOC		IoC,
+@@ -267,6 +274,9 @@
+ 	SK_MAC_ADDR	*pMc,
+ 	int		Flags);
+ 
++extern	SK_U32	SkGmacMcHash(
++	unsigned char *pMc);
++
+ extern	int	SkAddrMcUpdate(
+ 	SK_AC	*pAC,
+ 	SK_IOC	IoC,
+diff -ruN linux/drivers/net/sk98lin/h/skcsum.h linux-new/drivers/net/sk98lin/h/skcsum.h
+--- linux/drivers/net/sk98lin/h/skcsum.h	2004-04-14 13:05:30.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skcsum.h	2006-03-22 09:09:55.000000000 +0000
+@@ -2,12 +2,15 @@
+  *
+  * Name:	skcsum.h
+  * Project:	GEnesis - SysKonnect SK-NET Gigabit Ethernet (SK-98xx)
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	Store/verify Internet checksum in send/receive packets.
+  *
+  ******************************************************************************/
+ 
+ /******************************************************************************
+  *
++ *	LICENSE:
+  *	(C)Copyright 1998-2001 SysKonnect GmbH.
+  *
+  *	This program is free software; you can redistribute it and/or modify
+@@ -16,6 +19,7 @@
+  *	(at your option) any later version.
+  *
+  *	The information in this file is provided "AS IS" without warranty.
++ *	/LICENSE
+  *
+  ******************************************************************************/
+ 
+@@ -155,9 +159,7 @@
+ typedef struct s_Csum {
+ 	/* Enabled receive SK_PROTO_XXX bit flags. */
+ 	unsigned ReceiveFlags[SK_MAX_NETS];
+-#ifdef TX_CSUM
+ 	unsigned TransmitFlags[SK_MAX_NETS];
+-#endif /* TX_CSUM */
+ 
+ 	/* The protocol statistics structure; one per supported protocol. */
+ 	SKCS_PROTO_STATS ProtoStats[SK_MAX_NETS][SKCS_NUM_PROTOCOLS];
+diff -ruN linux/drivers/net/sk98lin/h/skdebug.h linux-new/drivers/net/sk98lin/h/skdebug.h
+--- linux/drivers/net/sk98lin/h/skdebug.h	2004-04-14 13:05:30.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skdebug.h	2006-03-22 09:09:55.000000000 +0000
+@@ -2,21 +2,24 @@
+  *
+  * Name:	skdebug.h
+  * Project:	Gigabit Ethernet Adapters, Common Modules
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	SK specific DEBUG support
+  *
+  ******************************************************************************/
+ 
+ /******************************************************************************
+  *
++ *	LICENSE:
+  *	(C)Copyright 1998-2002 SysKonnect.
+- *	(C)Copyright 2002-2003 Marvell.
++ *	(C)Copyright 2002-2005 Marvell.
+  *
+  *	This program is free software; you can redistribute it and/or modify
+  *	it under the terms of the GNU General Public License as published by
+  *	the Free Software Foundation; either version 2 of the License, or
+  *	(at your option) any later version.
+- *
+  *	The information in this file is provided "AS IS" without warranty.
++ *	/LICENSE
+  *
+  ******************************************************************************/
+ 
+@@ -26,9 +29,9 @@
+ #ifdef	DEBUG
+ #ifndef SK_DBG_MSG
+ #define SK_DBG_MSG(pAC,comp,cat,arg) \
+-		if ( ((comp) & SK_DBG_CHKMOD(pAC)) && 	\
+-		      ((cat) & SK_DBG_CHKCAT(pAC)) ) { 	\
+-			SK_DBG_PRINTF arg ;		\
++		if ( ((comp) & SK_DBG_CHKMOD(pAC)) &&	\
++		      ((cat) & SK_DBG_CHKCAT(pAC)) ) {	\
++			SK_DBG_PRINTF arg;		\
+ 		}
+ #endif
+ #else
+@@ -56,6 +59,13 @@
+ #define SK_DBGMOD_ADDR	0x00000080L	/* ADDR module */
+ #define SK_DBGMOD_PECP	0x00000100L	/* PECP module */
+ #define SK_DBGMOD_POWM	0x00000200L	/* Power Management module */
++#ifdef SK_ASF
++#define SK_DBGMOD_ASF	0x00000400L	/* ASF module */
++#endif
++#ifdef SK_LBFO
++#define SK_DBGMOD_LACP	0x00000800L	/* link aggregation control protocol */
++#define SK_DBGMOD_FD	0x00001000L	/* frame distributor (link aggregation) */
++#endif /* SK_LBFO */
+ 
+ /* Debug events */
+ 
+diff -ruN linux/drivers/net/sk98lin/h/skdrv1st.h linux-new/drivers/net/sk98lin/h/skdrv1st.h
+--- linux/drivers/net/sk98lin/h/skdrv1st.h	2004-04-14 13:05:30.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skdrv1st.h	2006-03-22 09:09:56.000000000 +0000
+@@ -2,6 +2,8 @@
+  *
+  * Name:	skdrv1st.h
+  * Project:	GEnesis, PCI Gigabit Ethernet Adapter
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	First header file for driver and all other modules
+  *
+  ******************************************************************************/
+@@ -9,7 +11,7 @@
+ /******************************************************************************
+  *
+  *	(C)Copyright 1998-2002 SysKonnect GmbH.
+- *	(C)Copyright 2002-2003 Marvell.
++ *	(C)Copyright 2002-2005 Marvell.
+  *
+  *	This program is free software; you can redistribute it and/or modify
+  *	it under the terms of the GNU General Public License as published by
+@@ -20,20 +22,6 @@
+  *
+  ******************************************************************************/
+ 
+-/******************************************************************************
+- *
+- * Description:
+- *
+- * This is the first include file of the driver, which includes all
+- * neccessary system header files and some of the GEnesis header files.
+- * It also defines some basic items.
+- *
+- * Include File Hierarchy:
+- *
+- *	see skge.c
+- *
+- ******************************************************************************/
+-
+ #ifndef __INC_SKDRV1ST_H
+ #define __INC_SKDRV1ST_H
+ 
+@@ -56,13 +44,9 @@
+ 
+ #define SK_ADDR_EQUAL(a1,a2)		(!memcmp(a1,a2,6))
+ 
+-#if !defined(__OPTIMIZE__)  ||  !defined(__KERNEL__)
+-#warning  You must compile this file with the correct options!
+-#warning  See the last lines of the source file.
+-#error You must compile this driver with "-O".
+-#endif
++#define SK_STRNCMP(s1,s2,len)		strncmp(s1,s2,len)
++#define SK_STRCPY(dest,src)		strcpy(dest,src)
+ 
+-#include <linux/version.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+ #include <linux/string.h>
+@@ -83,11 +67,7 @@
+ #include <net/checksum.h>
+ 
+ #define SK_CS_CALCULATE_CHECKSUM
+-#ifndef CONFIG_X86_64
+-#define SkCsCalculateChecksum(p,l)	((~ip_compute_csum(p, l)) & 0xffff)
+-#else
+-#define SkCsCalculateChecksum(p,l)	((~ip_fast_csum(p, l)) & 0xffff)
+-#endif
++#define SkCsCalculateChecksum(p,l)	(~csum_fold(csum_partial(p, l, 0)))
+ 
+ #include	"h/sktypes.h"
+ #include	"h/skerror.h"
+@@ -95,10 +75,15 @@
+ #include	"h/lm80.h"
+ #include	"h/xmac_ii.h"
+ 
++#ifndef SK_BMU_RX_WM_PEX
++#define SK_BMU_RX_WM_PEX 0x80
++#endif
++
+ #ifdef __LITTLE_ENDIAN
+ #define SK_LITTLE_ENDIAN
+ #else
+ #define SK_BIG_ENDIAN
++#define SK_USE_REV_DESC
+ #endif
+ 
+ #define SK_NET_DEVICE	net_device
+@@ -193,3 +178,8 @@
+ 
+ #endif
+ 
++/*******************************************************************************
++ *
++ * End of file
++ *
++ ******************************************************************************/
+diff -ruN linux/drivers/net/sk98lin/h/skdrv2nd.h linux-new/drivers/net/sk98lin/h/skdrv2nd.h
+--- linux/drivers/net/sk98lin/h/skdrv2nd.h	2004-04-14 13:05:30.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skdrv2nd.h	2006-08-17 09:27:51.000000000 +0000
+@@ -1,15 +1,17 @@
+ /******************************************************************************
+  *
+- * Name:	skdrv2nd.h
+- * Project:	GEnesis, PCI Gigabit Ethernet Adapter
+- * Purpose:	Second header file for driver and all other modules
++ * Name:        skdrv2nd.h
++ * Project:     GEnesis, PCI Gigabit Ethernet Adapter
++ * Version:     $Revision$
++ * Date:        $Date$
++ * Purpose:     Second header file for driver and all other modules
+  *
+  ******************************************************************************/
+ 
+ /******************************************************************************
+  *
+  *	(C)Copyright 1998-2002 SysKonnect GmbH.
+- *	(C)Copyright 2002-2003 Marvell.
++ *	(C)Copyright 2002-2005 Marvell.
+  *
+  *	This program is free software; you can redistribute it and/or modify
+  *	it under the terms of the GNU General Public License as published by
+@@ -40,10 +42,11 @@
+ #include "h/skqueue.h"
+ #include "h/skgehwt.h"
+ #include "h/sktimer.h"
+-#include "h/ski2c.h"
++#include "h/sktwsi.h"
+ #include "h/skgepnmi.h"
+ #include "h/skvpd.h"
+ #include "h/skgehw.h"
++#include "h/sky2le.h"
+ #include "h/skgeinit.h"
+ #include "h/skaddr.h"
+ #include "h/skgesirq.h"
+@@ -51,151 +54,191 @@
+ #include "h/skrlmt.h"
+ #include "h/skgedrv.h"
+ 
+-#define SK_PCI_ISCOMPLIANT(result, pdev) {     \
+-    result = SK_FALSE; /* default */     \
+-    /* 3Com (0x10b7) */     \
+-    if (pdev->vendor == 0x10b7) {     \
+-        /* Gigabit Ethernet Adapter (0x1700) */     \
+-        if ((pdev->device == 0x1700)) { \
+-            result = SK_TRUE;     \
+-        }     \
+-    /* SysKonnect (0x1148) */     \
+-    } else if (pdev->vendor == 0x1148) {     \
+-        /* SK-98xx Gigabit Ethernet Server Adapter (0x4300) */     \
+-        /* SK-98xx V2.0 Gigabit Ethernet Adapter (0x4320) */     \
+-        if ((pdev->device == 0x4300) || \
+-            (pdev->device == 0x4320)) { \
+-            result = SK_TRUE;     \
+-        }     \
+-    /* D-Link (0x1186) */     \
+-    } else if (pdev->vendor == 0x1186) {     \
+-        /* Gigabit Ethernet Adapter (0x4c00) */     \
+-        if ((pdev->device == 0x4c00)) { \
+-            result = SK_TRUE;     \
+-        }     \
+-    /* Marvell (0x11ab) */     \
+-    } else if (pdev->vendor == 0x11ab) {     \
+-        /* Gigabit Ethernet Adapter (0x4320) */     \
+-        if ((pdev->device == 0x4320)) { \
+-            result = SK_TRUE;     \
+-        }     \
+-    /* CNet (0x1371) */     \
+-    } else if (pdev->vendor == 0x1371) {     \
+-        /* GigaCard Network Adapter (0x434e) */     \
+-        if ((pdev->device == 0x434e)) { \
+-            result = SK_TRUE;     \
+-        }     \
+-    /* Linksys (0x1737) */     \
+-    } else if (pdev->vendor == 0x1737) {     \
+-        /* Gigabit Network Adapter (0x1032) */     \
+-        /* Gigabit Network Adapter (0x1064) */     \
+-        if ((pdev->device == 0x1032) || \
+-            (pdev->device == 0x1064)) { \
+-            result = SK_TRUE;     \
+-        }     \
+-    } else {     \
+-        result = SK_FALSE;     \
+-    }     \
+-}
++/* Defines for the poll cotroller */
++#undef SK_NETDUMP_POLL
++
++#ifdef SK_NETDUMP_POLL
++#ifdef HAVE_POLL_CONTROLLER
++#define SK_POLL_CONTROLLER
++#define CONFIG_SK98LIN_NAPI
++#elif CONFIG_NET_POLL_CONTROLLER
++#define SK_POLL_CONTROLLER
++#define CONFIG_SK98LIN_NAPI
++#endif
++#endif
+ 
+ 
+-extern SK_MBUF		*SkDrvAllocRlmtMbuf(SK_AC*, SK_IOC, unsigned);
+-extern void		SkDrvFreeRlmtMbuf(SK_AC*, SK_IOC, SK_MBUF*);
+-extern SK_U64		SkOsGetTime(SK_AC*);
+-extern int		SkPciReadCfgDWord(SK_AC*, int, SK_U32*);
+-extern int		SkPciReadCfgWord(SK_AC*, int, SK_U16*);
+-extern int		SkPciReadCfgByte(SK_AC*, int, SK_U8*);
+-extern int		SkPciWriteCfgDWord(SK_AC*, int, SK_U32);
+-extern int		SkPciWriteCfgWord(SK_AC*, int, SK_U16);
+-extern int		SkPciWriteCfgByte(SK_AC*, int, SK_U8);
+-extern int		SkDrvEvent(SK_AC*, SK_IOC IoC, SK_U32, SK_EVPARA);
+-
+-#ifdef SK_DIAG_SUPPORT
+-extern int		SkDrvEnterDiagMode(SK_AC *pAc);
+-extern int		SkDrvLeaveDiagMode(SK_AC *pAc);
++/******************************************************************************
++ *
++ * Generic driver defines
++ *
++ ******************************************************************************/
++
++#define USE_TIST_FOR_RESET	/* Use timestamp for reset */
++#define Y2_RECOVERY		/* use specific recovery yukon2 functions */
++#define Y2_LE_CHECK		/* activate check for LE order */
++#define Y2_SYNC_CHECK		/* activate check for receiver in sync */
++#define SK_YUKON2		/* Enable Yukon2 dual net support */
++#define USE_SK_TX_CHECKSUM	/* use the tx hw checksum driver functionality */
++#define USE_SK_RX_CHECKSUM	/* use the rx hw checksum driver functionality */
++#define USE_SK_TSO_FEATURE	/* use TCP segmentation offload if possible */
++#define SK_COPY_THRESHOLD 50	/* threshold for copying small RX frames; 
++				 * 0 avoids copying, 9001 copies all */
++#define SK_MAX_CARD_PARAM 16	/* number of adapters that can be configured via 
++				 * command line params */
++//#define USE_TX_COMPLETE	/* use of a transmit complete interrupt */
++#define Y2_RX_CHECK		/* RX Check timestamp */
++
++/*
++ * use those defines for a compile-in version of the driver instead
++ * of command line parameters
++ */
++// #define LINK_SPEED_A	{"Auto",}
++// #define LINK_SPEED_B	{"Auto",}
++// #define AUTO_NEG_A	{"Sense",}
++// #define AUTO_NEG_B	{"Sense"}
++// #define DUP_CAP_A	{"Both",}
++// #define DUP_CAP_B	{"Both",}
++// #define FLOW_CTRL_A	{"SymOrRem",}
++// #define FLOW_CTRL_B	{"SymOrRem",}
++// #define ROLE_A	{"Auto",}
++// #define ROLE_B	{"Auto",}
++// #define PREF_PORT	{"A",}
++// #define CON_TYPE 	{"Auto",}
++// #define RLMT_MODE	{"CheckLinkState",}
++
++#ifdef Y2_RECOVERY
++#define CHECK_TRANSMIT_TIMEOUT
++#define Y2_RESYNC_WATERMARK     1000000L
+ #endif
+ 
++
++/******************************************************************************
++ *
++ * Generic ISR defines
++ *
++ ******************************************************************************/
++
++#define SkIsrRetVar     void
++#define SkIsrRetNone    NULL
++#define SkIsrRetHandled NULL
++
++#define DEV_KFREE_SKB(skb) dev_kfree_skb(skb)
++#define DEV_KFREE_SKB_IRQ(skb) dev_kfree_skb_irq(skb)
++#define DEV_KFREE_SKB_ANY(skb) dev_kfree_skb_any(skb)
++
++/******************************************************************************
++ *
++ * Global function prototypes
++ *
++ ******************************************************************************/
++
++extern SK_MBUF *SkDrvAllocRlmtMbuf(SK_AC*, SK_IOC, unsigned);
++extern void SkDrvFreeRlmtMbuf(SK_AC*, SK_IOC, SK_MBUF*);
++extern SK_U64 SkOsGetTime(SK_AC*);
++extern int SkPciReadCfgDWord(SK_AC*, int, SK_U32*);
++extern int SkPciReadCfgWord(SK_AC*, int, SK_U16*);
++extern int SkPciReadCfgByte(SK_AC*, int, SK_U8*);
++extern int SkPciWriteCfgDWord(SK_AC*, int, SK_U32);
++extern int SkPciWriteCfgWord(SK_AC*, int, SK_U16);
++extern int SkPciWriteCfgByte(SK_AC*, int, SK_U8);
++extern int SkDrvEvent(SK_AC*, SK_IOC IoC, SK_U32, SK_EVPARA);
++extern int SkDrvEnterDiagMode(SK_AC *pAc);
++extern int SkDrvLeaveDiagMode(SK_AC *pAc);
++
++/******************************************************************************
++ *
++ * Linux specific RLMT buffer structure (SK_MBUF typedef in skdrv1st)!
++ *
++ ******************************************************************************/
++
+ struct s_DrvRlmtMbuf {
+-	SK_MBUF		*pNext;		/* Pointer to next RLMT Mbuf. */
+-	SK_U8		*pData;		/* Data buffer (virtually contig.). */
+-	unsigned	Size;		/* Data buffer size. */
+-	unsigned	Length;		/* Length of packet (<= Size). */
+-	SK_U32		PortIdx;	/* Receiving/transmitting port. */
++	SK_MBUF         *pNext;    /* Pointer to next RLMT Mbuf.       */
++	SK_U8           *pData;    /* Data buffer (virtually contig.). */
++	unsigned         Size;     /* Data buffer size.                */
++	unsigned         Length;   /* Length of packet (<= Size).      */
++	SK_U32           PortIdx;  /* Receiving/transmitting port.     */
+ #ifdef SK_RLMT_MBUF_PRIVATE
+-	SK_RLMT_MBUF	Rlmt;		/* Private part for RLMT. */
+-#endif  /* SK_RLMT_MBUF_PRIVATE */
+-	struct sk_buff	*pOs;		/* Pointer to message block */
++	SK_RLMT_MBUF     Rlmt;     /* Private part for RLMT.           */
++#endif
++	struct sk_buff  *pOs;      /* Pointer to message block         */
+ };
+ 
++/******************************************************************************
++ *
++ * Linux specific TIME defines
++ *
++ ******************************************************************************/
+ 
+-/*
+- * Time macros
+- */
+ #if SK_TICKS_PER_SEC == 100
+ #define SK_PNMI_HUNDREDS_SEC(t)	(t)
+ #else
+-#define SK_PNMI_HUNDREDS_SEC(t)	((((unsigned long)t) * 100) / \
+-										(SK_TICKS_PER_SEC))
++#define SK_PNMI_HUNDREDS_SEC(t) ((((unsigned long)t)*100)/(SK_TICKS_PER_SEC))
+ #endif
+ 
+-/*
+- * New SkOsGetTime
+- */
+ #define SkOsGetTimeCurrent(pAC, pUsec) {\
++	static struct timeval prev_t; \
+ 	struct timeval t;\
+ 	do_gettimeofday(&t);\
+-	*pUsec = ((((t.tv_sec) * 1000000L)+t.tv_usec)/10000);\
++	if (prev_t.tv_sec == t.tv_sec) { \
++		if (prev_t.tv_usec > t.tv_usec) { \
++			t.tv_usec = prev_t.tv_usec; \
++		} else { \
++			prev_t.tv_usec = t.tv_usec; \
++		} \
++	} else { \
++		prev_t = t; \
++	} \
++	*pUsec = ((t.tv_sec*100L)+(t.tv_usec/10000));\
+ }
+ 
++/******************************************************************************
++ *
++ * Linux specific IOCTL defines and typedefs
++ *
++ ******************************************************************************/
+ 
+-/*
+- * ioctl definitions
+- */
+-#define		SK_IOCTL_BASE		(SIOCDEVPRIVATE)
+-#define		SK_IOCTL_GETMIB		(SK_IOCTL_BASE + 0)
+-#define		SK_IOCTL_SETMIB		(SK_IOCTL_BASE + 1)
+-#define		SK_IOCTL_PRESETMIB	(SK_IOCTL_BASE + 2)
+-#define		SK_IOCTL_GEN		(SK_IOCTL_BASE + 3)
+-#define		SK_IOCTL_DIAG		(SK_IOCTL_BASE + 4)
+-
+-typedef struct s_IOCTL	SK_GE_IOCTL;
++#define	SK_IOCTL_BASE       (SIOCDEVPRIVATE)
++#define	SK_IOCTL_GETMIB     (SK_IOCTL_BASE + 0)
++#define	SK_IOCTL_SETMIB     (SK_IOCTL_BASE + 1)
++#define	SK_IOCTL_PRESETMIB  (SK_IOCTL_BASE + 2)
++#define	SK_IOCTL_GEN        (SK_IOCTL_BASE + 3)
++#define	SK_IOCTL_DIAG       (SK_IOCTL_BASE + 4)
+ 
++typedef struct s_IOCTL SK_GE_IOCTL;
+ struct s_IOCTL {
+ 	char*		pData;
+ 	unsigned int	Len;
+ };
+ 
++/******************************************************************************
++ *
++ * Generic sizes and length definitions
++ *
++ ******************************************************************************/
+ 
+-/*
+- * define sizes of descriptor rings in bytes
+- */
+-
+-#define		TX_RING_SIZE	(8*1024)
+-#define		RX_RING_SIZE	(24*1024)
+-
+-/*
+- * Buffer size for ethernet packets
+- */
+-#define	ETH_BUF_SIZE	1540
+-#define	ETH_MAX_MTU	1514
+-#define ETH_MIN_MTU	60
+-#define ETH_MULTICAST_BIT	0x01
+-#define SK_JUMBO_MTU	9000
+-
+-/*
+- * transmit priority selects the queue: LOW=asynchron, HIGH=synchron
<<Diff was trimmed, longer than 597 lines>>


More information about the pld-cvs-commit mailing list