All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: pHilipp Zabel <philipp.zabel@gmail.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>,
	Daniel Ribeiro <drwyrm@gmail.com>
Subject: Re: [PATCH 1/4] ASoC: pxa-ssp: enhance I2S and add	Left_J support
Date: Mon, 8 Jun 2009 17:38:35 +0100	[thread overview]
Message-ID: <20090608163835.GA14026@rakim.wolfsonmicro.main> (raw)
In-Reply-To: <74d0deb30906080858m7dc52cfaxfbb6366c529fc0e2@mail.gmail.com>

On Mon, Jun 08, 2009 at 05:58:54PM +0200, pHilipp Zabel wrote:
> On Mon, Jun 8, 2009 at 2:40 PM, Mark

> > OOI which MUA are you using?  I've noticed several people with this very
> > odd word wrapping the past day.

> This mail was sent with the Google Mail web interface.

Ah.  Why am I not surprised. :/

> > I'm inclined to go with sample here since it seems harder for the
> > machine drivers to get wrong but I've not really thought it through yet?

> I thought sample width is determined by the snd_pcm_hw_params. But
> maybe I'm mixing up alsa sample width vs sample width on the wire?

Essentially what we're doing here is providing a mechanism to specify a
separate wire format.

> I'm leaning towards set_frame_width because that's directly what I
> want to do: override pxa_ssp_hw_params' standard decision to use
> 32-bit frames for S16_LE stereo and set 16-bit frames instead.

Hrm.  Now I remember what you're doing - you're trying to essentially
send your stereo stream as mono data due to your hardware either having
a flip flop or an entertainingly non-standard CODEC which needs a frame
sync per sample rather than per frame.

> > OTOH I don't really see much difference between the two cases - it's
> > just an extra couple of parameters on the end of the call.

> Technically there isn't. It just seems much more obvious to me to
> write something like:
>     /* nonstandard: 16-bit frames, even for 2x 16-bit stereo */
>     if (params_format(params) == ..._S16_LE)
>         set_frame_size(16);

Thing is, I'd expect this would be just as likely to cause the CPU to
discard every other sample since it doesn't have enough clocks to clock
out a stereo sample in the frame.

It occurs to me that this is something that it might be better to work
around this with a user space plugin which rewrites the sample formats
on the way down to the driver so that it claims the stream is configured
as mono even if it's stereo :/  Not sure how practical that is or if
there's a sensible way to do that in kernel space.

> in the machine driver instead of:
>     /* nonstandard: 16-bit frames, even for 2x 16-bit stereo
>      * pxa_ssp_hw_params will check for TTSA==1
>      * and then set the frame size accordingly
>      */
>     set_tdm_slot(1,1);
> especially as I don't really need network mode at all.

Same issue with "it's a surprise it works" applies here.

That TDM configuration ought to disable network mode if the driver
doesn't need it.

  parent reply	other threads:[~2009-06-08 16:38 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 [this message]
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
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=20090608163835.GA14026@rakim.wolfsonmicro.main \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=drwyrm@gmail.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.