--- drivers/net/dl2k.h.orig     2006-09-07 10:33:05.000000000 +0300
+++ drivers/net/dl2k.h  2006-09-07 10:33:17.000000000 +0300
@@ -36,7 +36,7 @@
 #include <linux/spinlock.h>
 #include <linux/time.h>
 #define TX_RING_SIZE   256
-#define TX_QUEUE_LEN   (TX_RING_SIZE - 1) /* Limit ring entries actually 
used.*/
+#define TX_QUEUE_LEN   (TX_RING_SIZE - 10) /* Limit ring entries actually 
used.*/
 #define RX_RING_SIZE   256
 #define TX_TOTAL_SIZE  TX_RING_SIZE*sizeof(struct netdev_desc)
 #define RX_TOTAL_SIZE  RX_RING_SIZE*sizeof(struct netdev_desc)
@@ -243,6 +243,7 @@
        VLANTagInsert = 0x0000000010000000,
        TFDDone = 0x80000000,
        VIDShift = 32,
+       CFI = 0x0000100000000000,
        UsePriorityShift = 48,
 };
 
@@ -512,7 +513,7 @@
        u16 image;
        struct {
                u16 _bit_11_0:12;       // bit 11:0
-               u16 media_1000BT_HD:2;  // bit 12
+               u16 media_1000BT_HD:1;  // bit 12
                u16 media_1000BT_FD:1;  // bit 13
                u16 media_1000BX_HD:1;  // bit 14
                u16 media_1000BX_FD:1;  // bit 15
@@ -655,6 +656,8 @@
        struct net_device_stats stats;
        unsigned int rx_buf_sz;         /* Based on MTU+slack. */
        unsigned int speed;             /* Operating speed */
+       struct tasklet_struct tx_tasklet;
+       struct tasklet_struct rx_tasklet;
        unsigned int vlan;              /* VLAN Id */
        unsigned int chip_id;           /* PCI table chip id */
        unsigned int rx_coalesce;       /* Maximum frames each RxDMAComplete 
intr */
@@ -672,6 +675,9 @@
        struct netdev_desc *last_tx;    /* Last Tx descriptor used. */
        unsigned long cur_rx, old_rx;   /* Producer/consumer ring indices */
        unsigned long cur_tx, old_tx;
+       unsigned long cur_task;
+       atomic_t tx_desc_lock;
+       int budget;
        struct timer_list timer;
        int wake_polarity;
        char name[256];         /* net device description */
@@ -683,6 +689,11 @@
 };
 
 /* The station address location in the EEPROM. */
+#ifdef MEM_MAPPING
+#define PCI_IOTYPE (PCI_USES_MASTER | PCI_USES_MEM | PCI_ADDR1)
+#else
+#define PCI_IOTYPE (PCI_USES_MASTER | PCI_USES_IO  | PCI_ADDR0)
+#endif
 /* The struct pci_device_id consist of:
         vendor, device          Vendor and device ID to match (or PCI_ANY_ID)
         subvendor, subdevice    Subsystem vendor and device ID to match (or 
PCI_ANY_ID)
@@ -690,10 +701,9 @@
         class_mask              of the class are honored during the comparison.
         driver_data             Data private to the driver.
 */
-
-static const struct pci_device_id rio_pci_tbl[] = {
-       {0x1186, 0x4000, PCI_ANY_ID, PCI_ANY_ID, },
-       { }
+static struct pci_device_id rio_pci_tbl[] __devinitdata = {
+       {0x1186, 0x4000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+       {0,}
 };
 MODULE_DEVICE_TABLE (pci, rio_pci_tbl);
 #define TX_TIMEOUT  (4*HZ)
@@ -704,4 +714,5 @@
 #define DEFAULT_RXT            750
 #define DEFAULT_TXC            1
 #define MAX_TXC                        8
+#define RX_BUDGET              RX_RING_SIZE/2
 #endif                         /* __DL2K_H__ */

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to