Re: [PATCH v2 2/2] ALSA: usb: initial USB Audio Device Class 3.0 support
From: Ruslan Bilovol
Date: Mon Mar 19 2018 - 19:57:55 EST
On Mon, Mar 19, 2018 at 6:28 PM, Takashi Iwai <tiwai@xxxxxxx> wrote:
> On Mon, 19 Mar 2018 02:46:03 +0100,
> Ruslan Bilovol wrote:
>>
>> Recently released USB Audio Class 3.0 specification
>> introduces many significant changes comparing to
>> previous versions, like
>> - new Power Domains, support for LPM/L1
>> - new Cluster descriptor
>> - changed layout of all class-specific descriptors
>> - new High Capability descriptors
>> - New class-specific String descriptors
>> - new and removed units
>> - additional sources for interrupts
>> - removed Type II Audio Data Formats
>> - ... and many other things (check spec)
>>
>> It also provides backward compatibility through
>> multiple configurations, as well as requires
>> mandatory support for BADD (Basic Audio Device
>> Definition) on each ADC3.0 compliant device
>>
>> This patch adds initial support of UAC3 specification
>> that is enough for Generic I/O Profile (BAOF, BAIF)
>> device support from BADD document.
>>
>> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@xxxxxxxxx>
>
> Most code changes look fairly straightforward, and not breaking the
> UAC1/UAC2 stuff. So the stuff is good enough through a quick glance.
>
> I suppose it's better to merge via sound git tree.
> Greg, could you check include/linux/usb/* (and uapi) stuff and give an
> ack if it's OK?
>
> In anyway, I'll check the specs and compare with the definitions in
> this patch.
Please note that I took "A.12 CHANNEL RELATIONSHIP
DEFINITIONS" values from previous Pierre's email (they were
in a draft UAC3 spec but disappeared in the final version).
I've sent an email with my quiestions to audio-chair@xxxxxxx but
didn't get any reply from them yet.
>
>
> And, just minor nitpicking regarding the code change:
>
> it's better to drop the parentheses in a line like below
>
>> + if ((protocol == UAC_VERSION_1) || (protocol == UAC_VERSION_2)) {
>
> that is,
> if (protocol == UAC_VERSION_1 || protocol == UAC_VERSION_2) {
>
> The indentation became so deep in some functions, and it's better to
> refactor, but this can be done later once after all implementations
> are finished.
Sure, I fixed these and also kbuild test robot's complaint; if there
will no any more comments, I'm going to send v3 tomorrow.
Thanks,
Ruslan