diff options
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r-- | drivers/net/sky2.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index dce955c76f3c..d63cd5a1b71c 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -278,13 +278,11 @@ enum { | |||
278 | Y2_IS_CHK_TXS1 = 1<<1, /* Descriptor error TXS 1 */ | 278 | Y2_IS_CHK_TXS1 = 1<<1, /* Descriptor error TXS 1 */ |
279 | Y2_IS_CHK_TXA1 = 1<<0, /* Descriptor error TXA 1 */ | 279 | Y2_IS_CHK_TXA1 = 1<<0, /* Descriptor error TXA 1 */ |
280 | 280 | ||
281 | Y2_IS_BASE = Y2_IS_HW_ERR | Y2_IS_STAT_BMU | | 281 | Y2_IS_BASE = Y2_IS_HW_ERR | Y2_IS_STAT_BMU, |
282 | Y2_IS_POLL_CHK | Y2_IS_TWSI_RDY | | 282 | Y2_IS_PORT_1 = Y2_IS_IRQ_PHY1 | Y2_IS_IRQ_MAC1 |
283 | Y2_IS_IRQ_SW | Y2_IS_TIMINT, | 283 | | Y2_IS_CHK_TXA1 | Y2_IS_CHK_RX1, |
284 | Y2_IS_PORT_1 = Y2_IS_IRQ_PHY1 | Y2_IS_IRQ_MAC1 | | 284 | Y2_IS_PORT_2 = Y2_IS_IRQ_PHY2 | Y2_IS_IRQ_MAC2 |
285 | Y2_IS_CHK_RX1 | Y2_IS_CHK_TXA1 | Y2_IS_CHK_TXS1, | 285 | | Y2_IS_CHK_TXA2 | Y2_IS_CHK_RX2, |
286 | Y2_IS_PORT_2 = Y2_IS_IRQ_PHY2 | Y2_IS_IRQ_MAC2 | | ||
287 | Y2_IS_CHK_RX2 | Y2_IS_CHK_TXA2 | Y2_IS_CHK_TXS2, | ||
288 | }; | 286 | }; |
289 | 287 | ||
290 | /* B2_IRQM_HWE_MSK 32 bit IRQ Moderation HW Error Mask */ | 288 | /* B2_IRQM_HWE_MSK 32 bit IRQ Moderation HW Error Mask */ |
@@ -1832,6 +1830,7 @@ struct sky2_port { | |||
1832 | struct net_device *netdev; | 1830 | struct net_device *netdev; |
1833 | unsigned port; | 1831 | unsigned port; |
1834 | u32 msg_enable; | 1832 | u32 msg_enable; |
1833 | spinlock_t phy_lock; | ||
1835 | 1834 | ||
1836 | spinlock_t tx_lock ____cacheline_aligned_in_smp; | 1835 | spinlock_t tx_lock ____cacheline_aligned_in_smp; |
1837 | struct tx_ring_info *tx_ring; | 1836 | struct tx_ring_info *tx_ring; |
@@ -1840,7 +1839,6 @@ struct sky2_port { | |||
1840 | u16 tx_prod; /* next le to use */ | 1839 | u16 tx_prod; /* next le to use */ |
1841 | u32 tx_addr64; | 1840 | u32 tx_addr64; |
1842 | u16 tx_pending; | 1841 | u16 tx_pending; |
1843 | u16 tx_last_put; | ||
1844 | u16 tx_last_mss; | 1842 | u16 tx_last_mss; |
1845 | 1843 | ||
1846 | struct ring_info *rx_ring ____cacheline_aligned_in_smp; | 1844 | struct ring_info *rx_ring ____cacheline_aligned_in_smp; |
@@ -1849,7 +1847,6 @@ struct sky2_port { | |||
1849 | u16 rx_next; /* next re to check */ | 1847 | u16 rx_next; /* next re to check */ |
1850 | u16 rx_put; /* next le index to use */ | 1848 | u16 rx_put; /* next le index to use */ |
1851 | u16 rx_pending; | 1849 | u16 rx_pending; |
1852 | u16 rx_last_put; | ||
1853 | u16 rx_bufsize; | 1850 | u16 rx_bufsize; |
1854 | #ifdef SKY2_VLAN_TAG_USED | 1851 | #ifdef SKY2_VLAN_TAG_USED |
1855 | u16 rx_tag; | 1852 | u16 rx_tag; |
@@ -1865,20 +1862,15 @@ struct sky2_port { | |||
1865 | u8 rx_pause; | 1862 | u8 rx_pause; |
1866 | u8 tx_pause; | 1863 | u8 tx_pause; |
1867 | u8 rx_csum; | 1864 | u8 rx_csum; |
1868 | u8 wol; | ||
1869 | 1865 | ||
1870 | struct net_device_stats net_stats; | 1866 | struct net_device_stats net_stats; |
1871 | 1867 | ||
1872 | struct work_struct phy_task; | ||
1873 | struct semaphore phy_sema; | ||
1874 | }; | 1868 | }; |
1875 | 1869 | ||
1876 | struct sky2_hw { | 1870 | struct sky2_hw { |
1877 | void __iomem *regs; | 1871 | void __iomem *regs; |
1878 | struct pci_dev *pdev; | 1872 | struct pci_dev *pdev; |
1879 | struct net_device *dev[2]; | 1873 | struct net_device *dev[2]; |
1880 | spinlock_t hw_lock; | ||
1881 | u32 intr_mask; | ||
1882 | 1874 | ||
1883 | int pm_cap; | 1875 | int pm_cap; |
1884 | u8 chip_id; | 1876 | u8 chip_id; |
@@ -1889,6 +1881,8 @@ struct sky2_hw { | |||
1889 | struct sky2_status_le *st_le; | 1881 | struct sky2_status_le *st_le; |
1890 | u32 st_idx; | 1882 | u32 st_idx; |
1891 | dma_addr_t st_dma; | 1883 | dma_addr_t st_dma; |
1884 | int msi_detected; | ||
1885 | wait_queue_head_t msi_wait; | ||
1892 | }; | 1886 | }; |
1893 | 1887 | ||
1894 | /* Register accessor for memory mapped device */ | 1888 | /* Register accessor for memory mapped device */ |