[alsa-devel] Wolfson codec, problem on mixer levels on kernel 3.17.0

Lars-Peter Clausen lars at metafoo.de
Mon Oct 20 10:08:38 CEST 2014


On 10/20/2014 09:19 AM, Angelo Dureghello wrote:
> Hi,
>
> moving from kernel 3.5.1 to 3.17, amixer cannot read certain mixer controls,
> giving Input/output error:
>
> [root at test ~]# amixer cget numid=12
> numid=12,iface=MIXER,name='Capture Volume'
>    ; type=INTEGER,access=rw---R--,values=2,min=0,max=255,step=0
> amixer: Control default element read error: Input/output error
>
> So i had to disable those controls in the codec code:
>
>      ...
>
>      //SOC_DOUBLE_R_TLV("Capture Volume", WM8758_LEFT_ADC_DIGITAL_VOL,
>      //    WM8758_RIGHT_ADC_DIGITAL_VOL, 0, 255, 0, adc_tlv),
>      ...
>      //SOC_SINGLE("DAC Playback Limiter Switch", WM8758_DAC_LIMITER_1, 8, 1,
> 0),
>      //SOC_SINGLE("DAC Playback Limiter Decay", WM8758_DAC_LIMITER_1, 4, 10,
> 0),
>      //SOC_SINGLE("DAC Playback Limiter Attack", WM8758_DAC_LIMITER_1, 0,
> 11, 0),
>      ...
>      //SOC_ENUM("EQ4 Bandwith", eq4_bw),
>      //SOC_ENUM("EQ4 Cutoff", eq4_cutoff),
>      //SOC_SINGLE_TLV("EQ4 Volume", WM8758_EQ4_PEAK_3, 0, 24, 1, eq_tlv),
>      ...
>
> Is it possible sonething is changed in these macroes, so that the amixer cannot
> access the controls anymore ?

Starting with 3.16 we are now returning IO errors to userspace instead of 
silently ignoring them, so there is a chance that these controls never 
worked in the first place but nobody noticed.

- Lars



More information about the Alsa-devel mailing list