Ignored USB-audio implicit feedback in kernel 5.8rc3

Pavel Hofman pavel.hofman at ivitera.com
Tue Jul 7 12:03:25 CEST 2020


Hi Takashi,

Dne 07. 07. 20 v 11:40 Takashi Iwai napsal(a):
> On Fri, 03 Jul 2020 12:17:14 +0200,
> Pavel Hofman wrote:
>>
>>
>> Dne 02. 07. 20 v 13:28 Pavel Hofman napsal(a):
>>>
>>>
>>> Please is the requirement that EP OUT + EP IN implicit feedback data
>>> must be in the same interface really necessary? If such a requirement
>>> was dropped, IMO many devices could be removed from the existing
>>> set_sync_ep_implicit_fb_quirk and many devices would work out of the
>>> box,
>>
>> I am still thinking about the single-interface requirement. If both
>> endpoints were to be part of a single interface, could they use
>> different altsettings for different sample lengths for capture and
>> playback? E.g. to save USB bandwidth when the capture is used only for
>> implicit feedback - capturing at 16bits, playback at 32bits.
>>
>> In the quirked XMOS devices the common clock for both directions is
>> defined by the clock feature, the altsettings for each direction (in
>> separate interfaces) are used for setting sample length.
> 
> Could you check for-linus branch of my sound git tree?
> Just to be sure whether you're hitting the issue that has been already
> addressed.
> 

I developed the RTX6001 patch on 5.8-rc3 kernel, and commits since that 
tag in 
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/log/?h=for-linus 
do not seem to address the issue.

I think the generic code searching for the implicit-feedback endpoint 
works only on the current interface (alts) 
https://github.com/tiwai/sound/blob/master/sound/usb/pcm.c#L491

I do not know if searching for IN endpoints with the same number and 
USB_ENDPOINT_USAGE_IMPLICIT_FB mask in other interfaces is correct. But 
it seems to me it would yield correct results for a number of existing 
quirks in set_sync_ep_implicit_fb_quirk (typically those setting ep=0x81).

Thanks a lot,

Pavel.





More information about the Alsa-devel mailing list