aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/s2io.c113
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;