All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Ribeiro <drwyrm@gmail.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org, Eric Miao <eric.y.miao@gmail.com>,
	linux-arm-kernel <linux-arm-kernel@lists.arm.linux.org.uk>,
	pHilipp Zabel <philipp.zabel@gmail.com>
Subject: Re: [PATCH 1/4] ASoC: pxa-ssp: enhance I2S and add Left_J support
Date: Mon, 08 Jun 2009 14:26:32 -0300	[thread overview]
Message-ID: <1244481992.17327.22.camel@brutus> (raw)
In-Reply-To: <20090608165328.GB14026@rakim.wolfsonmicro.main>


[-- Attachment #1.1: Type: text/plain, Size: 2624 bytes --]

Em Seg, 2009-06-08 às 17:53 +0100, Mark Brown escreveu:
> > But sample wouldn't cover all cases. eg, magician and ezx uses the same
> > sample size, but magician needs 16bit frames and ezx 32bits frames.
> 
> See my reply to Philip - even with frame size his case is going to be
> very hard to cover in a standard fashion since it's not clear what to do
> when your frame clock is run too fast relative to your bit clock.  On
> the receive side a lot of devices are just going to discard incomplete
> stereo frames.

I don't see why. If we provide an API to setup the frame size this is
all magician needs.

If we assume that the standard is frame_size = sample_size * channels,
then there is no need for a frame size API at all. But then magician
case will not be supported correctly.

> Network mode is just a detail of the implementation of the PXA here - it
> should not be visible outside the pxa-ssp driver.  Or to put it another
> way setting a tdm_slot of 1, 1 ought to result in the same behaviour as
> disabling TDM as far as the user is concerned.

But for pxa-ssp this is not the current behaviour.

Currently, the code uses frame_size = sample_size unless the machine
driver explicitly calls set_tdm_slots.

I believe that the correct behaviour would be frame_size = channels *
sample size.

Regarding tdm_slot(1, 1), it does not disable network mode, it setups
DMA to 16bits regardless of 2 channels.

> > Using set_tdm_slot to setup this also seems awkward, because the dma
> > configuration to use is also affected by the frame size.
> 
> I'd not expect it to be?

If we want to support magician, then set_frame_size(16) would also setup
DMA for 16bits even for stereo audio.

> > My suggestion here is to make a clear distinction between normal mode
> > and network mode. We should not abuse SSCR0_MOD when we don't need it.
> > We should not require the machine driver to call set_tdm_slot when it
> > doesn't need to. And for frame sizes that really need SSCR0_MOD to be
> > set we should issue a warning telling that network mode was
> > "automatically" enabled.
> 
> I'd like to see all these details handled within the driver - knowing if
> and when network mode are to be set up is the sort of thing that users
> ought to be able to rely on the driver for.

I can cook a patch.. All I need to know is:

Does it needs to support magician non-standard format? Or this will be
handled by userspace?

I think we can support magician case too, we just need to provide the
set_frame_size api that was initially proposed. :)

-- 
Daniel Ribeiro

[-- Attachment #1.2: Esta é uma parte de mensagem assinada digitalmente --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2009-06-08 17:27 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-03 12:33 [PATCH 1/4] ASoC: pxa-ssp: enhance I2S and add Left_J support Eric Miao
2009-06-03 13:18 ` Daniel Mack
2009-06-03 14:22   ` Eric Miao
2009-06-03 14:23     ` Mark Brown
2009-06-03 14:24     ` Daniel Mack
     [not found]   ` <37b631400906040207o169abbc2ob33100879ac68911@mail.gmail.com>
2009-06-04  9:44     ` Paul Shen
2009-06-05 17:26       ` Daniel Mack
2009-06-05 22:47         ` Mark Brown
2009-06-04 12:36 ` Mark Brown
2009-06-04 13:12   ` Daniel Mack
2009-06-06  8:26 ` Daniel Ribeiro
2009-06-09  9:39   ` Paul Shen
2009-06-09  9:54     ` Daniel Mack
2009-06-09 10:10     ` Daniel Ribeiro
2009-06-06 20:12 ` Mark Brown
2009-06-08 12:12   ` pHilipp Zabel
2009-06-08 12:40     ` Mark Brown
2009-06-08 15:58       ` pHilipp Zabel
2009-06-08 16:25         ` Daniel Ribeiro
2009-06-08 16:38         ` Mark Brown
2009-06-08 17:18           ` pHilipp Zabel
2009-06-08 17:41             ` Mark Brown
2009-06-08 18:59               ` pHilipp Zabel
2009-06-08 16:03       ` Daniel Ribeiro
2009-06-08 16:53         ` Mark Brown
2009-06-08 17:26           ` Daniel Ribeiro [this message]
2009-06-08 18:06             ` Mark Brown
2009-06-08 20:52               ` Daniel Ribeiro
2009-06-09  9:39                 ` Eric Miao
2009-06-09  9:41                   ` Eric Miao
2009-06-09  9:58                   ` Mark Brown
2009-06-09 11:40                     ` pHilipp Zabel
2009-06-10 22:24                   ` Daniel Ribeiro
2009-06-11  9:00                     ` Mark Brown
2009-06-11 15:13                       ` Daniel Mack
2009-06-11 13:34                     ` Eric Miao
2009-06-11 14:36                       ` [RFC] I2S and LEFT_J (was: ASoC: pxa-ssp: enhance I2S and add Left_J support) Daniel Ribeiro
2009-06-15  8:45                         ` Eric Miao
2009-06-15 14:57                           ` Daniel Ribeiro
2009-06-15 15:04                             ` Mark Brown
2009-06-15 17:20                               ` Daniel Ribeiro
2009-06-15 17:40                                 ` Daniel Mack
2009-06-16  2:11                                   ` Daniel Ribeiro
2009-06-15 18:00                                 ` Mark Brown
2009-06-18  7:58                                 ` [RFC] I2S and LEFT_J Eric Miao
2009-06-18 12:30                                   ` Daniel Ribeiro
2009-06-22 22:14                                     ` Daniel Mack
2009-06-27  0:28                                       ` Daniel Ribeiro
2009-07-01 12:17                                         ` Daniel Mack
2009-06-08 21:07           ` [RFC] Auto setup TDM when needed. Add frame_width and rx/tx masks to set_tdm_slots Daniel Ribeiro
2009-06-09  9:10             ` Mark Brown
2009-06-08 14:13     ` [PATCH 1/4] ASoC: pxa-ssp: enhance I2S and add Left_J support Eric Miao
2009-06-08 15:06       ` 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=1244481992.17327.22.camel@brutus \
    --to=drwyrm@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=eric.y.miao@gmail.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --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.