On 5/8/24 15:06, Wesley Cheng wrote: > Hi Pierre, > > On 5/7/2024 2:40 PM, Pierre-Louis Bossart wrote: >> >> >> On 5/7/24 14:51, Wesley Cheng wrote: >>> For userspace to know about certain capabilities of the current platform >>> card, add tags to the components string that it can use to enable >>> support >>> for that audio path. In case of USB offloading, the "usboffldplybk: >>> 1" tag >> >> usboffloadplayback? >> >> same question as before, do we need spaces? >> > > I think spaces are currently used as a delimiter, so I'll remove the > spaces. > >> And if we have controls, why do we need component strings? The component >> string is not dynamic to the best of my knowledge, this could be >> problematic if the card is no longer capable of supporting this stream, >> while a control can be updated at will. >> > > Maybe I misunderstood your comment here: > > https://lore.kernel.org/linux-usb/925d7c03-c288-49a4-8bcd-395b32810d75@xxxxxxxxxxxxxxx/ > > At the time, I didn't include the kcontrols on the USB SND portion of > it, which was added after this series. My interpretation was that there > were userspace entities that could query for general information about > what the card supports based on the components string, or sound card > name. I treated this as an independent identifier, since the change to > add the offload capable jack was present. My comment at the time stands: it's very hard to figure out that a random card supports USB and is connected to a given endpoint. It'd be much easier as you wrote in the comments on patch 34 to have a control in the "regular" USB card to point to the 'better' offloaded path exposed by another card. Applications wouldn't need to know what this other card is, they would then use the card:device information directly.