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.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull more sound fixes from Takashi Iwai:
"Yet more (a bunch of) small fixes that slipped from the previous pull
request. Most of commits are pending ASoC fixes, all of which are
fairly trivial commits."

* tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ASoC: wm8904: correct the index
ALSA: hda - Yet another position_fix quirk for ASUS machines
ASoC: tegra: fix maxburst settings in dmaengine code
ASoC: samsung dma - Don't indicate support for pause/resume.
ASoC: mc13783: Remove mono support
ASoC: arizona: Fix typo in 44.1kHz rates
ASoC: spear: correct the check for NULL dma_buffer pointer
sound: tegra_alc5632: remove HP detect GPIO inversion
ASoC: atmel-ssc: include linux/io.h for raw io
ASoC: dapm: Don't force card bias level to be updated
ASoC: dapm: Make sure we update the bias level for CODECs with no op
ASoC: am3517evm: fix error return code
ASoC: ux500_msp_i2s: better use devm functions and fix error return code
ASoC: imx-sgtl5000: fix error return code

+23 -40
+1
include/linux/atmel-ssc.h
··· 3 3 4 4 #include <linux/platform_device.h> 5 5 #include <linux/list.h> 6 + #include <linux/io.h> 6 7 7 8 struct ssc_device { 8 9 struct list_head list;
+1
sound/pci/hda/hda_intel.c
··· 2701 2701 SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB), 2702 2702 SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB), 2703 2703 SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB), 2704 + SND_PCI_QUIRK(0x1043, 0x1ac3, "ASUS X53S", POS_FIX_POSBUF), 2704 2705 SND_PCI_QUIRK(0x1043, 0x1b43, "ASUS K53E", POS_FIX_POSBUF), 2705 2706 SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB), 2706 2707 SND_PCI_QUIRK(0x10de, 0xcb89, "Macbook Pro 7,1", POS_FIX_LPIB),
+1 -1
sound/soc/codecs/arizona.c
··· 426 426 940800, 427 427 1411200, 428 428 1881600, 429 - 2882400, 429 + 2822400, 430 430 3763200, 431 431 5644800, 432 432 7526400,
+4 -4
sound/soc/codecs/mc13783.c
··· 659 659 .id = MC13783_ID_STEREO_DAC, 660 660 .playback = { 661 661 .stream_name = "Playback", 662 - .channels_min = 1, 662 + .channels_min = 2, 663 663 .channels_max = 2, 664 664 .rates = SNDRV_PCM_RATE_8000_96000, 665 665 .formats = MC13783_FORMATS, ··· 670 670 .id = MC13783_ID_STEREO_CODEC, 671 671 .capture = { 672 672 .stream_name = "Capture", 673 - .channels_min = 1, 673 + .channels_min = 2, 674 674 .channels_max = 2, 675 675 .rates = MC13783_RATES_RECORD, 676 676 .formats = MC13783_FORMATS, ··· 692 692 .id = MC13783_ID_SYNC, 693 693 .playback = { 694 694 .stream_name = "Playback", 695 - .channels_min = 1, 695 + .channels_min = 2, 696 696 .channels_max = 2, 697 697 .rates = SNDRV_PCM_RATE_8000_96000, 698 698 .formats = MC13783_FORMATS, 699 699 }, 700 700 .capture = { 701 701 .stream_name = "Capture", 702 - .channels_min = 1, 702 + .channels_min = 2, 703 703 .channels_max = 2, 704 704 .rates = MC13783_RATES_RECORD, 705 705 .formats = MC13783_FORMATS,
+1 -1
sound/soc/codecs/wm8904.c
··· 100 100 { 14, 0x0000 }, /* R14 - Power Management 2 */ 101 101 { 15, 0x0000 }, /* R15 - Power Management 3 */ 102 102 { 18, 0x0000 }, /* R18 - Power Management 6 */ 103 - { 19, 0x945E }, /* R20 - Clock Rates 0 */ 103 + { 20, 0x945E }, /* R20 - Clock Rates 0 */ 104 104 { 21, 0x0C05 }, /* R21 - Clock Rates 1 */ 105 105 { 22, 0x0006 }, /* R22 - Clock Rates 2 */ 106 106 { 24, 0x0050 }, /* R24 - Audio Interface 0 */
+1 -1
sound/soc/fsl/imx-sgtl5000.c
··· 94 94 dev_err(&pdev->dev, "audmux internal port setup failed\n"); 95 95 return ret; 96 96 } 97 - imx_audmux_v2_configure_port(ext_port, 97 + ret = imx_audmux_v2_configure_port(ext_port, 98 98 IMX_AUDMUX_V2_PTCR_SYN, 99 99 IMX_AUDMUX_V2_PDCR_RXDSEL(int_port)); 100 100 if (ret) {
+1 -1
sound/soc/omap/am3517evm.c
··· 59 59 return ret; 60 60 } 61 61 62 - snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_FSR_SRC_FSX, 0, 62 + ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_FSR_SRC_FSX, 0, 63 63 SND_SOC_CLOCK_IN); 64 64 if (ret < 0) { 65 65 printk(KERN_ERR "can't set CPU system clock OMAP_MCBSP_FSR_SRC_FSX\n");
+1 -7
sound/soc/samsung/dma.c
··· 34 34 .info = SNDRV_PCM_INFO_INTERLEAVED | 35 35 SNDRV_PCM_INFO_BLOCK_TRANSFER | 36 36 SNDRV_PCM_INFO_MMAP | 37 - SNDRV_PCM_INFO_MMAP_VALID | 38 - SNDRV_PCM_INFO_PAUSE | 39 - SNDRV_PCM_INFO_RESUME, 37 + SNDRV_PCM_INFO_MMAP_VALID, 40 38 .formats = SNDRV_PCM_FMTBIT_S16_LE | 41 39 SNDRV_PCM_FMTBIT_U16_LE | 42 40 SNDRV_PCM_FMTBIT_U8 | ··· 246 248 247 249 switch (cmd) { 248 250 case SNDRV_PCM_TRIGGER_START: 249 - case SNDRV_PCM_TRIGGER_RESUME: 250 - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: 251 251 prtd->state |= ST_RUNNING; 252 252 prtd->params->ops->trigger(prtd->params->ch); 253 253 break; 254 254 255 255 case SNDRV_PCM_TRIGGER_STOP: 256 - case SNDRV_PCM_TRIGGER_SUSPEND: 257 - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: 258 256 prtd->state &= ~ST_RUNNING; 259 257 prtd->params->ops->stop(prtd->params->ch); 260 258 break;
+4 -1
sound/soc/soc-dapm.c
··· 291 291 if (dapm->codec->driver->set_bias_level) 292 292 ret = dapm->codec->driver->set_bias_level(dapm->codec, 293 293 level); 294 - } else 294 + else 295 + dapm->bias_level = level; 296 + } else if (!card || dapm != &card->dapm) { 295 297 dapm->bias_level = level; 298 + } 296 299 297 300 if (ret != 0) 298 301 goto out;
+1 -1
sound/soc/spear/spear_pcm.c
··· 138 138 continue; 139 139 140 140 buf = &substream->dma_buffer; 141 - if (!buf && !buf->area) 141 + if (!buf || !buf->area) 142 142 continue; 143 143 144 144 dma_free_writecombine(pcm->card->dev, buf->bytes,
-1
sound/soc/tegra/tegra_alc5632.c
··· 89 89 .name = "Headset detection", 90 90 .report = SND_JACK_HEADSET, 91 91 .debounce_time = 150, 92 - .invert = 1, 93 92 }; 94 93 95 94 static const struct snd_soc_dapm_widget tegra_alc5632_dapm_widgets[] = {
+2 -2
sound/soc/tegra/tegra_pcm.c
··· 334 334 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { 335 335 slave_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; 336 336 slave_config.dst_addr = dmap->addr; 337 - slave_config.src_maxburst = 0; 337 + slave_config.dst_maxburst = 4; 338 338 } else { 339 339 slave_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; 340 340 slave_config.src_addr = dmap->addr; 341 - slave_config.dst_maxburst = 0; 341 + slave_config.src_maxburst = 4; 342 342 } 343 343 slave_config.slave_id = dmap->req_sel; 344 344
+5 -20
sound/soc/ux500/ux500_msp_i2s.c
··· 663 663 struct ux500_msp **msp_p, 664 664 struct msp_i2s_platform_data *platform_data) 665 665 { 666 - int ret = 0; 667 666 struct resource *res = NULL; 668 667 struct i2s_controller *i2s_cont; 669 668 struct ux500_msp *msp; ··· 684 685 if (res == NULL) { 685 686 dev_err(&pdev->dev, "%s: ERROR: Unable to get resource!\n", 686 687 __func__); 687 - ret = -ENOMEM; 688 - goto err_res; 688 + return -ENOMEM; 689 689 } 690 690 691 - msp->registers = ioremap(res->start, (res->end - res->start + 1)); 691 + msp->registers = devm_ioremap(&pdev->dev, res->start, 692 + resource_size(res)); 692 693 if (msp->registers == NULL) { 693 694 dev_err(&pdev->dev, "%s: ERROR: ioremap failed!\n", __func__); 694 - ret = -ENOMEM; 695 - goto err_res; 695 + return -ENOMEM; 696 696 } 697 697 698 698 msp->msp_state = MSP_STATE_IDLE; ··· 703 705 dev_err(&pdev->dev, 704 706 "%s: ERROR: Failed to allocate I2S-controller!\n", 705 707 __func__); 706 - goto err_i2s_cont; 708 + return -ENOMEM; 707 709 } 708 710 i2s_cont->dev.parent = &pdev->dev; 709 711 i2s_cont->data = (void *)msp; ··· 714 716 msp->i2s_cont = i2s_cont; 715 717 716 718 return 0; 717 - 718 - err_i2s_cont: 719 - iounmap(msp->registers); 720 - 721 - err_res: 722 - devm_kfree(&pdev->dev, msp); 723 - 724 - return ret; 725 719 } 726 720 727 721 void ux500_msp_i2s_cleanup_msp(struct platform_device *pdev, ··· 722 732 dev_dbg(msp->dev, "%s: Enter (id = %d).\n", __func__, msp->id); 723 733 724 734 device_unregister(&msp->i2s_cont->dev); 725 - devm_kfree(&pdev->dev, msp->i2s_cont); 726 - 727 - iounmap(msp->registers); 728 - 729 - devm_kfree(&pdev->dev, msp); 730 735 } 731 736 732 737 MODULE_LICENSE("GPL v2");