net: congestion notifications are not dropped packets
[safe/jmp/linux-2.6] / drivers / net / ipg.h
index 017727f..6ce0273 100644 (file)
@@ -7,7 +7,6 @@
 #ifndef __LINUX_IPG_H
 #define __LINUX_IPG_H
 
-#include <linux/version.h>
 #include <linux/module.h>
 
 #include <linux/kernel.h>
 #include <linux/etherdevice.h>
 #include <linux/init.h>
 #include <linux/skbuff.h>
-#include <linux/version.h>
 #include <asm/bitops.h>
-/*#include <asm/spinlock.h>*/
-
-#define DrvVer "2.09d"
-
-#define IPG_DEV_KFREE_SKB(skb) dev_kfree_skb_irq(skb)
 
 /*
  *     Constants
@@ -36,7 +29,7 @@
 /* GMII based PHY IDs */
 #define                NS                              0x2000
 #define                MARVELL                         0x0141
-#define                ICPLUS_PHY              0x243
+#define                ICPLUS_PHY                      0x243
 
 /* NIC Physical Layer Device MII register fields. */
 #define         MII_PHY_SELECTOR_IEEE8023       0x0001
@@ -56,7 +49,7 @@
 /* I/O register offsets. */
 enum ipg_regs {
        DMA_CTRL                = 0x00,
-       RX_DMA_STATUS           = 0x08, // Unused + reserved
+       RX_DMA_STATUS           = 0x08, /* Unused + reserved */
        TFD_LIST_PTR_0          = 0x10,
        TFD_LIST_PTR_1          = 0x14,
        TX_DMA_BURST_THRESH     = 0x18,
@@ -69,22 +62,22 @@ enum ipg_regs {
        RX_DMA_POLL_PERIOD      = 0x26,
        DEBUG_CTRL              = 0x2c,
        ASIC_CTRL               = 0x30,
-       FIFO_CTRL               = 0x38, // Unused
+       FIFO_CTRL               = 0x38, /* Unused */
        FLOW_OFF_THRESH         = 0x3c,
        FLOW_ON_THRESH          = 0x3e,
        EEPROM_DATA             = 0x48,
        EEPROM_CTRL             = 0x4a,
-       EXPROM_ADDR             = 0x4c, // Unused
-       EXPROM_DATA             = 0x50, // Unused
-       WAKE_EVENT              = 0x51, // Unused
-       COUNTDOWN               = 0x54, // Unused
+       EXPROM_ADDR             = 0x4c, /* Unused */
+       EXPROM_DATA             = 0x50, /* Unused */
+       WAKE_EVENT              = 0x51, /* Unused */
+       COUNTDOWN               = 0x54, /* Unused */
        INT_STATUS_ACK          = 0x5a,
        INT_ENABLE              = 0x5c,
-       INT_STATUS              = 0x5e, // Unused
+       INT_STATUS              = 0x5e, /* Unused */
        TX_STATUS               = 0x60,
        MAC_CTRL                = 0x6c,
-       VLAN_TAG                = 0x70, // Unused
-       PHY_SET                 = 0x75, // JES20040127EEPROM
+       VLAN_TAG                = 0x70, /* Unused */
+       PHY_SET                 = 0x75,
        PHY_CTRL                = 0x76,
        STATION_ADDRESS_0       = 0x78,
        STATION_ADDRESS_1       = 0x7a,
@@ -95,39 +88,39 @@ enum ipg_regs {
        HASHTABLE_1             = 0x90,
        RMON_STATISTICS_MASK    = 0x98,
        STATISTICS_MASK         = 0x9c,
-       RX_JUMBO_FRAMES         = 0xbc, // Unused
-       TCP_CHECKSUM_ERRORS     = 0xc0, // Unused
-       IP_CHECKSUM_ERRORS      = 0xc2, // Unused
-       UDP_CHECKSUM_ERRORS     = 0xc4, // Unused
-       TX_JUMBO_FRAMES         = 0xf4  // Unused
+       RX_JUMBO_FRAMES         = 0xbc, /* Unused */
+       TCP_CHECKSUM_ERRORS     = 0xc0, /* Unused */
+       IP_CHECKSUM_ERRORS      = 0xc2, /* Unused */
+       UDP_CHECKSUM_ERRORS     = 0xc4, /* Unused */
+       TX_JUMBO_FRAMES         = 0xf4  /* Unused */
 };
 
 /* Ethernet MIB statistic register offsets. */
-#define        IPG_OCTETRCVOK          0xA8
+#define        IPG_OCTETRCVOK                  0xA8
 #define        IPG_MCSTOCTETRCVDOK             0xAC
 #define        IPG_BCSTOCTETRCVOK              0xB0
 #define        IPG_FRAMESRCVDOK                0xB4
 #define        IPG_MCSTFRAMESRCVDOK            0xB8
 #define        IPG_BCSTFRAMESRCVDOK            0xBE
 #define        IPG_MACCONTROLFRAMESRCVD        0xC6
-#define        IPG_FRAMETOOLONGERRRORS 0xC8
-#define        IPG_INRANGELENGTHERRORS 0xCA
-#define        IPG_FRAMECHECKSEQERRORS 0xCC
-#define        IPG_FRAMESLOSTRXERRORS  0xCE
-#define        IPG_OCTETXMTOK          0xD0
+#define        IPG_FRAMETOOLONGERRRORS         0xC8
+#define        IPG_INRANGELENGTHERRORS         0xCA
+#define        IPG_FRAMECHECKSEQERRORS         0xCC
+#define        IPG_FRAMESLOSTRXERRORS          0xCE
+#define        IPG_OCTETXMTOK                  0xD0
 #define        IPG_MCSTOCTETXMTOK              0xD4
 #define        IPG_BCSTOCTETXMTOK              0xD8
 #define        IPG_FRAMESXMTDOK                0xDC
 #define        IPG_MCSTFRAMESXMTDOK            0xE0
-#define        IPG_FRAMESWDEFERREDXMT  0xE4
+#define        IPG_FRAMESWDEFERREDXMT          0xE4
 #define        IPG_LATECOLLISIONS              0xE8
 #define        IPG_MULTICOLFRAMES              0xEC
 #define        IPG_SINGLECOLFRAMES             0xF0
 #define        IPG_BCSTFRAMESXMTDOK            0xF6
-#define        IPG_CARRIERSENSEERRORS  0xF8
+#define        IPG_CARRIERSENSEERRORS          0xF8
 #define        IPG_MACCONTROLFRAMESXMTDOK      0xFA
-#define        IPG_FRAMESABORTXSCOLLS  0xFC
-#define        IPG_FRAMESWEXDEFERRAL   0xFE
+#define        IPG_FRAMESABORTXSCOLLS          0xFC
+#define        IPG_FRAMESWEXDEFERRAL           0xFE
 
 /* RMON statistic register offsets. */
 #define        IPG_ETHERSTATSCOLLISIONS                        0x100
@@ -141,8 +134,8 @@ enum ipg_regs {
 #define        IPG_ETHERSTATSPKTS1024TO1518OCTESTSTRANSMIT     0x120
 #define        IPG_ETHERSTATSCRCALIGNERRORS                    0x124
 #define        IPG_ETHERSTATSUNDERSIZEPKTS                     0x128
-#define        IPG_ETHERSTATSFRAGMENTS                 0x12C
-#define        IPG_ETHERSTATSJABBERS                   0x130
+#define        IPG_ETHERSTATSFRAGMENTS                         0x12C
+#define        IPG_ETHERSTATSJABBERS                           0x130
 #define        IPG_ETHERSTATSOCTETS                            0x134
 #define        IPG_ETHERSTATSPKTS                              0x138
 #define        IPG_ETHERSTATSPKTS64OCTESTS                     0x13C
@@ -161,10 +154,10 @@ enum ipg_regs {
 #define        IPG_ETHERSTATSDROPEVENTS                        0xCE
 
 /* Serial EEPROM offsets */
-#define        IPG_EEPROM_CONFIGPARAM  0x00
+#define        IPG_EEPROM_CONFIGPARAM          0x00
 #define        IPG_EEPROM_ASICCTRL             0x01
 #define        IPG_EEPROM_SUBSYSTEMVENDORID    0x02
-#define        IPG_EEPROM_SUBSYSTEMID  0x03
+#define        IPG_EEPROM_SUBSYSTEMID          0x03
 #define        IPG_EEPROM_STATIONADDRESS0      0x10
 #define        IPG_EEPROM_STATIONADDRESS1      0x11
 #define        IPG_EEPROM_STATIONADDRESS2      0x12
@@ -175,16 +168,16 @@ enum ipg_regs {
 
 /* IOBaseAddress */
 #define         IPG_PIB_RSVD_MASK              0xFFFFFE01
-#define         IPG_PIB_IOBASEADDRESS  0xFFFFFF00
-#define         IPG_PIB_IOBASEADDRIND  0x00000001
+#define         IPG_PIB_IOBASEADDRESS          0xFFFFFF00
+#define         IPG_PIB_IOBASEADDRIND          0x00000001
 
 /* MemBaseAddress */
 #define         IPG_PMB_RSVD_MASK              0xFFFFFE07
-#define         IPG_PMB_MEMBASEADDRIND 0x00000001
+#define         IPG_PMB_MEMBASEADDRIND         0x00000001
 #define         IPG_PMB_MEMMAPTYPE             0x00000006
 #define         IPG_PMB_MEMMAPTYPE0            0x00000002
 #define         IPG_PMB_MEMMAPTYPE1            0x00000004
-#define         IPG_PMB_MEMBASEADDRESS 0xFFFFFE00
+#define         IPG_PMB_MEMBASEADDRESS         0xFFFFFE00
 
 /* ConfigStatus */
 #define IPG_CS_RSVD_MASK                0xFFB0
@@ -203,20 +196,20 @@ enum ipg_regs {
 
 /* TFDList, TFC */
 #define        IPG_TFC_RSVD_MASK                       0x0000FFFF9FFFFFFF
-#define        IPG_TFC_FRAMEID                 0x000000000000FFFF
+#define        IPG_TFC_FRAMEID                         0x000000000000FFFF
 #define        IPG_TFC_WORDALIGN                       0x0000000000030000
 #define        IPG_TFC_WORDALIGNTODWORD                0x0000000000000000
-#define        IPG_TFC_WORDALIGNTOWORD         0x0000000000020000
+#define        IPG_TFC_WORDALIGNTOWORD                 0x0000000000020000
 #define        IPG_TFC_WORDALIGNDISABLED               0x0000000000030000
 #define        IPG_TFC_TCPCHECKSUMENABLE               0x0000000000040000
 #define        IPG_TFC_UDPCHECKSUMENABLE               0x0000000000080000
 #define        IPG_TFC_IPCHECKSUMENABLE                0x0000000000100000
 #define        IPG_TFC_FCSAPPENDDISABLE                0x0000000000200000
 #define        IPG_TFC_TXINDICATE                      0x0000000000400000
-#define        IPG_TFC_TXDMAINDICATE           0x0000000000800000
+#define        IPG_TFC_TXDMAINDICATE                   0x0000000000800000
 #define        IPG_TFC_FRAGCOUNT                       0x000000000F000000
-#define        IPG_TFC_VLANTAGINSERT           0x0000000010000000
-#define        IPG_TFC_TFDDONE                 0x0000000080000000
+#define        IPG_TFC_VLANTAGINSERT                   0x0000000010000000
+#define        IPG_TFC_TFDDONE                         0x0000000080000000
 #define        IPG_TFC_VID                             0x00000FFF00000000
 #define        IPG_TFC_CFI                             0x0000100000000000
 #define        IPG_TFC_USERPRIORITY                    0x0000E00000000000
@@ -224,35 +217,35 @@ enum ipg_regs {
 /* TFDList, FragInfo */
 #define        IPG_TFI_RSVD_MASK                       0xFFFF00FFFFFFFFFF
 #define        IPG_TFI_FRAGADDR                        0x000000FFFFFFFFFF
-#define        IPG_TFI_FRAGLEN                 0xFFFF000000000000LL
+#define        IPG_TFI_FRAGLEN                         0xFFFF000000000000LL
 
 /* RFD data structure masks. */
 
 /* RFDList, RFS */
 #define        IPG_RFS_RSVD_MASK                       0x0000FFFFFFFFFFFF
 #define        IPG_RFS_RXFRAMELEN                      0x000000000000FFFF
-#define        IPG_RFS_RXFIFOOVERRUN           0x0000000000010000
+#define        IPG_RFS_RXFIFOOVERRUN                   0x0000000000010000
 #define        IPG_RFS_RXRUNTFRAME                     0x0000000000020000
 #define        IPG_RFS_RXALIGNMENTERROR                0x0000000000040000
 #define        IPG_RFS_RXFCSERROR                      0x0000000000080000
 #define        IPG_RFS_RXOVERSIZEDFRAME                0x0000000000100000
-#define        IPG_RFS_RXLENGTHERROR           0x0000000000200000
+#define        IPG_RFS_RXLENGTHERROR                   0x0000000000200000
 #define        IPG_RFS_VLANDETECTED                    0x0000000000400000
 #define        IPG_RFS_TCPDETECTED                     0x0000000000800000
 #define        IPG_RFS_TCPERROR                        0x0000000001000000
 #define        IPG_RFS_UDPDETECTED                     0x0000000002000000
 #define        IPG_RFS_UDPERROR                        0x0000000004000000
 #define        IPG_RFS_IPDETECTED                      0x0000000008000000
-#define        IPG_RFS_IPERROR                 0x0000000010000000
+#define        IPG_RFS_IPERROR                         0x0000000010000000
 #define        IPG_RFS_FRAMESTART                      0x0000000020000000
 #define        IPG_RFS_FRAMEEND                        0x0000000040000000
-#define        IPG_RFS_RFDDONE                 0x0000000080000000
+#define        IPG_RFS_RFDDONE                         0x0000000080000000
 #define        IPG_RFS_TCI                             0x0000FFFF00000000
 
 /* RFDList, FragInfo */
 #define        IPG_RFI_RSVD_MASK                       0xFFFF00FFFFFFFFFF
 #define        IPG_RFI_FRAGADDR                        0x000000FFFFFFFFFF
-#define        IPG_RFI_FRAGLEN                 0xFFFF000000000000LL
+#define        IPG_RFI_FRAGLEN                         0xFFFF000000000000LL
 
 /* I/O Register masks. */
 
@@ -261,37 +254,37 @@ enum ipg_regs {
 
 /* Statistics Mask */
 #define        IPG_SM_ALL                                      0x0FFFFFFF
-#define        IPG_SM_OCTETRCVOK_FRAMESRCVDOK          0x00000001
-#define        IPG_SM_MCSTOCTETRCVDOK_MCSTFRAMESRCVDOK 0x00000002
-#define        IPG_SM_BCSTOCTETRCVDOK_BCSTFRAMESRCVDOK 0x00000004
+#define        IPG_SM_OCTETRCVOK_FRAMESRCVDOK                  0x00000001
+#define        IPG_SM_MCSTOCTETRCVDOK_MCSTFRAMESRCVDOK         0x00000002
+#define        IPG_SM_BCSTOCTETRCVDOK_BCSTFRAMESRCVDOK         0x00000004
 #define        IPG_SM_RXJUMBOFRAMES                            0x00000008
 #define        IPG_SM_TCPCHECKSUMERRORS                        0x00000010
-#define        IPG_SM_IPCHECKSUMERRORS                 0x00000020
+#define        IPG_SM_IPCHECKSUMERRORS                         0x00000020
 #define        IPG_SM_UDPCHECKSUMERRORS                        0x00000040
 #define        IPG_SM_MACCONTROLFRAMESRCVD                     0x00000080
 #define        IPG_SM_FRAMESTOOLONGERRORS                      0x00000100
 #define        IPG_SM_INRANGELENGTHERRORS                      0x00000200
 #define        IPG_SM_FRAMECHECKSEQERRORS                      0x00000400
 #define        IPG_SM_FRAMESLOSTRXERRORS                       0x00000800
-#define        IPG_SM_OCTETXMTOK_FRAMESXMTOK           0x00001000
-#define        IPG_SM_MCSTOCTETXMTOK_MCSTFRAMESXMTDOK  0x00002000
-#define        IPG_SM_BCSTOCTETXMTOK_BCSTFRAMESXMTDOK  0x00004000
+#define        IPG_SM_OCTETXMTOK_FRAMESXMTOK                   0x00001000
+#define        IPG_SM_MCSTOCTETXMTOK_MCSTFRAMESXMTDOK          0x00002000
+#define        IPG_SM_BCSTOCTETXMTOK_BCSTFRAMESXMTDOK          0x00004000
 #define        IPG_SM_FRAMESWDEFERREDXMT                       0x00008000
-#define        IPG_SM_LATECOLLISIONS                   0x00010000
-#define        IPG_SM_MULTICOLFRAMES                   0x00020000
-#define        IPG_SM_SINGLECOLFRAMES                  0x00040000
+#define        IPG_SM_LATECOLLISIONS                           0x00010000
+#define        IPG_SM_MULTICOLFRAMES                           0x00020000
+#define        IPG_SM_SINGLECOLFRAMES                          0x00040000
 #define        IPG_SM_TXJUMBOFRAMES                            0x00080000
 #define        IPG_SM_CARRIERSENSEERRORS                       0x00100000
 #define        IPG_SM_MACCONTROLFRAMESXMTD                     0x00200000
 #define        IPG_SM_FRAMESABORTXSCOLLS                       0x00400000
-#define        IPG_SM_FRAMESWEXDEFERAL                 0x00800000
+#define        IPG_SM_FRAMESWEXDEFERAL                         0x00800000
 
 /* Countdown */
 #define        IPG_CD_RSVD_MASK                0x0700FFFF
 #define        IPG_CD_COUNT                    0x0000FFFF
-#define        IPG_CD_COUNTDOWNSPEED   0x01000000
+#define        IPG_CD_COUNTDOWNSPEED           0x01000000
 #define        IPG_CD_COUNTDOWNMODE            0x02000000
-#define        IPG_CD_COUNTINTENABLED  0x04000000
+#define        IPG_CD_COUNTINTENABLED          0x04000000
 
 /* TxDMABurstThresh */
 #define IPG_TB_RSVD_MASK                0xFF
@@ -317,7 +310,7 @@ enum ipg_regs {
 #define IPG_RM_RECEIVEMULTICASTHASH     0x10
 #define IPG_RM_RECEIVEIPMULTICAST       0x20
 
-/* PhySet JES20040127EEPROM*/
+/* PhySet */
 #define IPG_PS_MEM_LENB9B               0x01
 #define IPG_PS_MEM_LEN9                 0x02
 #define IPG_PS_NON_COMPDET              0x04
@@ -374,8 +367,8 @@ enum ipg_regs {
 #define IPG_AC_RST_OUT                  0x01000000
 #define IPG_AC_INT_REQUEST              0x02000000
 #define IPG_AC_RESET_BUSY               0x04000000
-#define IPG_AC_LED_SPEED                0x08000000     //JES20040127EEPROM
-#define IPG_AC_LED_MODE_BIT_1           0x20000000     //JES20040127EEPROM
+#define IPG_AC_LED_SPEED                0x08000000
+#define IPG_AC_LED_MODE_BIT_1           0x20000000
 
 /* EepromCtrl */
 #define IPG_EC_RSVD_MASK                0x83FF
@@ -521,7 +514,7 @@ enum ipg_regs {
 #define                IPG_DMALIST_ALIGN_PAD   0x07
 #define                IPG_MULTICAST_HASHTABLE_SIZE    0x40
 
-/* Number of miliseconds to wait after issuing a software reset.
+/* Number of milliseconds to wait after issuing a software reset.
  * 0x05 <= IPG_AC_RESETWAIT to account for proper 10Mbps operation.
  */
 #define         IPG_AC_RESETWAIT             0x05
@@ -541,83 +534,6 @@ enum ipg_regs {
  */
 #define                IPG_FRAMESBETWEENTXDMACOMPLETES 0x1
 
-#ifdef JUMBO_FRAME
-
-# ifdef JUMBO_FRAME_SIZE_2K
-# define JUMBO_FRAME_SIZE 2048
-# define __IPG_RXFRAG_SIZE 2048
-# else
-#  ifdef JUMBO_FRAME_SIZE_3K
-#  define JUMBO_FRAME_SIZE 3072
-#  define __IPG_RXFRAG_SIZE 3072
-#  else
-#   ifdef JUMBO_FRAME_SIZE_4K
-#   define JUMBO_FRAME_SIZE 4096
-#   define __IPG_RXFRAG_SIZE 4088
-#   else
-#    ifdef JUMBO_FRAME_SIZE_5K
-#    define JUMBO_FRAME_SIZE 5120
-#    define __IPG_RXFRAG_SIZE 4088
-#    else
-#     ifdef JUMBO_FRAME_SIZE_6K
-#     define JUMBO_FRAME_SIZE 6144
-#     define __IPG_RXFRAG_SIZE 4088
-#     else
-#      ifdef JUMBO_FRAME_SIZE_7K
-#      define JUMBO_FRAME_SIZE 7168
-#      define __IPG_RXFRAG_SIZE 4088
-#      else
-#       ifdef JUMBO_FRAME_SIZE_8K
-#       define JUMBO_FRAME_SIZE 8192
-#       define __IPG_RXFRAG_SIZE 4088
-#       else
-#        ifdef JUMBO_FRAME_SIZE_9K
-#        define JUMBO_FRAME_SIZE 9216
-#        define __IPG_RXFRAG_SIZE 4088
-#        else
-#         ifdef JUMBO_FRAME_SIZE_10K
-#         define JUMBO_FRAME_SIZE 10240
-#         define __IPG_RXFRAG_SIZE 4088
-#         else
-#         define JUMBO_FRAME_SIZE 4096
-#         endif
-#        endif
-#       endif
-#      endif
-#     endif
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-/* Size of allocated received buffers. Nominally 0x0600.
- * Define larger if expecting jumbo frames.
- */
-#ifdef JUMBO_FRAME
-//IPG_TXFRAG_SIZE must <= 0x2b00, or TX will crash
-#define                IPG_TXFRAG_SIZE         JUMBO_FRAME_SIZE
-#endif
-
-/* Size of allocated received buffers. Nominally 0x0600.
- * Define larger if expecting jumbo frames.
- */
-#ifdef JUMBO_FRAME
-//4088=4096-8
-#define                IPG_RXFRAG_SIZE         __IPG_RXFRAG_SIZE
-#define     IPG_RXSUPPORT_SIZE   IPG_MAX_RXFRAME_SIZE
-#else
-#define                IPG_RXFRAG_SIZE         0x0600
-#define     IPG_RXSUPPORT_SIZE   IPG_RXFRAG_SIZE
-#endif
-
-/* IPG_MAX_RXFRAME_SIZE <= IPG_RXFRAG_SIZE */
-#ifdef JUMBO_FRAME
-#define                IPG_MAX_RXFRAME_SIZE            JUMBO_FRAME_SIZE
-#else
-#define                IPG_MAX_RXFRAME_SIZE            0x0600
-#endif
-
 #define                IPG_RFDLIST_LENGTH              0x100
 
 /* Maximum number of RFDs to process per interrupt.
@@ -631,9 +547,9 @@ enum ipg_regs {
 #define                IPG_MINUSEDRFDSTOFREE   0x80
 
 /* specify the jumbo frame maximum size
- * per unit is 0x600 (the RxBuffer size that one RFD can carry)
+ * per unit is 0x600 (the rx_buffer size that one RFD can carry)
  */
-#define     MAX_JUMBOSIZE              0x8     // max is 12K
+#define     MAX_JUMBOSIZE              0x8     /* max is 12K */
 
 /* Key register values loaded at driver start up. */
 
@@ -737,16 +653,28 @@ enum ipg_regs {
  * Miscellaneous macros.
  */
 
-/* Marco for printing debug statements.
-#  define IPG_DDEBUG_MSG(args...) printk(KERN_DEBUG "IPG: " ## args) */
+/* Macros for printing debug statements. */
 #ifdef IPG_DEBUG
-#  define IPG_DEBUG_MSG(args...)
-#  define IPG_DDEBUG_MSG(args...) printk(KERN_DEBUG "IPG: " args)
+#  define IPG_DEBUG_MSG(fmt, args...)                  \
+do {                                                   \
+       if (0)                                          \
+               printk(KERN_DEBUG "IPG: " fmt, ##args); \
+} while (0)
+#  define IPG_DDEBUG_MSG(fmt, args...)                 \
+       printk(KERN_DEBUG "IPG: " fmt, ##args)
 #  define IPG_DUMPRFDLIST(args) ipg_dump_rfdlist(args)
 #  define IPG_DUMPTFDLIST(args) ipg_dump_tfdlist(args)
 #else
-#  define IPG_DEBUG_MSG(args...)
-#  define IPG_DDEBUG_MSG(args...)
+#  define IPG_DEBUG_MSG(fmt, args...)                  \
+do {                                                   \
+       if (0)                                          \
+               printk(KERN_DEBUG "IPG: " fmt, ##args); \
+} while (0)
+#  define IPG_DDEBUG_MSG(fmt, args...)                 \
+do {                                                   \
+       if (0)                                          \
+               printk(KERN_DEBUG "IPG: " fmt, ##args); \
+} while (0)
 #  define IPG_DUMPRFDLIST(args)
 #  define IPG_DUMPTFDLIST(args)
 #endif
@@ -773,11 +701,12 @@ struct ipg_rx {
        __le64 frag_info;
 };
 
-struct SJumbo {
-       int FoundStart;
-       int CurrentSize;
+struct ipg_jumbo {
+       int found_start;
+       int current_size;
        struct sk_buff *skb;
 };
+
 /* Structure of IPG NIC specific data. */
 struct ipg_nic_private {
        void __iomem *ioaddr;
@@ -785,16 +714,17 @@ struct ipg_nic_private {
        struct ipg_rx *rxd;
        dma_addr_t txd_map;
        dma_addr_t rxd_map;
-       struct sk_buff *TxBuff[IPG_TFDLIST_LENGTH];
-       struct sk_buff *RxBuff[IPG_RFDLIST_LENGTH];
+       struct sk_buff *tx_buff[IPG_TFDLIST_LENGTH];
+       struct sk_buff *rx_buff[IPG_RFDLIST_LENGTH];
        unsigned int tx_current;
        unsigned int tx_dirty;
        unsigned int rx_current;
        unsigned int rx_dirty;
-// Add by Grace 2005/05/19
-#ifdef JUMBO_FRAME
-       struct SJumbo Jumbo;
-#endif
+       bool is_jumbo;
+       struct ipg_jumbo jumbo;
+       unsigned long rxfrag_size;
+       unsigned long rxsupport_size;
+       unsigned long max_rxframe_size;
        unsigned int rx_buf_sz;
        struct pci_dev *pdev;
        struct net_device *dev;
@@ -802,13 +732,12 @@ struct ipg_nic_private {
        spinlock_t lock;
        int tenmbpsmode;
 
-       /*Jesse20040128EEPROM_VALUE */
-       u16 LED_Mode;
+       u16 led_mode;
        u16 station_addr[3];    /* Station Address in EEPROM Reg 0x10..0x12 */
 
        struct mutex            mii_mutex;
        struct mii_if_info      mii_if;
-       int ResetCurrentTFD;
+       int reset_current_tfd;
 #ifdef IPG_DEBUG
        int RFDlistendCount;
        int RFDListCheckedCount;