03 Feb, 2014

1 commit


29 Nov, 2012

1 commit

  • Currently, channel IDs exceeding 31 (0x1f) cannot be used.
    The channel ID is derived from the cmask. Extending cmask
    to a 64-bit type would only allow it to go up to 63 (0x3f).
    Some devices have channel IDs exceeding that as well.
    To address that, add an offset to the mixer element which
    is then accounted for in the UAC set/get functions.

    Signed-off-by: Eldad Zack
    Signed-off-by: Takashi Iwai

    Eldad Zack
     

24 Apr, 2012

1 commit


04 Aug, 2011

1 commit

  • When creating the mixers for an USB audio device, the current code looks
    at the host interface stored in mixer->chip->ctrl_if. Change this and
    rather keep a local pointer to the interface that was given when
    snd_usb_create_mixer() was called.

    Signed-off-by: Daniel Mack
    Reported-by: Nicolai Krakowiak
    Reported-by: Lean-Yves LENHOF
    Acked-by: Clemens Ladisch
    Cc: stable@kernel.org
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

25 May, 2011

2 commits

  • In order to allow quirks functions to hook up to the standard feature
    unit op tables, this patch exports a pointer to the struct that is used
    internally.

    That way, all the code handling the control can be kept private, and
    external code can reference the symbol to re-use it.

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

    Daniel Mack
     
  • This patch renames add_control_to_empty() to snd_usb_mixer_add_control()
    and exports it, so the quirks functions can make use of it.

    Also, as "struct mixer_build" is private to mixer.c, rewrite the
    function to take an argument of type "struct usb_mixer_interface"
    instead.

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

    Daniel Mack
     

11 Mar, 2011

1 commit


23 Jun, 2010

1 commit


01 Jun, 2010

1 commit

  • 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
     

12 Mar, 2010

2 commits