08 Sep, 2010

1 commit


04 Sep, 2010

1 commit

  • The Audio Class v2 support code in 2.6.35 added checks for the
    bInterfaceProtocol field. However, there are devices (usually those
    detected by vendor-specific quirks) that do not have one of the
    predefined values in this field, which made the driver reject them.

    To fix this regression, restore the old behaviour, i.e., assume that
    a device with an unknown bInterfaceProtocol field (other than
    UAC_VERSION_2) has more or less UAC-v1-compatible descriptors.

    [compile warning fixes by tiwai]

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

    Clemens Ladisch
     

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
     

16 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: sound/usb/format: silence uninitialized variable warnings
    MAINTAINERS: Add Ian Lartey as comaintaner for Wolfson devices
    MAINTAINERS: Make Wolfson entry also cover CODEC drivers
    ASoC: Only tweak WM8994 chip configuration on devices up to rev D
    ASoC: Optimise DSP performance for WM8994
    ALSA: hda - Fix dynamic ADC change working again
    ALSA: hda - Restrict PCM parameters per ELD information over HDMI
    sound: oss: sh_dac_audio.c removed duplicated #include

    Linus Torvalds
     

15 Aug, 2010

1 commit

  • Gcc complains that ret might be used uninitialized:

    sound/usb/format.c: In function ‘snd_usb_parse_audio_format’:
    sound/usb/format.c:354: warning: ‘ret’ may be used uninitialized in this function
    sound/usb/format.c:354: note: ‘ret’ was declared here
    sound/usb/format.c:414: warning: ‘ret’ may be used uninitialized in this function
    sound/usb/format.c:414: note: ‘ret’ was declared here

    I suppose it could be uninitialized if there is ever a UAC_VERSION_3
    released. Anyway this patch is worthwhile if only to silence the gcc
    warning.

    Signed-off-by: Dan Carpenter
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     

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
     

04 Aug, 2010

1 commit


02 Aug, 2010

1 commit


13 Jul, 2010

1 commit


09 Jul, 2010

1 commit

  • It is not advisable to print a warning when a device does not support
    setting the sample rate because this is perfectly valid for devices with
    a single rate or where rates are implicitly changed by selecting another
    alternate setting.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

24 Jun, 2010

1 commit


23 Jun, 2010

6 commits


21 Jun, 2010

1 commit

  • Stanse found that in snd_usb_parse_audio_endpoints, there is a
    dangling pointer dereference. When snd_usb_parse_audio_format fails,
    fp is freed, and continue invoked. On the next loop, there is
    "fp && fp->altsetting == 1 && fp->channels == 1" test, but fp is set
    from the last iteration (but is bogus) and thus ilegally dereferenced.

    Set fp to NULL before "continue".

    Signed-off-by: Jiri Slaby
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Jiri Slaby
     

12 Jun, 2010

4 commits


01 Jun, 2010

7 commits

  • The UAC2 clock selectors are fortunately compatible with UAC1 audio
    selector units, so we can simply reuse the same approach to get all the
    linked units.

    Requests to this control need a different CS value though.

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

    Daniel Mack
     
  • Use a struct to parse the audio units, and return usable descriptors
    for all types. There's no need to limit the result set, except for some
    kind of sanity check.

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

    Daniel Mack
     
  • The bits to enable them are always 0 for UAC1 devices, so no additional
    checks are required.

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

    Daniel Mack
     
  • Move more definitions from private enums to appropriate header files.

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

    Daniel Mack
     
  • 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
     
  • So far, UAC2 controls are marked read-only if any of the channels are
    marked read-only in the descriptors. Change this behaviour and

    - mark them writeable unless all channels are read-only
    - store the read-only mask in usb_mixer_elem_info and
    - check the mask again in set_cur_mix_value(), and bail out for
    write-protected channels.

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

    Daniel Mack
     
  • Introduce two new static inline functions for a more readable parsing
    of UAC2 bmaControls.

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

    Daniel Mack
     

30 May, 2010

5 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (26 commits)
    ALSA: snd-usb-caiaq: Bump version number to 1.3.21
    ALSA: Revert "ALSA: snd-usb-caiaq: Set default input mode of A4DJ"
    ALSA: snd-usb-caiaq: Simplify single case to an 'if'
    ALSA: snd-usb-caiaq: Restore 'Control vinyl' input mode on A4DJ
    ALSA: hda: Use LPIB for a Shuttle device
    ALSA: hda: Add support for another Lenovo ThinkPad Edge in conexant codec
    ALSA: hda: Use LPIB for Sony VPCS11V9E
    ALSA: usb-audio: fix feature unit parser for UAC2
    ALSA: asihpi - Minor code cleanup
    ALSA: asihpi - Add support for new ASI8800 family
    ALSA: asihpi - Fix bug preventing outstream_write preload from happening
    ALSA: asihpi - Fix imbalanced lock path in hw_message
    ALSA: asihpi - Remove support for old ASI8800 family
    ALSA: asihpi - Add hd radio blend functions
    ALSA: asihpi - Remove unused io map functions
    ALSA: usb-audio: add support for UAC2 pitch control
    ALSA: usb-audio: parse UAC2 endpoint descriptors correctly
    ALSA: usb-audio: fix return values
    ALSA: usb-audio: parse more format descriptors with structs
    sound: Add missing spin_unlock
    ...

    Linus Torvalds
     
  • Acked-by: Daniel Mack
    Signed-off-by: Mark Hills
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • Do not explicity set the default input mode. Use the hardware default
    of mode 0 ('Control vinyl'), which is now available.

    This reverts commit e3ca4c9.

    Acked-by: Daniel Mack
    Signed-off-by: Mark Hills
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • After removing code, only one case remains. So use an 'if' instead.

    Acked-by: Daniel Mack
    Signed-off-by: Mark Hills
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • This feature was undocumented on early A4DJ units. It is indicated
    by lighting both the 'line' and 'phono' lamps at the same time.
    Newer units document this and the newer Windows drivers enable this
    for all units, so restore the functionality.

    This patch simplifies the code and changes the mode mapping to match
    the A8DJ, favouring simpler code and consistency over keeping the
    existing mapping.

    Both 'Control vinyl' and 'Phono' input modes enable the hardware
    preamp. The difference is the input impedance.

    This reverts commit 9a9527e.

    Acked-by: Daniel Mack
    Signed-off-by: Mark Hills
    Signed-off-by: Takashi Iwai

    Mark Hills
     

28 May, 2010

1 commit


27 May, 2010

4 commits


26 May, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: emu10k1: allow high-resolution mixer controls
    ALSA: pcm: fix delta calculation at boundary wraparound
    ALSA: hda_intel: fix handling of non-completion stream interrupts
    ALSA: usb/caiaq: fix Traktor Kontrol X1 ABS_HAT2X axis
    ALSA: hda: Fix model quirk for Dell M1730
    ALSA: hda - iMac9,1 sound fixes
    ALSA: hda: Use LPIB for Toshiba A100-259
    ALSA: hda: Use LPIB for Acer Aspire 5110
    ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise
    ALSA: usb-audio: add support for Akai MPD16
    ALSA: pcm: fix the fix of the runtime->boundary calculation

    Linus Torvalds