ALSA: dice: restrict the driver to playback-only devices
At the moment, this driver supports only playback, while FFADO supports (only) full-duplex devices. So, prevent conflicts by not claiming devices that would be better handled by FFADO. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
This commit is contained in:
Родитель
a471fcde8c
Коммит
b20be8de1b
|
@ -12,14 +12,16 @@ config SND_FIREWIRE_LIB
|
|||
depends on SND_PCM
|
||||
|
||||
config SND_DICE
|
||||
tristate "DICE devices (EXPERIMENTAL)"
|
||||
tristate "DICE-based DACs (EXPERIMENTAL)"
|
||||
select SND_HWDEP
|
||||
select SND_PCM
|
||||
select SND_FIREWIRE_LIB
|
||||
help
|
||||
Say Y here to include support for many FireWire audio interfaces
|
||||
based on the DICE chip family (DICE-II/Jr/Mini) from TC Applied
|
||||
Technologies.
|
||||
Say Y here to include support for many DACs based on the DICE
|
||||
chip family (DICE-II/Jr/Mini) from TC Applied Technologies.
|
||||
|
||||
At the moment, this driver supports playback only. If you
|
||||
want to use devices that support capturing, use FFADO instead.
|
||||
|
||||
To compile this driver as a module, choose M here: the module
|
||||
will be called snd-dice.
|
||||
|
|
|
@ -1128,6 +1128,7 @@ static int dice_interface_check(struct fw_unit *unit)
|
|||
int key, value, vendor = -1, model = -1, err;
|
||||
unsigned int category, i;
|
||||
__be32 pointers[ARRAY_SIZE(min_values)];
|
||||
__be32 tx_data[4];
|
||||
__be32 version;
|
||||
|
||||
/*
|
||||
|
@ -1171,6 +1172,14 @@ static int dice_interface_check(struct fw_unit *unit)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
/* We support playback only. Let capture devices be handled by FFADO. */
|
||||
err = snd_fw_transaction(unit, TCODE_READ_BLOCK_REQUEST,
|
||||
DICE_PRIVATE_SPACE +
|
||||
be32_to_cpu(pointers[2]) * 4,
|
||||
tx_data, sizeof(tx_data), 0);
|
||||
if (err < 0 || (tx_data[0] && tx_data[3]))
|
||||
return -ENODEV;
|
||||
|
||||
/*
|
||||
* Check that the implemented DICE driver specification major version
|
||||
* number matches.
|
||||
|
|
Загрузка…
Ссылка в новой задаче