static int socfpga_dwmac_resume(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); struct stmmac_priv *priv = netdev_priv(ndev); socfpga_dwmac_set_phy_mode(priv->plat->bsp_priv); /* Before the enet controller is suspended, the phy is suspended. * This causes the phy clock to be gated. The enet controller is * resumed before the phy, so the clock is still gated "off" when * the enet controller is resumed. This code makes sure the phy * is "resumed" before reinitializing the enet controller since * the enet controller depends on an active phy clock to complete * a DMA reset. A DMA reset will "time out" if executed * with no phy clock input on the Synopsys enet controller. * Verified through Synopsys Case #8000711656. * * Note that the phy clock is also gated when the phy is isolated. * Phy "suspend" and "isolate" controls are located in phy basic * control register 0, and can be modified by the phy driver * framework. */ if (priv->phydev) phy_resume(priv->phydev); return stmmac_resume(dev); }
static int stmmac_pci_resume(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); struct net_device *ndev = pci_get_drvdata(pdev); return stmmac_resume(ndev); }
static int stmmac_pci_resume(struct pci_dev *pdev) { struct net_device *ndev = pci_get_drvdata(pdev); pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); return stmmac_resume(ndev); }
static int stmmac_pltfr_resume(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); struct stmmac_priv *priv = netdev_priv(ndev); struct platform_device *pdev = to_platform_device(dev); if (priv->plat->init) priv->plat->init(pdev, priv->plat->bsp_priv); return stmmac_resume(ndev); }
static int rk_gmac_resume(struct device *dev) { struct rk_priv_data *bsp_priv = get_stmmac_bsp_priv(dev); /* The PHY was up for Wake-on-Lan. */ if (bsp_priv->suspended) { rk_gmac_powerup(bsp_priv); bsp_priv->suspended = false; } return stmmac_resume(dev); }
static int stmmac_pltfr_resume(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); struct stmmac_priv *priv = netdev_priv(ndev); struct platform_device *pdev = to_platform_device(dev); //lldebugout(" +++++ plat_resume enter\n"); //if (priv->plat->init) // priv->plat->init(pdev); return stmmac_resume(ndev); }
static int oxnas_dwmac_resume(struct device *dev) { struct oxnas_dwmac *dwmac = get_stmmac_bsp_priv(dev); int ret; ret = oxnas_dwmac_init(dwmac); if (ret) return ret; ret = stmmac_resume(dev); return ret; }
static int stm32_dwmac_resume(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); struct stmmac_priv *priv = netdev_priv(ndev); int ret; ret = stm32_dwmac_init(priv->plat); if (ret) return ret; ret = stmmac_resume(dev); return ret; }
static int __maybe_unused stmmac_pci_resume(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); int ret; pci_restore_state(pdev); pci_set_power_state(pdev, PCI_D0); ret = pci_enable_device(pdev); if (ret) return ret; pci_set_master(pdev); return stmmac_resume(dev); }
int stmmac_pltfr_restore(struct device *dev) { struct plat_stmmacenet_data *plat_dat = dev_get_platdata(dev); struct net_device *ndev = dev_get_drvdata(dev); struct platform_device *pdev = to_platform_device(dev); struct stmmac_priv *priv = netdev_priv(ndev); if (device_may_wakeup(priv->device)) { stmmac_resume(ndev); stmmac_freeze(ndev); if (plat_dat->exit) plat_dat->exit(pdev); } if (plat_dat->init) plat_dat->init(pdev); return stmmac_restore(ndev); }
static int stmmac_pltfr_resume(struct device *dev) { struct net_device *ndev = dev_get_drvdata(dev); return stmmac_resume(ndev); }