Messages in this thread | | | Subject | Re: [RFC PATCH 4/5] net: macb: Add support for suspend/resume with full power down | From | Claudiu Beznea <> | Date | Thu, 3 May 2018 15:23:06 +0300 |
| |
On 03.05.2018 14:20, Harini Katakam wrote: > Hi Claudiu, > > On Thu, May 3, 2018 at 3:39 PM, Claudiu Beznea > <Claudiu.Beznea@microchip.com> wrote: >> >> >> On 22.03.2018 15:51, harinikatakamlinux@gmail.com wrote: >>> From: Harini Katakam <harinik@xilinx.com> >>> >>> When macb device is suspended and system is powered down, the clocks >>> are removed and hence macb should be closed gracefully and restored >>> upon resume. >> >> Is this a power saving mode which shut down the core? > > The Ethernet IP is suspended and a majority of the SoC is shut down, yes. > > <snip> >>> + netif_device_detach(netdev); >>> + } else { >>> + netif_device_detach(netdev); >>> + for (q = 0, queue = bp->queues; q < bp->num_queues; ++q, ++queue) >>> + napi_disable(&queue->napi); >>> + phy_stop(netdev->phydev); >>> + phy_suspend(netdev->phydev); >>> + spin_lock_irqsave(&bp->lock, flags); >>> + macb_reset_hw(bp); >>> + spin_unlock_irqrestore(&bp->lock, flags); >> >> Wouldn't be simple to just call macb_close() here? > > <snip> >> >> Wouln't be simpler to call macb_open() here? > > No, I think that would be excessive for suspend. This does just > enough to put the IP into suspend and cut off clocks. > For ex., the RX and TX buffers are not freed and allocated again > in this cycle, just the buffer descriptors. >
For me looks simpler to just call macb_close()/macb_open() in suspend/resume hooks. Maybe this doesn't fit to your needs... But most of the code you added in suspend/resume hooks is already present in macb_open()/macb_close(), except the TX/RX buffers alloc/free.
SAMA5D2 also uses this IP. SAMA5d2 has a power saving mode where core power is cut off (including this IP). We are using macb_open()/macb_close() + restoring all few other registers after this (by calling macb_set_rx_mode() and a variant of macb_set_features() and few other registers). This is not yet mainlined. I was intending to send soon a version.
Thank you, Claudiu
> Regards, > Harini >
| |