19 Dec, 2011

1 commit

  • module_param(bool) used to counter-intuitively take an int. In
    fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
    trick.

    It's time to remove the int/unsigned int option. For this version
    it'll simply give a warning, but it'll break next kernel version.

    Signed-off-by: Rusty Russell
    Signed-off-by: Takashi Iwai

    Rusty Russell
     

01 Nov, 2011

1 commit


29 Oct, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
    ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
    ALSA: hda - Keep EAPD turned on for old Conexant chips
    ALSA: hda/realtek - Fix missing volume controls with ALC260
    ASoC: wm8940: Properly set codec->dapm.bias_level
    ALSA: hda - Fix pin-config for ASUS W90V
    ALSA: hda - Fix surround/CLFE headphone and speaker pins order
    ALSA: hda - Fix typo
    ALSA: Update the sound git tree URL
    ALSA: HDA: Add new revision for ALC662
    ASoC: max98095: Convert codec->hw_write to snd_soc_write
    ASoC: keep pointer to resource so it can be freed
    ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
    ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
    ASoC: da7210: Add support for line out and DAC
    ASoC: da7210: Add support for DAPM
    ALSA: hda/realtek - Fix DAC assignments of multiple speakers
    ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
    ASoC: Set sgtl5000->ldo in ldo_regulator_register
    ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
    ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
    ...

    Linus Torvalds
     

27 Oct, 2011

1 commit


08 Oct, 2011

1 commit

  • * pm-runtime:
    PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set
    PM / Runtime: Replace dev_dbg() with trace_rpm_*()
    PM / Runtime: Introduce trace points for tracing rpm_* functions
    PM / Runtime: Don't run callbacks under lock for power.irq_safe set
    USB: Add wakeup info to debugging messages
    PM / Runtime: pm_runtime_idle() can be called in atomic context
    PM / Runtime: Add macro to test for runtime PM events
    PM / Runtime: Add might_sleep() to runtime PM functions

    Rafael J. Wysocki
     

26 Sep, 2011

1 commit


23 Sep, 2011

1 commit

  • The Terratec Aureon 5.1 USB sound card support is broken since kernel
    2.6.39.
    2.6.39 introduced power management support for USB sound cards that added
    a probing flag in struct snd_usb_audio.

    During the probe of the card it gives following error message :

    usb 7-2: new full speed USB device number 2 using uhci_hcd
    cannot find UAC_HEADER
    snd-usb-audio: probe of 7-2:1.3 failed with error -5
    input: USB Audio as
    /devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.3/input/input6
    generic-usb 0003:0CCD:0028.0001: input: USB HID v1.00 Device [USB Audio]
    on usb-0000:00:1d.1-2/input3

    I can not comment about that "cannot find UAC_HEADER" error, but until
    2.6.38 the card worked anyway.
    With 2.6.39 chip->probing remains 1 on error exit, and any later ioctl
    stops in snd_usb_autoresume with -ENODEV.

    Signed-off-by: Thomas Pfaff
    Cc: [2.6.39+]
    Signed-off-by: Takashi Iwai

    Thomas Pfaff
     

14 Sep, 2011

2 commits


20 Aug, 2011

1 commit

  • This patch (as1482) adds a macro for testing whether or not a
    pm_message value represents an autosuspend or autoresume (i.e., a
    runtime PM) event. Encapsulating this notion seems preferable to
    open-coding the test all over the place.

    Signed-off-by: Alan Stern
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     

08 Jul, 2011

1 commit


25 May, 2011

2 commits


21 Mar, 2011

1 commit


11 Mar, 2011

2 commits

  • Devices are autosuspended if no pcm nor midi channel is open
    Mixer devices may be opened. This way they are active when
    in use to play or record sound, but can be suspended while
    users have a mixer application running.

    [Small clean-ups using static inline by tiwai]

    Signed-off-by: Oliver Neukum
    Signed-off-by: Takashi Iwai

    Oliver Neukum
     
  • - ESHUTDOWN must be correctly handled
    - the optional interrupt endpoint's URB must be stopped and restarted

    Signed-off-by: Oliver Neukum
    Signed-off-by: Takashi Iwai

    Oliver Neukum
     

23 Feb, 2011

1 commit

  • When a USB audio device is disconnected, snd_usb_audio_disconnect()
    kills all audio URBs. At the same time, the application, after being
    notified of the disconnection, might close the device, in which case
    ALSA calls the .hw_free callback, which should free the URBs too.

    Commit de1b8b93a0ba "[ALSA] Fix hang-up at disconnection of usb-audio"
    prevented snd_usb_hw_free() from freeing the URBs to avoid a hang that
    resulted from this race, but this introduced another race because the
    URB callbacks could now be executed after snd_usb_hw_free() has
    returned, and try to access already freed data.

    Fix the first race by introducing a mutex to serialize the disconnect
    callback and all PCM callbacks that manage URBs (hw_free and hw_params).

    Reported-and-tested-by: Pierre-Louis Bossart
    Cc:
    [CL: also serialize hw_params callback]
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

09 Sep, 2010

1 commit


08 Sep, 2010

1 commit


04 Sep, 2010

2 commits


02 Sep, 2010

1 commit

  • For devices with more than one control interface, let's assume the first
    one contains the audio controls. Unfortunately, there is no field in any
    of the descriptors to tell us whether a control interface is for audio
    or MIDI controls, so a better check is not easy to implement.

    On a composite device with audio and MIDI functions, for example, the
    code currently overwrites chip->ctrl_intf, causing operations on the
    control interface to fail if they are issued after the device probe.

    Signed-off-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

14 Aug, 2010

1 commit

  • This is V2 of the patch, after feedback from Clemens and Daniel.

    This patch adds SuperSpeed support to the USB drivers under sound/. It adds
    tests for USB_SPEED_SUPER to the appropriate places that check for the USB
    speed.

    This patch has been tested with our SS USB3 device emulating a set of Yamaha
    speakers and a Logitech microphone, but with the descriptors modified to add
    USB3 support. It has also been tested with the real speakers and microphone,
    to make sure that USB2 devices still work.

    Signed-off-by: Paul Zimmerman
    Cc: Clemens Ladisch
    Cc: Daniel Mack
    Cc: Greg Kroah-Hartman
    Signed-off-by: Takashi Iwai

    Paul Zimmerman
     

23 Jun, 2010

1 commit


01 Jun, 2010

1 commit

  • Audio devices which comply to the UAC2 standard can export complex clock
    topologies in its descriptors and set up links between them.

    The entities that are defined are

    - clock sources, which define the end-leafs.
    - clock selectors, which act as switch to select one out of many
    possible clocks sources.
    - clock multipliers, which have an input clock source, and act as clock
    source again. They can be used to derive one clock from another.

    All sample rate changes, clock validity queries and the like must go to
    clock source elements, while clock selectors and multipliers can be used
    as terminal clock source.

    The following patch adds a parser for these elements and functions to
    iterate over the tree and find the leaf nodes (clock sources).

    The samplerate set functions were moved to the new clock.c file.

    Signed-off-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

23 Mar, 2010

1 commit


12 Mar, 2010

2 commits


05 Mar, 2010

1 commit

  • Clean up the usb audio driver by factoring out a lot of functions to
    separate files. Code for procfs, quirks, urbs, format parsers etc all
    got a new home now.

    Moved almost all special quirk handling to quirks.c and introduced new
    generic functions to handle them, so the exceptions do not pollute the
    whole driver.

    Renamed usbaudio.c to card.c because this is what it actually does now.
    Renamed usbmidi.c to midi.c for namespace clarity.
    Removed more things from usbaudio.h.

    The non-standard drivers were adopted accordingly.

    Signed-off-by: Daniel Mack
    Cc: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Daniel Mack