diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/s2io.c | 113 |
1 files changed, 1 insertions, 112 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 9b9b28e85a7d..b4c4cf467dc6 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -1658,7 +1658,7 @@ static void en_dis_able_nic_intrs(struct s2io_nic *nic, u16 mask, int flag) | |||
1658 | /* PIC Interrupts */ | 1658 | /* PIC Interrupts */ |
1659 | if ((mask & (TX_PIC_INTR | RX_PIC_INTR))) { | 1659 | if ((mask & (TX_PIC_INTR | RX_PIC_INTR))) { |
1660 | /* Enable PIC Intrs in the general intr mask register */ | 1660 | /* Enable PIC Intrs in the general intr mask register */ |
1661 | val64 = TXPIC_INT_M | PIC_RX_INT_M; | 1661 | val64 = TXPIC_INT_M; |
1662 | if (flag == ENABLE_INTRS) { | 1662 | if (flag == ENABLE_INTRS) { |
1663 | temp64 = readq(&bar0->general_int_mask); | 1663 | temp64 = readq(&bar0->general_int_mask); |
1664 | temp64 &= ~((u64) val64); | 1664 | temp64 &= ~((u64) val64); |
@@ -1696,70 +1696,6 @@ static void en_dis_able_nic_intrs(struct s2io_nic *nic, u16 mask, int flag) | |||
1696 | } | 1696 | } |
1697 | } | 1697 | } |
1698 | 1698 | ||
1699 | /* DMA Interrupts */ | ||
1700 | /* Enabling/Disabling Tx DMA interrupts */ | ||
1701 | if (mask & TX_DMA_INTR) { | ||
1702 | /* Enable TxDMA Intrs in the general intr mask register */ | ||
1703 | val64 = TXDMA_INT_M; | ||
1704 | if (flag == ENABLE_INTRS) { | ||
1705 | temp64 = readq(&bar0->general_int_mask); | ||
1706 | temp64 &= ~((u64) val64); | ||
1707 | writeq(temp64, &bar0->general_int_mask); | ||
1708 | /* | ||
1709 | * Keep all interrupts other than PFC interrupt | ||
1710 | * and PCC interrupt disabled in DMA level. | ||
1711 | */ | ||
1712 | val64 = DISABLE_ALL_INTRS & ~(TXDMA_PFC_INT_M | | ||
1713 | TXDMA_PCC_INT_M); | ||
1714 | writeq(val64, &bar0->txdma_int_mask); | ||
1715 | /* | ||
1716 | * Enable only the MISC error 1 interrupt in PFC block | ||
1717 | */ | ||
1718 | val64 = DISABLE_ALL_INTRS & (~PFC_MISC_ERR_1); | ||
1719 | writeq(val64, &bar0->pfc_err_mask); | ||
1720 | /* | ||
1721 | * Enable only the FB_ECC error interrupt in PCC block | ||
1722 | */ | ||
1723 | val64 = DISABLE_ALL_INTRS & (~PCC_FB_ECC_ERR); | ||
1724 | writeq(val64, &bar0->pcc_err_mask); | ||
1725 | } else if (flag == DISABLE_INTRS) { | ||
1726 | /* | ||
1727 | * Disable TxDMA Intrs in the general intr mask | ||
1728 | * register | ||
1729 | */ | ||
1730 | writeq(DISABLE_ALL_INTRS, &bar0->txdma_int_mask); | ||
1731 | writeq(DISABLE_ALL_INTRS, &bar0->pfc_err_mask); | ||
1732 | temp64 = readq(&bar0->general_int_mask); | ||
1733 | val64 |= temp64; | ||
1734 | writeq(val64, &bar0->general_int_mask); | ||
1735 | } | ||
1736 | } | ||
1737 | |||
1738 | /* Enabling/Disabling Rx DMA interrupts */ | ||
1739 | if (mask & RX_DMA_INTR) { | ||
1740 | /* Enable RxDMA Intrs in the general intr mask register */ | ||
1741 | val64 = RXDMA_INT_M; | ||
1742 | if (flag == ENABLE_INTRS) { | ||
1743 | temp64 = readq(&bar0->general_int_mask); | ||
1744 | temp64 &= ~((u64) val64); | ||
1745 | writeq(temp64, &bar0->general_int_mask); | ||
1746 | /* | ||
1747 | * All RxDMA block interrupts are disabled for now | ||
1748 | * TODO | ||
1749 | */ | ||
1750 | writeq(DISABLE_ALL_INTRS, &bar0->rxdma_int_mask); | ||
1751 | } else if (flag == DISABLE_INTRS) { | ||
1752 | /* | ||
1753 | * Disable RxDMA Intrs in the general intr mask | ||
1754 | * register | ||
1755 | */ | ||
1756 | writeq(DISABLE_ALL_INTRS, &bar0->rxdma_int_mask); | ||
1757 | temp64 = readq(&bar0->general_int_mask); | ||
1758 | val64 |= temp64; | ||
1759 | writeq(val64, &bar0->general_int_mask); | ||
1760 | } | ||
1761 | } | ||
1762 | |||
1763 | /* MAC Interrupts */ | 1699 | /* MAC Interrupts */ |
1764 | /* Enabling/Disabling MAC interrupts */ | 1700 | /* Enabling/Disabling MAC interrupts */ |
1765 | if (mask & (TX_MAC_INTR | RX_MAC_INTR)) { | 1701 | if (mask & (TX_MAC_INTR | RX_MAC_INTR)) { |
@@ -1786,53 +1722,6 @@ static void en_dis_able_nic_intrs(struct s2io_nic *nic, u16 mask, int flag) | |||
1786 | } | 1722 | } |
1787 | } | 1723 | } |
1788 | 1724 | ||
1789 | /* XGXS Interrupts */ | ||
1790 | if (mask & (TX_XGXS_INTR | RX_XGXS_INTR)) { | ||
1791 | val64 = TXXGXS_INT_M | RXXGXS_INT_M; | ||
1792 | if (flag == ENABLE_INTRS) { | ||
1793 | temp64 = readq(&bar0->general_int_mask); | ||
1794 | temp64 &= ~((u64) val64); | ||
1795 | writeq(temp64, &bar0->general_int_mask); | ||
1796 | /* | ||
1797 | * All XGXS block error interrupts are disabled for now | ||
1798 | * TODO | ||
1799 | */ | ||
1800 | writeq(DISABLE_ALL_INTRS, &bar0->xgxs_int_mask); | ||
1801 | } else if (flag == DISABLE_INTRS) { | ||
1802 | /* | ||
1803 | * Disable MC Intrs in the general intr mask register | ||
1804 | */ | ||
1805 | writeq(DISABLE_ALL_INTRS, &bar0->xgxs_int_mask); | ||
1806 | temp64 = readq(&bar0->general_int_mask); | ||
1807 | val64 |= temp64; | ||
1808 | writeq(val64, &bar0->general_int_mask); | ||
1809 | } | ||
1810 | } | ||
1811 | |||
1812 | /* Memory Controller(MC) interrupts */ | ||
1813 | if (mask & MC_INTR) { | ||
1814 | val64 = MC_INT_M; | ||
1815 | if (flag == ENABLE_INTRS) { | ||
1816 | temp64 = readq(&bar0->general_int_mask); | ||
1817 | temp64 &= ~((u64) val64); | ||
1818 | writeq(temp64, &bar0->general_int_mask); | ||
1819 | /* | ||
1820 | * Enable all MC Intrs. | ||
1821 | */ | ||
1822 | writeq(0x0, &bar0->mc_int_mask); | ||
1823 | writeq(0x0, &bar0->mc_err_mask); | ||
1824 | } else if (flag == DISABLE_INTRS) { | ||
1825 | /* | ||
1826 | * Disable MC Intrs in the general intr mask register | ||
1827 | */ | ||
1828 | writeq(DISABLE_ALL_INTRS, &bar0->mc_int_mask); | ||
1829 | temp64 = readq(&bar0->general_int_mask); | ||
1830 | val64 |= temp64; | ||
1831 | writeq(val64, &bar0->general_int_mask); | ||
1832 | } | ||
1833 | } | ||
1834 | |||
1835 | |||
1836 | /* Tx traffic interrupts */ | 1725 | /* Tx traffic interrupts */ |
1837 | if (mask & TX_TRAFFIC_INTR) { | 1726 | if (mask & TX_TRAFFIC_INTR) { |
1838 | val64 = TXTRAFFIC_INT_M; | 1727 | val64 = TXTRAFFIC_INT_M; |