Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+34 -19
+7
MAINTAINERS
··· 7822 7822 F: sound/soc/ 7823 7823 F: include/sound/soc* 7824 7824 7825 + SOUND - DMAENGINE HELPERS 7826 + M: Lars-Peter Clausen <lars@metafoo.de> 7827 + S: Supported 7828 + F: include/sound/dmaengine_pcm.h 7829 + F: sound/core/pcm_dmaengine.c 7830 + F: sound/soc/soc-generic-dmaengine-pcm.c 7831 + 7825 7832 SPARC + UltraSPARC (sparc/sparc64) 7826 7833 M: "David S. Miller" <davem@davemloft.net> 7827 7834 L: sparclinux@vger.kernel.org
+1
include/sound/rcar_snd.h
··· 68 68 * 69 69 * A : generation 70 70 */ 71 + #define RSND_GEN_MASK (0xF << 0) 71 72 #define RSND_GEN1 (1 << 0) /* fixme */ 72 73 #define RSND_GEN2 (2 << 0) /* fixme */ 73 74
+1 -1
sound/soc/codecs/pcm1681.c
··· 270 270 static const struct regmap_config pcm1681_regmap = { 271 271 .reg_bits = 8, 272 272 .val_bits = 8, 273 - .max_register = ARRAY_SIZE(pcm1681_reg_defaults) + 1, 273 + .max_register = 0x13, 274 274 .reg_defaults = pcm1681_reg_defaults, 275 275 .num_reg_defaults = ARRAY_SIZE(pcm1681_reg_defaults), 276 276 .writeable_reg = pcm1681_writeable_reg,
+1 -1
sound/soc/codecs/pcm1792a.c
··· 188 188 static const struct regmap_config pcm1792a_regmap = { 189 189 .reg_bits = 8, 190 190 .val_bits = 8, 191 - .max_register = 24, 191 + .max_register = 23, 192 192 .reg_defaults = pcm1792a_reg_defaults, 193 193 .num_reg_defaults = ARRAY_SIZE(pcm1792a_reg_defaults), 194 194 .writeable_reg = pcm1792a_writeable_reg,
+4
sound/soc/codecs/tlv320aic3x.c
··· 674 674 /* Left Input */ 675 675 {"Left Line1L Mux", "single-ended", "LINE1L"}, 676 676 {"Left Line1L Mux", "differential", "LINE1L"}, 677 + {"Left Line1R Mux", "single-ended", "LINE1R"}, 678 + {"Left Line1R Mux", "differential", "LINE1R"}, 677 679 678 680 {"Left Line2L Mux", "single-ended", "LINE2L"}, 679 681 {"Left Line2L Mux", "differential", "LINE2L"}, ··· 692 690 /* Right Input */ 693 691 {"Right Line1R Mux", "single-ended", "LINE1R"}, 694 692 {"Right Line1R Mux", "differential", "LINE1R"}, 693 + {"Right Line1L Mux", "single-ended", "LINE1L"}, 694 + {"Right Line1L Mux", "differential", "LINE1L"}, 695 695 696 696 {"Right Line2R Mux", "single-ended", "LINE2R"}, 697 697 {"Right Line2R Mux", "differential", "LINE2R"},
+1 -1
sound/soc/fsl/fsl_ssi.c
··· 936 936 ssi_private->ssi_phys = res.start; 937 937 938 938 ssi_private->irq = irq_of_parse_and_map(np, 0); 939 - if (ssi_private->irq == NO_IRQ) { 939 + if (ssi_private->irq == 0) { 940 940 dev_err(&pdev->dev, "no irq for node %s\n", np->full_name); 941 941 return -ENXIO; 942 942 }
+1 -1
sound/soc/fsl/imx-mc13783.c
··· 112 112 return ret; 113 113 } 114 114 115 - if (machine_is_mx31_3ds()) { 115 + if (machine_is_mx31_3ds() || machine_is_mx31moboard()) { 116 116 imx_audmux_v2_configure_port(MX31_AUDMUX_PORT4_SSI_PINS_4, 117 117 IMX_AUDMUX_V2_PTCR_SYN, 118 118 IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) |
+12 -11
sound/soc/fsl/imx-ssi.c
··· 600 600 ssi->fiq_params.dma_params_rx = &ssi->dma_params_rx; 601 601 ssi->fiq_params.dma_params_tx = &ssi->dma_params_tx; 602 602 603 - ret = imx_pcm_fiq_init(pdev, &ssi->fiq_params); 604 - if (ret) 605 - goto failed_pcm_fiq; 603 + ssi->fiq_init = imx_pcm_fiq_init(pdev, &ssi->fiq_params); 604 + ssi->dma_init = imx_pcm_dma_init(pdev); 606 605 607 - ret = imx_pcm_dma_init(pdev); 608 - if (ret) 609 - goto failed_pcm_dma; 606 + if (ssi->fiq_init && ssi->dma_init) { 607 + ret = ssi->fiq_init; 608 + goto failed_pcm; 609 + } 610 610 611 611 return 0; 612 612 613 - failed_pcm_dma: 614 - imx_pcm_fiq_exit(pdev); 615 - failed_pcm_fiq: 613 + failed_pcm: 616 614 snd_soc_unregister_component(&pdev->dev); 617 615 failed_register: 618 616 release_mem_region(res->start, resource_size(res)); ··· 626 628 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 627 629 struct imx_ssi *ssi = platform_get_drvdata(pdev); 628 630 629 - imx_pcm_dma_exit(pdev); 630 - imx_pcm_fiq_exit(pdev); 631 + if (!ssi->dma_init) 632 + imx_pcm_dma_exit(pdev); 633 + 634 + if (!ssi->fiq_init) 635 + imx_pcm_fiq_exit(pdev); 631 636 632 637 snd_soc_unregister_component(&pdev->dev); 633 638
+2
sound/soc/fsl/imx-ssi.h
··· 211 211 struct imx_dma_data filter_data_rx; 212 212 struct imx_pcm_fiq_params fiq_params; 213 213 214 + int fiq_init; 215 + int dma_init; 214 216 int enabled; 215 217 }; 216 218
+2 -2
sound/soc/omap/Kconfig
··· 1 1 config SND_OMAP_SOC 2 2 tristate "SoC Audio for the Texas Instruments OMAP chips" 3 - depends on (ARCH_OMAP && DMA_OMAP) || (ARCH_ARM && COMPILE_TEST) 3 + depends on (ARCH_OMAP && DMA_OMAP) || (ARM && COMPILE_TEST) 4 4 select SND_DMAENGINE_PCM 5 5 6 6 config SND_OMAP_SOC_DMIC ··· 26 26 27 27 config SND_OMAP_SOC_RX51 28 28 tristate "SoC Audio support for Nokia RX-51" 29 - depends on SND_OMAP_SOC && ARCH_ARM && (MACH_NOKIA_RX51 || COMPILE_TEST) 29 + depends on SND_OMAP_SOC && ARM && (MACH_NOKIA_RX51 || COMPILE_TEST) 30 30 select SND_OMAP_SOC_MCBSP 31 31 select SND_SOC_TLV320AIC3X 32 32 select SND_SOC_TPA6130A2
+2 -2
sound/soc/sh/rcar/rsnd.h
··· 220 220 void __iomem *rsnd_gen_reg_get(struct rsnd_priv *priv, 221 221 struct rsnd_mod *mod, 222 222 enum rsnd_reg reg); 223 - #define rsnd_is_gen1(s) ((s)->info->flags & RSND_GEN1) 224 - #define rsnd_is_gen2(s) ((s)->info->flags & RSND_GEN2) 223 + #define rsnd_is_gen1(s) (((s)->info->flags & RSND_GEN_MASK) == RSND_GEN1) 224 + #define rsnd_is_gen2(s) (((s)->info->flags & RSND_GEN_MASK) == RSND_GEN2) 225 225 226 226 /* 227 227 * R-Car ADG