[alsa-devel] Wolfson codec, problem on mixer levels on kernel 3.17.0
Hi,
moving from kernel 3.5.1 to 3.17, amixer cannot read certain mixer controls, giving Input/output error:
[root@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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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@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
participants (2)
-
Angelo Dureghello
-
Lars-Peter Clausen