[alsa-devel] [RFC] ALSA: usb-audio: Add custom mixer status quirks for RME CC devices
Jussi Laako
jussi at sonarnerd.net
Fri Sep 21 10:35:49 CEST 2018
> The caching is currently enabled for all elements, but changing it
> should be trivial. The patch below adds is_volatile flag to the
> element, and you can set it to true in the quirk somehow for uncached
> controls.
This patch looks good and what I need! When trying to figure out where
it is safe to set the volatile flag I thought that I could set it
transparently in add_single_ctl_with_resume() in mixer_quirks.c based on
the SNDRV_CTL_ELEM_ACCESS_VOLATILE flag in provided snd_kcontrol_new
access-member. However, add_single_ctl_with_resume() is allocating just
size of usb_mixer_elem_list unlike snd_create_std_mono_ctl_offset()
which in turn is allocating full usb_mixer_elem_info size. However, the
mixer code seems to be assuming that the item is always
usb_mixer_elem_info instead of just list header item. Is this allocation
behavior correct and is the item turned into usb_mixer_elem_info
somewhere, or is this some kind of bug? So can I safely turn the
allocation in add_single_ctl_with_resume() into zero initialized
usb_mixer_elem_info instead and set the flag there while keeping correct
behavior, or am I missing something?
Thanks,
- Jussi
More information about the Alsa-devel
mailing list