Re: [PATCH] ALSA: dice: add stream format parameters for Weiss devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux