lp:~diwic/alsa-driver/snd-firewire-improve

Created by David Henningsson on 2014-04-11 and last modified on 2019-07-21

Takashi Sakamoto's firewire drivers

Get this branch:
bzr branch lp:~diwic/alsa-driver/snd-firewire-improve

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
David Henningsson
Project:
ALSA driver
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at https://github.com/takaswie/snd-firewire-improve.git.

The next import is scheduled to run in 2 hours.

Last successful import was 3 hours ago.

Import started 3 hours ago on izar and finished 3 hours ago taking 20 seconds — see the log
Import started 9 hours ago on izar and finished 9 hours ago taking 15 seconds — see the log
Import started 15 hours ago on alnitak and finished 15 hours ago taking 20 seconds — see the log
Import started 21 hours ago on alnitak and finished 21 hours ago taking 20 seconds — see the log
Import started on 2019-07-21 on izar and finished on 2019-07-21 taking 15 seconds — see the log
Import started on 2019-07-21 on izar and finished on 2019-07-21 taking 15 seconds — see the log
Import started on 2019-07-20 on alnitak and finished on 2019-07-20 taking 20 seconds — see the log
Import started on 2019-07-20 on alnitak and finished on 2019-07-20 taking 20 seconds — see the log
Import started on 2019-07-20 on izar and finished on 2019-07-20 taking 20 seconds — see the log
Import started on 2019-07-20 on alnitak and finished on 2019-07-20 taking 20 seconds — see the log

Recent revisions

1256. By tglx on 2019-07-21

ktime: Cleanup ktime_set() usage

ktime_set(S,N) was required for the timespec storage type and is still
useful for situations where a Seconds and Nanoseconds part of a time value
needs to be converted. For anything where the Seconds argument is 0, this
is pointless and can be replaced with a simple assignment.

Signed-off-by: Thomas Gleixner <email address hidden>
Cc: Peter Zijlstra <email address hidden>

1255. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib: code refactoring for local variables

It's better to use int type for loop index. For consistency, the name
of local variable for the number of data block should be plural.

Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1254. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib: code refactoring for post operation to data block counter

As a result of former commits, post operation to data block count for
cases without CIP_DBC_IS_END_EVENT can be done just with
data_block_counter member of amdtp_stream structure.

This commit adds code refactoring to obsolete local variable for
data block counter.

Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1253. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib: code refactoring for error path of parser for CIP header

When a parser for CIP header returns -EAGAIN, no extra care is needed
to probe tracepoints event.

This commit adds code refactoring for the error path.

Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1252. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib: fix different data block counter between probed event and transferred isochronous packet

For IT context, tracepoints event is probed after calculating next data
block counter. This brings difference of data block counter between
the probed event and actual isochronous packet.

This commit fixes it.

Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1251. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib: fix initial value of data block count for IR context without CIP_DBC_IS_END_EVENT

For IR context, ALSA IEC 61883-1/6 engine uses initial value of data
block counter as UINT_MAX, to detect first isochronous packet in the
middle of packet streaming.

At present, when CIP_DBC_IS_END_EVENT is not used (i.e. for drivers except
for ALSA fireworks driver), the initial value is used as is for
tracepoints event. However, the engine can detect the value of dbc field
in the payload of first isochronous packet and the value should be assigned
to the event.

This commit fixes the bug.

Fixes: 76864868dbab ("ALSA: firewire-lib: cache next data_block_counter after probing tracepoints event for IR context")
Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1250. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib/fireface: fix initial value of data block counter for IR context with CIP_NO_HEADER

For IR context, ALSA IEC 61883-1/6 engine uses initial value of data
block counter as UINT_MAX, to detect first isochronous packet in the
middle of packet streaming.

At present, when CIP_NO_HEADER is used (i.e. for ALSA fireface driver),
the initial value is used for tracepoints event. 0x00 should be
for the event when the initial value is UINT_MAX because isochronous
packets with CIP_NO_HEADER option has no field for data block count.

This commit fixes the bug.

Fixes: 76864868dbab ("ALSA: firewire-lib: cache next data_block_counter after probing tracepoints event for IR context")
Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1249. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-lib: fix invalid length of rx packet payload for tracepoint events

Although CIP header is handled as context header, the length of isochronous
packet includes two quadlets for its payload. In tracepoints event the
value of payload_quadlets should includes the two quadlets. But at present
it doesn't.

This commit fixes the bug.

Fixes: b18f0cfaf16b ("ALSA: firewire-lib: use 8 byte packet header for IT context to separate CIP header from CIP payload")
Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1248. By Takashi Sakamoto on 2019-07-08

firewire-motu: fix wrong reference count for stream functionality at error path of rawmidi interface

In IEC 61883-6, several types of sampling data can be multiplexed into
payload of common isochronous packet (CIP). For typical audio and music
units, PCM samples and MIDI messages are multiplexed into one packet
streaming.

ALSA firewire-motu driver allows applications of rawmidi interface to
start packet streaming for transmission of MIDI messages. However at
error path, the reference count of stream functionality is not operated
correctly. This can brings a bug that packet streaming is not stopped
when all referrers release the count.

This commit fixes the bug.

Fixes: 8edc56ec8f14 ("ALSA: firewire-motu: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks")
Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1247. By Takashi Sakamoto on 2019-07-08

ALSA: firewire-digi00x: fix wrong reference count for stream functionality at error path of rawmidi interface

In IEC 61883-6, several types of sampling data can be multiplexed into
payload of common isochronous packet (CIP). For typical audio and music
units, PCM samples and MIDI messages are multiplexed into one packet
streaming.

ALSA firewire-digi00x driver allows applications of rawmidi interface to
start packet streaming for transmission of MIDI messages. However at
error path, the reference count of stream functionality is not operated
correctly. This can brings a bug that packet streaming is not stopped
when all referrers release the count.

This commit fixes the bug.

Fixes: ae8ffbb26512 ("ALSA: firewire-digi00x: reserve/release isochronous resources in pcm.hw_params/hw_free callbacks")
Signed-off-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.