[alsa-devel] [PATCH 1/2] ALSA: ASoC: add STA32X codec driver
Daniel Mack
zonque at gmail.com
Thu Jun 16 13:47:41 CEST 2011
On Thu, Jun 16, 2011 at 1:38 PM, Lars-Peter Clausen <lars at metafoo.de> wrote:
> On 06/16/2011 01:26 PM, Daniel Mack wrote:
>> [...]
>> Looks different now, but I'd say that's still not what you expected:
>>
>> # amixer cget numid=39
>> numid=39,iface=MIXER,name='Limiter1 Attack Threshold (DRC Mode)'
>> ; type=INTEGER,access=rw---R--,values=1,min=0,max=16,step=0
>> : values=9
>> | dBrange-
>> rangemin=3,,rangemax=72
>> |
>> rangemin=3,,rangemax=72
>> |
>> rangemin=3,,rangemax=72
>> |
>
> Ok, looks like the current implementation is completely broken...
>
> diff --git a/amixer/amixer.c b/amixer/amixer.c
> index a177288..3bc6743 100644
> --- a/amixer/amixer.c
> +++ b/amixer/amixer.c
> @@ -517,20 +517,20 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
> #ifdef SND_CTL_TLVT_DB_RANGE
> case SND_CTL_TLVT_DB_RANGE:
> printf("dBrange-\n");
> - if ((size / (6 * sizeof(unsigned int))) != 0) {
> + if ((size % (6 * sizeof(unsigned int))) != 0) {
> while (size > 0) {
> printf("0x%08x,", tlv[idx++]);
> size -= sizeof(unsigned int);
> }
> break;
> }
> - idx = 0;
> - while (idx < size) {
> + while (size >= 0) {
> print_spaces(spaces + 2);
> - printf("rangemin=%i,", tlv[0]);
> - printf(",rangemax=%i\n", tlv[1]);
> - decode_tlv(spaces + 4, tlv + 2, 6 * sizeof(unsigned int));
> - idx += 6 * sizeof(unsigned int);
> + printf("rangemin=%i,", tlv[idx++]);
> + printf(",rangemax=%i\n", tlv[idx++]);
> + decode_tlv(spaces + 4, tlv + idx, 4 * sizeof(unsigned int));
> + idx += 4 * sizeof(unsigned int);
> + size -= 6 * sizeof(unsigned int);
> }
> break;
> #endif
Nope, that's not yet it ...
# amixer cget numid=39
numid=39,iface=MIXER,name='Limiter1 Attack Threshold (DRC Mode)'
; type=INTEGER,access=rw---R--,values=1,min=0,max=16,step=0
: values=9
| dBrange-
rangemin=0,,rangemax=7
| dBscale-min=-31.00dB,step=2.00dB,mute=0
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=3,,rangemax=72
|
rangemin=-1000,,rangemax=300
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
rangemin=0,,rangemax=0
|
Segmentation fault
More information about the Alsa-devel
mailing list