From: Lee Jones <lee.jones@linaro.org>
To: Fabio Baltieri <fabio.baltieri@linaro.org>
Cc: Ola Lilja <ola.o.lilja@stericsson.com>,
alsa-devel@alsa-project.org,
Linus Walleij <linus.walleij@linaro.org>,
Liam Girdwood <lgirdwood@gmail.com>,
linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH 2/6] ASoC: ux500: Do not clear state if already idle
Date: Wed, 8 May 2013 09:04:48 +0100 [thread overview]
Message-ID: <20130508080448.GG3102@gmail.com> (raw)
In-Reply-To: <1367997261-32048-3-git-send-email-fabio.baltieri@linaro.org>
On Wed, 08 May 2013, Fabio Baltieri wrote:
> As enable_msp gets called only after some audio data has been received,
> if the userspace closes the device before sending any data it causes
> ux500_msp_i2s_close to clear device state even if it was not previously
> initialized.
>
> This in turns leads to some non necessary but harmless writel, but also
Singular ^
> to decrementing the pinctrl usage counter (pinctrl_rxtx_ref) below zero.
>
> To prevent this from happening add a condition to skip register and
> pinctrl clear if current msp state is already MSP_STATE_IDLE.
>
> Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
> ---
> sound/soc/ux500/ux500_msp_i2s.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
> index a26c6bf..964cfd6 100644
> --- a/sound/soc/ux500/ux500_msp_i2s.c
> +++ b/sound/soc/ux500/ux500_msp_i2s.c
> @@ -638,7 +638,7 @@ int ux500_msp_i2s_close(struct ux500_msp *msp, unsigned int dir)
> dev_dbg(msp->dev, "%s: Enter (dir = 0x%01x).\n", __func__, dir);
>
> status = disable_msp(msp, dir);
> - if (msp->dir_busy == 0) {
> + if (msp->dir_busy == 0 && msp->msp_state != MSP_STATE_IDLE) {
> /* disable sample rate and frame generators */
> msp->msp_state = MSP_STATE_IDLE;
> writel((readl(msp->registers + MSP_GCR) &
Code looks good though:
Acked-by: Lee Jones <lee.jones@linaro.org>
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Fabio Baltieri <fabio.baltieri@linaro.org>
Cc: Mark Brown <broonie@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org,
Linus Walleij <linus.walleij@linaro.org>,
Ola Lilja <ola.o.lilja@stericsson.com>
Subject: Re: [PATCH 2/6] ASoC: ux500: Do not clear state if already idle
Date: Wed, 8 May 2013 09:04:48 +0100 [thread overview]
Message-ID: <20130508080448.GG3102@gmail.com> (raw)
In-Reply-To: <1367997261-32048-3-git-send-email-fabio.baltieri@linaro.org>
On Wed, 08 May 2013, Fabio Baltieri wrote:
> As enable_msp gets called only after some audio data has been received,
> if the userspace closes the device before sending any data it causes
> ux500_msp_i2s_close to clear device state even if it was not previously
> initialized.
>
> This in turns leads to some non necessary but harmless writel, but also
Singular ^
> to decrementing the pinctrl usage counter (pinctrl_rxtx_ref) below zero.
>
> To prevent this from happening add a condition to skip register and
> pinctrl clear if current msp state is already MSP_STATE_IDLE.
>
> Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
> ---
> sound/soc/ux500/ux500_msp_i2s.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
> index a26c6bf..964cfd6 100644
> --- a/sound/soc/ux500/ux500_msp_i2s.c
> +++ b/sound/soc/ux500/ux500_msp_i2s.c
> @@ -638,7 +638,7 @@ int ux500_msp_i2s_close(struct ux500_msp *msp, unsigned int dir)
> dev_dbg(msp->dev, "%s: Enter (dir = 0x%01x).\n", __func__, dir);
>
> status = disable_msp(msp, dir);
> - if (msp->dir_busy == 0) {
> + if (msp->dir_busy == 0 && msp->msp_state != MSP_STATE_IDLE) {
> /* disable sample rate and frame generators */
> msp->msp_state = MSP_STATE_IDLE;
> writel((readl(msp->registers + MSP_GCR) &
Code looks good though:
Acked-by: Lee Jones <lee.jones@linaro.org>
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2013-05-08 8:04 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-08 7:14 [PATCH 0/6] Second set of fixes for ux500 ASoC drivers Fabio Baltieri
2013-05-08 7:14 ` [PATCH 1/6] ASoC: ab8500-codec: Add missing ad_to_slot definitions Fabio Baltieri
2013-05-08 7:53 ` Lee Jones
2013-05-08 8:30 ` Fabio Baltieri
2013-05-08 8:30 ` Fabio Baltieri
2013-05-08 8:47 ` Lee Jones
2013-05-08 10:58 ` Mark Brown
2013-05-08 7:14 ` [PATCH 2/6] ASoC: ux500: Do not clear state if already idle Fabio Baltieri
2013-05-08 8:04 ` Lee Jones [this message]
2013-05-08 8:04 ` Lee Jones
2013-05-08 8:39 ` [PATCH v2 " Fabio Baltieri
2013-05-08 8:39 ` Fabio Baltieri
2013-05-08 10:34 ` Mark Brown
2013-05-08 10:34 ` Mark Brown
2013-05-08 11:04 ` Lee Jones
2013-05-08 11:31 ` Mark Brown
2013-05-08 12:03 ` Lee Jones
2013-05-08 12:39 ` Mark Brown
2013-05-08 12:39 ` Mark Brown
2013-05-08 13:05 ` Lee Jones
2013-05-08 13:48 ` Mark Brown
2013-05-08 13:48 ` Mark Brown
2013-05-08 14:06 ` Lee Jones
2013-05-09 9:28 ` Mark Brown
2013-05-08 12:04 ` Fabio Baltieri
2013-05-08 12:39 ` Mark Brown
2013-05-08 7:14 ` [PATCH 3/6] ASoC: ux500: Drop pinctrl sleep support Fabio Baltieri
2013-05-08 8:07 ` Lee Jones
2013-05-08 8:07 ` Lee Jones
2013-05-08 8:20 ` Fabio Baltieri
2013-05-08 8:48 ` Lee Jones
2013-05-08 9:00 ` Fabio Baltieri
2013-05-08 10:51 ` Mark Brown
2013-05-08 10:51 ` Mark Brown
2013-05-08 11:42 ` Fabio Baltieri
2013-05-08 12:32 ` Mark Brown
2013-05-08 12:32 ` Mark Brown
2013-05-08 13:10 ` Fabio Baltieri
2013-05-08 13:54 ` Mark Brown
2013-05-08 14:17 ` Fabio Baltieri
2013-05-08 14:27 ` Fabio Baltieri
2013-05-08 14:27 ` Fabio Baltieri
2013-05-08 14:49 ` Mark Brown
2013-05-08 15:07 ` Lee Jones
2013-05-09 9:34 ` Mark Brown
2013-05-09 9:34 ` Mark Brown
2013-05-08 14:29 ` Mark Brown
2013-05-08 15:48 ` Fabio Baltieri
2013-05-08 15:48 ` Fabio Baltieri
2013-05-09 9:41 ` Mark Brown
2013-05-09 9:41 ` Mark Brown
2013-05-13 10:43 ` Fabio Baltieri
2013-05-17 22:02 ` Linus Walleij
2013-05-17 22:02 ` Linus Walleij
2013-05-08 7:14 ` [PATCH 4/6] ASoC: ux500: Update tx tdm slots configuration Fabio Baltieri
2013-05-08 8:18 ` Lee Jones
2013-05-08 11:01 ` Mark Brown
2013-05-08 11:01 ` Mark Brown
2013-05-08 11:11 ` Lee Jones
2013-05-08 11:11 ` Lee Jones
2013-05-08 11:32 ` Fabio Baltieri
2013-05-08 12:28 ` Mark Brown
2013-05-08 12:28 ` Mark Brown
2013-05-08 16:03 ` Fabio Baltieri
2013-05-08 7:14 ` [PATCH 5/6] ASoC: ux500: Swap even/odd AD slot definitions Fabio Baltieri
2013-05-08 8:19 ` Lee Jones
2013-05-08 8:19 ` Lee Jones
2013-05-08 7:14 ` [PATCH 6/6] ASoC: ux500: Use the first two AD slots for capture Fabio Baltieri
2013-05-08 8:22 ` Lee Jones
2013-05-08 10:56 ` Mark Brown
2013-05-08 10:56 ` Mark Brown
2013-05-08 11:12 ` Lee Jones
2013-05-08 12:30 ` Mark Brown
2013-05-08 12:30 ` Mark Brown
2013-05-08 16:08 ` Fabio Baltieri
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=20130508080448.GG3102@gmail.com \
--to=lee.jones@linaro.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=fabio.baltieri@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ola.o.lilja@stericsson.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.