22 Feb, 2017

1 commit


18 Dec, 2014

1 commit


21 Nov, 2014

2 commits

  • Scarlett driver uses almost compatible usb_mixer_elem_info struct, so
    we just need to add a couple of simple resume callbacks to handle them
    accordingly.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • So far, we blindly assumed that the all usb-audio mixer elements
    follow the standard and apply the standard resume method for the
    registered elements in the id_elems[] list. However, some quirks
    really need the own resume and it's incomplete for now.

    This patch enhances the resume handling in two folds:
    - split some fields in struct usb_mixer_elem_info into a smaller
    header struct (usb_mixer_elem_list) for keeping the minimal
    information in the linked-list; the usb_mixer_elem_info embeds this
    header struct instead
    - add resume and dump callbacks to usb_mixer_elem_list struct to allow
    quirks providing the own methods

    For the standard mixer elements, these new callbacks are set to the
    standard ones as default, thus there is no functional change by this
    patch yet.

    The dump and resume callbacks are typedef'ed for ease of later patches
    using arrays of such function pointers.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

13 Nov, 2014

1 commit

  • This code contains the Scarlett mixer interface code that was originally
    written by Tobias Hoffman and Robin Gareus. Because the device doesn't
    properly implement UAC2 this code adds a mixer quirk for the device.

    Changes from the original code include removing the metering code along with
    dead code and comments. Compiler warnings were fixed. The code to initialize
    the sampling rate was causing a crash this was fixed as discussed on the
    mailing list. Error, and info messages were convered to dev_err and dev_info
    interfaces. The custom scarlett_mixer_elem_info struct was replaced with the
    more generic usb_mixer_elem_info to be able to recycle more code from mixer.c.

    This patch also makes additional modifications based on upstream comments.
    Individual control creation functions are removed and a generic
    function is no used. Macros for function calls are removed to improve
    readability. Hardcoded control initialization is removed. Save to HW
    functionality has been removed. Strings for enums are created dynamically for
    the mixer. Strings used for controls are now SNDRV_CTL_ELEM_ID_NAME_MAXLEN
    length.

    Signed-off-by: Chris J Arges
    Signed-off-by: Takashi Iwai

    Chris J Arges