Discussion:
Wolfson codec, problem on mixer levels on kernel 3.17.0
Angelo Dureghello
2014-10-20 07:19:44 UTC
Permalink
Hi,

moving from kernel 3.5.1 to 3.17, amixer cannot read certain mixer
controls,
giving Input/output error:

[***@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 ?

Every help is appreciated,
many thanks
angelo
--
To unsubscribe from this list: send the line "unsubscribe alsa-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Lars-Peter Clausen
2014-10-20 08:08:38 UTC
Permalink
Hi,
moving from kernel 3.5.1 to 3.17, amixer cannot read certain mixer controls,
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
...
//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

Loading...