Message ID | 20221015233330.8679-1-thirtythreeforty@gmail.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp816820wrs; Sat, 15 Oct 2022 16:40:37 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6klXJVIzyOb2w77zDsM8KdPrRaAUViiQb8I+at7XjBGeq0AqKZNm0ghYQNv07jGnNvoQVv X-Received: by 2002:a17:902:e545:b0:182:6c84:7fc0 with SMTP id n5-20020a170902e54500b001826c847fc0mr4883674plf.144.1665877236709; Sat, 15 Oct 2022 16:40:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665877236; cv=none; d=google.com; s=arc-20160816; b=fTC1Suy7gpvE87LwVJS48BV77ixr7Vk2RY9OaPRSrym7Zpq9nuAnuGlS+SZp5razDs qLm7jHFiN80tsC/OQUYy15LIUvNOMaGKspmNoe76S762yQCKHQEaTY7E5cHVop4Ifheu EZFku6EcpChX4k63PivW/XZ7WQFMgQdUzS9Cu0nPvz3ArZaODZhzrKum0lZCxOJKDd9G QSGA3ZcOcj5iiANvjn/I/GbRNmP+YCE4/dZ5M6o8ITP3TyfqYDIOpnBiH4nkDE/RUQCM BQIwy6q/H78YwKXXCAQvueFSklX5BSs+JxebwqraxLw6H7Q0M72Ywb0VfB7vKfv+JBjh 8hFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=a+jzEUqbWtBeB9kCbXWG0XvcCyj0LENJYNoMRZHZ2sQ=; b=aRcYM+iw+MOabYXzNzqS9ggDIPNnnXHojvhlYAfta0orHJWb5xIbV+LS03LhN7/F7v s4lpTJy+UALdPMovvPHW2dOVWiAr2zYHrPYVj0S6OzGgwDhovYGc9nME5gIkfjjDjiKt SF372SGE3WzTe4jx996bmjICCoKVrZvT5R8POqH4eauNyzxi3xOyn6jSCnxDH1+SPBjW SxmLeaGiwTDBweAwTtjYk6bN2pMlNmKh7Y/SGAHXsv1JPKodKEumoX3m7PdrUivpfKwc nCzPVTdJG0cjuK8e1d716XL9E9t7hJhTqnbV+MpiioeijN5e+vODS4P044yIMxv0Qe2U thlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=HeSYkYVF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bc11-20020a656d8b000000b0042af7555d10si6826613pgb.862.2022.10.15.16.40.22; Sat, 15 Oct 2022 16:40:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=HeSYkYVF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229510AbiJOXeQ (ORCPT <rfc822;ouuuleilei@gmail.com> + 99 others); Sat, 15 Oct 2022 19:34:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229504AbiJOXeO (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sat, 15 Oct 2022 19:34:14 -0400 Received: from mail-ot1-x329.google.com (mail-ot1-x329.google.com [IPv6:2607:f8b0:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE9321DA62 for <linux-kernel@vger.kernel.org>; Sat, 15 Oct 2022 16:34:10 -0700 (PDT) Received: by mail-ot1-x329.google.com with SMTP id r13-20020a056830418d00b0065601df69c0so3883620otu.7 for <linux-kernel@vger.kernel.org>; Sat, 15 Oct 2022 16:34:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=a+jzEUqbWtBeB9kCbXWG0XvcCyj0LENJYNoMRZHZ2sQ=; b=HeSYkYVFz5toVpabXxQDB+DAKyZfVC2VSAvN/xbuohc/iQJepvNJcH6kAYXhHIErI6 4RuCrCLOmaxQRMQiCXu6IUlIvnflyIzsZFXwnmjzTpUtRKc+JJcsEv98moo2Yy0ZiHBI OpamfUTOHwdfqhhk5Hz/Xhnjzfyhh3omDkWRscKjOfymKT5l8KMN+GnVpXjL7Y9+qmu2 xa8ZiawTMWffwQdUsz3niyISnEIE/lEElLV1NdS/0maRlIGeSYJQfKe+2f7VGnIaoHq7 NKRYg3De8/xilI3SpC5s4Mc64qPXICsAvMFvZ8maFh2hWkqSZEpqvZpCyrceVWi10Da8 9QZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=a+jzEUqbWtBeB9kCbXWG0XvcCyj0LENJYNoMRZHZ2sQ=; b=twLIemNCkteUl7GdB9nQL59Fnx+O3gelz73fNTc/iS1SC+/saWKljNjgINGyW1pQaT /bjRefOuhiFck4iIRHbwFiqtygvy68CNIoOETNMIU8cszf62PZsZYUCZBscNbueyeZYm rhmY+wAaTIVfs0bbU78o+jJY8AHDc7HNJ3Z3o2J4pEZuTos6+Fz4tHxXtOnISjEvKDak CGBv/g9FYwys8+0YGcxWxUP7F+3rd2j59HyFgFNhdKsldhF1O9iTHA31jgez7J7Oe5TQ PomoNEr7gWJoy5ScclSatKgIufo0vGCegapS58SxIvJDdQ/caogkyiLqw61grsPB4G1p io7A== X-Gm-Message-State: ACrzQf2HYQfTaXDs1ogO+qpTww8DrafNOiOQO+iZ8PDfoklcRVVbFCn3 sRKg5U9Reb28V0lIryMMLkqb91kB+1OHIA== X-Received: by 2002:a9d:4915:0:b0:661:cf09:1752 with SMTP id e21-20020a9d4915000000b00661cf091752mr2048084otf.346.1665876850286; Sat, 15 Oct 2022 16:34:10 -0700 (PDT) Received: from bebop.lan (2603-8080-2704-6601-b457-170a-9e05-cc6d.res6.spectrum.com. [2603:8080:2704:6601:b457:170a:9e05:cc6d]) by smtp.gmail.com with ESMTPSA id w3-20020a4adec3000000b004808e0d8467sm2653858oou.2.2022.10.15.16.34.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Oct 2022 16:34:09 -0700 (PDT) From: George Hilliard <thirtythreeforty@gmail.com> To: Clemens Ladisch <clemens@ladisch.de>, Takashi Sakamoto <o-takashi@sakamocchi.jp> Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] sound: dice: Firestudio Mobile Date: Sat, 15 Oct 2022 18:33:28 -0500 Message-Id: <20221015233330.8679-1-thirtythreeforty@gmail.com> X-Mailer: git-send-email 2.38.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746798889149391243?= X-GMAIL-MSGID: =?utf-8?q?1746798889149391243?= |
Series |
sound: dice: Firestudio Mobile
|
|
Message
George Hilliard
Oct. 15, 2022, 11:33 p.m. UTC
This short series adds a configuration block for the Firestudio Mobile I just acquired. Very similar to the Firestudio, but a lower port count. My understanding is that the Low, Medium, and High speeds refer to 48kHz, 96kHz, and 192kHz sample rates, of which only the first two are supported by this hardware line. Please correct me if this is not correct. Thanks!
Comments
Hi, On Sat, Oct 15, 2022 at 06:33:28PM -0500, George Hilliard wrote: > This short series adds a configuration block for the Firestudio Mobile I > just acquired. Very similar to the Firestudio, but a lower port count. > > My understanding is that the Low, Medium, and High speeds refer to > 48kHz, 96kHz, and 192kHz sample rates, of which only the first two are > supported by this hardware line. Please correct me if this is not > correct. > > Thanks! Thanks for the patches, while the device, FireStudio Mobile, is already supported by ALSA dice driver since it has an entry of moddevice table which matches your device: ``` { .match_flags = IEEE1394_MATCH_VERSION, .version = DICE_INTERFACE, }, ``` I think you have the other troubles except for device detection. In general protocol defined by TC Applied Technologies (the company which designed DICE ASICs and firmwares), two fields of content of configuration ROM have pre-defined values. One of the fields is version field of unit directory. The value is 0x000001 (=DICE_INTERFACE). In your case, the content of unit directory is below. We can see the value of version field is 0x000001. ``` unit directory at 430 --------------------------------------------------- 430 00048030 directory_length 4, crc 32816 434 12000a92 specifier id: Presonus Corporation 438 13000001 version 43c 17000011 model 440 8100000f --> descriptor leaf at 47c ``` Another is EUI-64 field in bus information block. the part of field is used for 8 bit `category ID` and the value is 0. In your case, the value is below. The way to parese the field, please refer to `check_dice_category` function in `sound/firewire/dice/dice.c`[1]. ``` ROM header and bus information block --------------------------------------------------- 400 0404bc6a bus_info_length 4, crc_length 4, crc 48234 404 31333934 bus_name "1394" 408 e0008102 irmc 1, cmc 1, isc 1, bmc 0, cyc_clk_acc 0, max_rec 8 (512) 40c 000a9204 company_id 000a92 | Presonus Corporation 410 047da647 device_id 04047da647 | EUI-64 000a9204047da647 ``` For the content of configuration ROM itself, documentation by 1394 Trading Association (vendor association back in several years ago) will be a great help[2]. As a supplement, TCAT general protocol has no way to share available stream formats at all of supported sampling transfer frequencies. It allows software just to read available stream formats at current sampling transfer frequency, while TCAT protocol extension has the function. ALSA dice driver is programmed to try the extension to detect, then works at limitation mode at failure. The pre-defined table you coded is for the case that the extension is not supported by device, but your device supports the extension. [1] https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/tree/sound/firewire/dice/dice.c#n33 [2] https://web.archive.org/web/20210216003042/http://1394ta.org/wp-content/uploads/2015/07/1999027.pdf Thanks Takashi Sakamoto