]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
net: bcmgenet: remove handling of wol interrupts from isr0
authorDoug Berger <opendmb@gmail.com>
Tue, 14 Mar 2017 00:41:36 +0000 (17:41 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Mar 2017 04:51:50 +0000 (21:51 -0700)
The bcmgenet_wol_isr() handler performs the necessary processing for
waking from a GENET event.  There is no necessary functionality behind
servicing the UMAC_IRQ_MPD_R event in the handling of isr0.  Therefore
the code that unmasks and masks this interrupt and that gets invoked
in response to it is removed by this commit.

Signed-off-by: Doug Berger <opendmb@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmgenet.c
drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c

index 9be8840216799cbb7a1013bb8abd5396bfaae426..661ca1b39c89dbba13a9580a65184684ffcc0c02 100644 (file)
@@ -2455,13 +2455,6 @@ static void bcmgenet_irq_task(struct work_struct *work)
 
        netif_dbg(priv, intr, priv->dev, "%s\n", __func__);
 
-       if (priv->irq0_stat & UMAC_IRQ_MPD_R) {
-               priv->irq0_stat &= ~UMAC_IRQ_MPD_R;
-               netif_dbg(priv, wol, priv->dev,
-                         "magic packet detected, waking up\n");
-               bcmgenet_power_up(priv, GENET_POWER_WOL_MAGIC);
-       }
-
        /* Link UP/DOWN event */
        if (priv->irq0_stat & UMAC_IRQ_LINK_EVENT) {
                phy_mac_interrupt(priv->phydev,
@@ -2558,8 +2551,7 @@ static irqreturn_t bcmgenet_isr0(int irq, void *dev_id)
                                UMAC_IRQ_PHY_DET_F |
                                UMAC_IRQ_LINK_EVENT |
                                UMAC_IRQ_HFB_SM |
-                               UMAC_IRQ_HFB_MM |
-                               UMAC_IRQ_MPD_R)) {
+                               UMAC_IRQ_HFB_MM)) {
                /* all other interested interrupts handled in bottom half */
                schedule_work(&priv->bcmgenet_irq_work);
        }
index b97122926d3aa91210a8945d45f268d370c86ee4..2fbd027f0148f96003a08405177883e9df832769 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Broadcom GENET (Gigabit Ethernet) Wake-on-LAN support
  *
- * Copyright (c) 2014 Broadcom Corporation
+ * Copyright (c) 2014-2017 Broadcom
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -127,7 +127,6 @@ int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv,
                                enum bcmgenet_power_mode mode)
 {
        struct net_device *dev = priv->dev;
-       u32 cpu_mask_clear;
        int retries = 0;
        u32 reg;
 
@@ -173,18 +172,12 @@ int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv,
                bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT);
        }
 
-       /* Enable the MPD interrupt */
-       cpu_mask_clear = UMAC_IRQ_MPD_R;
-
-       bcmgenet_intrl2_0_writel(priv, cpu_mask_clear, INTRL2_CPU_MASK_CLEAR);
-
        return 0;
 }
 
 void bcmgenet_wol_power_up_cfg(struct bcmgenet_priv *priv,
                               enum bcmgenet_power_mode mode)
 {
-       u32 cpu_mask_set;
        u32 reg;
 
        if (mode != GENET_POWER_WOL_MAGIC) {
@@ -201,10 +194,4 @@ void bcmgenet_wol_power_up_cfg(struct bcmgenet_priv *priv,
        reg &= ~CMD_CRC_FWD;
        bcmgenet_umac_writel(priv, reg, UMAC_CMD);
        priv->crc_fwd_en = 0;
-
-       /* Stop monitoring magic packet IRQ */
-       cpu_mask_set = UMAC_IRQ_MPD_R;
-
-       /* Stop monitoring magic packet IRQ */
-       bcmgenet_intrl2_0_writel(priv, cpu_mask_set, INTRL2_CPU_MASK_SET);
 }