Re: [PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-19 Thread Peter Ujfalusi
On Thursday 18 February 2010 22:22:29 ext Jarkko Nikula wrote:
 
 I still have two concern:
 
 1. port number vs. index difference inside driver code is not enough
 
 It's just confusing if a machine driver and internal API (mcbsp.c) has
 to use different indexing. See:
 
 omap_mcbsp_st_add_controls(codec, 2);
 ...
 *(unsigned int *)omap3beagle_dai.cpu_dai-private_data = 1; /* McBSP2 */

Agreed.

 
 and mcbsp-id use in mcbsp.c.

It has always bothered me, I'll take a look and check if there is a reason why 
it is like that, and if possible I'll change the mcbsp-id to be 0 based (thus 
harmonizing the internal and external interface).
 
 2. I cannot change the sidetone level with alsamixer
 
 Is this bug with the alsamixer? With amixer I'm able to set positive
 values but not negative
 
 amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 32767
 
 What I'm looking here, is that I can execute a test below with unit
 impulse response tap filter, hear the sound and note that the volume is
 changing as I'm changing the sidetone volume :-)

I'm not sure, but you might need to configure the taps as well to have the 
correct sidetone.
Also I have a recollection, that the McBSP sidetone requires DSP mode (TDM) in 
order to operate correctly, so on Beagle you might need to set up 4 channel 
mode. And how the channel mapping in 4 channel mode works in McBSP sidetone is 
another matter...

 
 arecord -f dat /dev/null |aplay -f dat /dev/zero

-- 
Péter
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-19 Thread Ilkka Koskinen



On Thu, 18 Feb 2010, ext Jarkko Nikula wrote:

On Thu, 18 Feb 2010 20:42:27 +0200
Ilkka Koskinen ilkka.koski...@nokia.com wrote:


The first patch implements McBSP sidetone feature on OMAP3 while the second
one provides ALSA interface for using it.

The patch set is based on the patch Eduardo Valentin sent to alsa-devel
mailing list in October 2009. Channel gain control and enabling the sidetone
have been moved to ALSA interface as suggested in comments.

These patches apply on top of Janusz Krzysztofik's McBSP register cache
patches in linux-omap-2.6.git

Since the version 3, the buggy channel gain control has been fixed. ASoC part
have been simplified resulting in removing a couple unnecessary functions.
Added a comment to ASoC part explaining McBSP port number vs. index values
used in OMAP McBSP implementation.


I still have two concern:

1. port number vs. index difference inside driver code is not enough

It's just confusing if a machine driver and internal API (mcbsp.c) has
to use different indexing. See:

omap_mcbsp_st_add_controls(codec, 2);
...
*(unsigned int *)omap3beagle_dai.cpu_dai-private_data = 1; /* McBSP2 */

and mcbsp-id use in mcbsp.c.


Ah, that's what you meant by it. Sure, I'll change it.


2. I cannot change the sidetone level with alsamixer

I think with the previous patch set, it was impossible to set the other 
channel's gain as Peter pointed out. But at least now that I try, i can 
change it with alsamixer.



Is this bug with the alsamixer? With amixer I'm able to set positive
values but not negative

amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 32767


If you try to give negative values, you need to put '--' before the value.

Such as:

# amixer -Dhw:0 -- sset 'McBSP3 Sidetone Channel 0' -1
Simple mixer control 'McBSP3 Sidetone Channel 0',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: -32768 - 32767
  Mono: -1 [35%]



What I'm looking here, is that I can execute a test below with unit
impulse response tap filter, hear the sound and note that the volume is
changing as I'm changing the sidetone volume :-)

arecord -f dat /dev/null |aplay -f dat /dev/zero


As Peter said in the other mail, you need to have the taps also.

Cheers, Ilkka
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-19 Thread Jarkko Nikula
On Fri, 19 Feb 2010 10:34:32 +0200
Peter Ujfalusi peter.ujfal...@nokia.com wrote:

 I'm not sure, but you might need to configure the taps as well to have the 
 correct sidetone.
 Also I have a recollection, that the McBSP sidetone requires DSP mode (TDM) 
 in 
 order to operate correctly, so on Beagle you might need to set up 4 channel 
 mode. And how the channel mapping in 4 channel mode works in McBSP sidetone 
 is 
 another matter...
 
It seems to work with I2S too.

I think I forgot to enable control 'McBSP2 Sidetone' when I last time
tried this set (v1 or v2). But now my null test below works and I can
hear that the level is changing when I adjust the volumes with amixer.

echo 32767 /sys/devices/platform/omap-mcbsp.2/st_taps

arecord -f dat /dev/null |aplay -f dat /dev/zero

amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 32700
amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 327
amixer set -D hw:0 'McBSP2 Sidetone Channel 0' -- -32700


-- 
Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-19 Thread Jarkko Nikula
On Fri, 19 Feb 2010 12:05:40 +0200 (EET)
Ilkka Koskinen ikosk...@nokia.com wrote:

  2. I cannot change the sidetone level with alsamixer
 
 I think with the previous patch set, it was impossible to set the other 
 channel's gain as Peter pointed out. But at least now that I try, i can 
 change it with alsamixer.
 
Probably there is some difference with SW? I'm using Debian and
alsa-utils 1.0.21-1.

  Is this bug with the alsamixer? With amixer I'm able to set positive
  values but not negative
 
  amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 32767
 
 If you try to give negative values, you need to put '--' before the value.
 
Thanks, works fine (lazy me).


-- 
Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-19 Thread Jarkko Nikula
On Fri, 19 Feb 2010 15:37:17 +0200
Eero Nurkkala ext-eero.nurkk...@nokia.com wrote:

  It seems to work with I2S too.
  
 
 For both channels? I don't recall so.. and for the one channel only, the
 FIR doesn't behave expectedly? (maybe this works [1,0,..0], but more
 sophisticated ones may not..)
 
Could be. At least the control 'McBSP2 Sidetone Channel 1' doesn't have
any effect. But the control 0 is affecting both channels
simultaneously. (I didn't check the meaning of those two controls)


-- 
Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-18 Thread Ilkka Koskinen
The first patch implements McBSP sidetone feature on OMAP3 while the second
one provides ALSA interface for using it.

The patch set is based on the patch Eduardo Valentin sent to alsa-devel
mailing list in October 2009. Channel gain control and enabling the sidetone
have been moved to ALSA interface as suggested in comments. 

These patches apply on top of Janusz Krzysztofik's McBSP register cache
patches in linux-omap-2.6.git

Since the version 3, the buggy channel gain control has been fixed. ASoC part 
have been simplified resulting in removing a couple unnecessary functions.
Added a comment to ASoC part explaining McBSP port number vs. index values
used in OMAP McBSP implementation.

Eero Nurkkala (1):
  McBSP: OMAP3: Add sidetone feature

Ilkka Koskinen (1):
  ASoC: OMAP-McBSP: ASoC interface for McBSP sidetone

 arch/arm/mach-omap2/mcbsp.c |2 +
 arch/arm/plat-omap/include/plat/mcbsp.h |   60 +
 arch/arm/plat-omap/mcbsp.c  |  402 ++-
 sound/soc/omap/omap-mcbsp.c |  138 +++
 sound/soc/omap/omap-mcbsp.h |2 +
 5 files changed, 603 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCHv4 0/2] McBSP: OMAP3: Add sidetone feature

2010-02-18 Thread Jarkko Nikula
On Thu, 18 Feb 2010 20:42:27 +0200
Ilkka Koskinen ilkka.koski...@nokia.com wrote:

 The first patch implements McBSP sidetone feature on OMAP3 while the second
 one provides ALSA interface for using it.
 
 The patch set is based on the patch Eduardo Valentin sent to alsa-devel
 mailing list in October 2009. Channel gain control and enabling the sidetone
 have been moved to ALSA interface as suggested in comments. 
 
 These patches apply on top of Janusz Krzysztofik's McBSP register cache
 patches in linux-omap-2.6.git
 
 Since the version 3, the buggy channel gain control has been fixed. ASoC part 
 have been simplified resulting in removing a couple unnecessary functions.
 Added a comment to ASoC part explaining McBSP port number vs. index values
 used in OMAP McBSP implementation.
 
I still have two concern:

1. port number vs. index difference inside driver code is not enough

It's just confusing if a machine driver and internal API (mcbsp.c) has
to use different indexing. See:

omap_mcbsp_st_add_controls(codec, 2);
...
*(unsigned int *)omap3beagle_dai.cpu_dai-private_data = 1; /* McBSP2 */

and mcbsp-id use in mcbsp.c.

2. I cannot change the sidetone level with alsamixer

Is this bug with the alsamixer? With amixer I'm able to set positive
values but not negative

amixer set -D hw:0 'McBSP2 Sidetone Channel 0' 32767

What I'm looking here, is that I can execute a test below with unit
impulse response tap filter, hear the sound and note that the volume is
changing as I'm changing the sidetone volume :-)

arecord -f dat /dev/null |aplay -f dat /dev/zero


-- 
Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html