09 Feb, 2007

40 commits

  • The fix for sysfs breakage with CONFIG_SYSFS_DEPRECATED was flown
    away by the conflicted merge of the ALSA git tree. The patch below
    fixes it again.

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

    Takashi Iwai
     
  • Added the missing device assignment before creating sysfs tree.
    This caused the insufficient device permissions.

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

    Takashi Iwai
     
  • This fixes the problem of getting extra bytes inserted at the
    beginning of a recording when using the Apple i2s interface and DBDMA
    controller. It turns out that we can't just abort the DMA; we have to
    let it stop at the end of a command, and then wait for the S7 bit to
    be set before turning off the DBDMA controller. Doing that for
    playback doesn't seem to be necessary, but doesn't hurt either.
    We use the technique used by the Darwin driver: make each transfer
    command branch to a stop command if the S0 status bit is set. Thus we
    can ask the DMA controller to stop at the end of the current command
    by setting S0.
    The interrupt routine now looks at and clears the status word of the
    DBDMA command ring. This is necessary so it can know when the DBDMA
    controller has seen that S0 is set, and so when it should look for the
    DBDMA controller being stopped and S7 being set. This also ended up
    simplifying the calculation in i2sbus_pcm_pointer.
    Tested on a 15 inch albook.
    [Addition by Johannes]
    I modified this patch and added the suspend/resume bits to it to get my
    powermac into a decent state when playing sound across suspend to disk
    that has a different bitrate from what the firmware programs the
    hardware to.
    I also added the SNDRV_PCM_INFO_JOINT_DUPLEX flag because it seemed the
    right thing to do and I was looking at the info stuff.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Johannes Berg
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Paul Mackerras
     
  • This patch adds support for the Fujitsu PI1556 laptop.
    Issue: Volume knob on system maxes out lower than alsamixer (0x35 vs 0x40).
    Everything else works, and audio quality is good at 0x35.

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

    Tobin Davis
     
  • This just removes two useless printks.

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

    Johannes Berg
     
  • Fix possible rwsem deadlocks in sequencer code at removal of
    sequencer ports. The list_lock of port group can be double
    locked.

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

    Takashi Iwai
     
  • For some time now, some users of STAC9758 (emu10k1) would have no sound on
    their front channels. This can be fixed (at least for me) by unmuting head
    phone volume and setting it to 0dB before removing the 'Front Playback'
    control. For details, cf.
    https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2308
    Find the appropriate patch attached.
    Credits to: Raymond

    Signed-off-by: Rolf Stefan Wilke
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Rolf Stefan Wilke
     
  • Clean up by replacing with kmemdup().

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

    Takashi Iwai
     
  • Fix the handling of the TXCSB registers cache. There was one array
    overflow in reg_write() and one in snd_ak4114_reg_write(). Thanks
    to David Binderman for reporting the latter.
    The second overflow probably doesn't matter much, given that the
    function snd_ak4114_reg_write() appears to be never called. I wonder
    why it exists and why it is exported.

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

    Jean Delvare
     
  • This patch adds CONFIG_PM to the ac97_bus driver.

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

    Martin Langer
     
  • Added support for the Edirol UA-101 (only in high-speed mode) by taking
    the quirks for the UA-1000 and change them accordingly. Changes were
    made in 'usbaudio.c', 'usbaudio.h', and 'usbquirks.h'
    MIDI and recording seem to work perfectly (with JACK), but playback
    gives some few glitches. I think that's the mentioned
    synchronizing-problem in the UA-1000 quirk ('FIXME: playback must be
    synchronized to capture'), so I didn't change that.
    ToDo: Adding Mixer-Support for the built-in
    control-panel/patch-bay/router.

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

    Bjoern Fay
     
  • o Added ALC861VD support to patch_realtek.c under hda-intel
    o Added ALC660VD as a model of 861VD
    o Added pci quirks for Asus G1 as well as for two devices found in Realtek's
    driver to point at ALC660VD model (3stack-660)
    o Added pci quirk for Lenovo 3000 C200 - although untested, it should work
    with ALC861VD 3stack model
    o Changed preset id = 0x10ec0660 to point at new patch_alc861vd instead of
    patch_861
    o Organised the list of presets

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

    Jakub Schmidtke
     
  • This patch updates the Sharp poodle machine driver to the new API in
    ASoC 0.13.
    Changes:-
    o Manually configure DAI hardware format.
    o Removed config_sysclk() function. No longer needed as clocking is now
    configured manually.

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

    Liam Girdwood
     
  • This patch updates the Sharp tosa machine driver to the new API in ASoC
    0.13.
    Changes:-
    o Update machine operations to new API.

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

    Liam Girdwood
     
  • This patch updates the Sharp spitz machine driver to the new API in ASoC
    0.13.
    Changes:-
    o Manually configure DAI hardware format.
    o Removed config_sysclk() function. No longer needed as clocking is now
    configured manually.

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

    Liam Girdwood
     
  • This patch updates the Sharp corgi machine driver to the new API in ASoC
    0.13.
    Changes:-
    o Manually configure DAI hardware format.
    o Removed config_sysclk() function. No longer needed as clocking is now
    configured manually.

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

    Liam Girdwood
     
  • This patch updates the pxa2xx I2S driver to the new API in ASoC 0.13.
    Changes:-
    o Added check in hw_params to detect buffer less pcms (i.e. BT
    codec).
    o Updated structures to new API
    o Removed DAI's and ac97 ops from PCM header.
    o Integer hardware constraint added for periods.

    Signed-off-by: Andrew Johnson
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Andrew Johnson
     
  • This patch updates the pxa2xx AC97 driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Added pxa2xx-ac97.h header

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

    Liam Girdwood
     
  • This patch updates the pxa2xx I2S driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Removed config_sysclk() function and struct snd_soc_clock_info. No
    longer needed as clocking is now configured manually in the machine
    drivers. Also removed other clocking data from structures.
    o Added pxa2xx-i2s.h header

    Signed-off-by: Philipp Zabel
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Philipp Zabel
     
  • This patch updates the EtI B1 machine driver to the new API in ASoC
    0.13.
    Changes:-
    o Manually configure DAI hardware format.
    o Removed config_sysclk() function. No longer needed as clocking is now
    configured manually.

    Signed-off-by: Frank Mandarino
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Frank Mandarino
     
  • This patch updates the AT91xxxx audio DMA driver to the new API in ASoC
    0.13.
    Changes:-
    o Updated to use new 0.13 data structures.
    o Suspend and Resume now conditionally compiled.
    o #include guard around at91-pcm.h header.

    Signed-off-by: Frank Mandarino
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Frank Mandarino
     
  • This patch updates the AT91xxxx I2S driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Removed config_sysclk() function and struct snd_soc_clock_info. No
    longer needed as clocking is now configured manually in the machine
    drivers. Also removed other clocking data from structures.

    Signed-off-by: Frank Mandarino
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Frank Mandarino
     
  • This patch adds support for I2S slave mode for the ETI_B1 machine from
    Endrelia.

    Signed-off-by: Frank Mandarino
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Frank Mandarino
     
  • This patch updates the AC97 codec driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.

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

    Liam Girdwood
     
  • This patch updates the WM9712 codec driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Removed config_sysclk() function and struct snd_soc_clock_info. No
    longer needed as clocking is now configured manually in the machine
    drivers. Also removed other clocking data from structures.

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

    Liam Girdwood
     
  • This patch updates the WM8750 codec driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Removed config_sysclk() function and struct snd_soc_clock_info. No
    longer needed as clocking is now configured manually in the machine
    drivers. Also removed other clocking data from structures.

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

    Liam Girdwood
     
  • This patch updates the WM8731 codec driver to the new API in ASoC 0.13.
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching in
    the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Removed config_sysclk() function and struct snd_soc_clock_info. No
    longer needed as clocking is now configured manually in the machine
    drivers. Also removed other clocking data from structures.

    Signed-off-by: Frank Mandarino
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Frank Mandarino
     
  • This patch fixes a bug whereby an unnamed stream would cause a NULL
    pointer ref in snd_soc_dapm_stream_event().

    Signed-off-by: Seth Forshee
    Signed-off-by: Liam Girdwood
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Seth Forshee
     
  • This patch updates the ASoC core to the new DAI matching and clocking
    API in version 0.13
    Changes:-
    o Removed DAI capabilities matching code in favour of manual matching
    in the machine drivers.
    o Added DAI operations for codec and CPU interfaces.
    o Removed config_sysclk() function and struct snd_soc_clock_info. No
    longer needed as clocking is now configured manually in the machine
    drivers. Also removed other clocking data from structures.
    o Added machine driver prepare callback.

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

    Liam Girdwood
     
  • Some devices are known to require position_fix=1 or 2 to make the
    driver working correctly. Otherwise the sound gets weird effects,
    such as stutters.
    Now a black/whitelist is introduced to indicate the position_fix
    value explicitly for such misbehaving hardwares. As a first example,
    Dell D820 is listed there. More will come later likely...

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

    Takashi Iwai
     
  • snd_internval_list() may access invalid memory in the case count = 0
    is given. It shouldn't be passed, but it'd better to make the code
    a bit more robust.

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

    Takashi Iwai
     
  • This very minor patch fixes the snd_soc_new_pcms() function to comply
    with the kernel coding style.

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

    Liam Girdwood
     
  • The patch fixes the memory corruption by the support of unconventional
    sample rates. Also, it avoids the too restrictive constraints if
    any of usb descriptions contain continuous rates.

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

    Takashi Iwai
     
  • Remove delayed work properly at free and suspend in ac97 codec and
    ak4114 drivers.

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

    Takashi Iwai
     
  • This patch fixes a bug whereby the power management delayed work would
    never be run at driver suspend() or module remove(). Delayed work would
    be created (after audio had finished) with a long delay (~5 secs) and
    was sometimes never queued before flush_scheduled_work() was being
    called at suspend or module remove. This caused the delayed work to
    queued after the module had been removed or after resume.
    This patch forces any delayed work to complete by cancelling it (timer
    cannot fire and add it to queue later), scheduling it for now and
    waiting on it's completion.
    This is something I probably would like to add to workqueue.c in the
    next merge window, however it's here atm because it can oops.

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

    Liam Girdwood
     
  • This is a patch for ALSA Bug #2724. Some webcams provide bogus
    settings with no valid rates. With this patch those are skipped.

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

    Gregor Jasny
     
  • Added model=uniwill-m31 for Uniwill X40AIx with ALC861 codec.

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

    Takashi Iwai
     
  • snd_card_file_remove() can free the snd_card.
    Touch hw->* only before calling snd_card_file_remove().
    Unrelated: Allow hwdep devices not to have own ops.release();

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

    Karsten Wiese
     
  • This patch adds support for 32k audio on the WM8731 when running from a
    12MHz system clock.

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

    Frank Mandarino
     
  • This patch improves the codec probe() error reporting by printing error
    messages when the card or pcms fail to register.

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

    Liam Girdwood