SOURCES (LINUX_2_6): linux-2.6-sk98lin-8.23.1.3.patch (NEW), linux...

pluto pluto at pld-linux.org
Thu Sep 15 13:05:38 CEST 2005


Author: pluto                        Date: Thu Sep 15 11:05:38 2005 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- updated.

---- Files affected:
SOURCES:
   linux-2.6-sk98lin-8.23.1.3.patch (NONE -> 1.1.2.1)  (NEW), linux-2.6-sk98lin-8.18.2.2.patch (1.1.2.2 -> NONE)  (REMOVED)

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-sk98lin-8.23.1.3.patch
diff -u /dev/null SOURCES/linux-2.6-sk98lin-8.23.1.3.patch:1.1.2.1
--- /dev/null	Thu Sep 15 13:05:38 2005
+++ SOURCES/linux-2.6-sk98lin-8.23.1.3.patch	Thu Sep 15 13:05:32 2005
@@ -0,0 +1,40036 @@
+diff -uNr linux-2.6.13.1/drivers/net.orig/Kconfig linux-2.6.13.1/drivers/net/Kconfig
+--- linux-2.6.13.1/drivers/net.orig/Kconfig	2005-09-15 12:23:03.000000000 +0200
++++ linux-2.6.13.1/drivers/net/Kconfig	2005-09-15 12:55:24.276763250 +0200
+@@ -2065,6 +2065,22 @@
+ 	  by this driver:
+ 	    - 3Com 3C940 Gigabit LOM Ethernet Adapter
+ 	    - 3Com 3C941 Gigabit LOM Ethernet Adapter
++	    - 88E8021 Marvell 1000 Mbit PCI-X, single Port Copper 
++	    - 88E8021 Marvell 1000 Mbit PCI-X, single Port Fiber LX 
++	    - 88E8021 Marvell 1000 Mbit PCI-X, single Port Fiber SX 
++	    - 88E8022 Marvell 1000 Mbit PCI-X, dual Port Copper 
++	    - 88E8022 Marvell 1000 Mbit PCI-X, dual Port Copper (Gateway) 
++	    - 88E8022 Marvell 1000 Mbit PCI-X, dual Port Fiber LX 
++	    - 88E8022 Marvell 1000 Mbit PCI-X, dual Port Fiber SX 
++	    - 88E8061 Marvell 1000 Mbit PCI-E, single Port Copper 
++	    - 88E8061 Marvell 1000 Mbit PCI-E, single Port Fiber LX 
++	    - 88E8061 Marvell 1000 Mbit PCI-E, single Port Fiber SX 
++	    - 88E8062 Marvell 1000 Mbit PCI-E, dual Port Copper 
++	    - 88E8062 Marvell 1000 Mbit PCI-E, dual Port Copper (Gateway) 
++	    - 88E8062 Marvell 1000 Mbit PCI-E, dual Port Fiber LX 
++	    - 88E8062 Marvell 1000 Mbit PCI-E, dual Port Fiber SX 
++	    - Abocom EFE3K - 10/100 Ethernet Expresscard
++	    - Abocom EGE5K - Giga Ethernet Expresscard
+ 	    - Allied Telesyn AT-2970LX Gigabit Ethernet Adapter
+ 	    - Allied Telesyn AT-2970LX/2SC Gigabit Ethernet Adapter
+ 	    - Allied Telesyn AT-2970SX Gigabit Ethernet Adapter
+@@ -2075,31 +2091,79 @@
+ 	    - Allied Telesyn AT-2971T Gigabit Ethernet Adapter
+ 	    - Belkin Gigabit Desktop Card 10/100/1000Base-T Adapter, Copper RJ-45
+ 	    - DGE-530T Gigabit Ethernet Adapter
++	    - DGE-560T Gigabit Ethernet Adapter
+ 	    - EG1032 v2 Instant Gigabit Network Adapter
+ 	    - EG1064 v2 Instant Gigabit Network Adapter
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Abit)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Albatron)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Asus)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (ECS)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Epox)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Foxconn)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Gigabyte)
+-	    - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Iwill)
+-	    - Marvell 88E8050 Gigabit LOM Ethernet Adapter (Intel)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Abit)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Albatron)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Asus)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Chaintech)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (ECS)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Epox)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Foxconn)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte)
++	    - Marvell 88E8001 Gigabit Ethernet Controller (Iwill)
++	    - Marvell 88E8035 Fast Ethernet Controller (LGE)
++	    - Marvell 88E8035 Fast Ethernet Controller (Toshiba)
++	    - Marvell 88E8036 Fast Ethernet Controller (Arima)
++	    - Marvell 88E8036 Fast Ethernet Controller (Compal)
++	    - Marvell 88E8036 Fast Ethernet Controller (Inventec)
++	    - Marvell 88E8036 Fast Ethernet Controller (LGE)
++	    - Marvell 88E8036 Fast Ethernet Controller (Mitac)
++	    - Marvell 88E8036 Fast Ethernet Controller (Panasonic)
++	    - Marvell 88E8036 Fast Ethernet Controller (Quanta)
++	    - Marvell 88E8036 Fast Ethernet Controller (Toshiba)
++	    - Marvell 88E8036 Fast Ethernet Controller (Wistron)
++	    - Marvell 88E8050 Gigabit Ethernet Controller (Gateway)
++	    - Marvell 88E8050 Gigabit Ethernet Controller (Intel)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (ASRock)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (Aopen)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (Asus)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (Gateway)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (MSI)
++	    - Marvell 88E8052 Gigabit Ethernet Controller (Wistron)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (ASRock)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Albatron)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Aopen)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Arima)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Asus)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Chaintech)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Clevo)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Compal)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (DFI)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (ECS)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Epox)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Inventec)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (LGE)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (MSI)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Mitac)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Panasonic)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Quanta)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (SOYO)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Shuttle)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Toshiba)
++	    - Marvell 88E8053 Gigabit Ethernet Controller (Trigem)
++	    - Marvell RDK-8001 
+ 	    - Marvell RDK-8001 Adapter
+ 	    - Marvell RDK-8002 Adapter
++	    - Marvell RDK-8003 
+ 	    - Marvell RDK-8003 Adapter
+ 	    - Marvell RDK-8004 Adapter
+ 	    - Marvell RDK-8006 Adapter
+ 	    - Marvell RDK-8007 Adapter
+ 	    - Marvell RDK-8008 Adapter
+ 	    - Marvell RDK-8009 Adapter
+-	    - Marvell RDK-8010 Adapter
++	    - Marvell RDK-8010 
+ 	    - Marvell RDK-8011 Adapter
+ 	    - Marvell RDK-8012 Adapter
+-	    - Marvell RDK-8052 Adapter
+-	    - Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (32 bit)
+-	    - Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (64 bit)
++	    - Marvell RDK-8035 
++	    - Marvell RDK-8036 
++	    - Marvell RDK-8052 
++	    - Marvell RDK-8053 
++	    - Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit)
++	    - Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit)
+ 	    - N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L)
+ 	    - SK-9521 10/100/1000Base-T Adapter
+ 	    - SK-9521 V2.0 10/100/1000Base-T Adapter
+@@ -2119,21 +2183,36 @@
+ 	    - SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX)
+ 	    - SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter
+ 	    - SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link)
++	    - SK-9S21 Server Adapter 
++	    - SK-9S22 Server Adapter 
++	    - SK-9S24 Server Adapter 
++	    - SK-9S34 Server Adapter 
++	    - SK-9S81 Server Adapter 
++	    - SK-9S82 Server Adapter 
++	    - SK-9S91 Server Adapter 
++	    - SK-9S92 Server Adapter 
+ 	    - SMC EZ Card 1000 (SMC9452TXV.2)
+ 	  
+ 	  The adapters support Jumbo Frames.
+ 	  The dual link adapters support link-failover and dual port features.
+ 	  Both Marvell Yukon and SysKonnect SK-98xx/SK-95xx adapters support 
+ 	  the scatter-gather functionality with sendfile(). Please refer to 
+-	  <file:Documentation/networking/sk98lin.txt> for more information about
++	  Documentation/networking/sk98lin.txt for more information about
+ 	  optional driver parameters.
+ 	  Questions concerning this driver may be addressed to:
+-	      <linux at syskonnect.de>
++	      linux at syskonnect.de
+ 	  
+ 	  If you want to compile this driver as a module ( = code which can be
+ 	  inserted in and removed from the running kernel whenever you want),
+-	  say M here and read <file:Documentation/kbuild/modules.txt>. The module will
+-	  be called sk98lin. This is recommended.
++	  say M here and read Documentation/modules.txt. This is recommended.
++	  The module will be called sk98lin. This is recommended.
++
++config SK98LIN_NAPI
++	bool "Use Rx polling (NAPI)"
++	depends on SK98LIN
++	help
++	  NAPI is a new driver API designed to reduce CPU and interrupt load
++	  when the driver is receiving lots of packets from the card.
+ 
+ config VIA_VELOCITY
+ 	tristate "VIA Velocity support"
+diff -uNr linux-2.6.13.1/drivers/net.orig/sk98lin/h/lm80.h linux-2.6.13.1/drivers/net/sk98lin/h/lm80.h
+--- linux-2.6.13.1/drivers/net.orig/sk98lin/h/lm80.h	2005-09-10 04:42:58.000000000 +0200
++++ linux-2.6.13.1/drivers/net/sk98lin/h/lm80.h	2005-06-20 10:50:16.000000000 +0200
+@@ -2,8 +2,8 @@
+  *
+  * Name:	lm80.h	
+  * Project:	Gigabit Ethernet Adapters, Common Modules
+- * Version:	$Revision$
+- * Date:	$Date$
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	Contains all defines for the LM80 Chip
+  *		(National Semiconductor).
+  *
+diff -uNr linux-2.6.13.1/drivers/net.orig/sk98lin/h/skaddr.h linux-2.6.13.1/drivers/net/sk98lin/h/skaddr.h
+--- linux-2.6.13.1/drivers/net.orig/sk98lin/h/skaddr.h	2005-09-10 04:42:58.000000000 +0200
++++ linux-2.6.13.1/drivers/net/sk98lin/h/skaddr.h	2005-06-20 10:50:16.000000000 +0200
+@@ -2,8 +2,8 @@
+  *
+  * Name:	skaddr.h
+  * Project:	Gigabit Ethernet Adapters, ADDR-Modul
+- * Version:	$Revision$
+- * Date:	$Date$
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	Header file for Address Management (MC, UC, Prom).
+  *
+  ******************************************************************************/
+diff -uNr linux-2.6.13.1/drivers/net.orig/sk98lin/h/skcsum.h linux-2.6.13.1/drivers/net/sk98lin/h/skcsum.h
+--- linux-2.6.13.1/drivers/net.orig/sk98lin/h/skcsum.h	2005-09-10 04:42:58.000000000 +0200
++++ linux-2.6.13.1/drivers/net/sk98lin/h/skcsum.h	2005-06-20 10:50:16.000000000 +0200
+@@ -2,8 +2,8 @@
+  *
+  * Name:	skcsum.h
+  * Project:	GEnesis - SysKonnect SK-NET Gigabit Ethernet (SK-98xx)
+- * Version:	$Revision$
+- * Date:	$Date$
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	Store/verify Internet checksum in send/receive packets.
+  *
+  ******************************************************************************/
+@@ -157,9 +157,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 -uNr linux-2.6.13.1/drivers/net.orig/sk98lin/h/skdebug.h linux-2.6.13.1/drivers/net/sk98lin/h/skdebug.h
+--- linux-2.6.13.1/drivers/net.orig/sk98lin/h/skdebug.h	2005-09-10 04:42:58.000000000 +0200
++++ linux-2.6.13.1/drivers/net/sk98lin/h/skdebug.h	2005-06-20 10:50:16.000000000 +0200
+@@ -2,8 +2,8 @@
+  *
+  * Name:	skdebug.h
+  * Project:	Gigabit Ethernet Adapters, Common Modules
+- * Version:	$Revision$
+- * Date:	$Date$
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	SK specific DEBUG support
+  *
+  ******************************************************************************/
+@@ -11,13 +11,12 @@
+ /******************************************************************************
+  *
+  *	(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.
+  *
+  ******************************************************************************/
+@@ -28,9 +27,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
+@@ -58,6 +57,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 -uNr linux-2.6.13.1/drivers/net.orig/sk98lin/h/skdrv1st.h linux-2.6.13.1/drivers/net/sk98lin/h/skdrv1st.h
+--- linux-2.6.13.1/drivers/net.orig/sk98lin/h/skdrv1st.h	2005-09-10 04:42:58.000000000 +0200
++++ linux-2.6.13.1/drivers/net/sk98lin/h/skdrv1st.h	2005-06-20 10:50:17.000000000 +0200
+@@ -2,8 +2,8 @@
+  *
+  * Name:	skdrv1st.h
+  * Project:	GEnesis, PCI Gigabit Ethernet Adapter
+- * Version:	$Revision$
+- * Date:	$Date$
++ * Version:	$Revision$
++ * Date:	$Date$
+  * Purpose:	First header file for driver and all other modules
+  *
+  ******************************************************************************/
+@@ -11,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
+@@ -22,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
+ 
+@@ -58,6 +44,9 @@
+ 
+ #define SK_ADDR_EQUAL(a1,a2)		(!memcmp(a1,a2,6))
+ 
++#define SK_STRNCMP(s1,s2,len)		strncmp(s1,s2,len)
++#define SK_STRCPY(dest,src)		strcpy(dest,src)
++
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+ #include <linux/string.h>
+@@ -66,10 +55,9 @@
+ #include <linux/slab.h>
+ #include <linux/interrupt.h>
+ #include <linux/pci.h>
+-#include <linux/bitops.h>
+ #include <asm/byteorder.h>
++#include <asm/bitops.h>
+ #include <asm/io.h>
+-#include <asm/irq.h>
+ #include <linux/netdevice.h>
+ #include <linux/etherdevice.h>
+ #include <linux/skbuff.h>
+@@ -79,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"
+@@ -91,6 +75,10 @@
+ #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
+@@ -110,7 +98,7 @@
+ #define SK_MAX_MACS		2
+ #define SK_MAX_NETS		2
+ 
+-#define SK_IOC			char __iomem *
++#define SK_IOC			char*
+ 
+ typedef struct s_DrvRlmtMbuf SK_MBUF;
+ 
+@@ -189,3 +177,8 @@
+ 
+ #endif
+ 
++/*******************************************************************************
++ *
++ * End of file
++ *
++ ******************************************************************************/
+diff -uNr linux-2.6.13.1/drivers/net.orig/sk98lin/h/skdrv2nd.h linux-2.6.13.1/drivers/net/sk98lin/h/skdrv2nd.h
+--- linux-2.6.13.1/drivers/net.orig/sk98lin/h/skdrv2nd.h	2005-09-10 04:42:58.000000000 +0200
++++ linux-2.6.13.1/drivers/net/sk98lin/h/skdrv2nd.h	2005-09-15 13:00:28.547779000 +0200
+@@ -1,17 +1,17 @@
+ /******************************************************************************
+  *
+- * Name:	skdrv2nd.h
+- * Project:	GEnesis, PCI Gigabit Ethernet Adapter
+- * Version:	$Revision$
+- * Date:	$Date$
+- * 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
+@@ -42,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"
+@@ -53,104 +54,180 @@
+ #include "h/skrlmt.h"
+ #include "h/skgedrv.h"
+ 
++/* Defines for the poll cotroller */
++#ifndef CONFIG_SK98LIN_NAPI
++#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 */
++#ifndef CONFIG_SK98LIN_NAPI
++#define Y2_RX_CHECK		/* RX Check timestamp */
+ #endif
+ 
++/*
++ * 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     irqreturn_t
++#define SkIsrRetNone    IRQ_NONE
++#define SkIsrRetHandled IRQ_HANDLED
++
++#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) {\
+ 	struct timeval t;\
+ 	do_gettimeofday(&t);\
+ 	*pUsec = ((((t.tv_sec) * 1000000L)+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)
<<Diff was trimmed, longer than 597 lines>>



More information about the pld-cvs-commit mailing list