SOURCES: kernel-desktop-sk98lin.patch (NEW) - http://www.skd.de/e_...
sparky
sparky at pld-linux.org
Mon Jun 19 14:52:52 CEST 2006
Author: sparky Date: Mon Jun 19 12:52:52 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- http://www.skd.de/e_en/products/adapters/pci_64/sk-98xx_v20/software/linux/driver/install-8_32.tar.bz2
version 8.32.2.3
---- Files affected:
SOURCES:
kernel-desktop-sk98lin.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/kernel-desktop-sk98lin.patch
diff -u /dev/null SOURCES/kernel-desktop-sk98lin.patch:1.1
--- /dev/null Mon Jun 19 14:52:52 2006
+++ SOURCES/kernel-desktop-sk98lin.patch Mon Jun 19 14:52:46 2006
@@ -0,0 +1,45149 @@
+diff -ruN linux/drivers/net/sk98lin/Makefile linux-new/drivers/net/sk98lin/Makefile
+--- linux/drivers/net/sk98lin/Makefile 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/Makefile 2006-06-19 12:44:12.000000000 +0000
+@@ -1,6 +1,59 @@
++#******************************************************************************
+ #
+-# Makefile for the SysKonnect SK-98xx device driver.
++# Name: skge.c
++# Project: GEnesis, PCI Gigabit Ethernet Adapter
++# Version: $Revision$
++# Date: $Date$
++# Purpose: The main driver source module
+ #
++#******************************************************************************
++
++#******************************************************************************
++#
++# (C)Copyright 1998-2002 SysKonnect GmbH.
++# (C)Copyright 2002-2005 Marvell.
++#
++# Makefile for Marvell Yukon chipset and SysKonnect Gigabit Ethernet
++# Server Adapter driver. (Kernel 2.6)
++#
++# Author: Mirko Lindner (mlindner at syskonnect.de)
++# Ralph Roesler (rroesler at syskonnect.de)
++#
++# Address all question to: linux at syskonnect.de
++#
++# 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.
++#
++#******************************************************************************
++
++#******************************************************************************
++#
++# History:
++#
++# $Log$
++# Revision 1.1 2006/06/19 12:52:46 sparky
++# - http://www.skd.de/e_en/products/adapters/pci_64/sk-98xx_v20/software/linux/driver/install-8_32.tar.bz2
++# version 8.32.2.3
++#
++# Revision 1.9.2.1 2005/04/11 09:01:18 mlindner
++# Fix: Copyright year changed
++#
++# Revision 1.9 2004/07/13 15:54:50 rroesler
++# Add: file skethtool.c
++# Fix: corrected header regarding copyright
++# Fix: minor typos corrected
++#
++# Revision 1.8 2004/06/08 08:39:38 mlindner
++# Fix: Add CONFIG_SK98LIN_ZEROCOPY as default
++#
++# Revision 1.7 2004/06/03 16:06:56 mlindner
++# Fix: Added compile flag SK_DIAG_SUPPORT
++#
++# Revision 1.6 2004/06/02 08:02:59 mlindner
++# Add: Changed header information and inserted a GPL statement
++#
++#
++#******************************************************************************
+
+
+ #
+@@ -13,20 +66,24 @@
+ obj-$(CONFIG_SK98LIN) += sk98lin.o
+ sk98lin-objs := \
+ skge.o \
++ sky2.o \
+ skethtool.o \
++ sky2le.o \
+ skdim.o \
+ skaddr.o \
+ skgehwt.o \
+ skgeinit.o \
+ skgepnmi.o \
+ skgesirq.o \
+- ski2c.o \
++ sktwsi.o \
+ sklm80.o \
+ skqueue.o \
+ skrlmt.o \
+ sktimer.o \
+ skvpd.o \
+- skxmac2.o
++ skxmac2.o \
++ skproc.o \
++ skcsum.o
+
+ # DBGDEF = \
+ # -DDEBUG
+@@ -75,13 +132,11 @@
+ # SK_DBGCAT_DRV_INT_SRC 0x04000000 interrupts sources
+ # SK_DBGCAT_DRV_EVENT 0x08000000 driver events
+
+-EXTRA_CFLAGS += -Idrivers/net/sk98lin -DSK_DIAG_SUPPORT -DGENESIS -DYUKON $(DBGDEF) $(SKPARAM)
++EXTRA_CFLAGS += -Idrivers/net/sk98lin -DSK_USE_CSUM -DSK_DIAG_SUPPORT \
++ -DGENESIS -DYUKON -DYUK2 -DCONFIG_SK98LIN_ZEROCOPY \
++ $(DBGDEF) $(SKPARAM)
+
+ clean:
+ rm -f core *.o *.a *.s
+
+
+-
+-
+-
+-
+diff -ruN linux/drivers/net/sk98lin/h/lm80.h linux-new/drivers/net/sk98lin/h/lm80.h
+--- linux/drivers/net/sk98lin/h/lm80.h 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/lm80.h 2006-04-27 09:43:44.000000000 +0000
+@@ -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).
+ *
+@@ -11,6 +11,7 @@
+
+ /******************************************************************************
+ *
++ * LICENSE:
+ * (C)Copyright 1998-2002 SysKonnect.
+ * (C)Copyright 2002-2003 Marvell.
+ *
+@@ -20,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 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skaddr.h 2006-04-27 09:43:44.000000000 +0000
+@@ -2,14 +2,15 @@
+ *
+ * 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).
+ *
+ ******************************************************************************/
+
+ /******************************************************************************
+ *
++ * LICENSE:
+ * (C)Copyright 1998-2002 SysKonnect GmbH.
+ * (C)Copyright 2002-2003 Marvell.
+ *
+@@ -19,6 +20,7 @@
+ * (at your option) any later version.
+ *
+ * The information in this file is provided "AS IS" without warranty.
++ * /LICENSE
+ *
+ ******************************************************************************/
+
+@@ -236,6 +238,18 @@
+ SK_U32 PortNumber,
+ int Flags);
+
++extern int SkAddrXmacMcClear(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber,
++ int Flags);
++
++extern int SkAddrGmacMcClear(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber,
++ int Flags);
++
+ extern int SkAddrMcAdd(
+ SK_AC *pAC,
+ SK_IOC IoC,
+@@ -243,11 +257,41 @@
+ SK_MAC_ADDR *pMc,
+ int Flags);
+
++extern int SkAddrXmacMcAdd(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber,
++ SK_MAC_ADDR *pMc,
++ int Flags);
++
++extern SK_U32 SkXmacMcHash(
++ unsigned char *pMc);
++
++extern int SkAddrGmacMcAdd(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber,
++ SK_MAC_ADDR *pMc,
++ int Flags);
++
++extern SK_U32 SkGmacMcHash(
++ unsigned char *pMc);
++
+ extern int SkAddrMcUpdate(
+ SK_AC *pAC,
+ SK_IOC IoC,
+ SK_U32 PortNumber);
+
++extern int SkAddrXmacMcUpdate(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber);
++
++extern int SkAddrGmacMcUpdate(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber);
++
+ extern int SkAddrOverride(
+ SK_AC *pAC,
+ SK_IOC IoC,
+@@ -261,6 +305,18 @@
+ SK_U32 PortNumber,
+ int NewPromMode);
+
++extern int SkAddrXmacPromiscuousChange(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber,
++ int NewPromMode);
++
++extern int SkAddrGmacPromiscuousChange(
++ SK_AC *pAC,
++ SK_IOC IoC,
++ SK_U32 PortNumber,
++ int NewPromMode);
++
+ #ifndef SK_SLIM
+ extern int SkAddrSwap(
+ SK_AC *pAC,
+diff -ruN linux/drivers/net/sk98lin/h/skcsum.h linux-new/drivers/net/sk98lin/h/skcsum.h
+--- linux/drivers/net/sk98lin/h/skcsum.h 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skcsum.h 2006-04-27 09:43:44.000000000 +0000
+@@ -2,14 +2,15 @@
+ *
+ * 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.
+ *
+ ******************************************************************************/
+
+ /******************************************************************************
+ *
++ * LICENSE:
+ * (C)Copyright 1998-2001 SysKonnect GmbH.
+ *
+ * This program is free software; you can redistribute it and/or modify
+@@ -18,6 +19,7 @@
+ * (at your option) any later version.
+ *
+ * The information in this file is provided "AS IS" without warranty.
++ * /LICENSE
+ *
+ ******************************************************************************/
+
+@@ -157,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];
+@@ -203,6 +203,12 @@
+ unsigned Checksum2,
+ int NetNumber);
+
++extern void SkCsGetSendInfo(
++ SK_AC *pAc,
++ void *pIpHeader,
++ SKCS_PACKET_INFO *pPacketInfo,
++ int NetNumber);
++
+ extern void SkCsSetReceiveFlags(
+ SK_AC *pAc,
+ unsigned ReceiveFlags,
+diff -ruN linux/drivers/net/sk98lin/h/skdebug.h linux-new/drivers/net/sk98lin/h/skdebug.h
+--- linux/drivers/net/sk98lin/h/skdebug.h 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skdebug.h 2006-04-27 09:43:44.000000000 +0000
+@@ -2,23 +2,24 @@
+ *
+ * Name: skdebug.h
+ * Project: Gigabit Ethernet Adapters, Common Modules
+- * Version: $Revision$
+- * Date: $Date$
++ * 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
+ *
+ ******************************************************************************/
+
+@@ -28,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
+@@ -58,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 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skdrv1st.h 2006-04-27 09:43:45.000000000 +0000
+@@ -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,23 +22,12 @@
+ *
+ ******************************************************************************/
+
+-/******************************************************************************
+- *
+- * 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
+
++/* Check kernel version */
++#include <linux/version.h>
++
+ typedef struct s_AC SK_AC;
+
+ /* Set card versions */
+@@ -55,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>
+@@ -63,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>
+@@ -76,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"
+@@ -88,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
+@@ -107,7 +99,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;
+
+@@ -186,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 2006-06-18 01:49:35.000000000 +0000
++++ linux-new/drivers/net/sk98lin/h/skdrv2nd.h 2006-04-27 09:43:45.000000000 +0000
+@@ -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,103 +54,191 @@
+ #include "h/skrlmt.h"
+ #include "h/skgedrv.h"
+
++/* Defines for the poll cotroller */
++#define SK_NETDUMP_POLL
+
+-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 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);
++#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
++
++
++/******************************************************************************
++ *
++ * 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",}
++
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list