From: Mark Brown <broonie@sirena.org.uk>
To: Frank Mandarino <fmandarino@endrelia.com>
Cc: Sedji Gaouaou <sedji.gaouaou@atmel.com>, alsa-devel@alsa-project.org
Subject: Re: ALSA:AT91SAM9G20: Add support(DAI) for wolfson8731
Date: Wed, 17 Sep 2008 16:21:44 +0100 [thread overview]
Message-ID: <20080917152143.GC7679@sirena.org.uk> (raw)
In-Reply-To: <48D11D0E.90701@endrelia.com>
On Wed, Sep 17, 2008 at 11:06:54AM -0400, Frank Mandarino wrote:
> Mark Brown wrote:
> >> +
> >> + switch (div_id) {
> >> + case AT91SSC_CMR_DIV:
> >> + /*
> >> + * The same master clock divider is used for both
> >> + * transmit and receive, so if a value has already
> >> + * been set, it must match this value.
> >> + */
> >> + if (ssc_p->cmr_div == 0)
> >> + ssc_p->cmr_div = div;
> >> + else
> >> + if (div != ssc_p->cmr_div)
> >> + return -EBUSY;
> >> + break;
> > What happens if the user wants to change the master clock divider at
> > runtime - for example, when changing sample rates?
> This is code from at91-ssc.c. I really didn't consider the case of
> changing the sample rate on an open substream. This logic could be
> updated to allow the new divider value if there is only one substream open.
Ah, right - on further inspection I see that cmr_div is reset when the
stream is shut down. That's fine since it means that the clocks can be
reconfigured when reopening the device which is the case I was worried
about.
Changing the dividers on an active stream is unlikely to work well so
it's perfectly reasonable to not support it.
> >> + start_event = channels == 1
> >> + ? 4
> >> + : 7;
> > This would be much clearer if it were expanded into multiple statements.
>
> This was a little clearer in at91-ssc.c:
> start_event = channels == 1
> ? AT91_SSC_START_FALLING_RF
> : AT91_SSC_START_EDGE_RF;
> Perhaps these constant definitions are no longer available it the latest
> kernel. Are there updated definitions to use instead of magic numbers?
> Also, I'm fine with using multiple statements if that helps readability.
I wasn't so worried about the magic numbers as the combination of
assignment and an equality test without even any brackets. I can see
what's going on but it's certainly not the most transparent way of
writing it.
> > These may as well be removed - if someone implements suspend/resume
> > support they can add them then then.
> Is there a reason that suspend/resume was removed? It is really
> important for embedded systems.
Yeah, I did wonder, though there are plenty of embedded systems that
aren't particular power sensitive for one reason or another.
next prev parent reply other threads:[~2008-09-17 15:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-17 9:51 ALSA:AT91SAM9G20: Add support(DAI) for wolfson8731 Sedji Gaouaou
2008-09-17 11:05 ` Mark Brown
2008-09-17 15:06 ` Frank Mandarino
2008-09-17 15:21 ` Mark Brown [this message]
2008-09-17 15:23 ` Sedji Gaouaou
2008-09-17 15:30 ` Mark Brown
2008-09-17 16:30 ` Sedji Gaouaou
2008-09-17 16:35 ` Mark Brown
[not found] ` <BAY110-W332FD6EFAA8BBE246EDD7DC94F0@phx.gbl>
2008-09-18 9:21 ` Does LKML accept non-ASOC audio driver? Mark Brown
[not found] ` <BAY110-W448DBD74086F0CC723FA67C94F0@phx.gbl>
2008-09-18 10:17 ` Mark Brown
[not found] ` <BAY110-W35E0C694DFC04076A4E353C94F0@phx.gbl>
2008-09-18 11:33 ` 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=20080917152143.GC7679@sirena.org.uk \
--to=broonie@sirena.org.uk \
--cc=alsa-devel@alsa-project.org \
--cc=fmandarino@endrelia.com \
--cc=sedji.gaouaou@atmel.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.