]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/sky2.h
[PATCH] m68k: amifb __user annotations
[linux-2.6-omap-h63xx.git] / drivers / net / sky2.h
index 7943dd42ac94778f6f437a7925cfda8e5c0c8222..95518921001c47d03789ae15729234c72ecbf733 100644 (file)
@@ -1777,11 +1777,15 @@ struct sky2_status_le {
        u8      opcode;
 } __attribute((packed));
 
+struct tx_ring_info {
+       struct sk_buff  *skb;
+       DECLARE_PCI_UNMAP_ADDR(mapaddr);
+       u16             idx;
+};
+
 struct ring_info {
        struct sk_buff  *skb;
        dma_addr_t      mapaddr;
-       u16             maplen;
-       u16             idx;
 };
 
 struct sky2_port {
@@ -1791,7 +1795,7 @@ struct sky2_port {
        u32                  msg_enable;
 
        spinlock_t           tx_lock  ____cacheline_aligned_in_smp;
-       struct ring_info     *tx_ring;
+       struct tx_ring_info  *tx_ring;
        struct sky2_tx_le    *tx_le;
        u16                  tx_cons;           /* next le to check */
        u16                  tx_prod;           /* next le to use */
@@ -1807,6 +1811,7 @@ struct sky2_port {
        u16                  rx_put;            /* next le index to use */
        u16                  rx_pending;
        u16                  rx_last_put;
+       u16                  rx_bufsize;
 #ifdef SKY2_VLAN_TAG_USED
        u16                  rx_tag;
        struct vlan_group    *vlgrp;
@@ -1823,8 +1828,10 @@ struct sky2_port {
        u8                   rx_csum;
        u8                   wol;
 
-       struct tasklet_struct phy_task;
        struct net_device_stats net_stats;
+
+       struct work_struct   phy_task;
+       struct semaphore     phy_sema;
 };
 
 struct sky2_hw {
@@ -1842,8 +1849,6 @@ struct sky2_hw {
        struct sky2_status_le *st_le;
        u32                  st_idx;
        dma_addr_t           st_dma;
-
-       spinlock_t           phy_lock;
 };
 
 /* Register accessor for memory mapped device */