[alsa-devel] include/uapi/firewire.h for other firewire drivers

Clemens Ladisch clemens at ladisch.de
Fri Oct 25 15:04:16 CEST 2013

Takashi Sakamoto wrote:
> About include/uapi/firewire.h, I'd like you to give me an advice.
> I'm sorry but I have little knowledgement about Dice chipset. So here
> I want to know what I should do for snd-fireworks/snd-bebob.

The primary purpose is to support control panel/mixer applications,
which should be able to find out which ALSA device corresponds to which
FireWire device.

> The header file includes an interface  for users to know its already
> streaming or not, and lock it.

Because every device can have settings that should not be changed while

> But for Fireworks/BeBoB, I think checking CMP connections do the same
> thing.

When a control panel wants to change several settings, it should not
need to establish a CMP connection just to be able to prevent the driver
from starting streaming at the same time.

> Current FFADO can be failed when CMP connections on the device are
> established, and ALSA can do the same. (but there are some problems.
> both drivers set sampling rate before checking CMP connections. For this
> I have a plan to post a patch for both FFADO and ALSA.)

This lock is not intended to prevent ALSA/FFADO conflicts.

At the moment, snd-dice and FFADO do not attach to the same devices.
When this is possible, the kernel FireWire framework should be extended
to allow the driver to prevent FFADO from using the device.  However, it
would be hard for the kernel to differentiate between FFADO and some
control panel, so I guess FFADO should be changed to not attach to
a device that already has a kernel driver.

> Should I implement the same lock for Fireworks/BeBoB drivers?


For Fireworks devices, applications will need to send EFC commands, but
will not be able to allocate the same 0xecc080000000 address, so the
driver needs a SEND_EFC ioctl.  (That's the same reason why snd-dice has


More information about the Alsa-devel mailing list