16 Oct, 2013

1 commit


15 Oct, 2013

1 commit

  • The pcm_usb_stream plugin requires the mremap explicitly for the read
    buffer, as it expands itself once after reading the required size.
    But the commit [314e51b9: mm: kill vma flag VM_RESERVED and
    mm->reserved_vm counter] converted blindly to a combination of
    VM_DONTEXPAND | VM_DONTDUMP like other normal drivers, and this
    resulted in the failure of mremap().

    For fixing this regression, we need to remove VM_DONTEXPAND for the
    read-buffer mmap.

    Reported-and-tested-by: James Miller
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

14 Oct, 2013

1 commit

  • The create_bind_cap_vol_ctl does not create any control indicating
    that an inverted dmic is present. Therefore, create multiple
    capture volumes in this scenario, so we always have some indication
    that the internal mic is inverted.

    This happens on the Lenovo Ideapad U310 as well as the Lenovo Yoga 13
    (both are based on the CX20590 codec), but the fix is generic and
    could be needed for other codecs/machines too.

    Thanks to Szymon Acedański for the pointer and a draft patch.

    BugLink: https://bugs.launchpad.net/bugs/1239392
    BugLink: https://bugs.launchpad.net/bugs/1227491
    Reported-by: Szymon Acedański
    Signed-off-by: David Henningsson
    Cc:
    Signed-off-by: Takashi Iwai

    David Henningsson
     

11 Oct, 2013

3 commits


09 Oct, 2013

1 commit


08 Oct, 2013

1 commit

  • Currently hdmi_setup_audio_infoframe() reprograms the HDA channel
    mapping only when the infoframe is not up-to-date or the non-PCM flag
    has changed.

    However, when just the channel map has been changed, the infoframe may
    still be up-to-date and non-PCM flag may not have changed, so the new
    channel map is not actually programmed into the HDA codec.

    Notably, this failing case is also always triggered when the device is
    already in a prepared state and a new channel map is configured while
    changing only the channel positions (for example, plain
    "speaker-test -c2 -m FR,FL").

    Fix that by always programming the channel map in
    hdmi_setup_audio_infoframe(). Tested on Intel HDMI.

    Signed-off-by: Anssi Hannula
    Cc:
    Signed-off-by: Takashi Iwai

    Anssi Hannula
     

07 Oct, 2013

1 commit


02 Oct, 2013

1 commit

  • The frame check in i_usX2Y_urb_complete() and
    i_usX2Y_usbpcm_urb_complete() is bogus and produces false positives as
    described in this LAU thread:

    http://linuxaudio.org/mailarchive/lau/2013/5/20/200177

    This patch removes the check code entirely.

    Cc: fzu@wemgehoertderstaat.de
    Reported-by: Dr Nicholas J Bailey
    Suggested-by: Takashi Iwai
    Signed-off-by: Daniel Mack
    Cc:
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

30 Sep, 2013

3 commits


27 Sep, 2013

9 commits


26 Sep, 2013

4 commits

  • This patch avoids to dereference the uninitialized data pointer if the
    error path is entered before devm_kzalloc is called (or if the allocation
    fails). It fixes the following warning:

    sound/soc/fsl/imx-sgtl5000.c: In function 'imx_sgtl5000_probe':
    sound/soc/fsl/imx-sgtl5000.c:175:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]

    Signed-off-by: Philipp Zabel
    Signed-off-by: Mark Brown

    Philipp Zabel
     
  • Calling devm_clk_get with any device pointer other than our own confuses
    devres. Use clk_get instead. This avoids hitting the following warning in
    the imx-sgtl5000 error path:

    imx-sgtl5000 sound.12: snd_soc_register_card failed (-517)
    platform sound.12: Driver imx-sgtl5000 requests probe deferral
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 75 at drivers/base/dd.c:272 driver_probe_device+0x194/0x218()
    Modules linked in: snd_soc_sgtl5000(+) snd_soc_imx_sgtl5000 coda snd_soc_imx_audmux imx_sdma snd_soc_fsl_spdif snd_soc_fsl_ssi
    CPU: 0 PID: 75 Comm: udevd Not tainted 3.11.0-rc6+ #4682
    Backtrace:
    [] (dump_backtrace+0x0/0x10c) from [] (show_stack+0x18/0x1c)
    r6:00000110 r5:00000009 r4:00000000 r3:00000000
    [] (show_stack+0x0/0x1c) from [] (dump_stack+0x20/0x28)
    [] (dump_stack+0x0/0x28) from [] (warn_slowpath_common+0x6c/0x8c)
    [] (warn_slowpath_common+0x0/0x8c) from [] (warn_slowpath_null+0x24/0x2c)
    r8:7f032000 r7:7f02f93c r6:cf8eaa54 r5:cf8eaa20 r4:80728a0c
    [] (warn_slowpath_null+0x0/0x2c) from [] (driver_probe_device+0x194/0x218)
    [] (driver_probe_device+0x0/0x218) from [] (__driver_attach+0x94/0x98)
    r7:00000000 r6:cf8eaa54 r5:7f02f93c r4:cf8eaa20
    [] (__driver_attach+0x0/0x98) from [] (bus_for_each_dev+0x5c/0x90)
    r6:80286c60 r5:7f02f93c r4:00000000 r3:cf8ef03c
    [] (bus_for_each_dev+0x0/0x90) from [] (driver_attach+0x24/0x28)
    r6:806d0424 r5:cf16a580 r4:7f02f93c
    [] (driver_attach+0x0/0x28) from [] (bus_add_driver+0xdc/0x234)
    [] (bus_add_driver+0x0/0x234) from [] (driver_register+0x80/0x154)
    r8:7f032000 r7:00000001 r6:7f02fa68 r5:7f02fa74 r4:7f02f93c
    [] (driver_register+0x0/0x154) from [] (i2c_register_driver+0x34/0xbc)
    [] (i2c_register_driver+0x0/0xbc) from [] (sgtl5000_i2c_driver_init+0x18/0x24 [snd_soc_sgtl5000])
    r5:7f02fa74 r4:cfb7ff48
    [] (sgtl5000_i2c_driver_init+0x0/0x24 [snd_soc_sgtl5000]) from [] (do_one_initcall+0xf4/0x150)
    [] (do_one_initcall+0x0/0x150) from [] (load_module+0x174c/0x1db4)
    [] (load_module+0x0/0x1db4) from [] (SyS_init_module+0xe0/0xf4)
    [] (SyS_init_module+0x0/0xf4) from [] (ret_fast_syscall+0x0/0x30)
    r6:00005b22 r5:00afed68 r4:00000000
    ---[ end trace b24c5c3bb145dbdd ]---

    Signed-off-by: Philipp Zabel
    Acked-by: Shawn Guo
    Reviewed-by: Fabio Estevam
    Signed-off-by: Mark Brown

    Philipp Zabel
     
  • BIOS can mark a pin as "no physical connection" if the port is used by an
    integrated display which is not audio capable. And audio driver will overlook
    such pins.

    On Haswell, such a disconneted pin will keep muted and connected to the 1st
    converter by default. But if the 1st convertor is assigned to a connected pin
    for audio streaming. The muted disconnected pin can make the connected pin
    no sound output.

    So this patch avoids using assigned converters for all unused pins for Haswell,
    including the disconected pins.

    Signed-off-by: Mengdong Lin
    Reviewed-by: David Henningsson
    Signed-off-by: Takashi Iwai

    Mengdong Lin
     
  • Currently we assume that userspace will shut down the compressed stream
    correctly. However, if userspcae dies (e.g. cplay & ctrl-C) we dont
    stop the stream before freeing it.

    This now checks that the stream is stopped before freeing.

    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai

    Liam Girdwood
     

20 Sep, 2013

1 commit


17 Sep, 2013

1 commit


14 Sep, 2013

4 commits


13 Sep, 2013

1 commit


12 Sep, 2013

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A few last-minute fixes for 3.12-rc1. All patches are driver
    specific.

    - HD-audio fixes: MacBook 6,1/6,2 speaker fix, ASUS TX300 dock
    speaker fix, Toshiba Satellite irq fix, Haswell HDMI audio
    cleanups)

    - ASoC fixes: atmel irq fix, fsl DT fix, mc13783 spi fix, kirkwood
    compatible string change, etc"

    * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ASoC: mc13783: add spi errata fix
    ASoC: rsnd: fixup flag name of rsnd_scu_platform_info
    ALSA: hda - Add CS4208 codec support for MacBook 6,1 and 6,2
    ALSA: hda - Add Toshiba Satellite C870 to MSI blacklist
    ASoC: fsl_spdif: Select regmap-mmio
    ALSA: hda - unmute pin amplifier in infoframe setup for Haswell
    ALSA: hda - define is_haswell() to check if a display audio codec is Haswell
    ALSA: hda - Add dock speaker support for ASUS TX300
    ASoC: kirkwood: change the compatible string of the kirkwood-i2s driver
    ASoC: atmel: disable error interrupt
    ASoC: fsl: imx-audmux: Do not call imx_audmux_parse_dt_defaults() on non-dt kernel

    Linus Torvalds
     

11 Sep, 2013

6 commits