[PATCH alsa-ucm-conf] codecs/rt5672: Remove Intel SST specific HeadsetMic workaround

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There used to be an issue with the HeadsetMic on BYT devices with
a rt5672 codec only being recorded on the left channel, while the
right channel recorded silence.

The ucm2/codecs/rt5672/HeadsetMic.conf contains a workaround for
this which changes the SST record-stream demuxer settings to
use "slot 0" for both the left and right channels when recording
from the HeadsetMic.

There are 2 problems with this workaround:

1. It uses SST specific mixer settings causing things to break
when using the SOF driver.

2. Files under uc2m/codecs should be architecture agnostic and should
not depend on platform dependent mixer settings such as the SST driver
mixer settings.

The problem which the workaround used to work around has since been
fixed in the kernel by switching the wire format from TDM/DSP A to I2S:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0ceb8a36d023d4bb4ffca3474a452fb1dfaa0ef2

This fix has landed in 5.8 and has been backported to all recent
stable kernel releases.

Since this is fixed in the kernel now, we can drop the workaround,
fixing the 2 problems mentioned above.

This was tested on a ThinkPad 8 tablet, which is the same device as
where the HeadsetMic problem was originally noticed.

Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
---
 ucm2/codecs/rt5672/HeadsetMic.conf | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/ucm2/codecs/rt5672/HeadsetMic.conf b/ucm2/codecs/rt5672/HeadsetMic.conf
index a764d82..fc061b0 100644
--- a/ucm2/codecs/rt5672/HeadsetMic.conf
+++ b/ucm2/codecs/rt5672/HeadsetMic.conf
@@ -12,11 +12,6 @@ SectionDevice."Headset" {
 		cset "name='RECMIXR BST1 Switch' on"
 		cset "name='Sto1 ADC MIXL ADC1 Switch' on"
 		cset "name='Sto1 ADC MIXR ADC1 Switch' on"
-		# For unknown reasons the headset mic sound is only recorded
-		# on the left channel, we tweak the data-stream reception to
-		# use the left samples for both slots, so that we get a stereo
-		# stream with the mic sound on both channels
-		cset "name='codec_in rx deinterleaver codec_in0_1' 1"
 	]
 
 	DisableSequence [
@@ -25,8 +20,6 @@ SectionDevice."Headset" {
 		cset "name='RECMIXR BST1 Switch' off"
 		cset "name='Sto1 ADC MIXL ADC1 Switch' off"
 		cset "name='Sto1 ADC MIXR ADC1 Switch' off"
-		# Undo data-stream reception mono-mix workaround
-		cset "name='codec_in rx deinterleaver codec_in0_1' 2"
 	]
 
 	Value {
-- 
2.30.0




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux