All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Péter Ujfalusi" <peter.ujfalusi@ti.com>
To: Jarkko Nikula <jhnikula@gmail.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	"Girdwood, Liam" <lrg@ti.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [PATCHv2] ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active
Date: Fri, 23 Sep 2011 10:51:46 +0300	[thread overview]
Message-ID: <2702783.vtvFLcHCRj@barack> (raw)
In-Reply-To: <1307711845-1636-1-git-send-email-jhnikula@gmail.com>

Hi Mark, Liam,

Could you pick this patch?
For some reason it was missed, it is not present in upstream.

Thank you,
Péter

On Friday 10 June 2011 15:17:25 Jarkko Nikula wrote:
> Attempt to change McBSP CLKS source while another stream is active is not
> safe after commit d135865 ("OMAP: McBSP: implement functional clock
> switching via clock framework") in 2.6.37.
> 
> CLKS parent clock switching using clock framework have to idle the McBSP
> before switching and then activate it again. This short break can cause a
> DMA transaction error to already running stream which halts and recovers
> only by closing and restarting the stream.
> 
> This goes more fatal after commit e2fa61d ("OMAP3: l3: Introduce
> l3-interconnect error handling driver") in 2.6.39 where l3 driver detects a
> severe timeout error and does BUG_ON().
> 
> Fix this by not changing any configuration in omap_mcbsp_dai_set_dai_sysclk
> if the McBSP is already active. This test should have been here just from
> the beginning anyway.
> 
> Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
> Cc: stable@kernel.org
> ---
> v2:
> - Returns -EBUSY from omap_mcbsp_dai_set_dai_sysclk if the input clock rate
>   doesn't match with another stream's configuration and 0 otherwise.
> 
> For 2.6.37 and onward.
> 
> This issue is valid to those machine drivers that use the McBSP as a DAI
> link master and are configuring the CLKS source (like
> sound/soc/omap/omap3pandora.c in mainline).
> ---
>  sound/soc/omap/omap-mcbsp.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
> index 07b7723..4b82290 100644
> --- a/sound/soc/omap/omap-mcbsp.c
> +++ b/sound/soc/omap/omap-mcbsp.c
> @@ -516,6 +516,12 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct
> snd_soc_dai *cpu_dai, struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs;
>  	int err = 0;
> 
> +	if (mcbsp_data->active)
> +		if (freq == mcbsp_data->in_freq)
> +			return 0;
> +		else
> +			return -EBUSY;
> +
>  	/* The McBSP signal muxing functions are only available on McBSP1 */
>  	if (clk_id == OMAP_MCBSP_CLKR_SRC_CLKR ||
>  	    clk_id == OMAP_MCBSP_CLKR_SRC_CLKX ||

  parent reply	other threads:[~2011-09-23  7:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-10 13:17 [PATCHv2] ASoC: omap-mcbsp: Do not attempt to change DAI sysclk if stream is active Jarkko Nikula
2011-06-10 13:50 ` Mark Brown
2011-06-10 14:01 ` Péter Ujfalusi
2011-09-23  7:51 ` Péter Ujfalusi [this message]
2011-09-23  7:58   ` Jarkko Nikula
2011-09-23  8:02     ` Péter Ujfalusi

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=2702783.vtvFLcHCRj@barack \
    --to=peter.ujfalusi@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=jhnikula@gmail.com \
    --cc=lrg@ti.com \
    --cc=stable@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.