04 May, 2013

1 commit

  • Pull sound updates from Takashi Iwai:
    "Mostly many small changes spread as seen in diffstat in sound/*
    directory by this update. A significant change in the subsystem level
    is the introduction of snd_soc_component, which will help more generic
    handling of SoC and off-SoC components.

    Also, snd_BUG_ON() macro is enabled unconditionally now due to its
    misuses, so people might hit kernel warnings (it's a good thing for
    us).

    - compress-offload: support for capture by Charles Keepax
    - HD-audio: codec delay support by Dylan Reid
    - HD-audio: improvements/fixes in generic parser: better headphone
    mic and headset mic support, jack_modes hint consolidation, proper
    beep attach/detachment, generalized power filter controls by David
    Henningsson, et al
    - HD-audio: Improved management of HDMI codec pins/converters
    - HD-audio: Better pin/DAC assignment for VIA codecs
    - HD-audio: Haswell HDMI workarounds
    - HD-audio: ALC268 codec support, a few new quirks for Chromebooks
    - USB: regression fixes: USB-MIDI autopm fix, the recent ISO latency
    fix by Clemens Ladisch
    - USB: support for DSD formats by Daniel Mack
    - USB: A few UAC2 device endian/cock fixes by Eldad Zack
    - USB: quirks for Emu 192kHz support, Novation Twitch DJ controller,
    Yamaha THRxx devices
    - HDSPM: updates for TCO controls by Adrian Knoth
    - ASoC: Add a snd_soc_component object type for generic handling of
    SoC and off-SoC components by Kuninori Morimoto,
    - dmaengine: a large set of cleanups and conversions by Lars-Peter
    Clausen
    - ASoC DAPM: performance optimizations from Ryo Tsutsui
    - ASoC DAPM: support for mixer control sharing by Stephen Warren
    - ASoC: multiplatform ARM cleanups from Arnd Bergmann
    - ASoC: new codec drivers for AK5385 and TAS5086 from Daniel Mack"

    * tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (315 commits)
    ALSA: usb-audio: caiaq: fix endianness bug in snd_usb_caiaq_maschine_dispatch
    ALSA: asihpi: add format support check in snd_card_asihpi_capture_formats
    ALSA: pcm_format_to_bits strong-typed conversion
    ALSA: compress: fix the states to check for allowing read
    ALSA: hda - Move Thinkpad X220 to use auto parser
    ALSA: USB: adjust for changed 3.8 USB API
    ALSA: usb - Avoid unnecessary sample rate changes on USB 2.0 clock sources
    sound: oss/dmabuf: use dma_map_single
    ALSA: ali5451: use mdelay instead of large udelay constants
    ALSA: hda - Add the support for ALC286 codec
    ALSA: usb-audio: USB quirk for Yamaha THR10C
    ALSA: usb-audio: USB quirk for Yamaha THR5A
    ALSA: usb-audio: USB quirk for Yamaha THR10
    ALSA: usb-audio: Fix autopm error during probing
    ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT
    ALSA: sound kconfig typo
    ALSA: emu10k1: Fix dock firmware loading
    ASoC: ux500: forward declare msp_i2s_platform_data
    ASoC: davinci-mcasp: Add Support BCLK-to-LRCLK ratio for TDM modes
    ASoC: davinci-pcm, davinci-mcasp: Clean up active_serializers
    ...

    Linus Torvalds
     

01 May, 2013

1 commit

  • Pull trivial tree updates from Jiri Kosina:
    "Usual stuff, mostly comment fixes, typo fixes, printk fixes and small
    code cleanups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (45 commits)
    mm: Convert print_symbol to %pSR
    gfs2: Convert print_symbol to %pSR
    m32r: Convert print_symbol to %pSR
    iostats.txt: add easy-to-find description for field 6
    x86 cmpxchg.h: fix wrong comment
    treewide: Fix typo in printk and comments
    doc: devicetree: Fix various typos
    docbook: fix 8250 naming in device-drivers
    pata_pdc2027x: Fix compiler warning
    treewide: Fix typo in printks
    mei: Fix comments in drivers/misc/mei
    treewide: Fix typos in kernel messages
    pm44xx: Fix comment for "CONFIG_CPU_IDLE"
    doc: Fix typo "CONFIG_CGROUP_CGROUP_MEMCG_SWAP"
    mmzone: correct "pags" to "pages" in comment.
    kernel-parameters: remove outdated 'noresidual' parameter
    Remove spurious _H suffixes from ifdef comments
    sound: Remove stray pluses from Kconfig file
    radio-shark: Fix printk "CONFIG_LED_CLASS"
    doc: put proper reference to CONFIG_MODULE_SIG_ENFORCE
    ...

    Linus Torvalds
     

29 Apr, 2013

1 commit


25 Apr, 2013

1 commit


24 Apr, 2013

3 commits


22 Apr, 2013

1 commit


21 Apr, 2013

3 commits


18 Apr, 2013

3 commits

  • …e/sound into for-next

    ASoC: More updates for v3.10

    The main additional change here is Lars-Peter's DMA work plus the
    platform conversions which have been tested - getting this in mainline
    will make life easier for development after the merge window. These
    factor a large chunk of code out of the drivers for the platforms using
    dmaengine, greatly simplifying development.

    Takashi Iwai
     
  • Use the generic dmaengine PCM driver instead of a custom implemention. There is
    a minor functional change, the ux500 PCM driver did not preallocate the audio
    buffer, while the generic dmaengine PCM driver will do this.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Lee Jones
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • This patch adds two formats for Direct Stream Digital (DSD), a
    pulse-density encoding format which is described here:
    https://en.wikipedia.org/wiki/Direct_Stream_Digital

    DSD operates on 2.8, 5.6 or 11.2MHz sample rates and as a 1-bit
    stream.

    The two new types added by this patch describe streams that are capable
    of handling DSD samples in DOP format as 8-bit or in 16-bit (or at a x8
    or x16 data rate, respectively).

    DSD itself specifies samples in *bit*, while DOP and ALSA handle them
    as *bytes*. Hence, a factor of 8 or 16 has to be applied for the sample
    rare configuration, according to the following table:

    configured hardware
    176.4KHz 352.8kHz 705.6KHz
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

17 Apr, 2013

7 commits

  • Unfortunately there are still quite a few platforms with a dmaengine driver
    which do not support reporting the number of bytes left to transfer. If we want
    to support these platforms in the generic dmaengine PCM driver we have.

    Signed-off-by: Lars-Peter Clausen
    Tested-by: Stephen Warren
    Tested-by: Shawn Guo
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • Linux 3.9-rc7

    Mark Brown
     
  • Add support for platforms which don't use devicetree yet or have to optionally
    support a non-devicetree way to request the DMA channel. The patch adds the
    compat_request_channel and compat_filter_fn callbacks to the
    snd_dmaengine_pcm_config struct. If the compat_request_channel is implemented it
    will be used to request the DMA channel. If not dma_request_channel with
    compat_filter_fn as the filter function will be used to request the channel.

    The patch also exports the snd_dmaengine_pcm_request_chan() function, since
    compat platforms will want to use it to request their DMA channel.

    Signed-off-by: Lars-Peter Clausen
    Tested-by: Stephen Warren
    Tested-by: Shawn Guo
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • This patch adds a generic dmaengine PCM driver. It builds on top of the
    dmaengine PCM library and adds the missing pieces like DMA channel management,
    buffer management and channel configuration. It will be able to replace the
    majority of the existing platform specific dmaengine based PCM drivers.
    Devicetree is used to map the DMA channels to the PCM device.

    Signed-off-by: Lars-Peter Clausen
    Tested-by: Stephen Warren
    Tested-by: Shawn Guo
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • snd_soc_{add,remove}_platform are similar to snd_soc_register_platform and
    snd_soc_unregister_platform with the difference that they won't allocate and
    free the snd_soc_platform structure.

    Also add snd_soc_lookup_platform which looks up a platform by the device it has
    been registered for.

    Signed-off-by: Lars-Peter Clausen
    Tested-by: Stephen Warren
    Tested-by: Shawn Guo
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     
  • …ie/sound into asoc-dma

    Mark Brown
     
  • Refactor the dmaengine PCM library to allow the DMA channel to be requested
    before opening a PCM substream. snd_dmaengine_pcm_open() now expects a DMA
    channel instead of a filter function and filter parameter as its parameters.
    snd_dmaengine_pcm_close() is updated to not release the DMA channel. This allows
    a dmaengine based PCM driver to request its channels before the substream is
    opened.

    The patch also introduces two new functions, snd_dmaengine_pcm_open_request_chan()
    and snd_dmaengine_pcm_close_release_chan(), which have the same signature and
    behaviour of the old snd_dmaengine_pcm_{open,close}() and internally use the new
    variants of these functions. All users of snd_dmaengine_pcm_{open,close}() are
    updated to use snd_dmaengine_pcm_open_request_chan() and
    snd_dmaengine_pcm_close_release_chan().

    Signed-off-by: Lars-Peter Clausen
    Tested-by: Stephen Warren
    Tested-by: Shawn Guo
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

16 Apr, 2013

1 commit

  • ASoC: Updates for v3.10

    A bunch of changes here, the most interesting one subsystem wise being
    Morimoto-san's work to create snd_soc_component which doesn't do much
    for now but will be pretty important going forwards:

    - Add a new component object type which will form the basis of moving
    to a more generic handling of SoC and off-SoC components, contributed
    by Kuninori Morimoto.
    - A fairly large set of cleanups for the dmaengine integration from
    Lars-Peter Clausen, starting to move towards being able to have a
    generic driver based on the library.
    - Performance optimisations to DAPM from Ryo Tsutsui.
    - Support for mixer control sharing in DAPM from Stephen Warren.
    - Multiplatform ARM cleanups from Arnd Bergmann.
    - New CODEC drivers for AK5385 and TAS5086 from Daniel Mack.

    Takashi Iwai
     

12 Apr, 2013

5 commits


04 Apr, 2013

1 commit

  • This patch adds a common DMA data struct which can be used by DAI drivers to
    communicate their DMA configuration requirements to the DMA pcm driver. Having
    a common data structure for this allows us to implement common functions on top
    of them, which can be used by multiple platforms.

    This patch also introduces a new function to initialize certain fields of a
    dma_slave_config struct from the common DAI DMA data struct.

    Signed-off-by: Lars-Peter Clausen
    Reviewed-by: Stephen Warren
    Tested-by: Stephen Warren
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

03 Apr, 2013

1 commit


28 Mar, 2013

3 commits


27 Mar, 2013

1 commit


26 Mar, 2013

3 commits


20 Mar, 2013

1 commit


15 Mar, 2013

1 commit

  • This patch adds .name member on snd_soc_component_driver.
    But this patch doesn't care about whether cmpnt_drv was NULL,
    and/or its name was NULL in snd_soc_register_component()
    at this point.

    Because, it is easy to switch over to
    snd_soc_register_component() from snd_soc_register_dais()
    if it doesn't care cmpnt_drv was NULL.

    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

13 Mar, 2013

1 commit

  • Current ASoC has register function for platform/codec/dai/card,
    but doesn't have for cpu.
    It often produces confusion and fault on ASoC.

    As result of ASoC community discussion,
    we consider new struct snd_soc_component for CPU/CODEC,
    and will switch over to use it.

    This patch adds very basic struct snd_soc_component,
    and register function for it.

    Signed-off-by: Kuninori Morimoto
    Acked-by: Liam Girdwood
    Reviewed-by: Stephen Warren
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

12 Mar, 2013

1 commit

  • script/kernel-doc reports the following type of warnings (when run in verbose
    mode):

    Warning(sound/core/init.c:152): No description found for return value of
    'snd_card_create'

    To fix that:
    - add missing descriptions of function return values
    - use "Return:" sections to describe those return values

    Along the way:
    - complete some descriptions
    - fix some typos

    Signed-off-by: Yacine Belkadi
    Signed-off-by: Takashi Iwai

    Yacine Belkadi