Hi,
On Tue, Aug 08, 2023 at 10:34:38AM +0200, Michele Perrone wrote:
Dear Mr. Sakamoto,
sorry for the late reply.
I was aware of the fact that you maintain the Linux Firewire subsystem, but I didn't know about the deprecation notice, so thanks for sending it.
So if I understand correctly, 2029 will be the last year when Firewire functionality is supported by Linux? Does this mean that Firewire functionality is going to be removed altogether after that?
Let me avoid professing about it, but it is better not to continue using Linux FireWire subsystem anymore beyond the 3 years migration period.
Back to our devices - our firmware doesn't support TCAT protocol extension unfortunately. That's why I had to write this patch in the first place: only 44.1kHz and 48kHz could be selected.
Okay. I'll post the revised version of patch to the list, then requests the maintainer of sound subsystem to apply it to his tree for v6.5-rc6.
About AVC, I had noticed your 'snd-firewire-ctl-services' project before. I also compiled it and played with it, but since I was able to re-use our old kernel-space AVC code with relatively little effort, I am currently working on that option. Nevertheless, I would be glad to assist you and making Weiss devices supported by 'snd-firewire-ctl-services'.
As a policy to maintain current ALSA firewire stack, any code for control function is out of kernel land, thus your AVC function can not to be merged to Linux upstream as is.
I think the most convenient way is to provide source code for the AVC function to me. Then I re-implement it by Rust language for snd-dice-ctl-service program. As long as interpreting original code, we have no license issue for the new code.
But As a first step, I would like you to assist my support for DICE common controls in your models. When ALSA dice driver is loaded, it adds an procfs node to dump information by TCAT general protocol, like:
$ cat /proc/asound/card2/firewire/dice sections: global: offset 10, size 90 tx: offset 100, size 142 rx: offset 242, size 282 ext_sync: offset 524, size 4 unused2: offset 0, size 0 global: owner: ffc1:000100000000 notification: 00000010 nick name: DesktopKonnekt6 clock select: internal 48000 enable: 0 status: locked 48000 ext status: 00000000 sample rate: 48000 version: 1.0.4.0 clock caps: 44100 48000 88200 96000 176400 192000 arx1 arx2 internal clock source names: Unused\Unused\Unused\Unused\Unused\Unused\Unused\Unused\Unused\Unused\Unused\Unused\INTERNAL\ ...
I need the `clock caps` and `clock source names` fields to implement the common controls for your device in snd-firewire-ctl-services.
Is there something else that you would need, apart from the configuration ROMs? And also what is the preferred way for sending you the ROMs? Should I open a pull request on your 'am-config-roms' repository on GitHub?
I don't mind which way to use.
In my point of view, we need to decide license under which the file of configuration ROM image is public. I think CC0[0] is bette for our case.
I'm planning to move the repository under git.kernel.org, and have talked with admin about it. The admin said that I need to declare the license of included files. I'm under re-classifying these files and not finished yet.
So when you contribute the files for your models, please use CC0 by declaring in commit/request message.
[0] https://creativecommons.org/publicdomain/zero/1.0/
Regards
Takashi Sakamoto