SOURCES (LINUX_2_6): linux-2.6-sk98lin-8.36.1.3.patch - properly g...
baggins
baggins at pld-linux.org
Wed Sep 20 18:59:17 CEST 2006
Author: baggins Date: Wed Sep 20 16:59:16 2006 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- properly generated this time
---- Files affected:
SOURCES:
linux-2.6-sk98lin-8.36.1.3.patch (1.1.2.1 -> 1.1.2.2)
---- Diffs:
================================================================
Index: SOURCES/linux-2.6-sk98lin-8.36.1.3.patch
diff -u SOURCES/linux-2.6-sk98lin-8.36.1.3.patch:1.1.2.1 SOURCES/linux-2.6-sk98lin-8.36.1.3.patch:1.1.2.2
--- SOURCES/linux-2.6-sk98lin-8.36.1.3.patch:1.1.2.1 Wed Sep 20 18:54:19 2006
+++ SOURCES/linux-2.6-sk98lin-8.36.1.3.patch Wed Sep 20 18:59:11 2006
@@ -1,15 +1,16 @@
diff -ruN linux/drivers/net/sk98lin/Makefile linux-new/drivers/net/sk98lin/Makefile
---- linux/drivers/net/sk98lin/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-new/drivers/net/sk98lin/Makefile 2006-09-20 18:51:45.255756750 +0200
-@@ -0,0 +1,142 @@
+--- linux/drivers/net/sk98lin/Makefile 2006-09-20 05:42:06.000000000 +0200
++++ linux-new/drivers/net/sk98lin/Makefile 2006-09-20 18:58:01.423265750 +0200
+@@ -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
-+#
+ #
+#******************************************************************************
+
+#******************************************************************************
@@ -39,8 +40,8 @@
+# History:
+#
+# $Log$
-+# Revision 1.1.2.1 2006/09/20 16:54:19 baggins
-+# - new version
++# Revision 1.1.2.2 2006/09/20 16:59:11 baggins
++# - properly generated this time
+#
+# Revision 1.9.2.1 2005/04/11 09:01:18 mlindner
+# Fix: Copyright year changed
@@ -61,521 +62,116 @@
+#
+#
+#******************************************************************************
-+
-+
-+#
-+# Standalone driver params
-+# SKPARAM += -DSK_KERNEL_24
-+# SKPARAM += -DSK_KERNEL_24_26
-+# SKPARAM += -DSK_KERNEL_26
-+# SKPARAM += -DSK_KERNEL_22_24
-+
-+obj-$(CONFIG_SK98LIN) += sk98lin.o
-+sk98lin-objs := \
-+ skge.o \
+
+
+ #
+@@ -13,20 +66,24 @@
+ obj-$(CONFIG_SK98LIN) += sk98lin.o
+ sk98lin-objs := \
+ skge.o \
+ sky2.o \
-+ skethtool.o \
+ skethtool.o \
+ sky2le.o \
-+ skdim.o \
-+ skaddr.o \
-+ skgehwt.o \
-+ skgeinit.o \
-+ skgepnmi.o \
-+ skgesirq.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 \
+ sklm80.o \
+ skqueue.o \
+ skrlmt.o \
+ sktimer.o \
+ skvpd.o \
+- skxmac2.o
+ skxmac2.o \
+ skproc.o \
+ skcsum.o
-+
-+# DBGDEF = \
-+# -DDEBUG
-+
-+ifdef DEBUG
-+DBGDEF += \
-+-DSK_DEBUG_CHKMOD=0x00000000L \
-+-DSK_DEBUG_CHKCAT=0x00000000L
-+endif
-+
-+
-+# **** possible debug modules for SK_DEBUG_CHKMOD *****************
-+# SK_DBGMOD_MERR 0x00000001L /* general module error indication */
-+# SK_DBGMOD_HWM 0x00000002L /* Hardware init module */
-+# SK_DBGMOD_RLMT 0x00000004L /* RLMT module */
-+# SK_DBGMOD_VPD 0x00000008L /* VPD module */
-+# SK_DBGMOD_I2C 0x00000010L /* I2C module */
-+# SK_DBGMOD_PNMI 0x00000020L /* PNMI module */
-+# SK_DBGMOD_CSUM 0x00000040L /* CSUM module */
-+# SK_DBGMOD_ADDR 0x00000080L /* ADDR module */
-+# SK_DBGMOD_DRV 0x00010000L /* DRV module */
-+
-+# **** possible debug categories for SK_DEBUG_CHKCAT **************
-+# *** common modules ***
-+# SK_DBGCAT_INIT 0x00000001L module/driver initialization
-+# SK_DBGCAT_CTRL 0x00000002L controlling: add/rmv MCA/MAC and other controls (IOCTL)
-+# SK_DBGCAT_ERR 0x00000004L error handling paths
-+# SK_DBGCAT_TX 0x00000008L transmit path
-+# SK_DBGCAT_RX 0x00000010L receive path
-+# SK_DBGCAT_IRQ 0x00000020L general IRQ handling
-+# SK_DBGCAT_QUEUE 0x00000040L any queue management
-+# SK_DBGCAT_DUMP 0x00000080L large data output e.g. hex dump
-+# SK_DBGCAT_FATAL 0x00000100L large data output e.g. hex dump
-+
-+# *** driver (file skge.c) ***
-+# SK_DBGCAT_DRV_ENTRY 0x00010000 entry points
-+# SK_DBGCAT_DRV_??? 0x00020000 not used
-+# SK_DBGCAT_DRV_MCA 0x00040000 multicast
-+# SK_DBGCAT_DRV_TX_PROGRESS 0x00080000 tx path
-+# SK_DBGCAT_DRV_RX_PROGRESS 0x00100000 rx path
-+# SK_DBGCAT_DRV_PROGRESS 0x00200000 general runtime
-+# SK_DBGCAT_DRV_??? 0x00400000 not used
-+# SK_DBGCAT_DRV_PROM 0x00800000 promiscuous mode
-+# SK_DBGCAT_DRV_TX_FRAME 0x01000000 display tx frames
-+# SK_DBGCAT_DRV_ERROR 0x02000000 error conditions
-+# SK_DBGCAT_DRV_INT_SRC 0x04000000 interrupts sources
-+# SK_DBGCAT_DRV_EVENT 0x08000000 driver events
-+
+
+ # 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
-+
-+
+
+ 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 1970-01-01 01:00:00.000000000 +0100
+--- linux/drivers/net/sk98lin/h/lm80.h 2006-09-20 05:42:06.000000000 +0200
+++ linux-new/drivers/net/sk98lin/h/lm80.h 2006-07-28 14:13:54.000000000 +0200
-@@ -0,0 +1,181 @@
-+/******************************************************************************
-+ *
-+ * Name: lm80.h
-+ * Project: Gigabit Ethernet Adapters, Common Modules
+@@ -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).
-+ *
-+ ******************************************************************************/
-+
-+/******************************************************************************
-+ *
+ * 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.
-+ *
-+ * 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.
+ * (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
-+ *
-+ ******************************************************************************/
-+
-+#ifndef __INC_LM80_H
-+#define __INC_LM80_H
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif /* __cplusplus */
-+
-+/* defines ********************************************************************/
-+
-+/*
-+ * LM80 register definition
-+ *
-+ * All registers are 8 bit wide
-+ */
-+#define LM80_CFG 0x00 /* Configuration Register */
-+#define LM80_ISRC_1 0x01 /* Interrupt Status Register 1 */
-+#define LM80_ISRC_2 0x02 /* Interrupt Status Register 2 */
-+#define LM80_IMSK_1 0x03 /* Interrupt Mask Register 1 */
-+#define LM80_IMSK_2 0x04 /* Interrupt Mask Register 2 */
-+#define LM80_FAN_CTRL 0x05 /* Fan Devisor/RST#/OS# Register */
-+#define LM80_TEMP_CTRL 0x06 /* OS# Config, Temp Res. Reg */
-+ /* 0x07 - 0x1f reserved */
-+ /* current values */
-+#define LM80_VT0_IN 0x20 /* current Voltage 0 value */
-+#define LM80_VT1_IN 0x21 /* current Voltage 1 value */
-+#define LM80_VT2_IN 0x22 /* current Voltage 2 value */
-+#define LM80_VT3_IN 0x23 /* current Voltage 3 value */
-+#define LM80_VT4_IN 0x24 /* current Voltage 4 value */
-+#define LM80_VT5_IN 0x25 /* current Voltage 5 value */
-+#define LM80_VT6_IN 0x26 /* current Voltage 6 value */
-+#define LM80_TEMP_IN 0x27 /* current Temperature value */
-+#define LM80_FAN1_IN 0x28 /* current Fan 1 count */
-+#define LM80_FAN2_IN 0x29 /* current Fan 2 count */
-+ /* limit values */
-+#define LM80_VT0_HIGH_LIM 0x2a /* high limit val for Voltage 0 */
-+#define LM80_VT0_LOW_LIM 0x2b /* low limit val for Voltage 0 */
-+#define LM80_VT1_HIGH_LIM 0x2c /* high limit val for Voltage 1 */
-+#define LM80_VT1_LOW_LIM 0x2d /* low limit val for Voltage 1 */
-+#define LM80_VT2_HIGH_LIM 0x2e /* high limit val for Voltage 2 */
-+#define LM80_VT2_LOW_LIM 0x2f /* low limit val for Voltage 2 */
-+#define LM80_VT3_HIGH_LIM 0x30 /* high limit val for Voltage 3 */
-+#define LM80_VT3_LOW_LIM 0x31 /* low limit val for Voltage 3 */
-+#define LM80_VT4_HIGH_LIM 0x32 /* high limit val for Voltage 4 */
-+#define LM80_VT4_LOW_LIM 0x33 /* low limit val for Voltage 4 */
-+#define LM80_VT5_HIGH_LIM 0x34 /* high limit val for Voltage 5 */
-+#define LM80_VT5_LOW_LIM 0x35 /* low limit val for Voltage 5 */
-+#define LM80_VT6_HIGH_LIM 0x36 /* high limit val for Voltage 6 */
-+#define LM80_VT6_LOW_LIM 0x37 /* low limit val for Voltage 6 */
-+#define LM80_THOT_LIM_UP 0x38 /* hot temperature limit (high) */
-+#define LM80_THOT_LIM_LO 0x39 /* hot temperature limit (low) */
-+#define LM80_TOS_LIM_UP 0x3a /* OS temperature limit (high) */
-+#define LM80_TOS_LIM_LO 0x3b /* OS temperature limit (low) */
-+#define LM80_FAN1_COUNT_LIM 0x3c /* Fan 1 count limit (high) */
-+#define LM80_FAN2_COUNT_LIM 0x3d /* Fan 2 count limit (low) */
-+ /* 0x3e - 0x3f reserved */
-+
-+/*
-+ * LM80 bit definitions
-+ */
-+
-+/* LM80_CFG Configuration Register */
-+#define LM80_CFG_START (1<<0) /* start monitoring operation */
-+#define LM80_CFG_INT_ENA (1<<1) /* enables the INT# Interrupt output */
-+#define LM80_CFG_INT_POL (1<<2) /* INT# pol: 0 act low, 1 act high */
-+#define LM80_CFG_INT_CLR (1<<3) /* disables INT#/RST_OUT#/OS# outputs */
-+#define LM80_CFG_RESET (1<<4) /* signals a reset */
-+#define LM80_CFG_CHASS_CLR (1<<5) /* clears Chassis Intrusion (CI) pin */
-+#define LM80_CFG_GPO (1<<6) /* drives the GPO# pin */
-+#define LM80_CFG_INIT (1<<7) /* restore power on defaults */
-+
-+/* LM80_ISRC_1 Interrupt Status Register 1 */
-+/* LM80_IMSK_1 Interrupt Mask Register 1 */
-+#define LM80_IS_VT0 (1<<0) /* limit exceeded for Voltage 0 */
-+#define LM80_IS_VT1 (1<<1) /* limit exceeded for Voltage 1 */
-+#define LM80_IS_VT2 (1<<2) /* limit exceeded for Voltage 2 */
-+#define LM80_IS_VT3 (1<<3) /* limit exceeded for Voltage 3 */
-+#define LM80_IS_VT4 (1<<4) /* limit exceeded for Voltage 4 */
-+#define LM80_IS_VT5 (1<<5) /* limit exceeded for Voltage 5 */
-+#define LM80_IS_VT6 (1<<6) /* limit exceeded for Voltage 6 */
-+#define LM80_IS_INT_IN (1<<7) /* state of INT_IN# */
-+
-+/* LM80_ISRC_2 Interrupt Status Register 2 */
-+/* LM80_IMSK_2 Interrupt Mask Register 2 */
-+#define LM80_IS_TEMP (1<<0) /* HOT temperature limit exceeded */
-+#define LM80_IS_BTI (1<<1) /* state of BTI# pin */
-+#define LM80_IS_FAN1 (1<<2) /* count limit exceeded for Fan 1 */
-+#define LM80_IS_FAN2 (1<<3) /* count limit exceeded for Fan 2 */
-+#define LM80_IS_CI (1<<4) /* Chassis Intrusion occured */
-+#define LM80_IS_OS (1<<5) /* OS temperature limit exceeded */
-+ /* bit 6 and 7 are reserved in LM80_ISRC_2 */
-+#define LM80_IS_HT_IRQ_MD (1<<6) /* Hot temperature interrupt mode */
-+#define LM80_IS_OT_IRQ_MD (1<<7) /* OS temperature interrupt mode */
-+
-+/* LM80_FAN_CTRL Fan Devisor/RST#/OS# Register */
-+#define LM80_FAN1_MD_SEL (1<<0) /* Fan 1 mode select */
-+#define LM80_FAN2_MD_SEL (1<<1) /* Fan 2 mode select */
-+#define LM80_FAN1_PRM_CTL (3<<2) /* Fan 1 speed control */
-+#define LM80_FAN2_PRM_CTL (3<<4) /* Fan 2 speed control */
-+#define LM80_FAN_OS_ENA (1<<6) /* enable OS mode on RST_OUT#/OS# pins*/
-+#define LM80_FAN_RST_ENA (1<<7) /* sets RST_OUT#/OS# pins in RST mode */
-+
-+/* LM80_TEMP_CTRL OS# Config, Temp Res. Reg */
-+#define LM80_TEMP_OS_STAT (1<<0) /* mirrors the state of RST_OUT#/OS# */
-+#define LM80_TEMP_OS_POL (1<<1) /* select OS# polarity */
-+#define LM80_TEMP_OS_MODE (1<<2) /* selects Interrupt mode */
-+#define LM80_TEMP_RES (1<<3) /* selects 9 or 11 bit temp resulution*/
-+#define LM80_TEMP_LSB (0xf<<4)/* 4 LSBs of 11 bit temp data */
-+#define LM80_TEMP_LSB_9 (1<<7) /* LSB of 9 bit temperature data */
-+
-+ /* 0x07 - 0x1f reserved */
-+/* LM80_VT0_IN current Voltage 0 value */
-+/* LM80_VT1_IN current Voltage 1 value */
-+/* LM80_VT2_IN current Voltage 2 value */
-+/* LM80_VT3_IN current Voltage 3 value */
-+/* LM80_VT4_IN current Voltage 4 value */
-+/* LM80_VT5_IN current Voltage 5 value */
-+/* LM80_VT6_IN current Voltage 6 value */
-+/* LM80_TEMP_IN current temperature value */
-+/* LM80_FAN1_IN current Fan 1 count */
-+/* LM80_FAN2_IN current Fan 2 count */
-+/* LM80_VT0_HIGH_LIM high limit val for Voltage 0 */
-+/* LM80_VT0_LOW_LIM low limit val for Voltage 0 */
-+/* LM80_VT1_HIGH_LIM high limit val for Voltage 1 */
-+/* LM80_VT1_LOW_LIM low limit val for Voltage 1 */
-+/* LM80_VT2_HIGH_LIM high limit val for Voltage 2 */
-+/* LM80_VT2_LOW_LIM low limit val for Voltage 2 */
-+/* LM80_VT3_HIGH_LIM high limit val for Voltage 3 */
-+/* LM80_VT3_LOW_LIM low limit val for Voltage 3 */
-+/* LM80_VT4_HIGH_LIM high limit val for Voltage 4 */
-+/* LM80_VT4_LOW_LIM low limit val for Voltage 4 */
-+/* LM80_VT5_HIGH_LIM high limit val for Voltage 5 */
-+/* LM80_VT5_LOW_LIM low limit val for Voltage 5 */
-+/* LM80_VT6_HIGH_LIM high limit val for Voltage 6 */
-+/* LM80_VT6_LOW_LIM low limit val for Voltage 6 */
-+/* LM80_THOT_LIM_UP hot temperature limit (high) */
-+/* LM80_THOT_LIM_LO hot temperature limit (low) */
-+/* LM80_TOS_LIM_UP OS temperature limit (high) */
-+/* LM80_TOS_LIM_LO OS temperature limit (low) */
-+/* LM80_FAN1_COUNT_LIM Fan 1 count limit (high) */
-+/* LM80_FAN2_COUNT_LIM Fan 2 count limit (low) */
-+ /* 0x3e - 0x3f reserved */
-+
-+#define LM80_ADDR 0x28 /* LM80 default addr */
-+
-+/* typedefs *******************************************************************/
-+
-+
-+/* function prototypes ********************************************************/
-+
-+#ifdef __cplusplus
-+}
-+#endif /* __cplusplus */
-+
-+#endif /* __INC_LM80_H */
+ *
+ ******************************************************************************/
+
diff -ruN linux/drivers/net/sk98lin/h/skaddr.h linux-new/drivers/net/sk98lin/h/skaddr.h
---- linux/drivers/net/sk98lin/h/skaddr.h 1970-01-01 01:00:00.000000000 +0100
+--- linux/drivers/net/sk98lin/h/skaddr.h 2006-09-20 05:42:06.000000000 +0200
+++ linux-new/drivers/net/sk98lin/h/skaddr.h 2006-07-28 14:13:54.000000000 +0200
-@@ -0,0 +1,341 @@
-+/******************************************************************************
-+ *
-+ * Name: skaddr.h
-+ * Project: Gigabit Ethernet Adapters, ADDR-Modul
+@@ -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).
-+ *
-+ ******************************************************************************/
-+
-+/******************************************************************************
-+ *
+ * Purpose: Header file for Address Management (MC, UC, Prom).
+ *
+ ******************************************************************************/
+
+ /******************************************************************************
+ *
+ * LICENSE:
-+ * (C)Copyright 1998-2002 SysKonnect GmbH.
-+ * (C)Copyright 2002-2003 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.
+ * (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
-+ *
-+ ******************************************************************************/
-+
-+/******************************************************************************
-+ *
-+ * Description:
-+ *
-+ * This module is intended to manage multicast addresses and promiscuous mode
-+ * on GEnesis adapters.
-+ *
-+ * Include File Hierarchy:
-+ *
-+ * "skdrv1st.h"
-+ * ...
-+ * "sktypes.h"
-+ * "skqueue.h"
-+ * "skaddr.h"
-+ * ...
-+ * "skdrv2nd.h"
-+ *
-+ ******************************************************************************/
-+
-+#ifndef __INC_SKADDR_H
-+#define __INC_SKADDR_H
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif /* cplusplus */
-+
-+/* defines ********************************************************************/
-+
-+#define SK_MAC_ADDR_LEN 6 /* Length of MAC address. */
-+#define SK_MAX_ADDRS 14 /* #Addrs for exact match. */
-+
-+/* ----- Common return values ----- */
-+
-+#define SK_ADDR_SUCCESS 0 /* Function returned successfully. */
-+#define SK_ADDR_ILLEGAL_PORT 100 /* Port number too high. */
-+#define SK_ADDR_TOO_EARLY 101 /* Function called too early. */
-+
-+/* ----- Clear/Add flag bits ----- */
-+
-+#define SK_ADDR_PERMANENT 1 /* RLMT Address */
-+
-+/* ----- Additional Clear flag bits ----- */
-+
-+#define SK_MC_SW_ONLY 2 /* Do not update HW when clearing. */
-+
-+/* ----- Override flag bits ----- */
-+
-+#define SK_ADDR_LOGICAL_ADDRESS 0
-+#define SK_ADDR_VIRTUAL_ADDRESS (SK_ADDR_LOGICAL_ADDRESS) /* old */
-+#define SK_ADDR_PHYSICAL_ADDRESS 1
-+#define SK_ADDR_CLEAR_LOGICAL 2
-+#define SK_ADDR_SET_LOGICAL 4
-+
-+/* ----- Override return values ----- */
-+
-+#define SK_ADDR_OVERRIDE_SUCCESS (SK_ADDR_SUCCESS)
-+#define SK_ADDR_DUPLICATE_ADDRESS 1
-+#define SK_ADDR_MULTICAST_ADDRESS 2
-+
-+/* ----- Partitioning of excact match table ----- */
-+
-+#define SK_ADDR_EXACT_MATCHES 16 /* #Exact match entries. */
-+
-+#define SK_ADDR_FIRST_MATCH_RLMT 1
-+#define SK_ADDR_LAST_MATCH_RLMT 2
-+#define SK_ADDR_FIRST_MATCH_DRV 3
-+#define SK_ADDR_LAST_MATCH_DRV (SK_ADDR_EXACT_MATCHES - 1)
-+
-+/* ----- SkAddrMcAdd/SkAddrMcUpdate return values ----- */
-+
-+#define SK_MC_FILTERING_EXACT 0 /* Exact filtering. */
-+#define SK_MC_FILTERING_INEXACT 1 /* Inexact filtering. */
-+
-+/* ----- Additional SkAddrMcAdd return values ----- */
-+
-+#define SK_MC_ILLEGAL_ADDRESS 2 /* Illegal address. */
-+#define SK_MC_ILLEGAL_PORT 3 /* Illegal port (not the active one). */
-+#define SK_MC_RLMT_OVERFLOW 4 /* Too many RLMT mc addresses. */
-+
-+/* Promiscuous mode bits ----- */
-+
-+#define SK_PROM_MODE_NONE 0 /* Normal receive. */
-+#define SK_PROM_MODE_LLC 1 /* Receive all LLC frames. */
-+#define SK_PROM_MODE_ALL_MC 2 /* Receive all multicast frames. */
-+/* #define SK_PROM_MODE_NON_LLC 4 */ /* Receive all non-LLC frames. */
-+
-+/* Macros */
-+
-+#ifdef OLD_STUFF
-+#ifndef SK_ADDR_EQUAL
-+/*
-+ * "&" instead of "&&" allows better optimization on IA-64.
-+ * The replacement is safe here, as all bytes exist.
-+ */
-+#ifndef SK_ADDR_DWORD_COMPARE
-+#define SK_ADDR_EQUAL(A1,A2) ( \
-+ (((SK_U8 *)(A1))[5] == ((SK_U8 *)(A2))[5]) & \
-+ (((SK_U8 *)(A1))[4] == ((SK_U8 *)(A2))[4]) & \
-+ (((SK_U8 *)(A1))[3] == ((SK_U8 *)(A2))[3]) & \
-+ (((SK_U8 *)(A1))[2] == ((SK_U8 *)(A2))[2]) & \
-+ (((SK_U8 *)(A1))[1] == ((SK_U8 *)(A2))[1]) & \
-+ (((SK_U8 *)(A1))[0] == ((SK_U8 *)(A2))[0]))
-+#else /* SK_ADDR_DWORD_COMPARE */
-+#define SK_ADDR_EQUAL(A1,A2) ( \
-+ (*(SK_U32 *)&(((SK_U8 *)(A1))[2]) == *(SK_U32 *)&(((SK_U8 *)(A2))[2])) & \
-+ (*(SK_U32 *)&(((SK_U8 *)(A1))[0]) == *(SK_U32 *)&(((SK_U8 *)(A2))[0])))
-+#endif /* SK_ADDR_DWORD_COMPARE */
-+#endif /* SK_ADDR_EQUAL */
-+#endif /* 0 */
-+
-+#ifndef SK_ADDR_EQUAL
-+#ifndef SK_ADDR_DWORD_COMPARE
-+#define SK_ADDR_EQUAL(A1,A2) ( \
-+ (((SK_U8 SK_FAR *)(A1))[5] == ((SK_U8 SK_FAR *)(A2))[5]) & \
-+ (((SK_U8 SK_FAR *)(A1))[4] == ((SK_U8 SK_FAR *)(A2))[4]) & \
-+ (((SK_U8 SK_FAR *)(A1))[3] == ((SK_U8 SK_FAR *)(A2))[3]) & \
-+ (((SK_U8 SK_FAR *)(A1))[2] == ((SK_U8 SK_FAR *)(A2))[2]) & \
-+ (((SK_U8 SK_FAR *)(A1))[1] == ((SK_U8 SK_FAR *)(A2))[1]) & \
-+ (((SK_U8 SK_FAR *)(A1))[0] == ((SK_U8 SK_FAR *)(A2))[0]))
-+#else /* SK_ADDR_DWORD_COMPARE */
-+#define SK_ADDR_EQUAL(A1,A2) ( \
-+ (*(SK_U16 SK_FAR *)&(((SK_U8 SK_FAR *)(A1))[4]) == \
-+ *(SK_U16 SK_FAR *)&(((SK_U8 SK_FAR *)(A2))[4])) && \
-+ (*(SK_U32 SK_FAR *)&(((SK_U8 SK_FAR *)(A1))[0]) == \
-+ *(SK_U32 SK_FAR *)&(((SK_U8 SK_FAR *)(A2))[0])))
-+#endif /* SK_ADDR_DWORD_COMPARE */
-+#endif /* SK_ADDR_EQUAL */
-+
-+/* typedefs *******************************************************************/
-+
-+typedef struct s_MacAddr {
-+ SK_U8 a[SK_MAC_ADDR_LEN];
-+} SK_MAC_ADDR;
-+
-+
-+/* SK_FILTER is used to ensure alignment of the filter. */
-+typedef union s_InexactFilter {
-+ SK_U8 Bytes[8];
-+ SK_U64 Val; /* Dummy entry for alignment only. */
-+} SK_FILTER64;
-+
-+
-+typedef struct s_AddrNet SK_ADDR_NET;
-+
-+
-+typedef struct s_AddrPort {
-+
-+/* ----- Public part (read-only) ----- */
-+
-+ SK_MAC_ADDR CurrentMacAddress; /* Current physical MAC Address. */
-+ SK_MAC_ADDR PermanentMacAddress; /* Permanent physical MAC Address. */
-+ int PromMode; /* Promiscuous Mode. */
-+
-+/* ----- Private part ----- */
-+
-+ SK_MAC_ADDR PreviousMacAddress; /* Prev. phys. MAC Address. */
-+ SK_BOOL CurrentMacAddressSet; /* CurrentMacAddress is set. */
-+ SK_U8 Align01;
-+
-+ SK_U32 FirstExactMatchRlmt;
-+ SK_U32 NextExactMatchRlmt;
-+ SK_U32 FirstExactMatchDrv;
-+ SK_U32 NextExactMatchDrv;
-+ SK_MAC_ADDR Exact[SK_ADDR_EXACT_MATCHES];
-+ SK_FILTER64 InexactFilter; /* For 64-bit hash register. */
-+ SK_FILTER64 InexactRlmtFilter; /* For 64-bit hash register. */
-+ SK_FILTER64 InexactDrvFilter; /* For 64-bit hash register. */
-+} SK_ADDR_PORT;
-+
-+
-+struct s_AddrNet {
-+/* ----- Public part (read-only) ----- */
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/linux-2.6-sk98lin-8.36.1.3.patch?r1=1.1.2.1&r2=1.1.2.2&f=u
More information about the pld-cvs-commit
mailing list