ASoC: TSCS42xx: Control Improvements
Subsystems (3)
Steven Eckhoff
maintainercover ASoC: TSCS42xx: Control Improvements
Steven Eckhoff (3):
Add mic bias boost control
Remove Playback/Capture from control names
Add headphone auto switching controls
sound/soc/codecs/tscs42xx.c | 37 +++++++++++++++++++++++-------------- sound/soc/codecs/tscs42xx.h | 8 ++++++++ 2 files changed, 31 insertions(+), 14 deletions(-)
Signature · 1 line
2.17.0
Steven Eckhoff
maintainerPATCH 1/3 ASoC: TSCS42xx: Add mic bias boost control
Add mic bias boost control
--- sound/soc/codecs/tscs42xx.c | 3 +++ 1 file changed, 3 insertions(+)
sound/soc/codecs/tscs42xx.c +3 -0
@@ -638,6 +638,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {/* Input Channel Map */ SOC_ENUM ("Input Channel Map" , ch_map_select_enum), +/* Mic Bias */ +SOC_SINGLE ("Mic Bias Boost Switch" ,0x71 ,0x07 ,1 ,0 ), +/* Coefficient Ram */ COEFF_RAM_CTL ("Cascade1L BiQuad1" ,BIQUAD_SIZE ,0x00 ), COEFF_RAM_CTL("Cascade1L BiQuad2", BIQUAD_SIZE, 0x05),
Signature · 1 line
2.17.0
Mark Brown
maintainerApplied "ASoC: TSCS42xx: Add mic bias boost control" to the asoc tree
The patch
ASoC: TSCS42xx: Add mic bias boost control
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
58f7d470c85801f55bbae2d3c93fe1a3d34aa143Mon Sep 17 00:00:00 2001
From: Steven Eckhoff <[email protected]>
Date: Mon, 4 Jun 2018 15:45:40 -0500
Subject: [PATCH] ASoC: TSCS42xx: Add mic bias boost control
Add mic bias boost control
--- sound/soc/codecs/tscs42xx.c | 3 +++ 1 file changed, 3 insertions(+)
sound/soc/codecs/tscs42xx.c +3 -0
@@ -644,6 +644,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {/* Input Channel Map */ SOC_ENUM ("Input Channel Map" , ch_map_select_enum), +/* Mic Bias */ +SOC_SINGLE ("Mic Bias Boost Switch" ,0x71 ,0x07 ,1 ,0 ), +/* Coefficient Ram */ COEFF_RAM_CTL ("Cascade1L BiQuad1" ,BIQUAD_SIZE ,0x00 ), COEFF_RAM_CTL("Cascade1L BiQuad2", BIQUAD_SIZE, 0x05),
Signature · 1 line
2.17.1
Steven Eckhoff
maintainerPATCH 2/3 ASoC: TSCS42xx: Remove Playback/Capture in names
In reply to Steven EckhoffThese aren't needed and some userspace apps don't work consistently with them.
Remove Playback/Capture from control names
--- sound/soc/codecs/tscs42xx.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-)
sound/soc/codecs/tscs42xx.c +14 -14
@@ -619,19 +619,19 @@ static int bytes_info_ext(struct snd_kcontrol *kcontrol,static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {/* Volumes */ -SOC_DOUBLE_R_TLV ("Headphone Playback Volume" ,R_HPVOLL ,R_HPVOLR , +SOC_DOUBLE_R_TLV ("Headphone Volume" ,R_HPVOLL ,R_HPVOLR ,FB_HPVOLL ,0x7F ,0 , hpvol_scale), -SOC_DOUBLE_R_TLV ("Speaker Playback Volume" ,R_SPKVOLL ,R_SPKVOLR , +SOC_DOUBLE_R_TLV ("Speaker Volume" ,R_SPKVOLL ,R_SPKVOLR ,FB_SPKVOLL ,0x7F ,0 , spkvol_scale), -SOC_DOUBLE_R_TLV ("Master Playback Volume" ,R_DACVOLL ,R_DACVOLR , +SOC_DOUBLE_R_TLV ("Master Volume" ,R_DACVOLL ,R_DACVOLR ,FB_DACVOLL ,0xFF ,0 , dacvol_scale), -SOC_DOUBLE_R_TLV ("PCM Capture Volume" ,R_ADCVOLL ,R_ADCVOLR , +SOC_DOUBLE_R_TLV ("PCM Volume" ,R_ADCVOLL ,R_ADCVOLR ,FB_ADCVOLL ,0xFF ,0 , adcvol_scale), -SOC_DOUBLE_R_TLV ("Master Capture Volume" ,R_INVOLL ,R_INVOLR , +SOC_DOUBLE_R_TLV ("Input Volume" ,R_INVOLL ,R_INVOLR ,FB_INVOLL ,0x3F ,0 , invol_scale),/* INSEL */ -SOC_DOUBLE_R_TLV ("Mic Boost Capture Volume" ,R_INSELL ,R_INSELR , +SOC_DOUBLE_R_TLV ("Mic Boost Volume" ,R_INSELL ,R_INSELR ,FB_INSELL_MICBSTL ,FV_INSELL_MICBSTL_30DB ,0 , mic_boost_scale),
@@ -730,9 +730,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = { R_CLECTL, FB_CLECTL_LIMIT_EN, 1, 0),SOC_SINGLE ("Comp Switch" ,R_CLECTL ,FB_CLECTL_COMP_EN ,1 ,0 ), -SOC_SINGLE_TLV ("CLE Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("CLE Make-Up Gain Volume" ,R_MUGAIN ,FB_MUGAIN_CLEMUG ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("Comp Thresh Volume" ,R_COMPTH ,FB_COMPTH ,0xff ,0 , compth_scale),SOC_ENUM ("Comp Ratio" , compressor_ratio_enum), SND_SOC_BYTES("Comp Atk Time", R_CATKTCL, 2),
@@ -763,9 +763,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {SOC_SINGLE ("MBC1 Phase Invert Switch" ,R_DACMBCMUG1 ,FB_DACMBCMUG1_PHASE ,1 ,0 ), -SOC_SINGLE_TLV ("DAC MBC1 Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC1 Make-Up Gain Volume" ,R_DACMBCMUG1 ,FB_DACMBCMUG1_MUGAIN ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("DAC MBC1 Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC1 Comp Thresh Volume" ,R_DACMBCTHR1 ,FB_DACMBCTHR1_THRESH ,0xff ,0 , compth_scale),SOC_ENUM ("DAC MBC1 Comp Ratio" , dac_mbc1_compressor_ratio_enum),
@@ -775,9 +775,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {SOC_SINGLE ("MBC2 Phase Invert Switch" ,R_DACMBCMUG2 ,FB_DACMBCMUG2_PHASE ,1 ,0 ), -SOC_SINGLE_TLV ("DAC MBC2 Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC2 Make-Up Gain Volume" ,R_DACMBCMUG2 ,FB_DACMBCMUG2_MUGAIN ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("DAC MBC2 Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC2 Comp Thresh Volume" ,R_DACMBCTHR2 ,FB_DACMBCTHR2_THRESH ,0xff ,0 , compth_scale),SOC_ENUM ("DAC MBC2 Comp Ratio" , dac_mbc2_compressor_ratio_enum),
@@ -787,9 +787,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {SOC_SINGLE ("MBC3 Phase Invert Switch" ,R_DACMBCMUG3 ,FB_DACMBCMUG3_PHASE ,1 ,0 ), -SOC_SINGLE_TLV ("DAC MBC3 Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC3 Make-Up Gain Volume" ,R_DACMBCMUG3 ,FB_DACMBCMUG3_MUGAIN ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("DAC MBC3 Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC3 Comp Thresh Volume" ,R_DACMBCTHR3 ,FB_DACMBCTHR3_THRESH ,0xff ,0 , compth_scale),SOC_ENUM ("DAC MBC3 Comp Ratio" , dac_mbc3_compressor_ratio_enum),
Signature · 1 line
2.17.0
Mark Brown
maintainerRe: [alsa-devel][PATCH 2/3] ASoC: TSCS42xx: Remove Playback/Capture in names
Quoted 4 lines · Steven Eckhoff
These aren't needed and some userspace apps don't work consistently with them.
Remove Playback/Capture from control names
Really? They're part of the spec so it indicates that the apps have a problem...
Steven Eckhoff
maintainerRe: [alsa-devel][PATCH 2/3] ASoC: TSCS42xx: Remove Playback/Capture in names
Quoted 2 lines · Mark Brown
Really? They're part of the spec so it indicates that the apps have a problem...
I apologize for the delayed response.
I am unable to reproduce the issue that I was seeing with controls that had Playback or Capture in their names. I am going look into this further.
I was seeing an issue with amixer set where it would not find the control, but I could use the numid. I wanted to make sure that it would always work, so I could provide amixer set commands using the name of the control in our documentation.
Regards,
Steven
Mark Brown
maintainerApplied "ASoC: TSCS42xx: Remove Playback/Capture in names" to the asoc tree
In reply to Steven EckhoffThe patch
ASoC: TSCS42xx: Remove Playback/Capture in names
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
19d996cc3ad698379bcd8482dabe78abe3dc8d96Mon Sep 17 00:00:00 2001
From: Steven Eckhoff <[email protected]>
Date: Mon, 4 Jun 2018 15:46:28 -0500
Subject: [PATCH] ASoC: TSCS42xx: Remove Playback/Capture in names
These aren't needed and some userspace apps don't work consistently with them.
Remove Playback/Capture from control names
--- sound/soc/codecs/tscs42xx.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-)
sound/soc/codecs/tscs42xx.c +14 -14
@@ -625,19 +625,19 @@ static int bytes_info_ext(struct snd_kcontrol *kcontrol,static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {/* Volumes */ -SOC_DOUBLE_R_TLV ("Headphone Playback Volume" ,R_HPVOLL ,R_HPVOLR , +SOC_DOUBLE_R_TLV ("Headphone Volume" ,R_HPVOLL ,R_HPVOLR ,FB_HPVOLL ,0x7F ,0 , hpvol_scale), -SOC_DOUBLE_R_TLV ("Speaker Playback Volume" ,R_SPKVOLL ,R_SPKVOLR , +SOC_DOUBLE_R_TLV ("Speaker Volume" ,R_SPKVOLL ,R_SPKVOLR ,FB_SPKVOLL ,0x7F ,0 , spkvol_scale), -SOC_DOUBLE_R_TLV ("Master Playback Volume" ,R_DACVOLL ,R_DACVOLR , +SOC_DOUBLE_R_TLV ("Master Volume" ,R_DACVOLL ,R_DACVOLR ,FB_DACVOLL ,0xFF ,0 , dacvol_scale), -SOC_DOUBLE_R_TLV ("PCM Capture Volume" ,R_ADCVOLL ,R_ADCVOLR , +SOC_DOUBLE_R_TLV ("PCM Volume" ,R_ADCVOLL ,R_ADCVOLR ,FB_ADCVOLL ,0xFF ,0 , adcvol_scale), -SOC_DOUBLE_R_TLV ("Master Capture Volume" ,R_INVOLL ,R_INVOLR , +SOC_DOUBLE_R_TLV ("Input Volume" ,R_INVOLL ,R_INVOLR ,FB_INVOLL ,0x3F ,0 , invol_scale),/* INSEL */ -SOC_DOUBLE_R_TLV ("Mic Boost Capture Volume" ,R_INSELL ,R_INSELR , +SOC_DOUBLE_R_TLV ("Mic Boost Volume" ,R_INSELL ,R_INSELR ,FB_INSELL_MICBSTL ,FV_INSELL_MICBSTL_30DB ,0 , mic_boost_scale),
@@ -736,9 +736,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = { R_CLECTL, FB_CLECTL_LIMIT_EN, 1, 0),SOC_SINGLE ("Comp Switch" ,R_CLECTL ,FB_CLECTL_COMP_EN ,1 ,0 ), -SOC_SINGLE_TLV ("CLE Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("CLE Make-Up Gain Volume" ,R_MUGAIN ,FB_MUGAIN_CLEMUG ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("Comp Thresh Volume" ,R_COMPTH ,FB_COMPTH ,0xff ,0 , compth_scale),SOC_ENUM ("Comp Ratio" , compressor_ratio_enum), SND_SOC_BYTES("Comp Atk Time", R_CATKTCL, 2),
@@ -769,9 +769,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {SOC_SINGLE ("MBC1 Phase Invert Switch" ,R_DACMBCMUG1 ,FB_DACMBCMUG1_PHASE ,1 ,0 ), -SOC_SINGLE_TLV ("DAC MBC1 Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC1 Make-Up Gain Volume" ,R_DACMBCMUG1 ,FB_DACMBCMUG1_MUGAIN ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("DAC MBC1 Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC1 Comp Thresh Volume" ,R_DACMBCTHR1 ,FB_DACMBCTHR1_THRESH ,0xff ,0 , compth_scale),SOC_ENUM ("DAC MBC1 Comp Ratio" , dac_mbc1_compressor_ratio_enum),
@@ -781,9 +781,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {SOC_SINGLE ("MBC2 Phase Invert Switch" ,R_DACMBCMUG2 ,FB_DACMBCMUG2_PHASE ,1 ,0 ), -SOC_SINGLE_TLV ("DAC MBC2 Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC2 Make-Up Gain Volume" ,R_DACMBCMUG2 ,FB_DACMBCMUG2_MUGAIN ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("DAC MBC2 Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC2 Comp Thresh Volume" ,R_DACMBCTHR2 ,FB_DACMBCTHR2_THRESH ,0xff ,0 , compth_scale),SOC_ENUM ("DAC MBC2 Comp Ratio" , dac_mbc2_compressor_ratio_enum),
@@ -793,9 +793,9 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {SOC_SINGLE ("MBC3 Phase Invert Switch" ,R_DACMBCMUG3 ,FB_DACMBCMUG3_PHASE ,1 ,0 ), -SOC_SINGLE_TLV ("DAC MBC3 Make-Up Gain Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC3 Make-Up Gain Volume" ,R_DACMBCMUG3 ,FB_DACMBCMUG3_MUGAIN ,0x1f ,0 , mugain_scale), -SOC_SINGLE_TLV ("DAC MBC3 Comp Thresh Playback Volume" , +SOC_SINGLE_TLV ("DAC MBC3 Comp Thresh Volume" ,R_DACMBCTHR3 ,FB_DACMBCTHR3_THRESH ,0xff ,0 , compth_scale),SOC_ENUM ("DAC MBC3 Comp Ratio" , dac_mbc3_compressor_ratio_enum),
Signature · 1 line
2.17.1
Steven Eckhoff
maintainerPATCH 3/3 ASoC: TSCS42xx: Add headphone auto switching
In reply to Steven EckhoffAdd headphone auto switching controls
--- sound/soc/codecs/tscs42xx.c | 6 ++++++ sound/soc/codecs/tscs42xx.h | 8 ++++++++ 2 files changed, 14 insertions(+)
sound/soc/codecs/tscs42xx.c +6 -0
@@ -641,6 +641,12 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {/* Mic Bias */ SOC_SINGLE ("Mic Bias Boost Switch" ,0x71 ,0x07 ,1 ,0 ), +/* Headphone Auto Switching */ +SOC_SINGLE ("Headphone Auto Switching Switch" , +R_CTL ,FB_CTL_HPSWEN ,1 ,0 ), +SOC_SINGLE ("Headphone Detect Polarity Toggle Switch" , +R_CTL ,FB_CTL_HPSWPOL ,1 ,0 ), +/* Coefficient Ram */ COEFF_RAM_CTL ("Cascade1L BiQuad1" ,BIQUAD_SIZE ,0x00 ), COEFF_RAM_CTL("Cascade1L BiQuad2", BIQUAD_SIZE, 0x05),
sound/soc/codecs/tscs42xx.h +8 -0
@@ -34,6 +34,7 @@ enum {#define R_DACSR 0x19#define R_PWRM1 0x1A#define R_PWRM2 0x1B +#define R_CTL 0x1C#define R_CONFIG0 0x1F#define R_CONFIG1 0x20#define R_DMICCTL 0x24
@@ -1110,6 +1111,13 @@ enum {#define RV_PWRM2_VREF_DISABLE \ RV(FV_PWRM2_VREF_DISABLE, FB_PWRM2_VREF) +/****************************** +* R_CTL (0x1C) * +******************************/ + +/* Fiel Offsets */ +#define FB_CTL_HPSWEN 7 +#define FB_CTL_HPSWPOL 6/****************************** * R_CONFIG0 (0x1F) *
Signature · 1 line
2.17.0
Mark Brown
maintainerApplied "ASoC: TSCS42xx: Add headphone auto switching" to the asoc tree
The patch
ASoC: TSCS42xx: Add headphone auto switching
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
53af408cd9f2d1c66bc081c1d82797bfe44af3e5Mon Sep 17 00:00:00 2001
From: Steven Eckhoff <[email protected]>
Date: Mon, 4 Jun 2018 15:47:02 -0500
Subject: [PATCH] ASoC: TSCS42xx: Add headphone auto switching
Add headphone auto switching controls
--- sound/soc/codecs/tscs42xx.c | 6 ++++++ sound/soc/codecs/tscs42xx.h | 8 ++++++++ 2 files changed, 14 insertions(+)
sound/soc/codecs/tscs42xx.c +6 -0
@@ -647,6 +647,12 @@ static const struct snd_kcontrol_new tscs42xx_snd_controls[] = {/* Mic Bias */ SOC_SINGLE ("Mic Bias Boost Switch" ,0x71 ,0x07 ,1 ,0 ), +/* Headphone Auto Switching */ +SOC_SINGLE ("Headphone Auto Switching Switch" , +R_CTL ,FB_CTL_HPSWEN ,1 ,0 ), +SOC_SINGLE ("Headphone Detect Polarity Toggle Switch" , +R_CTL ,FB_CTL_HPSWPOL ,1 ,0 ), +/* Coefficient Ram */ COEFF_RAM_CTL ("Cascade1L BiQuad1" ,BIQUAD_SIZE ,0x00 ), COEFF_RAM_CTL("Cascade1L BiQuad2", BIQUAD_SIZE, 0x05),
sound/soc/codecs/tscs42xx.h +8 -0
@@ -34,6 +34,7 @@ enum {#define R_DACSR 0x19#define R_PWRM1 0x1A#define R_PWRM2 0x1B +#define R_CTL 0x1C#define R_CONFIG0 0x1F#define R_CONFIG1 0x20#define R_DMICCTL 0x24
@@ -1110,6 +1111,13 @@ enum {#define RV_PWRM2_VREF_DISABLE \ RV(FV_PWRM2_VREF_DISABLE, FB_PWRM2_VREF) +/****************************** +* R_CTL (0x1C) * +******************************/ + +/* Fiel Offsets */ +#define FB_CTL_HPSWEN 7 +#define FB_CTL_HPSWPOL 6/****************************** * R_CONFIG0 (0x1F) *
Signature · 1 line
2.17.1