24 Nov, 2010

1 commit


25 Oct, 2010

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits)
    ALSA: hda - Disable sticky PCM stream assignment for AD codecs
    ALSA: usb - Creative USB X-Fi volume knob support
    ALSA: ca0106: Use card specific dac id for mute controls.
    ALSA: ca0106: Allow different sound cards to use different SPI channel mappings.
    ALSA: ca0106: Create a nice spot for mapping channels to dacs.
    ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence.
    ALSA: ca0106: Pull out dac powering routine into separate function.
    ALSA: ca0106 - add Sound Blaster 5.1vx info.
    ASoC: tlv320dac33: Use usleep_range for delays
    ALSA: usb-audio: add Novation Launchpad support
    ALSA: hda - Add workarounds for CT-IBG controllers
    ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs
    ASoC: tpa6130a2: Error handling for broken chip
    ASoC: max98088: Staticise m98088_eq_band
    ASoC: soc-core: Fix codec->name memory leak
    ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066
    ALSA: hda - Add some workarounds for Creative IBG
    ALSA: hda - Fix wrong SPDIF NID assignment for CA0110
    ALSA: hda - Fix codec rename rules for ALC662-compatible codecs
    ALSA: hda - Add alc_init_jacks() call to other codecs
    ...

    Linus Torvalds
     
  • Takashi Iwai
     
  • Conflicts:
    arch/powerpc/platforms/85xx/p1022_ds.c

    Takashi Iwai
     

23 Oct, 2010

1 commit

  • This patch removes the old CONFIG_SYSFS_DEPRECATED_V2 config option,
    but it keeps the logic around to handle block devices in the old manner
    as some people like to run new kernel versions on old (pre 2007/2008)
    distros.

    Signed-off-by: Kay Sievers
    Cc: Jens Axboe
    Cc: Stephen Hemminger
    Cc: "Eric W. Biederman"
    Cc: Alan Stern
    Cc: "James E.J. Bottomley"
    Cc: Andrew Morton
    Cc: Alexey Kuznetsov
    Cc: Randy Dunlap
    Cc: Tejun Heo
    Cc: "David S. Miller"
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: David Howells
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

19 Oct, 2010

1 commit


18 Oct, 2010

1 commit


17 Oct, 2010

2 commits


13 Oct, 2010

1 commit

  • With generic AC97 ASoC glue driver (codec/ac97.c), we get following warning when
    the device is registered (slightly stripped the backtrace):

    kobject (c5a863e8): tried to init an initialized object, something is seriously
    wrong.
    [] (unwind_backtrace+0x0/0xec)
    [] (kobject_init+0x38/0x70)
    [] (device_initialize+0x20/0x70)
    [] (device_register+0xc/0x18)
    [] (snd_soc_instantiate_cards+0x924/0xacc [snd_soc_core])
    [] (snd_soc_register_platform+0x16c/0x198 [snd_soc_core])
    [] (platform_drv_probe+0x18/0x1c)
    [] (driver_probe_device+0xb0/0x16c)
    [] (__driver_attach+0x5c/0x7c)
    [] (bus_for_each_dev+0x48/0x78)
    [] (bus_add_driver+0x98/0x214)
    [] (driver_register+0xa4/0x130)
    [] (do_one_initcall+0xd0/0x1a4)
    [] (sys_init_module+0x12b0/0x1454)

    This happens because the generic AC97 glue driver creates its codec->ac97 via
    calling snd_ac97_mixer(). snd_ac97_mixer() provides own version of
    snd_device.register which handles the device registration when
    snd_card_register() is called.

    To avoid registering the AC97 device twice, we add a new flag to the
    snd_soc_codec: ac97_created which tells whether the AC97 device was created by
    SoC subsystem.

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

    Mika Westerberg
     

08 Oct, 2010

1 commit

  • Rather than block the workqueue by sleeping to do the debounce use delayed
    work to implement the debounce time. This should also means that we extend
    the debounce time on each new bounce, potentially allowing shorter debounce
    times for clean insertions.

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

    Mark Brown
     

03 Oct, 2010

1 commit


01 Oct, 2010

1 commit

  • Add the widget for MICBIAS power control and allow configuration of the
    microphone bias setup via the platform data for the WM8962. When
    microphone status signals are brought out to GPIO this should be
    sufficient to enable microphone detection.

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

    Mark Brown
     

29 Sep, 2010

1 commit


07 Sep, 2010

1 commit


06 Sep, 2010

1 commit


31 Aug, 2010

2 commits


18 Aug, 2010

2 commits

  • The current code in pcm_lib.c do all checks using only the position
    in the ring buffer. Unfortunately, where the interrupts gets delayed or
    merged into one, we need another timing source to check when the
    buffer size boundary overlaps to avoid the wrong updating of the
    ring buffer pointers.

    This code uses jiffies to check the right time window without any
    performance impact.

    Signed-off-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Jaroslav Kysela
     
  • With some hardware combinations, the PCM interrupts are acknowledged
    before the period boundary from the emu10k1 chip. The midlevel PCM code
    gets confused and the playback stream is interrupted.

    It seems that the interrupt processing shift by 2 samples is enough
    to fix this issue. This default value does not harm other,
    non-affected hardware.

    More information: Kernel bugzilla bug#16300

    [A copmile warning fixed by tiwai]

    Signed-off-by: Jaroslav Kysela
    Cc:
    Signed-off-by: Takashi Iwai

    Jaroslav Kysela
     

17 Aug, 2010

1 commit

  • Fairly simple conflicts, the most serious ones are the i.MX ones which I
    suspect now need another rename.

    Conflicts:
    arch/arm/mach-mx2/clock_imx27.c
    arch/arm/mach-mx2/devices.c
    arch/arm/mach-omap2/board-rx51-peripherals.c
    arch/arm/mach-omap2/board-zoom2.c
    sound/soc/fsl/mpc5200_dma.c
    sound/soc/fsl/mpc5200_dma.h
    sound/soc/fsl/mpc8610_hpcd.c
    sound/soc/pxa/spitz.c

    Mark Brown
     

15 Aug, 2010

1 commit


12 Aug, 2010

2 commits

  • …l/git/lrg/asoc-2.6 into for-2.6.37

    Mark Brown
     
  • This patch extends the ASoC API to allow sound cards to have more than one
    CODEC and more than one platform DMA controller. This is achieved by dividing
    some current ASoC structures that contain both driver data and device data into
    structures that only either contain device data or driver data. i.e.

    struct snd_soc_codec ---> struct snd_soc_codec (device data)
    +-> struct snd_soc_codec_driver (driver data)

    struct snd_soc_platform ---> struct snd_soc_platform (device data)
    +-> struct snd_soc_platform_driver (driver data)

    struct snd_soc_dai ---> struct snd_soc_dai (device data)
    +-> struct snd_soc_dai_driver (driver data)

    struct snd_soc_device ---> deleted

    This now allows ASoC to be more tightly aligned with the Linux driver model and
    also means that every ASoC codec, platform and (platform) DAI is a kernel
    device. ASoC component private data is now stored as device private data.

    The ASoC sound card struct snd_soc_card has also been updated to store lists
    of it's components rather than a pointer to a codec and platform. The PCM
    runtime struct soc_pcm_runtime now has pointers to all its components.

    This patch adds DAPM support for ASoC multi-component and removes struct
    snd_soc_socdev from DAPM core. All DAPM calls are now made on a card, codec
    or runtime PCM level basis rather than using snd_soc_socdev.

    Other notable multi-component changes:-

    * Stream operations now de-reference less structures.
    * close_delayed work() now runs on a DAI basis rather than looping all DAIs
    in a card.
    * PM suspend()/resume() operations can now handle N CODECs and Platforms
    per sound card.
    * Added soc_bind_dai_link() to bind the component devices to the sound card.
    * Added soc_dai_link_probe() and soc_dai_link_remove() to probe and remove
    DAI link components.
    * sysfs entries can now be registered per component per card.
    * snd_soc_new_pcms() functionailty rolled into dai_link_probe().
    * snd_soc_register_codec() now does all the codec list and mutex init.

    This patch changes the probe() and remove() of the CODEC drivers as follows:-

    o Make CODEC driver a platform driver
    o Moved all struct snd_soc_codec list, mutex, etc initialiasation to core.
    o Removed all static codec pointers (drivers now support > 1 codec dev)
    o snd_soc_register_pcms() now done by core.
    o snd_soc_register_dai() folded into snd_soc_register_codec().

    CS4270 portions:
    Acked-by: Timur Tabi

    Some TLV320aic23 and Cirrus platform fixes.
    Signed-off-by: Ryan Mallon

    TI CODEC and OMAP fixes
    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Janusz Krzysztofik
    Signed-off-by: Jarkko Nikula

    Samsung platform and misc fixes :-
    Signed-off-by: Chanwoo Choi
    Signed-off-by: Joonyoung Shim
    Signed-off-by: Kyungmin Park
    Reviewed-by: Jassi Brar
    Signed-off-by: Seungwhan Youn

    MPC8610 and PPC fixes.
    Signed-off-by: Timur Tabi

    i.MX fixes and some core fixes.
    Signed-off-by: Sascha Hauer

    J4740 platform fixes:-
    Signed-off-by: Lars-Peter Clausen

    CC: Tony Lindgren
    CC: Nicolas Ferre
    CC: Kevin Hilman
    CC: Sascha Hauer
    CC: Atsushi Nemoto
    CC: Kuninori Morimoto
    CC: Daniel Gloeckner
    CC: Manuel Lauss
    CC: Mike Frysinger
    CC: Arnaud Patard
    CC: Wan ZongShun

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

    Liam Girdwood
     

08 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
    ALSA: hda - Add pin-fix for HP dc5750
    ALSA: als4000: Fix potentially invalid DMA mode setup
    ALSA: als4000: enable burst mode
    ALSA: hda - Fix initial capsrc selection in patch_alc269()
    ASoC: TWL4030: Capture route runtime DAPM ordering fix
    ALSA: hda - Add PC-beep whitelist for an Intel board
    ALSA: hda - More relax for pending period handling
    ALSA: hda - Define AC_FMT_* constants
    ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
    ALSA: hda - Add support for HDMI HBR passthrough
    ALSA: hda - Set Stream Type in Stream Format according to AES0
    ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
    ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
    ASoC: wm9081: fix resource reclaim in wm9081_register error path
    ASoC: wm8978: fix a memory leak if a wm8978_register fail
    ASoC: wm8974: fix a memory leak if another WM8974 is registered
    ASoC: wm8961: fix resource reclaim in wm8961_register error path
    ASoC: wm8955: fix resource reclaim in wm8955_register error path
    ASoC: wm8940: fix a memory leak if wm8940_register return error
    ASoC: wm8904: fix resource reclaim in wm8904_register error path
    ...

    Linus Torvalds
     

05 Aug, 2010

2 commits


02 Aug, 2010

1 commit


30 Jul, 2010

1 commit


29 Jul, 2010

2 commits

  • Platform parameter to enable automatic FIFO configuration when
    the codec is in Mode1 or Mode7 FIFO mode.
    When this mode is selected, the controls for changing
    nSample (in Mode1), and UTHR (in Mode7) are not added.
    The driver configures the FIFO configuration based on
    the stream's period size in a way, that every burst will
    read period size of data from the host.
    In Mode7 we need to use a formula, which gives close enough
    aproximation for the burst length from the host point
    of view.

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

    Peter Ujfalusi
     
  • Replace the hardwired latency definition with platform data
    parameter, and simplify the nSample parameter calculation.

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

    Peter Ujfalusi
     

19 Jul, 2010

1 commit

  • All current users of pm_qos_add_request() have the ability to supply
    the memory required by the pm_qos routines, so make them do this and
    eliminate the kmalloc() with pm_qos_add_request(). This has the
    double benefit of making the call never fail and allowing it to be
    called from atomic context.

    Signed-off-by: James Bottomley
    Signed-off-by: mark gross
    Signed-off-by: Rafael J. Wysocki

    James Bottomley
     

18 Jul, 2010

1 commit


13 Jul, 2010

2 commits


05 Jul, 2010

1 commit


28 Jun, 2010

1 commit

  • When using poll() to wait for the next period -- or avail_min samples --
    one gets a consistent delay for each system call that is usually just a
    little short of the selected period time. However, When using
    snd_pcm_read/write(), one gets a jittery delay that alternates between
    less than a millisecond and approximately two period times. This is
    caused by snd_pcm_lib_{read,write}1() transferring any available samples
    to the user's buffer and adjusting the application pointer prior to
    sleeping to the end of the current period. When the next period
    interrupt occurs, there is then less than avail_min samples remaining to
    be transferred in the period, so we end up sleeping until a second
    period occurs.

    This is solved by using runtime->twake as the number of samples needed
    for a wakeup in addition to selecting the proper wait queue to wake in
    snd_pcm_update_state(). This requires twake to be non-zero when used
    by snd_pcm_lib_{read,write}1() even if avail_min is zero.

    Signed-off-by: Dave Dillow
    Signed-off-by: Jaroslav Kysela

    David Dillow
     

25 Jun, 2010

1 commit


31 May, 2010

2 commits