sound fixes for 3.12-rc7
The pending last-minute ASoC fixes, all of which are driver-local (tlv320aic3x, rcar, pcm1681, pcm1792a, omap, fsl) and should be pretty safe to apply. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJSZkCNAAoJEGwxgFQ9KSmkk1AQAKMVciIvbofvqIZ+8wHiTmjr WJif4qXBcffrexzeOoCwyoqIyImDJVrUz8sLxYZtVqvIbtWALuXT6IMmOpETyRud YJox+IsBs1ls5+MqJ3eV3VYdzBwxQIHOpBWGHF0N84eAdfL1yvexPBgyVDSrrEZp MOT+Qzvz0ogQJgAGpd0SeAxFa5OzSdZIDus/r1N9RaGuEdgWrQVxeRvRrYBshl7L eeHssHEVg7elB99VuBAOPAZAdtHACcRX3i49kZPCG0XOxKqzdohMTPza002uR2Ge fYv44XNNKJQDEzbPe+LaE4scr6VHAE0483TUFbYzhFWqKS2qBsDAJwY4+jQKhOxo +9JNocByCSH7YQ1emrGA+buBGWOKJp4OcnclUxKBnsWDLTD9DJ1yBG4yniMHNIs8 5T8ny07Zy9loPdQMQ1rZqz86JZnlW4HFvLjy5FyuXjKElG1C8hwwwY3BiN54xHsi u5AuzHWKqAQatHjyMxn+9v8t/MwoD+XMu2LSduLYKyFOHVwxlmiGx9PvU0ZvN2ez mmGuN4TzAw3tFaOs9WC0hAh8E3/RlwJ4gYRl0B8sszqCNjBNLTch/ljSD2LNmgr4 g/ojfxP0aWWGhGgmTnxaZVROGCH9P9qYeb+a4Z+F5RjnSUrMDqpPeth4ZOMIUmNH fHxcwLxy5sAFbIL2vmWW =3RI4 -----END PGP SIGNATURE----- Merge tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "The pending last-minute ASoC fixes, all of which are driver-local (tlv320aic3x, rcar, pcm1681, pcm1792a, omap, fsl) and should be pretty safe to apply" * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: Add MAINTAINERS entry for dmaengine helpers ASoC: pcm1792a: Fix max_register setting ASoC: pcm1681: Fix max_register setting ASoC: pcm1681: Fix max_register setting ASoC: rcar: fixup generation checker ASoC: tlv320aic3x: Connect 'Left Line1R Mux' and 'Right Line1L Mux' ASoC: fsl: imx-ssi: fix probe on imx31 ASoC: omap: Fix incorrect ARM dependency ASoC: fsl: Fix sound on mx31moboard ASoC: fsl_ssi: Fix irq_of_parse_and_map() return value check
This commit is contained in:
Коммит
93cd00043f
|
@ -7822,6 +7822,13 @@ F: Documentation/sound/alsa/soc/
|
|||
F: sound/soc/
|
||||
F: include/sound/soc*
|
||||
|
||||
SOUND - DMAENGINE HELPERS
|
||||
M: Lars-Peter Clausen <lars@metafoo.de>
|
||||
S: Supported
|
||||
F: include/sound/dmaengine_pcm.h
|
||||
F: sound/core/pcm_dmaengine.c
|
||||
F: sound/soc/soc-generic-dmaengine-pcm.c
|
||||
|
||||
SPARC + UltraSPARC (sparc/sparc64)
|
||||
M: "David S. Miller" <davem@davemloft.net>
|
||||
L: sparclinux@vger.kernel.org
|
||||
|
|
|
@ -68,6 +68,7 @@ struct rsnd_scu_platform_info {
|
|||
*
|
||||
* A : generation
|
||||
*/
|
||||
#define RSND_GEN_MASK (0xF << 0)
|
||||
#define RSND_GEN1 (1 << 0) /* fixme */
|
||||
#define RSND_GEN2 (2 << 0) /* fixme */
|
||||
|
||||
|
|
|
@ -270,7 +270,7 @@ MODULE_DEVICE_TABLE(of, pcm1681_dt_ids);
|
|||
static const struct regmap_config pcm1681_regmap = {
|
||||
.reg_bits = 8,
|
||||
.val_bits = 8,
|
||||
.max_register = ARRAY_SIZE(pcm1681_reg_defaults) + 1,
|
||||
.max_register = 0x13,
|
||||
.reg_defaults = pcm1681_reg_defaults,
|
||||
.num_reg_defaults = ARRAY_SIZE(pcm1681_reg_defaults),
|
||||
.writeable_reg = pcm1681_writeable_reg,
|
||||
|
|
|
@ -188,7 +188,7 @@ MODULE_DEVICE_TABLE(of, pcm1792a_of_match);
|
|||
static const struct regmap_config pcm1792a_regmap = {
|
||||
.reg_bits = 8,
|
||||
.val_bits = 8,
|
||||
.max_register = 24,
|
||||
.max_register = 23,
|
||||
.reg_defaults = pcm1792a_reg_defaults,
|
||||
.num_reg_defaults = ARRAY_SIZE(pcm1792a_reg_defaults),
|
||||
.writeable_reg = pcm1792a_writeable_reg,
|
||||
|
|
|
@ -674,6 +674,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
/* Left Input */
|
||||
{"Left Line1L Mux", "single-ended", "LINE1L"},
|
||||
{"Left Line1L Mux", "differential", "LINE1L"},
|
||||
{"Left Line1R Mux", "single-ended", "LINE1R"},
|
||||
{"Left Line1R Mux", "differential", "LINE1R"},
|
||||
|
||||
{"Left Line2L Mux", "single-ended", "LINE2L"},
|
||||
{"Left Line2L Mux", "differential", "LINE2L"},
|
||||
|
@ -690,6 +692,8 @@ static const struct snd_soc_dapm_route intercon[] = {
|
|||
/* Right Input */
|
||||
{"Right Line1R Mux", "single-ended", "LINE1R"},
|
||||
{"Right Line1R Mux", "differential", "LINE1R"},
|
||||
{"Right Line1L Mux", "single-ended", "LINE1L"},
|
||||
{"Right Line1L Mux", "differential", "LINE1L"},
|
||||
|
||||
{"Right Line2R Mux", "single-ended", "LINE2R"},
|
||||
{"Right Line2R Mux", "differential", "LINE2R"},
|
||||
|
|
|
@ -936,7 +936,7 @@ static int fsl_ssi_probe(struct platform_device *pdev)
|
|||
ssi_private->ssi_phys = res.start;
|
||||
|
||||
ssi_private->irq = irq_of_parse_and_map(np, 0);
|
||||
if (ssi_private->irq == NO_IRQ) {
|
||||
if (ssi_private->irq == 0) {
|
||||
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name);
|
||||
return -ENXIO;
|
||||
}
|
||||
|
|
|
@ -112,7 +112,7 @@ static int imx_mc13783_probe(struct platform_device *pdev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
if (machine_is_mx31_3ds()) {
|
||||
if (machine_is_mx31_3ds() || machine_is_mx31moboard()) {
|
||||
imx_audmux_v2_configure_port(MX31_AUDMUX_PORT4_SSI_PINS_4,
|
||||
IMX_AUDMUX_V2_PTCR_SYN,
|
||||
IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) |
|
||||
|
|
|
@ -600,19 +600,17 @@ static int imx_ssi_probe(struct platform_device *pdev)
|
|||
ssi->fiq_params.dma_params_rx = &ssi->dma_params_rx;
|
||||
ssi->fiq_params.dma_params_tx = &ssi->dma_params_tx;
|
||||
|
||||
ret = imx_pcm_fiq_init(pdev, &ssi->fiq_params);
|
||||
if (ret)
|
||||
goto failed_pcm_fiq;
|
||||
ssi->fiq_init = imx_pcm_fiq_init(pdev, &ssi->fiq_params);
|
||||
ssi->dma_init = imx_pcm_dma_init(pdev);
|
||||
|
||||
ret = imx_pcm_dma_init(pdev);
|
||||
if (ret)
|
||||
goto failed_pcm_dma;
|
||||
if (ssi->fiq_init && ssi->dma_init) {
|
||||
ret = ssi->fiq_init;
|
||||
goto failed_pcm;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
failed_pcm_dma:
|
||||
imx_pcm_fiq_exit(pdev);
|
||||
failed_pcm_fiq:
|
||||
failed_pcm:
|
||||
snd_soc_unregister_component(&pdev->dev);
|
||||
failed_register:
|
||||
release_mem_region(res->start, resource_size(res));
|
||||
|
@ -628,8 +626,11 @@ static int imx_ssi_remove(struct platform_device *pdev)
|
|||
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
struct imx_ssi *ssi = platform_get_drvdata(pdev);
|
||||
|
||||
imx_pcm_dma_exit(pdev);
|
||||
imx_pcm_fiq_exit(pdev);
|
||||
if (!ssi->dma_init)
|
||||
imx_pcm_dma_exit(pdev);
|
||||
|
||||
if (!ssi->fiq_init)
|
||||
imx_pcm_fiq_exit(pdev);
|
||||
|
||||
snd_soc_unregister_component(&pdev->dev);
|
||||
|
||||
|
|
|
@ -211,6 +211,8 @@ struct imx_ssi {
|
|||
struct imx_dma_data filter_data_rx;
|
||||
struct imx_pcm_fiq_params fiq_params;
|
||||
|
||||
int fiq_init;
|
||||
int dma_init;
|
||||
int enabled;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
config SND_OMAP_SOC
|
||||
tristate "SoC Audio for the Texas Instruments OMAP chips"
|
||||
depends on (ARCH_OMAP && DMA_OMAP) || (ARCH_ARM && COMPILE_TEST)
|
||||
depends on (ARCH_OMAP && DMA_OMAP) || (ARM && COMPILE_TEST)
|
||||
select SND_DMAENGINE_PCM
|
||||
|
||||
config SND_OMAP_SOC_DMIC
|
||||
|
@ -26,7 +26,7 @@ config SND_OMAP_SOC_N810
|
|||
|
||||
config SND_OMAP_SOC_RX51
|
||||
tristate "SoC Audio support for Nokia RX-51"
|
||||
depends on SND_OMAP_SOC && ARCH_ARM && (MACH_NOKIA_RX51 || COMPILE_TEST)
|
||||
depends on SND_OMAP_SOC && ARM && (MACH_NOKIA_RX51 || COMPILE_TEST)
|
||||
select SND_OMAP_SOC_MCBSP
|
||||
select SND_SOC_TLV320AIC3X
|
||||
select SND_SOC_TPA6130A2
|
||||
|
|
|
@ -220,8 +220,8 @@ int rsnd_gen_path_exit(struct rsnd_priv *priv,
|
|||
void __iomem *rsnd_gen_reg_get(struct rsnd_priv *priv,
|
||||
struct rsnd_mod *mod,
|
||||
enum rsnd_reg reg);
|
||||
#define rsnd_is_gen1(s) ((s)->info->flags & RSND_GEN1)
|
||||
#define rsnd_is_gen2(s) ((s)->info->flags & RSND_GEN2)
|
||||
#define rsnd_is_gen1(s) (((s)->info->flags & RSND_GEN_MASK) == RSND_GEN1)
|
||||
#define rsnd_is_gen2(s) (((s)->info->flags & RSND_GEN_MASK) == RSND_GEN2)
|
||||
|
||||
/*
|
||||
* R-Car ADG
|
||||
|
|
Загрузка…
Ссылка в новой задаче