alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: Michele Perrone <michele.perrone@weiss.ch>
Cc: alsa-devel@alsa-project.org, Rolf Anderegg <rolf.anderegg@weiss.ch>
Subject: Re: ALSA: dice: improve support for Weiss devices
Date: Tue, 22 Aug 2023 22:58:07 +0900	[thread overview]
Message-ID: <20230822135807.GA470519@workstation.local> (raw)
In-Reply-To: <a41c675d-c1bd-4e89-9519-63b2b088f16d@weiss.ch>

Hi,

On Wed, Aug 16, 2023 at 03:05:36PM +0200, Michele Perrone wrote:
> That is very kind of you. You can now find our current AVC code in the
> following public repository (branch 'avc'):
> [1]https://github.com/weiss-engineering/snd-dice/tree/avc
> If you have questions about the code, also on the firmware side of
> things,
> feel free to ask.

This is my first time to see implementation of 1394TA AV/C transaction
for TCAT DICE ASICs. I know that TCAT provides own protocol and
mLAN/OGT, however it is the third protocol, interesting.

It takes me a bit time to read it, thus leave it next work.

> You can find the `clock caps` and `clock source names` fields for all
> our Firewire devices below. As I currently do not have access to our
> Firewire hardware except for MAN301, DAC202, and INT202, for the
> remaining devices I copied the fields from their latest firmware source
> code.

Good. I filed a merge request for these models in common protocol
implementation[1]. I note that the code is released under GPLv3, thus it
shall include concern when included to your product. Please take care of it.

> I have created a pull request in takaswie/am-config-roms with three ROM
> images: MAN301, DAC202, INT202. I cannot extract the remaining images
> at the moment, because I do not have all Firewire devices available. I
> will add the remaining images as soon as I can get my hands on them.

They are really useful, thanks. Later I deal with the request filed to
it as well as alsa-gobject project.

Well, as long as I print the content of configuration ROM[2] for MAN301,
it includes two units.  The first unit expresses AV/C device compliant to
AV/C command set generic specification. The second unit expresses TCAT
DICE protocol. I guess that the AV/C Vendor-dependent command is just
implemented to MAN301 only. Is it right? If not, I would ask you to
provide configuration ROM for the other models.

Anyway, such device is likely undetected in current implementation of
snd-dice-ctl-service due to the layout of configuration ROM[3]. Take me
a bit time to solve it.

```
$ config-rom-pretty-printer < audio_and_music/dice/weiss-man301.img 
               ROM header and bus information block
               -----------------------------------------------------------------
1024  0404f4fa  bus_info_length 4, crc_length 4, crc 62714
1028  31333934  bus_name "1394"
1032  e0008122  irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 0,
               max_rec 8 (512), max_rom 1, gen 2, spd 2 (S400)
1036  001c6a00  company_id 001c6a     | 
1040  02c000ca  device_id 0046137546  | EUI-64 7997847626580170

               root directory
               -----------------------------------------------------------------
1044  00074103  directory_length 7, crc 16643
1048  03001c6a  vendor
1052  81000010  --> descriptor leaf at 1116
1056  1700000b  model
1060  81000017  --> descriptor leaf at 1152
1064  0c0087c0  node capabilities: per IEEE 1394
1068  d1000002  --> unit directory at 1076
1072  d1000006  --> unit directory at 1096

               unit directory at 1076
               -----------------------------------------------------------------
1076  000421e1  directory_length 4, crc 8673
1080  1200a02d  specifier id
1084  13010001  version
1088  1700000b  model
1092  81000014  --> descriptor leaf at 1172

               unit directory at 1096
               -----------------------------------------------------------------
1096  000473f8  directory_length 4, crc 29688
1100  12001c6a  specifier id
1104  13000001  version
1108  1700000b  model
1112  81000014  --> descriptor leaf at 1192

               descriptor leaf at 1116
               -----------------------------------------------------------------
1116  0008decb  leaf_length 8, crc 57035
1120  00000000  textual descriptor
1124  00000000  minimal ASCII
1128  57656973  "Weis"
1132  735f456e  "s_En"
1136  67696e65  "gine"
1140  6572696e  "erin"
1144  675f4c74  "g_Lt"
1148  642e0000  "d."

               descriptor leaf at 1152
               -----------------------------------------------------------------
1152  00041b75  leaf_length 4, crc 7029
1156  00000000  textual descriptor
1160  00000000  minimal ASCII
1164  4d414e5f  "MAN_"
1168  33303100  "301"

               descriptor leaf at 1172
               -----------------------------------------------------------------
1172  00041b75  leaf_length 4, crc 7029
1176  00000000  textual descriptor
1180  00000000  minimal ASCII
1184  4d414e5f  "MAN_"
1188  33303100  "301"

               descriptor leaf at 1192
               -----------------------------------------------------------------
1192  00041b75  leaf_length 4, crc 7029
1196  00000000  textual descriptor
1200  00000000  minimal ASCII
1204  4d414e5f  "MAN_"
1208  33303100  "301"
```

[1] [PATCH 0/2] dice: add support for Weiss Engineering models
https://github.com/alsa-project/snd-firewire-ctl-services/pull/175
[2] config-rom-pretty-printer is available in linux-firewire-utils
v0.5.0 or later.
https://git.kernel.org/pub/scm/utils/ieee1394/linux-firewire-utils.git/
[3] `DiceConfigRom` implementation for `ConfigRom` just handles the
first unit in configuration ROM.
https://github.com/alsa-project/snd-firewire-ctl-services/blob/master/protocols/dice/src/tcat/config_rom.rs


Thanks

Takashi Sakamoto

  parent reply	other threads:[~2023-08-22 13:59 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-28  9:16 [PATCH] ALSA: dice: add stream format parameters for Weiss devices Michele Perrone
2023-07-28 13:13 ` Takashi Sakamoto
2023-07-31  8:09   ` Michele Perrone
2023-07-31 14:06     ` Takashi Sakamoto
2023-08-08  8:34       ` Michele Perrone
2023-08-08 15:25         ` Takashi Sakamoto
2023-08-16 13:05           ` ALSA: dice: improve support " Michele Perrone
2023-08-18 13:13             ` Takashi Sakamoto
2023-08-18 13:23               ` Michele Perrone
2023-08-22 13:58             ` Takashi Sakamoto [this message]
2023-08-31 13:28               ` Takashi Sakamoto
2023-09-04 16:00                 ` Rolf Anderegg
2023-09-05  1:20                   ` Takashi Sakamoto
2023-09-05  8:57                     ` Rolf Anderegg
2023-09-05 23:54 ` INT203 and DAC1 (Re: [PATCH] ALSA: dice: add stream format parameters for Weiss devices) Takashi Sakamoto
2023-09-16  9:18   ` Michele Perrone
2023-09-17  2:55     ` Takashi Sakamoto
2023-09-18 13:19   ` MAN301 external clock issues " Michele Perrone
2023-09-19 14:09     ` Takashi Sakamoto
2024-01-21 14:07 ` MAN301 internal routing " Takashi Sakamoto
2024-01-21 14:30   ` Takashi Sakamoto
2024-02-15 12:04     ` Takashi Sakamoto
2024-02-26 16:06   ` Michele Perrone
2024-02-27 23:54     ` Takashi Sakamoto
2024-02-28  8:14       ` Rolf Anderegg
2024-02-28  8:32         ` Rolf Anderegg
2024-02-28 23:28           ` Takashi Sakamoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230822135807.GA470519@workstation.local \
    --to=o-takashi@sakamocchi.jp \
    --cc=alsa-devel@alsa-project.org \
    --cc=michele.perrone@weiss.ch \
    --cc=rolf.anderegg@weiss.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).