All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.