From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: Michele Perrone <michele.perrone@weiss.ch>
Cc: Takashi Iwai <tiwai@suse.de>,
alsa-devel@alsa-project.org,
Rolf Anderegg <rolf.anderegg@weiss.ch>
Subject: Re: [PATCH] ALSA: dice: add stream format parameters for Weiss devices
Date: Fri, 28 Jul 2023 22:13:08 +0900 [thread overview]
Message-ID: <20230728131308.GA142765@workstation.local> (raw)
In-Reply-To: <24703333-9250-40bf-e736-a5f3c4862034@weiss.ch>
ei,
On Fri, Jul 28, 2023 at 11:16:11AM +0200, Michele Perrone wrote:
> Hard-coded stream format parameters are added for Weiss Engineering
> FireWire devices. When the device vendor and model match, the parameters
> are copied into the stream format cache. This allows for setting all
> supported sampling rates up to 192kHz, and consequently adjusting the
> number of available I/O channels.
>
> Signed-off-by: Rolf Anderegg <rolf.anderegg@weiss.ch>
> Signed-off-by: Michele Perrone <michele.perrone@weiss.ch>
> ---
> sound/firewire/dice/Makefile | 2 +-
> sound/firewire/dice/dice-weiss.c | 120 +++++++++++++++++++++++++++++++
> sound/firewire/dice/dice.c | 72 +++++++++++++++++++
> 3 files changed, 193 insertions(+), 1 deletion(-)
> create mode 100644 sound/firewire/dice/dice-weiss.c
Thanks for the patch. I've been waiting so long for such patches to
support Weiss models. I welcome them.
As long as reviewing, I found some format and technical issues on the
patches:
Format issues:
1.unexpected line break
2.tab indentations are replaced with spaces
Technical issues:
3.build error due to missing snd_dice_detect_weiss_formats()
* prototype of snd_dice_detect_weiss_formats() should be in dice.c
4. category_id in GUID
5.stream formats for INT202
I can correct 1st, 2nd, and 3rd issues. You can find the revised patch
in the top-most of my remote repository[1].
Let me confirm the 4th issue. TCAT defines 'category_id' field in GUID
value of devices. As long as I know, Weiss engineers uses 0x00 in the
field[2]. Is it still correct for the devices supported in the patch?
Next, let us discuss about INT202 stream formats.
+
+/* Weiss INT202: 192kHz unidirectional 2-channel digital Firewire interface
*/
+static const struct dice_weiss_spec int202 = {
+ .tx_pcm_chs = {{2, 2, 2}, {0, 0, 0} },
+ .rx_pcm_chs = {{0, 0, 0}, {0, 0, 0} },
+ .has_midi = false
+};
(tx/rx should be device-oriented, tx = from device, rx = to device,
please correct)
I assume all of the DICE devices transmit isochronous packets to deliver
presentation time stamp and events (= PCM frames). Then driver software
utilizes the presentation time stamp and the amount of events to construct
payload of isochronous packets into the device.
I program ALSA dice driver based on the assumption, thus ALSA dice driver
doesn't work well without receiving any isochronous packet from the
device. However, the stream formats for INT202 device looks to support
uni-directional operation. Weiss engineers really use DICE chipset like
that? If so, I need to integrate the driver to support the case.
As another topic. I make collection of configuration ROMs[3] to make better
support for the devices in Linux system[4]. I'm pleased if you pick them
up from your devices and dedicate them for the collection.
[1] https://github.com/takaswie/sound/tree/topic/dice/weiss-support
[2] https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/tree/sound/firewire/dice/dice.c?h=v6.4#n59
[3] https://github.com/takaswie/am-config-roms/
[4] https://github.com/systemd/systemd/blob/main/hwdb.d/80-ieee1394-unit-function.hwdb
Thanks
Takashi Sakamoto
next prev parent reply other threads:[~2023-07-28 13:15 UTC|newest]
Thread overview: 34+ 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 [this message]
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
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
-- strict thread matches above, loose matches on Subject: below --
2023-08-09 0:26 [PATCH] ALSA: dice: add stream format parameters for Weiss devices Takashi Sakamoto
2023-08-09 14:03 ` Takashi Iwai
2023-08-09 14:18 ` Takashi Sakamoto
2023-08-09 14:39 ` Takashi Iwai
2023-08-09 22:57 ` Takashi Sakamoto
2023-08-10 6:36 ` Takashi Iwai
2023-08-10 11:06 ` 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=20230728131308.GA142765@workstation.local \
--to=o-takashi@sakamocchi.jp \
--cc=alsa-devel@alsa-project.org \
--cc=michele.perrone@weiss.ch \
--cc=rolf.anderegg@weiss.ch \
--cc=tiwai@suse.de \
/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).