21 May, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits)
    ALSA: hda: Storage class should be before const qualifier
    ASoC: tpa6130a2: Remove CPVSS and HPVdd supplies
    ASoC: tpa6130a2: Define output pins with SND_SOC_DAPM_OUTPUT
    ASoC: sdp4430 - add sdp4430 pcm ops to DAI.
    ASoC: TWL6040: Enable earphone path in codec
    ASoC: SDP4430: Add support for Earphone speaker
    ASoC: SDP4430: Add sdp4430 machine driver
    ASoC: tlv320dac33: Avoid powering off while in BIAS_OFF
    ASoC: tlv320dac33: Use dev_dbg in dac33_hard_power function
    ALSA: sound/pci/asihpi: Use kzalloc
    ALSA: hdmi - dont fail on extra nodes
    ALSA: intelhdmi - add id for the CougarPoint chipset
    ALSA: intelhdmi - user friendly codec name
    ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
    ALSA: asihpi: incorrect range check
    ALSA: asihpi: testing the wrong variable
    ALSA: es1688: add pedantic range checks
    ARM: McBSP: Add support for omap4 in McBSP driver
    ARM: McBSP: Fix request for irq in OMAP4
    OMAP: McBSP: Add 32-bit mode support
    ...

    Linus Torvalds
     

20 May, 2010

3 commits


12 May, 2010

1 commit


11 May, 2010

2 commits

  • If the register for the volume needs invert, than the inversion
    need to be done from the chip maximum, and not from the platform
    dependent limit.
    Introduce soc_mixer_control.platform_max value, which initially
    equals to chip maximum.
    The snd_soc_limit_volume function only modify the platform_max,
    all volsw_info call returns this as well.
    The .max value holds the chip default (maximum), and it is used
    for the inversion, if it is needed.

    Additional check in the volsw_info call has been added to check
    the validity of the platform_max in case, when custom macros
    used by codec drivers are not initializing it correctly.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     
  • This patch changes the string based list management to a handle base
    implementation to help with the hot path use of pm-qos, it also renames
    much of the API to use "request" as opposed to "requirement" that was
    used in the initial implementation. I did this because request more
    accurately represents what it actually does.

    Also, I added a string based ABI for users wanting to use a string
    interface. So if the user writes 0xDDDDDDDD formatted hex it will be
    accepted by the interface. (someone asked me for it and I don't think
    it hurts anything.)

    This patch updates some documentation input I got from Randy.

    Signed-off-by: markgross
    Signed-off-by: Rafael J. Wysocki

    Mark Gross
     

10 May, 2010

5 commits

  • As well as allowing DAPM pins to be marked as ignoring suspend allow DAI
    links to be similarly marked. This is primarily intended for digital
    links between CODECs and non-CPU devices such as basebands in mobile
    phones and will suppress all suspend calls for the DAI link. It is
    likely that this will need to be revisited if used with devices which
    are part of the SoC CPU.

    Tested-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Mark Brown
     
  • Some devices can usefully run audio while the Linux system is suspended.
    One of the most common examples is smartphone systems, which are normally
    designed to allow audio to be run between the baseband and the CODEC
    without passing through the CPU and so can suspend the CPU when on a
    voice call for additional power savings.

    Support such systems by providing an API snd_soc_dapm_ignore_suspend().
    This can be used to mark DAPM endpoints as not being sensitive to
    system suspend. When the system is being suspended paths between
    endpoints which are marked as ignoring suspend will be kept active.
    Both source and sink must be marked, and there must already be an
    active path between the two endpoints prior to suspend.

    When paths are active over suspend the bias management will hold the
    device bias in the ON state. This is used to avoid suspending the
    CODEC while it is still in use.

    Tested-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Mark Brown
     
  • We now manage suspend within the main power analysis rather than by
    flipping the state of widgets.

    Tested-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Mark Brown
     
  • The ESS ES968 chip is nothing more then a PnP companion
    for a non-PnP audio chip. It was paired with non-PnP ESS' chips:
    ES688 and ES1688. The ESS' audio chips are handled by the es1688
    driver in native mode. The PnP cards are handled by the ES968
    driver in SB compatible mode.

    Move the ES968 chip handling to the es1688 driver so the driver
    can handle both PnP and non-PnP cards. The es968 is removed.

    Also, a new PnP id is added for the card I acquired (the change
    was tested on this card).

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai

    Krzysztof Helt
     
  • Allocate the snd_es1688 during the snd_card allocation.
    This allows to remove the card pointer from the snd_es1688 structure.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai

    Krzysztof Helt
     

07 May, 2010

2 commits

  • This reverts commit 6f3991152f20933b77eff30413e893bf1a15e578.

    Since core has now support for limiting the volume on controls this
    patch is not needed. Furthermore, this patch actually prevents the core
    to set new volume on the TPA.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     
  • Add support for the core to limit the maximum volume on an
    existing control.
    The function will modify the soc_mixer_control.max value
    of the given control.
    The new value must be lower than the original one (chip maximum)

    If there is a need for limiting a gain on a given control,
    than machine drivers can do the following in their
    snd_soc_dai_link.init function:

    snd_soc_limit_volume(codec, "TPA6140A2 Headphone Playback Volume", 21);

    This will modify the original 31 (chip maximum) to 21, so user
    space will not be able to set the gain higher than this.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     

06 May, 2010

3 commits


30 Apr, 2010

1 commit

  • The WM9090 is a high performance low power audio subsystem, including
    headphone and class D speaker drivers.

    Note that this driver is a standalone CODEC driver and so is only
    immediately suitable for use with the WM9090 as a standalone sound card
    taking line inputs, or with a DAC with no software control. The pending
    ASoC multi-CODEC support will expand the range of systems that can use
    the driver, or system-specific adaptations can be made.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     

26 Apr, 2010

1 commit


17 Apr, 2010

1 commit

  • One of the features of the multi CODEC work is that it embeds a struct
    device in the CODEC to provide diagnostics via a sysfs class rather than
    via the device tree, at which point it's much better to use the struct
    device private data rather than having two places to store it. Provide
    an accessor function to allow this change to be made more easily, and
    update all the CODEC drivers are updated.

    To ensure use of the accessor the private data structure member is
    renamed, meaning that if code developed with older an older core that
    still uses private_data is merged it will fail to build.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     

16 Apr, 2010

1 commit


13 Apr, 2010

1 commit


07 Apr, 2010

1 commit


06 Apr, 2010

2 commits

  • Conflicts due to context changes next to the backported DMA data change:
    include/sound/soc.h

    Mark Brown
     
  • This fixes a memory corruption when ASoC devices are used in
    full-duplex mode. Specifically for pxa-ssp code, where this pointer
    is dynamically allocated for each direction and destroyed upon each
    stream start.

    All other platforms are fixed blindly, I couldn't even compile-test
    them. Sorry for any breakage I may have caused.

    [Note that this is a backported version for 2.6.34.
    Upstream commit is fd23b7dee]

    Signed-off-by: Daniel Mack
    Reported-by: Sven Neumann
    Reported-by: Michael Hirsch
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Daniel Mack
     

04 Apr, 2010

1 commit


23 Mar, 2010

1 commit

  • Some systems provide both mechanical and electrical detection of jack
    status changes. On such systems power savings can be achieved by only
    enabling the electrical detection methods when physical insertion has
    been detected.

    Begin supporting such systems by providing a notifier for jack status
    changes which can be used to trigger any reconfiguration.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     

20 Mar, 2010

1 commit

  • This fixes a memory corruption when ASoC devices are used in
    full-duplex mode. Specifically for pxa-ssp code, where this pointer
    is dynamically allocated for each direction and destroyed upon each
    stream start.

    All other platforms are fixed blindly, I couldn't even compile-test
    them. Sorry for any breakage I may have caused.

    Reported-by: Sven Neumann
    Reported-by: Michael Hirsch
    Signed-off-by: Daniel Mack
    Acked-by: Peter Ujfalusi
    Acked-by: Jarkko Nikula
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Daniel Mack
     

19 Mar, 2010

1 commit


18 Mar, 2010

1 commit

  • Some devices provide support for detection of a small number of
    buttons on their jacks. One common implementation provides a single
    button, implemented by shorting the microphone to ground and detected
    along with microphone presence detection by detecting varying current
    draws on the microphone bias signal.

    Provide support for up to three buttons via the jack interface. These
    default to reporting BTN_n but an API is provided to allow these to
    be remapped to other keys by the machine driver where it knows what
    the keys are. More keys can be added with ease if required.

    This is only intended to support simple accessory button designs. If
    the interface is limiting then either creating a child device for the
    accessory or accessing the input device in the jack directly is
    recommended.

    Signed-off-by: Mark Brown

    Mark Brown
     

17 Mar, 2010

1 commit


16 Mar, 2010

7 commits


12 Mar, 2010

1 commit

  • Platform data option for the codec to keep the BCLK clock
    continuously running in FIFO modes (codec master).

    OMAP3 McBSP when in slave mode needs continuous BCLK running
    on the serial bus in order to operate correctly.

    Since in FIFO mode the DAC33 can also shut down the BCLK clock
    and enable it only when it is needed, let the platforms decide
    if the CPU side needs the BCLK running or not.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     

10 Mar, 2010

1 commit