From: Daniel Mack <daniel@caiaq.de>
To: Mark Brown <broonie@sirena.org.uk>
Cc: alsa-devel@alsa-project.org, Liam Girdwood <lrg@kernel.org>,
Philipp Zabel <philipp.zabel@gmail.com>
Subject: Re: [PATCH 3/4] pxa-ssp: don't touch ssp registers when stream is running
Date: Tue, 10 Mar 2009 16:41:00 +0100 [thread overview]
Message-ID: <20090310154100.GB10574@buzzloop.caiaq.de> (raw)
In-Reply-To: <20090305102337.GB28448@buzzloop.caiaq.de>
Hi Mark,
On Thu, Mar 05, 2009 at 11:23:37AM +0100, Daniel Mack wrote:
> On Wed, Mar 04, 2009 at 08:42:22PM +0000, Mark Brown wrote:
> > On Wed, Mar 04, 2009 at 09:39:11PM +0100, Daniel Mack wrote:
> > > On Wed, Mar 04, 2009 at 08:33:52PM +0000, Mark Brown wrote:
> >
> > > > I'd expect an error to be reported here - if we needed to change the
> > > > settings and can't things could go wrong. Ideally it'd check to see if
> > > > the DAI format was being changed and only error if it was.
> >
> > > In my tests, pxa_ssp_set_dai_fmt() was simply called twice, once for the
> > > input, once for the ouput. Hence I believed a silent exit in such a case
> >
> > That'll be because you weren't changing the DAI format - hence my
> > comment about only erroring if the format is changed.
>
> Ok, that makes sense. We should probably do something silimar in
> set_hw_params() were we also currently exit silently in case of running
> streams.
Could you have a look on the patch below please - does that look better?
Thanks,
Daniel
>From b0399b4d42265313768044ab6bb5754162b70fd5 Mon Sep 17 00:00:00 2001
From: Daniel Mack <daniel@caiaq.de>
Date: Tue, 10 Mar 2009 16:36:58 +0100
Subject: [PATCH 2/2] pxa-ssp: don't touch registers if stream is running
In pxa_ssp_set_dai_fmt(), check whether there is anything to do at all.
If there would be but the SSP port is in use already, bail out.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Liam Girdwood <lrg@kernel.org>
---
sound/soc/pxa/pxa-ssp.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index 1b3a81c..569c0a6 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -525,6 +525,17 @@ static int pxa_ssp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
u32 sscr1;
u32 sspsp;
+ /* check if we need to change anything at all */
+ if (priv->dai_fmt == fmt)
+ return 0;
+
+ /* we can only change the settings if the port is not in use */
+ if (ssp_read_reg(ssp, SSCR0) & SSCR0_SSE) {
+ dev_err(&ssp->pdev->dev,
+ "can't change hardware dai format: stream is in use");
+ return -EINVAL;
+ }
+
/* reset port settings */
sscr0 = ssp_read_reg(ssp, SSCR0) &
(SSCR0_ECS | SSCR0_NCS | SSCR0_MOD | SSCR0_ACS);
--
1.6.2
next prev parent reply other threads:[~2009-03-10 15:41 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-04 20:15 PXA SSP and external clocked I2S again Daniel Mack
2009-03-04 20:16 ` [PATCH 1/4] pxa-ssp: fix name of register bit Daniel Mack
2009-03-04 20:16 ` [PATCH 2/4] soc-dai: add bitfields for hardware I2S formats Daniel Mack
2009-03-04 20:16 ` [PATCH 3/4] pxa-ssp: don't touch ssp registers when stream is running Daniel Mack
2009-03-04 20:17 ` [PATCH 4/4] pxa-ssp: switch from network mode to psp Daniel Mack
2009-03-04 20:56 ` pHilipp Zabel
2009-03-04 23:03 ` Daniel Mack
2009-03-05 10:36 ` Daniel Mack
2009-03-05 11:21 ` Mark Brown
2009-03-05 11:26 ` Daniel Mack
2009-03-05 16:01 ` pHilipp Zabel
2009-03-05 13:21 ` Daniel Mack
2009-03-05 13:34 ` Mark Brown
2009-03-04 20:33 ` [PATCH 3/4] pxa-ssp: don't touch ssp registers when stream is running Mark Brown
2009-03-04 20:39 ` Daniel Mack
2009-03-04 20:42 ` Mark Brown
2009-03-05 10:23 ` Daniel Mack
2009-03-10 15:41 ` Daniel Mack [this message]
2009-03-10 15:56 ` Mark Brown
2009-03-04 22:30 ` [PATCH 2/4] soc-dai: add bitfields for hardware I2S formats Mark Brown
2009-03-04 23:12 ` Daniel Mack
2009-03-05 10:53 ` Mark Brown
2009-03-05 11:31 ` Daniel Mack
2009-03-05 12:03 ` Mark Brown
2009-03-05 12:55 ` Daniel Mack
2009-03-05 12:57 ` Mark Brown
2009-03-05 15:58 ` pHilipp Zabel
2009-03-05 11:40 ` [PATCH 1/4] pxa-ssp: fix name of register bit Mark Brown
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=20090310154100.GB10574@buzzloop.caiaq.de \
--to=daniel@caiaq.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@sirena.org.uk \
--cc=lrg@kernel.org \
--cc=philipp.zabel@gmail.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.