From: Tony Lindgren <tony@atomide.com>
To: Lokesh Vutla <lokeshvutla@ti.com>
Cc: "Thierry Reding" <thierry.reding@gmail.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Linux OMAP Mailing List" <linux-omap@vger.kernel.org>,
linux-kernel@vger.kernel.org, linux-pwm@vger.kernel.org,
"Sekhar Nori" <nsekhar@ti.com>, "Vignesh R" <vigneshr@ti.com>,
"Sebastian Reichel" <sre@kernel.org>
Subject: Re: [PATCH v2 4/6] pwm: omap-dmtimer: Fix pwm disabling sequence
Date: Fri, 6 Mar 2020 10:14:43 -0800 [thread overview]
Message-ID: <20200306181443.GJ37466@atomide.com> (raw)
In-Reply-To: <20200228095651.32464-5-lokeshvutla@ti.com>
* Lokesh Vutla <lokeshvutla@ti.com> [200228 09:58]:
> pwm_omap_dmtimer_disable() calls .stop callback which abruptly stops the
> timer counter. This doesn't complete the current pwm cycle and
> immediately disables the pwm. Instead disable the auto reload
> functionality which allows to complete the current pwm cycle and then
> disables the timer.
>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> ---
> drivers/pwm/pwm-omap-dmtimer.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pwm/pwm-omap-dmtimer.c b/drivers/pwm/pwm-omap-dmtimer.c
> index bc338619232d..89b3c25d02b8 100644
> --- a/drivers/pwm/pwm-omap-dmtimer.c
> +++ b/drivers/pwm/pwm-omap-dmtimer.c
> @@ -93,8 +93,16 @@ static void pwm_omap_dmtimer_disable(struct pwm_chip *chip,
> {
> struct pwm_omap_dmtimer_chip *omap = to_pwm_omap_dmtimer_chip(chip);
>
> + /*
> + * Disable auto reload so that the current cycle gets completed and
> + * then the counter stops.
> + */
> mutex_lock(&omap->mutex);
> - omap->pdata->stop(omap->dm_timer);
> + omap->pdata->set_pwm(omap->dm_timer,
> + pwm_get_polarity(pwm) == PWM_POLARITY_INVERSED,
> + true, OMAP_TIMER_TRIGGER_OVERFLOW_AND_COMPARE,
> + false);
> +
> mutex_unlock(&omap->mutex);
> }
I'm seeing an issue with this patch where after use something is
left on and power consumption stays higher by about 30 mW after
use.
I can reproduce this easily on droid4 with Sebastian's rumble-test
app[0]. After use, I sometimes also hear the vibrator keep chirping
quietly, so there seems to be some pwm still happening after disable :)
Reloading modules for pwm-vibra and pwm-omap-dmtimer make the power
consumption go back down again.
If you have a scope set up, maybe check the lines are quiet after
disable after this patch?
Regards,
Tony
[0] https://git.collabora.com/cgit/user/sre/rumble-test.git/plain/rumble-test.c
next prev parent reply other threads:[~2020-03-06 18:14 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-28 9:56 [PATCH v2 0/5] pwm: omap-dmtimer: Allow for dynamic pwm period updates Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
2020-02-28 9:56 ` [PATCH v2 1/6] pwm: omap-dmtimer: Drop unused header file Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
2020-03-06 18:03 ` Tony Lindgren
2020-02-28 9:56 ` [PATCH v2 2/6] pwm: omap-dmtimer: Update description for pwm omap dm timer Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
2020-03-06 18:03 ` Tony Lindgren
2020-02-28 9:56 ` [PATCH v2 3/6] pwm: omap-dmtimer: Fix pwm enabling sequence Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
2020-03-06 18:04 ` Tony Lindgren
2020-02-28 9:56 ` [PATCH v2 4/6] pwm: omap-dmtimer: Fix pwm disabling sequence Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
2020-03-06 18:14 ` Tony Lindgren [this message]
2020-03-09 4:51 ` Lokesh Vutla
2020-03-09 12:30 ` Sebastian Reichel
2020-03-09 18:01 ` Tony Lindgren
2020-03-10 7:04 ` Lokesh Vutla
2020-03-10 15:52 ` Tony Lindgren
2020-03-11 4:12 ` Lokesh Vutla
2020-03-12 0:58 ` Tony Lindgren
2020-03-13 15:34 ` Tony Lindgren
2020-03-13 15:50 ` Tony Lindgren
2020-02-28 9:56 ` [PATCH v2 5/6] pwm: omap-dmtimer: Do not disable pwm before changing period/duty_cycle Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
2020-03-06 18:17 ` Tony Lindgren
2020-02-28 9:56 ` [PATCH v2 6/6] pwm: omap-dmtimer: Implement .apply callback Lokesh Vutla
2020-02-28 9:56 ` Lokesh Vutla
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=20200306181443.GJ37466@atomide.com \
--to=tony@atomide.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=lokeshvutla@ti.com \
--cc=nsekhar@ti.com \
--cc=sre@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=u.kleine-koenig@pengutronix.de \
--cc=vigneshr@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.