From: Thierry Reding <thierry.reding@avionic-design.de>
To: Philip Avinash <avinashphilip@ti.com>
Cc: linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
nsekhar@ti.com, gururaja.hebbar@ti.com
Subject: Re: [PATCH 2/2] pwm: pwm-tiecap: Low power sleep support
Date: Mon, 14 Jan 2013 08:10:34 +0100 [thread overview]
Message-ID: <20130114071034.GB21994@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <1357823024-17585-3-git-send-email-avinashphilip@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1888 bytes --]
On Thu, Jan 10, 2013 at 06:33:44PM +0530, Philip Avinash wrote:
> In low power modes of AM33XX platforms, peripherals power is cut off.
> This patch supports low power sleep transition support for ECAP driver.
>
> Signed-off-by: Philip Avinash <avinashphilip@ti.com>
> ---
> drivers/pwm/pwm-tiecap.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/drivers/pwm/pwm-tiecap.c b/drivers/pwm/pwm-tiecap.c
> index 5cf016d..9dde1fe 100644
> --- a/drivers/pwm/pwm-tiecap.c
> +++ b/drivers/pwm/pwm-tiecap.c
> @@ -41,10 +41,17 @@
> #define ECCTL2_SYNC_SEL_DISA (BIT(7) | BIT(6))
> #define ECCTL2_TSCTR_FREERUN BIT(4)
>
> +struct ecap_regs {
> + u32 cap3;
> + u32 cap4;
> + u16 ecctl2;
> +};
Perhaps name this ecap_context for consistency with the EHRPWM driver?
> +void ecap_pwm_save_reg(struct ecap_pwm_chip *pc)
> +{
> + pm_runtime_get_sync(pc->chip.dev);
> + pc->ctx.ecctl2 = readw(pc->mmio_base + ECCTL2);
> + pc->ctx.cap4 = readl(pc->mmio_base + CAP4);
> + pc->ctx.cap3 = readl(pc->mmio_base + CAP3);
> + pm_runtime_put_sync(pc->chip.dev);
> +}
> +
> +void ecap_pwm_restore_reg(struct ecap_pwm_chip *pc)
> +{
> + writel(pc->ctx.cap3, pc->mmio_base + CAP3);
> + writel(pc->ctx.cap4, pc->mmio_base + CAP4);
> + writew(pc->ctx.ecctl2, pc->mmio_base + ECCTL2);
> +}
Then rename these ecap_pwm_{save,restore}_context()?
> +static int ecap_pwm_suspend(struct device *dev)
> +{
> + struct ecap_pwm_chip *pc = dev_get_drvdata(dev);
> +
> + ecap_pwm_save_reg(pc);
> + pm_runtime_put_sync(dev);
> + return 0;
> +}
> +
> +static int ecap_pwm_resume(struct device *dev)
> +{
> + struct ecap_pwm_chip *pc = dev_get_drvdata(dev);
> +
> + pm_runtime_get_sync(dev);
> + ecap_pwm_restore_reg(pc);
> + return 0;
> +}
Same comment as for the EHRPWM driver applies here.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-01-14 7:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-10 13:03 [PATCH 0/2] LOW power sleep support for TI PWM submodules Philip Avinash
2013-01-10 13:03 ` Philip Avinash
2013-01-10 13:03 ` [PATCH 1/2] pwm: pwm-tiehrpwm: Low power sleep support Philip Avinash
2013-01-10 13:03 ` Philip Avinash
2013-01-14 7:08 ` Thierry Reding
2013-01-16 12:14 ` Philip, Avinash
2013-01-16 12:30 ` Thierry Reding
2013-01-10 13:03 ` [PATCH 2/2] pwm: pwm-tiecap: " Philip Avinash
2013-01-10 13:03 ` Philip Avinash
2013-01-14 7:10 ` Thierry Reding [this message]
2013-01-16 12:13 ` Philip, Avinash
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=20130114071034.GB21994@avionic-0098.adnet.avionic-design.de \
--to=thierry.reding@avionic-design.de \
--cc=avinashphilip@ti.com \
--cc=gururaja.hebbar@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=nsekhar@ti.com \
/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.