ASoC: cs4265: SOC_SINGLE register value error fix
Subsystems (3)
PATCH v2 1/3 ASoC: cs4265: SOC_SINGLE register value error fix
The cs4265 driver declares the "MMTLR Data Switch" register setting with a 0 register value rather then the 0x12 register (CS4265_SPDIF_CTL2). This incorrect value causes alsamixer to fault with the output :
cannot load mixer controls: Input/output error
This patch corrects the register value. alsamixer now runs.
---
Identical to the original v1 patch, already acked and reviewed.
--- sound/soc/codecs/cs4265.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
sound/soc/codecs/cs4265.c +1 -2
@@ -157,8 +157,7 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = {SOC_SINGLE ("Validity Bit Control Switch" ,CS4265_SPDIF_CTL2 ,3 ,1 ,0 ),SOC_ENUM ("SPDIF Mono/Stereo" , spdif_mono_stereo_enum), -SOC_SINGLE ("MMTLR Data Switch" ,0 , -1 ,1 ,0 ), +SOC_SINGLE ("MMTLR Data Switch" ,CS4265_SPDIF_CTL2 ,0 ,1 ,0 ),SOC_ENUM ("Mono Channel Select" , spdif_mono_select_enum), SND_SOC_BYTES("C Data Buffer", CS4265_C_DATA_BUFF, 24), };
Signature · 1 line
2.17.1
PATCH v2 2/3 ASoC: cs4265: Add native 32bit I2S transport
The cs4265 uses 32 bit transport on the I2S bus. This patch enables native 32 bit mode for machine drivers which use this sound card driver.
---
No changes from v1, however have tested the intended functionality and list discussion had firmed up its purpose.
--- sound/soc/codecs/cs4265.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
sound/soc/codecs/cs4265.c +2 -1
@@ -495,7 +495,8 @@ static int cs4265_set_bias_level(struct snd_soc_component *component, SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000)#define CS4265_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_U24_LE) + SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_U24_LE | \ + SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_U32_LE)static const struct snd_soc_dai_ops cs4265_ops = { .hw_params = cs4265_pcm_hw_params,
Signature · 1 line
2.17.1
Mark Brown
maintainerRe: [PATCH v2 2/3] ASoC: cs4265: Add native 32bit I2S transport
Quoted 9 lines · Matt Flax
The cs4265 uses 32 bit transport on the I2S bus. This patch enables native 32 bit mode for machine drivers which use this sound card driver.
Signed-off-by Matt Flax <[email protected]>---
No changes from v1, however have tested the intended functionality and list discussion had firmed up its purpose.
---
Charles?
Charles Keepax
Reviewed-byRe: [PATCH v2 2/3] ASoC: cs4265: Add native 32bit I2S transport [UNSCANNED]
Quoted 4 lines · Mark Brown
Quoted 3 lines · Matt Flax
The cs4265 uses 32 bit transport on the I2S bus. This patch enables native 32 bit mode for machine drivers which use this sound card driver.
Quoted 8 lines
Quoted 6 lines
Signed-off-by Matt Flax <[email protected]>---
No changes from v1, however have tested the intended functionality and list discussion had firmed up its purpose.
---Charles?
I think this one looks fine to me:
Only slightly doubt I had was that the CODEC doesn't actually support 32bit only 24bit. It will however happily accept the 32-bit from the bus you just loose some precision whilst playing it, so feels like that is basically the same as supporting it to me. Unless I have missed something again :-)
Thanks,
Charles
PATCH v2 3/3 ASoC: cs4265: Add a SPDIF enable switch
In reply to Matt FlaxThis patch adds a SPDIF enable switch as a SOC_SINGLE.
---
v2:
- Changed to a SOC_SINGLE call
--- sound/soc/codecs/cs4265.c | 1 + 1 file changed, 1 insertion(+)
sound/soc/codecs/cs4265.c +1 -0
@@ -154,6 +154,7 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = {SOC_SINGLE ("E to F Buffer Disable Switch" ,CS4265_SPDIF_CTL1 ,6 ,1 ,0 ),SOC_ENUM ("C Data Access" , cam_mode_enum), +SOC_SINGLE ("SPDIF Switch" ,CS4265_SPDIF_CTL2 ,5 ,1 ,1 ),SOC_SINGLE ("Validity Bit Control Switch" ,CS4265_SPDIF_CTL2 ,3 ,1 ,0 ), SOC_ENUM("SPDIF Mono/Stereo", spdif_mono_stereo_enum),
Signature · 1 line
2.17.1
Re: [PATCH v2 3/3] ASoC: cs4265: Add a SPDIF enable switch
Quoted 4 lines · Matt Flax
This patch adds a SPDIF enable switch as a
SOC_SINGLE.Signed-off-by Matt Flax <[email protected]>---
Thanks,
Charles
Mark Brown
maintainerApplied "ASoC: cs4265: Add a S/PDIF enable switch" to the asoc tree
In reply to Matt FlaxThe patch
ASoC: cs4265: Add a S/PDIF enable switch
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
f853d6b3ba345297974d877d8ed0f4a91eaca739Mon Sep 17 00:00:00 2001
From: Matt Flax <[email protected]>
Date: Thu, 30 Aug 2018 09:38:02 +1000
Subject: [PATCH] ASoC: cs4265: Add a S/PDIF enable switch
This patch adds a S/PDIF enable switch as a SOC_SINGLE.
--- sound/soc/codecs/cs4265.c | 1 + 1 file changed, 1 insertion(+)
sound/soc/codecs/cs4265.c +1 -0
@@ -154,6 +154,7 @@ static const struct snd_kcontrol_new cs4265_snd_controls[] = {SOC_SINGLE ("E to F Buffer Disable Switch" ,CS4265_SPDIF_CTL1 ,6 ,1 ,0 ),SOC_ENUM ("C Data Access" , cam_mode_enum), +SOC_SINGLE ("SPDIF Switch" ,CS4265_SPDIF_CTL2 ,5 ,1 ,1 ),SOC_SINGLE ("Validity Bit Control Switch" ,CS4265_SPDIF_CTL2 ,3 ,1 ,0 ), SOC_ENUM("SPDIF Mono/Stereo", spdif_mono_stereo_enum),
Signature · 1 line
2.19.0.rc1
Quoted 5 lines · Matt Flax
The cs4265 driver declares the "MMTLR Data Switch" register setting with a 0 register value rather then the
0x12register (CS4265_SPDIF_CTL2). This incorrect value causes alsamixer to fault with the output :
cannot load mixer controls: Input/output error
Quoted 7 lines
This patch corrects the register value. alsamixer now runs.
Signed-off-by Matt Flax <[email protected]>---
Acked-by Paul Handrigan <[email protected]>Reviewed-by Charles Keepax <[email protected]>
These wanted to be above the --- so they are added into the commit message when the maintainer applies the commit. Probably not worth resending for it, but keep in mind for future.
Thanks,
Charles