All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>,
	Jarkko Nikula <jarkko.nikula@bitmer.com>,
	sre@debian.org, sre@ring0.de,
	kernel list <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-omap@vger.kernel.org, tony@atomide.com, khilman@kernel.org,
	aaro.koskinen@iki.fi, ivo.g.dimitrov.75@gmail.com
Subject: Re: 3.19 on Nokia n900: audio quality awful
Date: Fri, 30 Jan 2015 09:16:22 +0100	[thread overview]
Message-ID: <201501300916.22364@pali> (raw)
In-Reply-To: <20150129204218.GC3962@amd>

[-- Attachment #1: Type: Text/Plain, Size: 2965 bytes --]

On Thursday 29 January 2015 21:42:18 Pavel Machek wrote:
> Hi!
> 
> > >> I did this:
> > >> 
> > >> I'm not sure which one is "main" microphone and which is
> > >> headset, but I guess 2V should be "close enough" to 2.5V
> > >> to produce something different from zeros..?
> > > 
> > > Main or integrated is digital microphone which does AD
> > > conversion itself and headset is analogue. If DMIC is
> > > without bias codec will sample plain zeros from DMIC
> > > input but analogue input should always produce some
> > > random LSB bits from codec's AD converter.
> > > 
> > > If codec produces zeros also from analogue input then I
> > > suppose codec ADC is not powered up or similar. One way
> > > to hunt regression if bisecting is not possible due
> > > reason or another is to dump and diff codec registers
> > > from /sys/kernel/debug/regmap/ using both working commit
> > >
> > >and head.
> 
> I tried 2.6.28... where recording was, but it does not support
> regmap. Then I tried 3.14, but could not get recording to work
> there.
> 
> > >>  	tlv320aic3x_aux: tlv320aic3x@19 {
> > >> 
> > >> @@ -502,6 +504,8 @@
> > >> 
> > >>  		DRVDD-supply = <&vmmc2>;
> > >>  		IOVDD-supply = <&vio>;
> > >>  		DVDD-supply = <&vio>;
> > >> 
> > >> +
> > >> +		ai3x-micbias-vg = <1>;
> > >> 
> > >>  	};
> > > 
> > > This should be 2, i.e. 2.5 V according to
> > > Documentation/devicetree/bindings/sound/tlv320aic3x.txt. I
> > > think 2 V is too low for some headset mics and that was
> > > the reason for 2.5 V.
> 
> Ok, tried that, but no change.
> 
> > Can you also try this patch to correct the DAPM route for the 
rx51:
> Yes, with the patch below (and dts updates I did) recording
> works.
> 
> Another interesting note is that audio quality is not that
> horrible when playing 8 kHz, mono signal... it is mostly what
> I'd expect. Playing 44.1kHz, stereo mp3 .. is not good.
> 
> Tested-by: Pavel Machek <pavel@ucw.cz>
> 
> Thanks,
> 									Pavel
> 
> > diff --git a/sound/soc/omap/rx51.c b/sound/soc/omap/rx51.c
> > index 04896d6252a2..7f299357c2d2 100644
> > --- a/sound/soc/omap/rx51.c
> > +++ b/sound/soc/omap/rx51.c
> > @@ -250,14 +250,14 @@ static const struct snd_soc_dapm_route
> > audio_map[] = {
> > 
> >  	{"FM Transmitter", NULL, "LLOUT"},
> >  	{"FM Transmitter", NULL, "RLOUT"},
> > 
> > -	{"DMic Rate 64", NULL, "Mic Bias"},
> > -	{"Mic Bias", NULL, "DMic"},
> > +	{"DMic Rate 64", NULL, "DMic"},
> > +	{"DMic", NULL, "Mic Bias"},
> > 
> >  	{"b LINE2R", NULL, "MONO_LOUT"},
> >  	{"Earphone", NULL, "b HPLOUT"},
> > 
> > -	{"LINE1L", NULL, "b Mic Bias"},
> > -	{"b Mic Bias", NULL, "HS Mic"}
> > +	{"LINE1L", NULL, "HS Mic"},
> > +	{"HS Mic", NULL, "b Mic Bias"},
> > 
> >  };
> >  
> >  static const char * const spk_function[] = {"Off", "On"};

Can you try DT and non-DT boot of 3.19? If there is difference?

-- 
Pali Rohár
pali.rohar@gmail.com

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: pali.rohar@gmail.com (Pali Rohár)
To: linux-arm-kernel@lists.infradead.org
Subject: 3.19 on Nokia n900: audio quality awful
Date: Fri, 30 Jan 2015 09:16:22 +0100	[thread overview]
Message-ID: <201501300916.22364@pali> (raw)
In-Reply-To: <20150129204218.GC3962@amd>

On Thursday 29 January 2015 21:42:18 Pavel Machek wrote:
> Hi!
> 
> > >> I did this:
> > >> 
> > >> I'm not sure which one is "main" microphone and which is
> > >> headset, but I guess 2V should be "close enough" to 2.5V
> > >> to produce something different from zeros..?
> > > 
> > > Main or integrated is digital microphone which does AD
> > > conversion itself and headset is analogue. If DMIC is
> > > without bias codec will sample plain zeros from DMIC
> > > input but analogue input should always produce some
> > > random LSB bits from codec's AD converter.
> > > 
> > > If codec produces zeros also from analogue input then I
> > > suppose codec ADC is not powered up or similar. One way
> > > to hunt regression if bisecting is not possible due
> > > reason or another is to dump and diff codec registers
> > > from /sys/kernel/debug/regmap/ using both working commit
> > >
> > >and head.
> 
> I tried 2.6.28... where recording was, but it does not support
> regmap. Then I tried 3.14, but could not get recording to work
> there.
> 
> > >>  	tlv320aic3x_aux: tlv320aic3x at 19 {
> > >> 
> > >> @@ -502,6 +504,8 @@
> > >> 
> > >>  		DRVDD-supply = <&vmmc2>;
> > >>  		IOVDD-supply = <&vio>;
> > >>  		DVDD-supply = <&vio>;
> > >> 
> > >> +
> > >> +		ai3x-micbias-vg = <1>;
> > >> 
> > >>  	};
> > > 
> > > This should be 2, i.e. 2.5 V according to
> > > Documentation/devicetree/bindings/sound/tlv320aic3x.txt. I
> > > think 2 V is too low for some headset mics and that was
> > > the reason for 2.5 V.
> 
> Ok, tried that, but no change.
> 
> > Can you also try this patch to correct the DAPM route for the 
rx51:
> Yes, with the patch below (and dts updates I did) recording
> works.
> 
> Another interesting note is that audio quality is not that
> horrible when playing 8 kHz, mono signal... it is mostly what
> I'd expect. Playing 44.1kHz, stereo mp3 .. is not good.
> 
> Tested-by: Pavel Machek <pavel@ucw.cz>
> 
> Thanks,
> 									Pavel
> 
> > diff --git a/sound/soc/omap/rx51.c b/sound/soc/omap/rx51.c
> > index 04896d6252a2..7f299357c2d2 100644
> > --- a/sound/soc/omap/rx51.c
> > +++ b/sound/soc/omap/rx51.c
> > @@ -250,14 +250,14 @@ static const struct snd_soc_dapm_route
> > audio_map[] = {
> > 
> >  	{"FM Transmitter", NULL, "LLOUT"},
> >  	{"FM Transmitter", NULL, "RLOUT"},
> > 
> > -	{"DMic Rate 64", NULL, "Mic Bias"},
> > -	{"Mic Bias", NULL, "DMic"},
> > +	{"DMic Rate 64", NULL, "DMic"},
> > +	{"DMic", NULL, "Mic Bias"},
> > 
> >  	{"b LINE2R", NULL, "MONO_LOUT"},
> >  	{"Earphone", NULL, "b HPLOUT"},
> > 
> > -	{"LINE1L", NULL, "b Mic Bias"},
> > -	{"b Mic Bias", NULL, "HS Mic"}
> > +	{"LINE1L", NULL, "HS Mic"},
> > +	{"HS Mic", NULL, "b Mic Bias"},
> > 
> >  };
> >  
> >  static const char * const spk_function[] = {"Off", "On"};

Can you try DT and non-DT boot of 3.19? If there is difference?

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150130/32aa80ed/attachment.sig>

  reply	other threads:[~2015-01-30  8:16 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-06 17:04 3.19 on Nokia n900: audio quality awful Pavel Machek
2015-01-06 17:04 ` Pavel Machek
2015-01-06 17:25 ` Felipe Balbi
2015-01-06 17:25   ` Felipe Balbi
2015-01-06 17:25   ` Felipe Balbi
2015-01-06 17:51   ` Pavel Machek
2015-01-06 17:51     ` Pavel Machek
2015-01-06 20:28     ` Felipe Balbi
2015-01-06 20:28       ` Felipe Balbi
2015-01-06 20:28       ` Felipe Balbi
2015-01-06 20:50       ` Pavel Machek
2015-01-06 20:50         ` Pavel Machek
2015-01-06 20:54         ` Felipe Balbi
2015-01-06 20:54           ` Felipe Balbi
2015-01-06 20:54           ` Felipe Balbi
2015-01-06 21:57           ` Pavel Machek
2015-01-06 21:57             ` Pavel Machek
2015-01-06 22:02             ` Felipe Balbi
2015-01-06 22:02               ` Felipe Balbi
2015-01-06 22:02               ` Felipe Balbi
2015-01-06 20:57         ` Aaro Koskinen
2015-01-06 20:57           ` Aaro Koskinen
2015-01-06 22:08           ` Pavel Machek
2015-01-06 22:08             ` Pavel Machek
2015-01-06 22:27             ` Aaro Koskinen
2015-01-06 22:27               ` Aaro Koskinen
2015-01-06 22:46               ` Felipe Balbi
2015-01-06 22:46                 ` Felipe Balbi
2015-01-06 22:46                 ` Felipe Balbi
2015-01-06 22:52                 ` Tony Lindgren
2015-01-06 22:52                   ` Tony Lindgren
2015-01-06 22:56                 ` Pavel Machek
2015-01-06 22:56                   ` Pavel Machek
2015-01-06 23:04                   ` Felipe Balbi
2015-01-06 23:04                     ` Felipe Balbi
2015-01-06 23:04                     ` Felipe Balbi
2015-01-06 23:13                     ` Pavel Machek
2015-01-06 23:13                       ` Pavel Machek
2015-01-06 23:29                       ` Felipe Balbi
2015-01-06 23:29                         ` Felipe Balbi
2015-01-06 23:29                         ` Felipe Balbi
2015-01-06 22:58               ` Pavel Machek
2015-01-06 22:58                 ` Pavel Machek
2015-01-07 19:43                 ` Aaro Koskinen
2015-01-07 19:43                   ` Aaro Koskinen
2015-01-06 20:39     ` Aaro Koskinen
2015-01-06 20:39       ` Aaro Koskinen
2015-01-18 12:01 ` Pavel Machek
2015-01-18 12:01   ` Pavel Machek
2015-01-26 13:20   ` Peter Ujfalusi
2015-01-26 13:20     ` Peter Ujfalusi
2015-01-26 13:20     ` Peter Ujfalusi
2015-01-28 18:15     ` Jarkko Nikula
2015-01-28 18:15       ` Jarkko Nikula
2015-01-28 22:41       ` Pavel Machek
2015-01-28 22:41         ` Pavel Machek
2015-01-28 22:41         ` Pavel Machek
2015-01-29  7:35         ` Jarkko Nikula
2015-01-29  7:35           ` Jarkko Nikula
2015-01-29 11:19           ` Peter Ujfalusi
2015-01-29 11:19             ` Peter Ujfalusi
2015-01-29 11:19             ` Peter Ujfalusi
2015-01-29 20:42             ` Pavel Machek
2015-01-29 20:42               ` Pavel Machek
2015-01-30  8:16               ` Pali Rohár [this message]
2015-01-30  8:16                 ` Pali Rohár
2015-01-30  8:52                 ` Pavel Machek
2015-01-30  8:52                   ` Pavel Machek
2015-01-30 10:26             ` Pavel Machek
2015-01-30 10:26               ` Pavel Machek
2015-01-30 10:37               ` Pavel Machek
2015-01-30 10:37                 ` Pavel Machek
2015-01-30 12:40                 ` Peter Ujfalusi
2015-01-30 12:40                   ` Peter Ujfalusi
2015-01-30 12:40                   ` Peter Ujfalusi
2015-01-30 12:43                   ` Peter Ujfalusi
2015-01-30 12:43                     ` Peter Ujfalusi
2015-01-30 12:43                     ` Peter Ujfalusi
2015-01-28 22:02     ` Pavel Machek
2015-01-28 22:02       ` Pavel Machek
2015-01-28 22:02       ` Pavel Machek

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=201501300916.22364@pali \
    --to=pali.rohar@gmail.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=jarkko.nikula@bitmer.com \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=peter.ujfalusi@ti.com \
    --cc=sre@debian.org \
    --cc=sre@ring0.de \
    --cc=tony@atomide.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.