All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@sirena.org.uk>
To: Daniel Mack <daniel@caiaq.org>
Cc: alsa-devel@alsa-project.org
Subject: Re: ASoC: hook for codec control updates and clock	controls
Date: Sun, 7 Dec 2008 19:02:40 +0000	[thread overview]
Message-ID: <20081207190239.GA4457@sirena.org.uk> (raw)
In-Reply-To: <20081207173825.GB26551@buzzloop.caiaq.de>

On Sun, Dec 07, 2008 at 06:38:25PM +0100, Daniel Mack wrote:

> mixers to work, however, the I2S input clock is needed which is 
> currently only true when the DAC/ACD elements are active but not when
> the chip is just operating as an analog mixer.

What exactly do you mean when you say "I2S clock input" here?  An I2S
link has two clocks, a bit clock and a frame clock and most codecs also
use a third, master, clock which is not associated directly with an I2S
link.  I suspect that the requirement is for the master clock...

The clocking is the responsibility of the board driver - often the
clocks are disabled while the link is inctive but this up to the board
driver (and ultimately the hardware design).

> Adding a hook to struct snd_soc_codec which is called from
> snd_soc_update_bits() isn't a big deal, but the problem is the
> abstraction layers in this case - for good reasons, the cpu_dai is not
> accessible from the codec dai. Or did I miss a link?

You'll be able to get there since the card is accessible but it's
unacceptable for the codec driver to go fiddling with other parts of the
link like you're suggesting here - it doesn't have enough information
about the system to know what to do.  The clocking for the bus could be
shared with other devices, the clocks could be provided by other devices
or the codec itself could be the clock master.

> Is there a sane way to address this problem?

It does depend on what the actual requirement is here.  Which clock or
clocks are the issue?

  reply	other threads:[~2008-12-07 19:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-07 17:38 ASoC: hook for codec control updates and clock controls Daniel Mack
2008-12-07 19:02 ` Mark Brown [this message]
2008-12-08  0:04   ` Daniel Mack
2008-12-08  9:48     ` Mark Brown
2008-12-08 12:18       ` Daniel Mack
2008-12-08 12:40         ` Mark Brown
2008-12-08  9:49     ` Jarkko Nikula
2008-12-08 11:11       ` Mark Brown
2008-12-08 11:40         ` Jarkko Nikula
2008-12-08 11:59           ` 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=20081207190239.GA4457@sirena.org.uk \
    --to=broonie@sirena.org.uk \
    --cc=alsa-devel@alsa-project.org \
    --cc=daniel@caiaq.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.