1. 09 2月, 2007 2 次提交
    • A
      [ALSA] sound/soc/soc-dapm.c: make 4 functions static · d9c96cf3
      Adrian Bunk 提交于
      Make the following needlessly global functions static:
      - dapm_power_widgets()
      - dapm_mux_update_power()
      - dapm_mixer_update_power()
      - dapm_free_widgets()
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NJaroslav Kysela <perex@suse.cz>
      d9c96cf3
    • R
      [ALSA] ASoC: dynamic audio power management (DAPM) · 2b97eabc
      Richard Purdie 提交于
      This patch adds Dynamic Audio Power Management (DAPM) to ASoC.
      Dynamic Audio Power Management (DAPM) is designed to allow portable and
      handheld Linux devices to use the minimum amount of power within the
      audio subsystem at all times. It is independent of other kernel PM and
      as such, can easily co-exist with the other PM systems.
      DAPM is also completely transparent to all user space applications as
      all power switching is done within the ASoC core. No code changes or
      recompiling are required for user space applications. DAPM makes power
      switching decisions based upon any audio stream (capture/playback)
      activity and audio mixer settings within the device.
      DAPM spans the whole machine. It covers power control within the entire
      audio subsystem, this includes internal codec power blocks and machine
      level power systems.
      There are 4 power domains within DAPM:-
      1. Codec domain - VREF, VMID (core codec and audio power)
      Usually controlled at codec probe/remove and suspend/resume, although
      can be set at stream time if power is not needed for sidetone, etc.
      2. Platform/Machine domain - physically connected inputs and outputs
      Is platform/machine and user action specific, is configured by the
      machine driver and responds to asynchronous events e.g when HP are
      inserted
      3. Path domain - audio subsystem signal paths
      Automatically set when mixer and mux settings are changed by the user.
      e.g. alsamixer, amixer.
      4. Stream domain - DAC's and ADC's.
      Enabled and disabled when stream playback/capture is started and stopped
      respectively. e.g. aplay, arecord.
      All DAPM power switching decisions are made automatically by consulting
      an audio routing map of the whole machine. This map is specific to each
      machine and consists of the interconnections between every audio
      component (including internal codec components).
      Signed-off-by: NRichard Purdie <rpurdie@rpsys.net>
      Signed-off-by: NLiam Girdwood <liam.girdwood@wolfsonmicro.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NJaroslav Kysela <perex@suse.cz>
      2b97eabc