diff options
| author | Petri Gynther <pgynther@google.com> | 2015-03-25 15:35:12 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-03-27 17:26:14 -0400 |
| commit | b2e97eca88f07d1a4dae691ad8d751ba1de15645 (patch) | |
| tree | 997ce6dcc5ea2d674e919ec03e403912e04d96d9 /drivers/net/ethernet/broadcom | |
| parent | ebbd96fb2861f591df011cd0eac67dd367596cca (diff) | |
net: bcmgenet: tweak init_umac()
Use more meaningful variable names int0_enable and int1_enable when
enabling bcmgenet interrupts.
For Rx default queue interrupts, use:
UMAC_IRQ_RXDMA_BDONE | UMAC_IRQ_RXDMA_PDONE
For Tx default queue interrupts, use:
UMAC_IRQ_TXDMA_BDONE | UMAC_IRQ_TXDMA_PDONE
Signed-off-by: Petri Gynther <pgynther@google.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom')
| -rw-r--r-- | drivers/net/ethernet/broadcom/genet/bcmgenet.c | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 1c9f9b418c52..68873beba760 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c | |||
| @@ -1652,8 +1652,10 @@ static int init_umac(struct bcmgenet_priv *priv) | |||
| 1652 | { | 1652 | { |
| 1653 | struct device *kdev = &priv->pdev->dev; | 1653 | struct device *kdev = &priv->pdev->dev; |
| 1654 | int ret; | 1654 | int ret; |
| 1655 | u32 reg, cpu_mask_clear; | 1655 | u32 reg; |
| 1656 | int index; | 1656 | u32 int0_enable = 0; |
| 1657 | u32 int1_enable = 0; | ||
| 1658 | int i; | ||
| 1657 | 1659 | ||
| 1658 | dev_dbg(&priv->pdev->dev, "bcmgenet: init_umac\n"); | 1660 | dev_dbg(&priv->pdev->dev, "bcmgenet: init_umac\n"); |
| 1659 | 1661 | ||
| @@ -1680,15 +1682,17 @@ static int init_umac(struct bcmgenet_priv *priv) | |||
| 1680 | 1682 | ||
| 1681 | bcmgenet_intr_disable(priv); | 1683 | bcmgenet_intr_disable(priv); |
| 1682 | 1684 | ||
| 1683 | cpu_mask_clear = UMAC_IRQ_RXDMA_BDONE | UMAC_IRQ_TXDMA_BDONE; | 1685 | /* Enable Rx default queue 16 interrupts */ |
| 1686 | int0_enable |= (UMAC_IRQ_RXDMA_BDONE | UMAC_IRQ_RXDMA_PDONE); | ||
| 1684 | 1687 | ||
| 1685 | dev_dbg(kdev, "%s:Enabling RXDMA_BDONE interrupt\n", __func__); | 1688 | /* Enable Tx default queue 16 interrupts */ |
| 1689 | int0_enable |= (UMAC_IRQ_TXDMA_BDONE | UMAC_IRQ_TXDMA_PDONE); | ||
| 1686 | 1690 | ||
| 1687 | /* Monitor cable plug/unplugged event for internal PHY */ | 1691 | /* Monitor cable plug/unplugged event for internal PHY */ |
| 1688 | if (phy_is_internal(priv->phydev)) { | 1692 | if (phy_is_internal(priv->phydev)) { |
| 1689 | cpu_mask_clear |= (UMAC_IRQ_LINK_DOWN | UMAC_IRQ_LINK_UP); | 1693 | int0_enable |= (UMAC_IRQ_LINK_DOWN | UMAC_IRQ_LINK_UP); |
| 1690 | } else if (priv->ext_phy) { | 1694 | } else if (priv->ext_phy) { |
| 1691 | cpu_mask_clear |= (UMAC_IRQ_LINK_DOWN | UMAC_IRQ_LINK_UP); | 1695 | int0_enable |= (UMAC_IRQ_LINK_DOWN | UMAC_IRQ_LINK_UP); |
| 1692 | } else if (priv->phy_interface == PHY_INTERFACE_MODE_MOCA) { | 1696 | } else if (priv->phy_interface == PHY_INTERFACE_MODE_MOCA) { |
| 1693 | reg = bcmgenet_bp_mc_get(priv); | 1697 | reg = bcmgenet_bp_mc_get(priv); |
| 1694 | reg |= BIT(priv->hw_params->bp_in_en_shift); | 1698 | reg |= BIT(priv->hw_params->bp_in_en_shift); |
| @@ -1703,13 +1707,14 @@ static int init_umac(struct bcmgenet_priv *priv) | |||
| 1703 | 1707 | ||
| 1704 | /* Enable MDIO interrupts on GENET v3+ */ | 1708 | /* Enable MDIO interrupts on GENET v3+ */ |
| 1705 | if (priv->hw_params->flags & GENET_HAS_MDIO_INTR) | 1709 | if (priv->hw_params->flags & GENET_HAS_MDIO_INTR) |
| 1706 | cpu_mask_clear |= UMAC_IRQ_MDIO_DONE | UMAC_IRQ_MDIO_ERROR; | 1710 | int0_enable |= (UMAC_IRQ_MDIO_DONE | UMAC_IRQ_MDIO_ERROR); |
| 1707 | 1711 | ||
| 1708 | bcmgenet_intrl2_0_writel(priv, cpu_mask_clear, INTRL2_CPU_MASK_CLEAR); | 1712 | /* Enable Tx priority queue interrupts */ |
| 1713 | for (i = 0; i < priv->hw_params->tx_queues; ++i) | ||
| 1714 | int1_enable |= (1 << i); | ||
| 1709 | 1715 | ||
| 1710 | for (index = 0; index < priv->hw_params->tx_queues; index++) | 1716 | bcmgenet_intrl2_0_writel(priv, int0_enable, INTRL2_CPU_MASK_CLEAR); |
| 1711 | bcmgenet_intrl2_1_writel(priv, (1 << index), | 1717 | bcmgenet_intrl2_1_writel(priv, int1_enable, INTRL2_CPU_MASK_CLEAR); |
| 1712 | INTRL2_CPU_MASK_CLEAR); | ||
| 1713 | 1718 | ||
| 1714 | /* Enable rx/tx engine.*/ | 1719 | /* Enable rx/tx engine.*/ |
| 1715 | dev_dbg(kdev, "done init umac\n"); | 1720 | dev_dbg(kdev, "done init umac\n"); |
| @@ -2111,7 +2116,8 @@ static int bcmgenet_poll(struct napi_struct *napi, int budget) | |||
| 2111 | 2116 | ||
| 2112 | if (work_done < budget) { | 2117 | if (work_done < budget) { |
| 2113 | napi_complete(napi); | 2118 | napi_complete(napi); |
| 2114 | bcmgenet_intrl2_0_writel(priv, UMAC_IRQ_RXDMA_BDONE, | 2119 | bcmgenet_intrl2_0_writel(priv, UMAC_IRQ_RXDMA_BDONE | |
| 2120 | UMAC_IRQ_RXDMA_PDONE, | ||
| 2115 | INTRL2_CPU_MASK_CLEAR); | 2121 | INTRL2_CPU_MASK_CLEAR); |
| 2116 | } | 2122 | } |
| 2117 | 2123 | ||
| @@ -2198,7 +2204,8 @@ static irqreturn_t bcmgenet_isr0(int irq, void *dev_id) | |||
| 2198 | * Disable interrupt, will be enabled in the poll method. | 2204 | * Disable interrupt, will be enabled in the poll method. |
| 2199 | */ | 2205 | */ |
| 2200 | if (likely(napi_schedule_prep(&priv->napi))) { | 2206 | if (likely(napi_schedule_prep(&priv->napi))) { |
| 2201 | bcmgenet_intrl2_0_writel(priv, UMAC_IRQ_RXDMA_BDONE, | 2207 | bcmgenet_intrl2_0_writel(priv, UMAC_IRQ_RXDMA_BDONE | |
| 2208 | UMAC_IRQ_RXDMA_PDONE, | ||
| 2202 | INTRL2_CPU_MASK_SET); | 2209 | INTRL2_CPU_MASK_SET); |
| 2203 | __napi_schedule(&priv->napi); | 2210 | __napi_schedule(&priv->napi); |
| 2204 | } | 2211 | } |
