linux-stable/sound/firewire
Takashi Sakamoto 00a7bb81c2 ALSA: firewire-lib: Add support for deferred transaction
Some devices based on BeBoB use this type of AV/C transaction.

'Deferred Transaction' is defined in 'AV/C Digital Interface Command Set
General Specification' and is used by targets to make a response deferred
during processing it.

If a target may not be able to complete a command within 100msec since
receiving the command, then the target shall return INTERIM response,
to which final response will follow later. CONTROL/NOTIFY commands are
allowed for deferred transaction.

In the specification, devices allow to send INTERIM response just one time.
But this commit allows to handle several INTERIM response with two reasons.
One reason is to simplify codes, and another reason is to prepare for
devices which is out of specification.

There is an issue. In the specification, the interval between INTERIM
response and final response is 'Unspecified interval'. The specification
depends on each subunit specification for this interval.

But we promise to finish this function for caller. In this reason, I use
FCP_TIMEOUT_MS for this interval. Currently it's 125msec. When we find
devices which needs more time for this interval, then let us add some codes
to apply more interval for 'Unspecified interval'.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-05-26 14:22:56 +02:00
..
amdtp.c ALSA: firewire-lib: Restrict calling flush_context_completion() when context exists 2014-05-26 14:21:56 +02:00
amdtp.h ALSA: firewire-lib/dice/speakers: Add common PCM constraints for AMDTP streams 2014-05-26 14:21:46 +02:00
cmp.c ALSA: firewire-lib: Add a new function to check others' connection 2014-05-26 14:22:46 +02:00
cmp.h ALSA: firewire-lib: Add a new function to check others' connection 2014-05-26 14:22:46 +02:00
dice-interface.h ALSA: dice: document quadlet alignment 2013-10-20 22:07:57 +02:00
dice.c ALSA: firewire-lib/dice/speakers: Add common PCM constraints for AMDTP streams 2014-05-26 14:21:46 +02:00
fcp.c ALSA: firewire-lib: Add support for deferred transaction 2014-05-26 14:22:56 +02:00
fcp.h ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver 2011-03-15 08:42:22 +01:00
isight.c ALSA: firewire: Convert to snd_card_new() with a device pointer 2014-02-14 08:13:31 +01:00
iso-resources.c sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where needed 2011-10-31 19:31:22 -04:00
iso-resources.h firewire: octlet AT payloads can be stack-allocated 2011-05-10 22:53:44 +02:00
Kconfig ALSA: dice: restrict the driver to playback-only devices 2013-10-20 22:07:57 +02:00
lib.c ALSA: firewire: extend snd_fw_transaction() 2013-10-20 22:07:57 +02:00
lib.h ALSA: firewire: extend snd_fw_transaction() 2013-10-20 22:07:57 +02:00
Makefile ALSA: add DICE driver 2013-10-17 21:18:32 +02:00
packets-buffer.c sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where needed 2011-10-31 19:31:22 -04:00
packets-buffer.h ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver 2011-03-15 08:42:22 +01:00
scs1x.c ALSA: firewire: Convert to snd_card_new() with a device pointer 2014-02-14 08:13:31 +01:00
speakers.c ALSA: firewire-lib: Add 'direction' member to 'cmp_connection' structure 2014-05-26 14:22:14 +02:00