[alsa-devel] [PATCH v2 0/4] ALSA: usb: UAC3 new features.

Jorge jorge.sanjuan at codethink.co.uk
Thu Apr 26 19:13:20 CEST 2018



On 26/04/18 10:26, Ruslan Bilovol wrote:
> On Tue, Apr 24, 2018 at 9:02 PM, Takashi Iwai <tiwai at suse.de> wrote:
>> On Tue, 24 Apr 2018 19:24:41 +0200,
>> Jorge Sanjuan wrote:
>>>
>>> v2 fixes:
>>>   - If/else statements braces style fixes.
>>>   - Add wrapping function to mixer unit code.
>>>   - Make connectors control kctl struct const.
>>>   - Little endian to cpu conversion in several places.
>>>   - Sing off and add Fixes tag to fixup commit.
>>>   - Remove flex-array for a struct that is used statically.
>>>
>>> Now that the UAC3 patch [1] has made it to linux-next I have some extra
>>> features to make a UAC3 device fully work in Linux. Including Jack
>>> insertion control that I have put on top of this other patch [2] for
>>> UAC2. Also adding support for the UAC3 Mixer Unit which is most likely
>>> to appear in most headset type devices.
> 
> Thanks for adding these improvements!
> 
>>
>> These patches look reasonable, I'm OK to merge.  But I'll wait for
>> Ruslan's comments (or at best with test results).
> 
> I reviewed first 3 patches and will review jack detection patch later,
> and I'm going to test this patchset in a next few days.
> 
>>
>>> UAC3 devices also require to have a Basic Audio Device (BADD) in a separate
>>> config for which both Ruslan Bilovol and myself have submited different
>>> approaches[3][4] but I don't know what the final merge will be. Once there
>>> is official support for BADD, we'll need to test it with an actual UAC3
>>> device to confirm it all wokrs.
>>
>> Could you guys try to get agreement which approach should we take?
>>
>> I have no big preference.  Currently Ruslan's patch series look
>> easier, just because its addition is a bit smaller, though.
> 
> The BADD devices are quite simple, so direct initialization internal ALSA
> structures looks easy and straightforward, comparing to generation of
> missing descriptors.
> I'm currently improving the patch series so it will look even more
> smaller and easier, let's see how it goes

Hi Ruslan,

I agree that the BADD devices may not require that much logic using all 
the descriptors. Besides, what makes your approach more interesting to 
me is the fact that there is no need to bypass the cluster descriptor 
every single time if the UAC3 device operates in BADD mode.

I have not yet tested your patch with the UAC3 device that I have. I was 
wondering whether that BADD mixer code will work with and AS interface 
with several alt settings with different endpoints wMaxPacketSize. That 
is something I am working on/testing for this device. I'd have to take a 
closer look to the patch to provide some useful input on that.

Thanks,

Jorge

> 
> Thanks,
> Ruslan
> 
>>
>>
>> Thanks!
>>
>> Takashi
>>
>>> All this features are tested with an actual UAC3 device that is still in
>>> development. For this patch series, only the legacy config (#1. UAC1/UAC2)
>>> and the UAC3 config have been tested. The BADD config is only tested using
>>> and updated verison of [4].
>>>
>>> [1]: https://patchwork.kernel.org/patch/10298179/
>>> [2]: https://patchwork.kernel.org/patch/10305847/
>>> [3]: https://patchwork.kernel.org/patch/10340851/
>>> [4]: https://www.spinics.net/lists/alsa-devel/msg71617.html
>>>
>>> Based on linux-next tag: next-20180420
>>>
>>> Jorge Sanjuan (3):
>>>    ALSA: usb-audio: UAC3. Add support for mixer unit.
>>>    ALSA: usb-audio: Use Class Specific EP for UAC3 devices.
>>>    ALSA: usb-audio: UAC3 Add support for connector insertion.
>>>
>>> Michael Drake (1):
>>>    ALSA: usb-audio: ADC3: Fix channel mapping conversion for ADC3.
>>>
>>>   include/linux/usb/audio-v2.h   |   7 ++
>>>   include/linux/usb/audio-v3.h   |  14 +++
>>>   include/uapi/linux/usb/audio.h |  13 ++-
>>>   sound/usb/mixer.c              | 195 +++++++++++++++++++++++++++++++++++++----
>>>   sound/usb/stream.c             |  11 ++-
>>>   5 files changed, 217 insertions(+), 23 deletions(-)
>>>
>>> --
>>> 2.11.0
>>>
>>>
>> _______________________________________________
>> Alsa-devel mailing list
>> Alsa-devel at alsa-project.org
>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


More information about the Alsa-devel mailing list