From: Sergei Shtylyov <sergei.shtylyov@cogentembedded•com>
To: Ben Dooks <ben.dooks@codethink•co.uk>, netdev@vger•kernel.org
Cc: linux-sh@vger•kernel.org, nobuhiro.iwamatsu.yj@renesas•com,
magnus.damn@opensource•se, horms@verge•net.au
Subject: Re: [PATCH] sh_net: runtime pm wrap mdio read and write
Date: Wed, 26 Feb 2014 22:21:32 +0300 [thread overview]
Message-ID: <530E3EBC.5060408@cogentembedded.com> (raw)
In-Reply-To: <1393433319-22685-1-git-send-email-ben.dooks@codethink.co.uk>
On 02/26/2014 07:48 PM, Ben Dooks wrote:
> On the R8A7790, if the device has been suspended by pm_runtime
> and the MII code tries to access the bus then there is a possiblity
s/possiblity/possibility/.
> that it will fail to read any data from the MII bus.
> Change the MDIO read and write calls to be wrappered by calls to
s/wrappered/wrapped/.
> pm_runtime_{get,put}_sync so that the device will be enabled during
> these calls. It is put here to avoid having to enable and disable
> the clock for every bit that is sent by the MII bit-banging code.
> This has been exposed by the change to using OF and a fix to enable
> the pm_runtime clock management which seems to have been broken for
> some time for the device-tree booted Renesas kernels.
What fix to enable run-time PM are you talking about?
> Signed-off-by: Ben Dooks <ben.dooks@codethink•co.uk>
> ---
> drivers/net/ethernet/renesas/sh_eth.c | 39 +++++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
> diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
> index b92034c..8d1b84e 100644
> --- a/drivers/net/ethernet/renesas/sh_eth.c
> +++ b/drivers/net/ethernet/renesas/sh_eth.c
> @@ -983,6 +983,8 @@ static unsigned long sh_eth_get_edtrr_trns(struct sh_eth_private *mdp)
>
> struct bb_info {
> void (*set_gate)(void *addr);
> + int (*mdio_read)(struct mii_bus *bus, int phy_id, int regnum);
> + int (*mdio_write)(struct mii_bus *bus, int phy_id, int regnum, u16 val);
Please indent with tabs.
> @@ -1071,6 +1073,38 @@ static struct mdiobb_ops bb_ops = {
> .get_mdio_data = sh_get_mdio,
> };
>
> +/* Wrapper to ensure bitbang ops have device runtime-pm enabled */
> +
> +static inline struct bb_info *mii_to_bitbang(struct mii_bus *bus)
> +{
> + struct mdiobb_ctrl *ctrl = bus->priv;
Empty line between declaration and the other code needed.
> + return container_of(ctrl, struct bb_info, ctrl);
> +}
[...]
WBR, Sergei
next prev parent reply other threads:[~2014-02-26 19:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-26 16:48 [PATCH] sh_net: runtime pm wrap mdio read and write Ben Dooks
2014-02-26 19:21 ` Sergei Shtylyov [this message]
2014-02-26 18:25 ` Ben Dooks
2014-02-26 19:23 ` Sergei Shtylyov
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=530E3EBC.5060408@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded$(echo .)com \
--cc=ben.dooks@codethink$(echo .)co.uk \
--cc=horms@verge$(echo .)net.au \
--cc=linux-sh@vger$(echo .)kernel.org \
--cc=magnus.damn@opensource$(echo .)se \
--cc=netdev@vger$(echo .)kernel.org \
--cc=nobuhiro.iwamatsu.yj@renesas$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox