@ -337,33 +337,19 @@ static int stmmac_init_phy(struct net_device *dev)
return 0 ;
}
static inline void stmmac_mac_enable_rx ( void __iomem * ioaddr )
static inline void stmmac_enable_mac ( void __iomem * ioaddr )
{
u32 value = readl ( ioaddr + MAC_CTRL_REG ) ;
value | = MAC_RNABLE_RX ;
/* Set the RE (receive enable bit into the MAC CTRL register). */
writel ( value , ioaddr + MAC_CTRL_REG ) ;
}
static inline void stmmac_mac_enable_tx ( void __iomem * ioaddr )
{
u32 value = readl ( ioaddr + MAC_CTRL_REG ) ;
value | = MAC_ENABLE_TX ;
/* Set the TE (transmit enable bit into the MAC CTRL register). */
value | = MAC_RNABLE_RX | MAC_ENABLE_TX ;
writel ( value , ioaddr + MAC_CTRL_REG ) ;
}
static inline void stmmac_mac_disable_rx ( void __iomem * ioaddr )
static inline void stmmac_disable_mac ( void __iomem * ioaddr )
{
u32 value = readl ( ioaddr + MAC_CTRL_REG ) ;
value & = ~ MAC_RNABLE_RX ;
writel ( value , ioaddr + MAC_CTRL_REG ) ;
}
static inline void stmmac_mac_disable_tx ( void __iomem * ioaddr )
{
u32 value = readl ( ioaddr + MAC_CTRL_REG ) ;
value & = ~ MAC_ENABLE_TX ;
value & = ~ ( MAC_ENABLE_TX | MAC_RNABLE_RX ) ;
writel ( value , ioaddr + MAC_CTRL_REG ) ;
}
@ -857,8 +843,7 @@ static int stmmac_open(struct net_device *dev)
writel ( 0xffffffff , priv - > ioaddr + MMC_LOW_INTR_MASK ) ;
/* Enable the MAC Rx/Tx */
stmmac_mac_enable_rx ( priv - > ioaddr ) ;
stmmac_mac_enable_tx ( priv - > ioaddr ) ;
stmmac_enable_mac ( priv - > ioaddr ) ;
/* Set the HW DMA mode and the COE */
stmmac_dma_operation_mode ( priv ) ;
@ -928,9 +913,8 @@ static int stmmac_release(struct net_device *dev)
/* Release and free the Rx/Tx resources */
free_dma_desc_resources ( priv ) ;
/* Disable the MAC core */
stmmac_mac_disable_tx ( priv - > ioaddr ) ;
stmmac_mac_disable_rx ( priv - > ioaddr ) ;
/* Disable the MAC Rx/Tx */
stmmac_disable_mac ( priv - > ioaddr ) ;
netif_carrier_off ( dev ) ;
@ -1787,8 +1771,7 @@ static int stmmac_dvr_remove(struct platform_device *pdev)
priv - > hw - > dma - > stop_rx ( priv - > ioaddr ) ;
priv - > hw - > dma - > stop_tx ( priv - > ioaddr ) ;
stmmac_mac_disable_rx ( priv - > ioaddr ) ;
stmmac_mac_disable_tx ( priv - > ioaddr ) ;
stmmac_disable_mac ( priv - > ioaddr ) ;
netif_carrier_off ( ndev ) ;
@ -1839,13 +1822,11 @@ static int stmmac_suspend(struct platform_device *pdev, pm_message_t state)
dis_ic ) ;
priv - > hw - > desc - > init_tx_desc ( priv - > dma_tx , priv - > dma_tx_size ) ;
stmmac_mac_disable_tx ( priv - > ioaddr ) ;
/* Enable Power down mode by programming the PMT regs */
if ( device_can_wakeup ( priv - > device ) )
priv - > hw - > mac - > pmt ( priv - > ioaddr , priv - > wolopts ) ;
else
stmmac_mac_disable_rx ( priv - > ioaddr ) ;
stmmac_disable_mac ( priv - > ioaddr ) ;
} else {
priv - > shutdown = 1 ;
/* Although this can appear slightly redundant it actually
@ -1886,8 +1867,7 @@ static int stmmac_resume(struct platform_device *pdev)
netif_device_attach ( dev ) ;
/* Enable the MAC and DMA */
stmmac_mac_enable_rx ( priv - > ioaddr ) ;
stmmac_mac_enable_tx ( priv - > ioaddr ) ;
stmmac_enable_mac ( priv - > ioaddr ) ;
priv - > hw - > dma - > start_tx ( priv - > ioaddr ) ;
priv - > hw - > dma - > start_rx ( priv - > ioaddr ) ;