All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mugunthan V N <mugunthanvnm@ti.com>
To: Grygorii Strashko <grygorii.strashko@ti.com>,
	"David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org
Cc: Sekhar Nori <nsekhar@ti.com>,
	linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 00/15] drivers: net: cpsw: improve runtime pm
Date: Mon, 27 Jun 2016 14:48:11 +0530	[thread overview]
Message-ID: <5770EF53.3090500@ti.com> (raw)
In-Reply-To: <20160624182355.23515-1-grygorii.strashko@ti.com>

On Friday 24 June 2016 11:53 PM, Grygorii Strashko wrote:
> This series intended to improve runtime PM and allow CPSW to be
> RPM suspended when all ethX netdevices are down.
> 
> To achieve above goal it is required to relax runtime PM constraints for
> Davinci MDIO which blocks CPSW runtime PM now, because Davinci MDIO is always
> powered on during probe and powered off only when it's going to be removed.
> - Patches 6-11 implement PM runtime autosuspend for Davinci MDIO, but keep it
> disabled by default, because Davinci MDIO is integrated in big set of TI devices
> and not all of them verified to work correctly with RPM autosuspend enabled:
>  expected to work on SoCs where MDIO is defined as part of CPSW in DT
>  (cpsw.c DRA7/am57x, am437x, am335x)
> The CPSW need to be fixed before RPM suspended can be allowed:
>  - Patches 1-5 ensure that CPSW will not cause L3 errors while it is in RPM
>    suspended state.
> 
> Davinci MDIO RPM autosuspend can be enabled through sysfs:
>  echo 100 > /sys/devices/../48484000.ethernet/48485000.mdio/power/autosuspend_delay_ms
> 
> Patches 12 - 15: introduce new compatible string "ti,cpsw-mdio" which is used
> then to enable RPM for am335x/am437x/dra7 SoCs.
> 
> Tested on am335x, am437x, am572x and k2g (on k2g with RPM disabled for Davinci MDIO)
> These changes should not affect on errata i877 implementation on DRA7.
> 
> Power measurement on am335x GP EVM:
>  Without this series:  547.60 mW total SoC power
>  With this series + "ifconfig eth0 down": 477.32 mW Total Soc Power
> 
> Changes in v2:
> - CPSW ethtool interface updated to use .begin()/.complete() callbacks
> - kbuild failure fixed
> - davinci_mdio DT updated with proper description of allowed compatible strings
>   combinations
> 
> Link on v1:
>  https://lkml.org/lkml/2016/6/15/362

For the series.
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>

Regards
Mugunthan V N

> 
> Grygorii Strashko (15):
>   drivers: net: cpsw: fix suspend when all ethX devices are down
>   drivers: net: cpsw: check return code from pm runtime calls
>   drivers: net: cpsw: remove pm runtime calls from suspend callbacks
>   drivers: net: cpsw: ethtool: fix accessing to suspended device
>   drivers: net: cpsw: ndev: fix accessing to suspended device
>   drivers: net: davinci_mdio: do pm runtime initialization later in probe
>   drivers: net: davinci_mdio: remove pm runtime calls from suspend callbacks
>   drivers: net: davinci_mdio: drop suspended and lock fields from mdio_data
>   drivers: net: davinci_mdio: split reset function on init_clk and enable
>   drivers: net: davinci_mdio: add pm runtime callbacks
>   drivers: net: davinci_mdio: implement pm runtime auto mode
>   net: davinci_mdio: document missed "ti,am4372-mdio" compat string
>   net: davinci_mdio: introduce "ti,cpsw-mdio" compat string
>   drivers: net: davinci_mdio: enable pm runtime auto for ti cpsw-mdio
>   ARM: dts: am335x/am437x/dra7: use new "ti,cpsw-mdio" compat string
> 
>  .../devicetree/bindings/net/davinci-mdio.txt       |   5 +-
>  arch/arm/boot/dts/am33xx.dtsi                      |   2 +-
>  arch/arm/boot/dts/am4372.dtsi                      |   2 +-
>  arch/arm/boot/dts/dra7.dtsi                        |   2 +-
>  drivers/net/ethernet/ti/cpsw.c                     |  79 ++++++++--
>  drivers/net/ethernet/ti/davinci_mdio.c             | 169 +++++++++++++--------
>  6 files changed, 182 insertions(+), 77 deletions(-)
> 

WARNING: multiple messages have this Message-ID (diff)
From: Mugunthan V N <mugunthanvnm@ti.com>
To: Grygorii Strashko <grygorii.strashko@ti.com>,
	"David S. Miller" <davem@davemloft.net>, <netdev@vger.kernel.org>
Cc: Sekhar Nori <nsekhar@ti.com>, <linux-kernel@vger.kernel.org>,
	<linux-omap@vger.kernel.org>,
	Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>,
	Rob Herring <robh+dt@kernel.org>, <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 00/15] drivers: net: cpsw: improve runtime pm
Date: Mon, 27 Jun 2016 14:48:11 +0530	[thread overview]
Message-ID: <5770EF53.3090500@ti.com> (raw)
In-Reply-To: <20160624182355.23515-1-grygorii.strashko@ti.com>

On Friday 24 June 2016 11:53 PM, Grygorii Strashko wrote:
> This series intended to improve runtime PM and allow CPSW to be
> RPM suspended when all ethX netdevices are down.
> 
> To achieve above goal it is required to relax runtime PM constraints for
> Davinci MDIO which blocks CPSW runtime PM now, because Davinci MDIO is always
> powered on during probe and powered off only when it's going to be removed.
> - Patches 6-11 implement PM runtime autosuspend for Davinci MDIO, but keep it
> disabled by default, because Davinci MDIO is integrated in big set of TI devices
> and not all of them verified to work correctly with RPM autosuspend enabled:
>  expected to work on SoCs where MDIO is defined as part of CPSW in DT
>  (cpsw.c DRA7/am57x, am437x, am335x)
> The CPSW need to be fixed before RPM suspended can be allowed:
>  - Patches 1-5 ensure that CPSW will not cause L3 errors while it is in RPM
>    suspended state.
> 
> Davinci MDIO RPM autosuspend can be enabled through sysfs:
>  echo 100 > /sys/devices/../48484000.ethernet/48485000.mdio/power/autosuspend_delay_ms
> 
> Patches 12 - 15: introduce new compatible string "ti,cpsw-mdio" which is used
> then to enable RPM for am335x/am437x/dra7 SoCs.
> 
> Tested on am335x, am437x, am572x and k2g (on k2g with RPM disabled for Davinci MDIO)
> These changes should not affect on errata i877 implementation on DRA7.
> 
> Power measurement on am335x GP EVM:
>  Without this series:  547.60 mW total SoC power
>  With this series + "ifconfig eth0 down": 477.32 mW Total Soc Power
> 
> Changes in v2:
> - CPSW ethtool interface updated to use .begin()/.complete() callbacks
> - kbuild failure fixed
> - davinci_mdio DT updated with proper description of allowed compatible strings
>   combinations
> 
> Link on v1:
>  https://lkml.org/lkml/2016/6/15/362

For the series.
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>

Regards
Mugunthan V N

> 
> Grygorii Strashko (15):
>   drivers: net: cpsw: fix suspend when all ethX devices are down
>   drivers: net: cpsw: check return code from pm runtime calls
>   drivers: net: cpsw: remove pm runtime calls from suspend callbacks
>   drivers: net: cpsw: ethtool: fix accessing to suspended device
>   drivers: net: cpsw: ndev: fix accessing to suspended device
>   drivers: net: davinci_mdio: do pm runtime initialization later in probe
>   drivers: net: davinci_mdio: remove pm runtime calls from suspend callbacks
>   drivers: net: davinci_mdio: drop suspended and lock fields from mdio_data
>   drivers: net: davinci_mdio: split reset function on init_clk and enable
>   drivers: net: davinci_mdio: add pm runtime callbacks
>   drivers: net: davinci_mdio: implement pm runtime auto mode
>   net: davinci_mdio: document missed "ti,am4372-mdio" compat string
>   net: davinci_mdio: introduce "ti,cpsw-mdio" compat string
>   drivers: net: davinci_mdio: enable pm runtime auto for ti cpsw-mdio
>   ARM: dts: am335x/am437x/dra7: use new "ti,cpsw-mdio" compat string
> 
>  .../devicetree/bindings/net/davinci-mdio.txt       |   5 +-
>  arch/arm/boot/dts/am33xx.dtsi                      |   2 +-
>  arch/arm/boot/dts/am4372.dtsi                      |   2 +-
>  arch/arm/boot/dts/dra7.dtsi                        |   2 +-
>  drivers/net/ethernet/ti/cpsw.c                     |  79 ++++++++--
>  drivers/net/ethernet/ti/davinci_mdio.c             | 169 +++++++++++++--------
>  6 files changed, 182 insertions(+), 77 deletions(-)
> 

  parent reply	other threads:[~2016-06-27  9:18 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-24 18:23 [PATCH v2 00/15] drivers: net: cpsw: improve runtime pm Grygorii Strashko
2016-06-24 18:23 ` Grygorii Strashko
2016-06-24 18:23 ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 01/15] drivers: net: cpsw: fix suspend when all ethX devices are down Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 02/15] drivers: net: cpsw: check return code from pm runtime calls Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 03/15] drivers: net: cpsw: remove pm runtime calls from suspend callbacks Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 04/15] drivers: net: cpsw: ethtool: fix accessing to suspended device Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 05/15] drivers: net: cpsw: ndev: " Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 06/15] drivers: net: davinci_mdio: do pm runtime initialization later in probe Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 07/15] drivers: net: davinci_mdio: remove pm runtime calls from suspend callbacks Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 08/15] drivers: net: davinci_mdio: drop suspended and lock fields from mdio_data Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 09/15] drivers: net: davinci_mdio: split reset function on init_clk and enable Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 10/15] drivers: net: davinci_mdio: add pm runtime callbacks Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 11/15] drivers: net: davinci_mdio: implement pm runtime auto mode Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 12/15] net: davinci_mdio: document missed "ti,am4372-mdio" compat string Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 13/15] net: davinci_mdio: introduce "ti,cpsw-mdio" " Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 14/15] drivers: net: davinci_mdio: enable pm runtime auto for ti cpsw-mdio Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-24 18:23 ` [PATCH v2 15/15] ARM: dts: am335x/am437x/dra7: use new "ti,cpsw-mdio" compat string Grygorii Strashko
2016-06-24 18:23   ` Grygorii Strashko
2016-06-27  9:18 ` Mugunthan V N [this message]
2016-06-27  9:18   ` [PATCH v2 00/15] drivers: net: cpsw: improve runtime pm Mugunthan V N
     [not found] ` <20160624182355.23515-1-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2016-06-28 12:58   ` David Miller
2016-06-28 12:58     ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5770EF53.3090500@ti.com \
    --to=mugunthanvnm@ti.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=grygorii.strashko@ti.com \
    --cc=ivan.khoronzhuk@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.