Lines Matching refs:priv

46 	struct bcmgenet_priv *priv = netdev_priv(dev);  in bcmgenet_get_wol()  local
50 wol->wolopts = priv->wolopts; in bcmgenet_get_wol()
54 reg = bcmgenet_umac_readl(priv, UMAC_MPD_PW_MS); in bcmgenet_get_wol()
56 reg = bcmgenet_umac_readl(priv, UMAC_MPD_PW_LS); in bcmgenet_get_wol()
66 struct bcmgenet_priv *priv = netdev_priv(dev); in bcmgenet_set_wol() local
67 struct device *kdev = &priv->pdev->dev; in bcmgenet_set_wol()
76 reg = bcmgenet_umac_readl(priv, UMAC_MPD_CTRL); in bcmgenet_set_wol()
78 bcmgenet_umac_writel(priv, get_unaligned_be16(&wol->sopass[0]), in bcmgenet_set_wol()
80 bcmgenet_umac_writel(priv, get_unaligned_be32(&wol->sopass[2]), in bcmgenet_set_wol()
86 bcmgenet_umac_writel(priv, reg, UMAC_MPD_CTRL); in bcmgenet_set_wol()
92 if (priv->wol_irq_disabled) in bcmgenet_set_wol()
93 enable_irq_wake(priv->wol_irq); in bcmgenet_set_wol()
94 priv->wol_irq_disabled = false; in bcmgenet_set_wol()
98 if (!priv->wol_irq_disabled) in bcmgenet_set_wol()
99 disable_irq_wake(priv->wol_irq); in bcmgenet_set_wol()
100 priv->wol_irq_disabled = true; in bcmgenet_set_wol()
103 priv->wolopts = wol->wolopts; in bcmgenet_set_wol()
108 static int bcmgenet_poll_wol_status(struct bcmgenet_priv *priv) in bcmgenet_poll_wol_status() argument
110 struct net_device *dev = priv->dev; in bcmgenet_poll_wol_status()
113 while (!(bcmgenet_rbuf_readl(priv, RBUF_STATUS) in bcmgenet_poll_wol_status()
126 int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv, in bcmgenet_wol_power_down_cfg() argument
129 struct net_device *dev = priv->dev; in bcmgenet_wol_power_down_cfg()
135 netif_err(priv, wol, dev, "unsupported mode: %d\n", mode); in bcmgenet_wol_power_down_cfg()
140 reg = bcmgenet_umac_readl(priv, UMAC_CMD); in bcmgenet_wol_power_down_cfg()
142 bcmgenet_umac_writel(priv, reg, UMAC_CMD); in bcmgenet_wol_power_down_cfg()
145 reg = bcmgenet_umac_readl(priv, UMAC_MPD_CTRL); in bcmgenet_wol_power_down_cfg()
147 bcmgenet_umac_writel(priv, reg, UMAC_MPD_CTRL); in bcmgenet_wol_power_down_cfg()
150 retries = bcmgenet_poll_wol_status(priv); in bcmgenet_wol_power_down_cfg()
152 reg = bcmgenet_umac_readl(priv, UMAC_MPD_CTRL); in bcmgenet_wol_power_down_cfg()
154 bcmgenet_umac_writel(priv, reg, UMAC_MPD_CTRL); in bcmgenet_wol_power_down_cfg()
158 netif_dbg(priv, wol, dev, "MPD WOL-ready status set after %d msec\n", in bcmgenet_wol_power_down_cfg()
162 reg = bcmgenet_umac_readl(priv, UMAC_CMD); in bcmgenet_wol_power_down_cfg()
163 priv->crc_fwd_en = 1; in bcmgenet_wol_power_down_cfg()
168 bcmgenet_umac_writel(priv, reg, UMAC_CMD); in bcmgenet_wol_power_down_cfg()
170 if (priv->hw_params->flags & GENET_HAS_EXT) { in bcmgenet_wol_power_down_cfg()
171 reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT); in bcmgenet_wol_power_down_cfg()
173 bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT); in bcmgenet_wol_power_down_cfg()
179 bcmgenet_intrl2_0_writel(priv, cpu_mask_clear, INTRL2_CPU_MASK_CLEAR); in bcmgenet_wol_power_down_cfg()
184 void bcmgenet_wol_power_up_cfg(struct bcmgenet_priv *priv, in bcmgenet_wol_power_up_cfg() argument
191 netif_err(priv, wol, priv->dev, "invalid mode: %d\n", mode); in bcmgenet_wol_power_up_cfg()
195 reg = bcmgenet_umac_readl(priv, UMAC_MPD_CTRL); in bcmgenet_wol_power_up_cfg()
197 bcmgenet_umac_writel(priv, reg, UMAC_MPD_CTRL); in bcmgenet_wol_power_up_cfg()
200 reg = bcmgenet_umac_readl(priv, UMAC_CMD); in bcmgenet_wol_power_up_cfg()
202 bcmgenet_umac_writel(priv, reg, UMAC_CMD); in bcmgenet_wol_power_up_cfg()
203 priv->crc_fwd_en = 0; in bcmgenet_wol_power_up_cfg()
209 bcmgenet_intrl2_0_writel(priv, cpu_mask_set, INTRL2_CPU_MASK_SET); in bcmgenet_wol_power_up_cfg()