lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 29 Jan 2015 21:42:18 +0100
From:	Pavel Machek <pavel@....cz>
To:	Peter Ujfalusi <peter.ujfalusi@...com>
Cc:	Jarkko Nikula <jarkko.nikula@...mer.com>, pali.rohar@...il.com,
	sre@...ian.org, sre@...g0.de,
	kernel list <linux-kernel@...r.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
	linux-omap@...r.kernel.org, tony@...mide.com, khilman@...nel.org,
	aaro.koskinen@....fi, ivo.g.dimitrov.75@...il.com
Subject: Re: 3.19 on Nokia n900: audio quality awful

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@....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"};
> 

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ