From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 331ACEB64DA for ; Wed, 28 Jun 2023 14:21:39 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id EE705826; Wed, 28 Jun 2023 16:20:46 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz EE705826 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1687962097; bh=JI+IbpQ5/apGlo5oDhaHO4LrQ5upOVsiW5Fd9XBHvPA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=GouEeFXO8ikH5zLiop7/NfgGJnIeSTqm+qGkIDT/QeT9/CrScH8F1fsz4gXHRvDk5 iBOMsvT5X7SqnmEpzSufonM6VuDHGOGUMQ8ve4K46Lyl2PAdsgHEmadc6UnevPCRk2 SjXe19QTvNfJ/vxnV69dQZVnwvwrTu2QHbEE+anU= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 432CAF8027B; Wed, 28 Jun 2023 16:20:22 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id A7139F80246; Wed, 28 Jun 2023 16:20:21 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 6E40BF80246; Wed, 28 Jun 2023 16:20:17 +0200 (CEST) Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 614A1F80093 for ; Wed, 28 Jun 2023 16:20:08 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 614A1F80093 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=n8ObRBPV; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=djP8+c8M Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 08746216DA; Wed, 28 Jun 2023 14:20:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1687962008; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NwQK9I4qIEjyYcrYvwDUh56IDuBSHpVGFUokjQNhgfU=; b=n8ObRBPV1FGflIxMgiUbz1zbHOcwTXxeJbPQs0qmwXE4NYj0J8oRkidVPCEndvDTT0jODh MZRHI9Yh1F4neUff/KUYRxA6ne459Mi8xWWY4uFqWB/H52vL4ZeAQQWQEyubgaE7FhF3Oo 9Qc87gI1V5h4DHJtZ2mlKQk8jnP0uMk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1687962008; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=NwQK9I4qIEjyYcrYvwDUh56IDuBSHpVGFUokjQNhgfU=; b=djP8+c8MYg0HsrQzYnraYdxrTk0+Fin5/v6XU91Osjm/vMIrrY0Pmw8rHKt7A9E+4cFYAm CUVqbUN9WE2ohuDQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D7BF2138EF; Wed, 28 Jun 2023 14:20:07 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id FAHHM5dBnGShHAAAMHmgww (envelope-from ); Wed, 28 Jun 2023 14:20:07 +0000 Date: Wed, 28 Jun 2023 16:20:07 +0200 Message-ID: <87leg3ekiw.wl-tiwai@suse.de> From: Takashi Iwai To: "Symbolic Debugger" Cc: alsa-devel@alsa-project.org Subject: Re: [PATCH v2 00/37] ALSA: Add MIDI 2.0 support In-Reply-To: <168795193282.22.889084679335823356@mailman-web.alsa-project.org> References: <87r0pvet82.wl-tiwai@suse.de> <168795193282.22.889084679335823356@mailman-web.alsa-project.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Message-ID-Hash: VEGMRN2ZVCR52BEHNPXFJDNALREA2CCD X-Message-ID-Hash: VEGMRN2ZVCR52BEHNPXFJDNALREA2CCD X-MailFrom: tiwai@suse.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Wed, 28 Jun 2023 13:32:12 +0200, Symbolic Debugger wrote: > > Thanks for the notes. I read the (USB) spec again page 27/28. (well multiple times) and as I understood 1 endpoint has 1 or more multiple Group Terminal Blocks for which GTB each has 1 to 16 groups (group = in/out or bi = similar to one or two midi cables/ports) per terminal block The spec I have is from May 5th, 2020. i wonder how the driver get the Function Block information function blocks are not mentioned in the USB spec. Is there a a newer USB spec? if yes, it may make no sense to develop a device now if the descriptors and USB functions calls changed. Page 28 still refers to MIDI -CI protocol negotiation which already has been removed. It's a bit confusing. Would have been better to first release the updated USB spec before releasing the updated MIDI specs. Basically a UMP EP can have up to 16 groups, and GTB indicates which groups out of those can be managed together. And for the old USB MIDI 2.0 spec, groups in multiple GTBs have to be unique; i.e. if GTB#1 contains the group#1, the group#1 can't be found in another GTBs. OTOH, the new UMP 1.1 spec allows the shared groups by multiple Function Blocks. For explicitly disallowing this new (rather confusing) behavior, "static block" flag was added in the FB info. When this bit is set, the FB is fixed and doesn't overlap, so that it's more or less compatible with GTB. Note that Function Block is a new thing that was defined in UMP 1.1 spec. Naturally it didn't exist in the old USB MIDI 2.0 spec of year 2020. But, the concept of Function Block (and implementation) is rather about UMP, and it's independent from the transport layer; that is, USB MIDI 2.0 spec still applies as is, and won't be updated soon, AFAIK. It's a matter of the driver which information is used as the primary source: FB or GTB. The device should provide both info, in somehow compatible ways. Takashi