aboutsummaryrefslogtreecommitdiffstats
path: root/sound/firewire
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: firewire-speakers: fix hang when unplugging a running deviceClemens Ladisch2011-03-301-2/+1
| | | | | | | | | | | | When aborting a PCM stream, the xrun is signaled only if the stream is running. When disconnecting a PCM stream, calling snd_card_disconnect() too early would change the stream into a non-running state and thus prevent the xrun from being noticed by user space. To prevent this, move the snd_card_disconnect() call after the xrun. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: firewire - msleep needs delay.hStephen Rothwell2011-03-161-0/+1
| | | | | | | | | | fixes this error: sound/firewire/fcp.c: In function 'fcp_avc_transaction': sound/firewire/fcp.c:103: error: implicit declaration of function 'msleep' Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: firewire-lib, firewire-speakers: handle packet queueing errorsClemens Ladisch2011-03-153-13/+37
| | | | | | | | | Add an AMDTP stream error state that occurs when we fail to queue another packet. In this case, the stream is stopped, and the error can be reported when the application tries to restart the PCM stream. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: firewire-lib: allocate DMA buffer separatelyClemens Ladisch2011-03-153-5/+16
| | | | | | | | | For correct cache coherency on some architectures, DMA buffers must be allocated in a different cache line than data that is concurrently used by the CPU. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: firewire-lib: use no-info SYT for packets without SYT sampleClemens Ladisch2011-03-151-4/+8
| | | | | | | | | | | | | In non-blocking mode, the SYT_INTERVAL is larger than the number of audio frames in each packet, so there are packets that do not contain any frame to which the SYT could be applied. For these packets, the SYT must not be the timestamp of the next valid SYT frame, but the special no-info SYT value. This fixes broken playback on the FireWave at 44.1 kHz. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driverClemens Ladisch2011-03-1515-0/+2640
Add a driver for two playback-only FireWire devices based on the OXFW970 chip. v2: better AMDTP API abstraction; fix fw_unit leak; small fixes v3: cache the iPCR value v4: FireWave constraints; fix fw_device reference counting; fix PCR caching; small changes and fixes v5: volume/mute support; fix crashing due to pcm stop races v6: fix build; one-channel volume for LaCie v7: use signed values to make volume (range checks) work; fix function block IDs for volume/mute; always use channel 0 for LaCie volume Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Tested-by: Jay Fenlason <fenlason@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>