]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/pasemi_mac.h
time: fold __get_realtime_clock_ts() into getnstimeofday()
[linux-2.6-omap-h63xx.git] / drivers / net / pasemi_mac.h
index c61c0110e08527b81fd0c289fe6bc12dc908c96a..8bee2a664c83760d12a897eb4230331f6e99c229 100644 (file)
 #include <linux/spinlock.h>
 #include <linux/phy.h>
 
+#define MAX_LRO_DESCRIPTORS 8
+
 struct pasemi_mac_txring {
+       struct pasemi_dmachan chan; /* Must be first */
        spinlock_t       lock;
-       u64             *status; /* Ptr to cacheable status area */
-       u64             *ring;
-       dma_addr_t       dma;
        unsigned int     size;
        unsigned int     next_to_fill;
        unsigned int     next_to_clean;
        struct pasemi_mac_buffer *ring_info;
-       int              chan;
        struct pasemi_mac *mac; /* Needed in intr handler */
+       struct timer_list clean_timer;
 };
 
 struct pasemi_mac_rxring {
+       struct pasemi_dmachan chan; /* Must be first */
        spinlock_t       lock;
-       u64             *status; /* Ptr to cacheable status area */
-       u64             *ring;  /* RX channel descriptor ring */
-       dma_addr_t       dma;
        u64             *buffers;       /* RX interface buffer ring */
        dma_addr_t       buf_dma;
        unsigned int     size;
@@ -55,9 +53,6 @@ struct pasemi_mac_rxring {
 
 struct pasemi_mac {
        struct net_device *netdev;
-       void __iomem *regs;
-       void __iomem *dma_regs;
-       void __iomem *iob_regs;
        struct pci_dev *pdev;
        struct pci_dev *dma_pdev;
        struct pci_dev *iob_pdev;
@@ -67,18 +62,17 @@ struct pasemi_mac {
        u8              type;
 #define MAC_TYPE_GMAC  1
 #define MAC_TYPE_XAUI  2
-       u32     dma_txch;
-       u32     dma_rxch;
        u32     dma_if;
 
        u8              mac_addr[6];
 
+       struct net_lro_mgr      lro_mgr;
+       struct net_lro_desc     lro_desc[MAX_LRO_DESCRIPTORS];
        struct timer_list       rxtimer;
+       unsigned int            lro_max_aggr;
 
        struct pasemi_mac_txring *tx;
        struct pasemi_mac_rxring *rx;
-       unsigned int    tx_irq;
-       unsigned int    rx_irq;
        char            tx_irq_name[10];                /* "eth%d tx" */
        char            rx_irq_name[10];                /* "eth%d rx" */
        int     link;