linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / net / skge.h
index 593387b..941f12a 100644 (file)
@@ -1734,11 +1734,11 @@ enum {
        GM_TXCR_FORCE_JAM       = 1<<15, /* Bit 15:     Force Jam / Flow-Control */
        GM_TXCR_CRC_DIS         = 1<<14, /* Bit 14:     Disable insertion of CRC */
        GM_TXCR_PAD_DIS         = 1<<13, /* Bit 13:     Disable padding of packets */
-       GM_TXCR_COL_THR_MSK     = 7<<10, /* Bit 12..10: Collision Threshold */
+       GM_TXCR_COL_THR_MSK     = 1<<10, /* Bit 12..10: Collision Threshold */
 };
 
 #define TX_COL_THR(x)          (((x)<<10) & GM_TXCR_COL_THR_MSK)
-#define TX_COL_DEF             0x04    /* late collision after 64 byte */
+#define TX_COL_DEF             0x04
 
 /*     GM_RX_CTRL                      16 bit r/w      Receive Control Register */
 enum {
@@ -2388,7 +2388,6 @@ struct skge_ring {
 struct skge_hw {
        void __iomem         *regs;
        struct pci_dev       *pdev;
-       spinlock_t           hw_lock;
        u32                  intr_mask;
        struct net_device    *dev[2];
 
@@ -2400,8 +2399,10 @@ struct skge_hw {
        u32                  ram_size;
        u32                  ram_offset;
        u16                  phy_addr;
-       struct work_struct   phy_work;
-       struct mutex         phy_mutex;
+
+       struct tasklet_struct ext_tasklet;
+       spinlock_t           phy_lock;
+       spinlock_t           hw_lock;
 };
 
 enum {
@@ -2418,6 +2419,7 @@ struct skge_port {
        int                  port;
 
        spinlock_t           tx_lock;
+       u32                  tx_avail;
        struct skge_ring     tx_ring;
        struct skge_ring     rx_ring;