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

Created by David Henningsson on 2014-04-11 and last modified on 2020-09-12

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 20 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 2020-10-22 on alnitak and finished on 2020-10-22 taking 20 seconds — see the log
Import started on 2020-10-22 on alnitak and finished on 2020-10-22 taking 20 seconds — see the log
Import started on 2020-10-22 on alnitak and finished on 2020-10-22 taking 20 seconds — see the log
Import started on 2020-10-22 on alnitak and finished on 2020-10-22 taking 20 seconds — see the log
Import started on 2020-10-21 on alnitak and finished on 2020-10-21 taking 20 seconds — see the log
Import started on 2020-10-21 on izar and finished on 2020-10-21 taking 15 seconds — see the log

Recent revisions

1424. By Takashi Iwai on 2020-09-12

ALSA: firewire: Replace tasklet with work

The tasklet is an old API that should be deprecated, usually can be
converted to another decent API. In FireWire driver, a tasklet is
still used for offloading the AMDTP PCM stream handling. It can be
achieved gracefully with a work queued, too.

This patch replaces the tasklet usage in firewire-lib driver with a
simple work. The conversion is fairly straightforward but for the
in_interrupt() checks that are replaced with the check using the
current_work().

Note that in_interrupt() in amdtp_packet tracepoint is still kept as
is. This is the place that is probed by both softirq of 1394 OHCI and
a user task of a PCM application, and the work handling is already
filtered in amdtp_domain_stream_pcm_pointer().

Tested-by: Takashi Sakamoto <email address hidden>
Acked-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1423. By Allen Pais <email address hidden> on 2020-09-10

ALSA: firewire: convert tasklets to use new tasklet_setup() API

In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Romain Perier <email address hidden>
Signed-off-by: Allen Pais <email address hidden>
Acked-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1422. By Takashi Sakamoto on 2020-08-23

ALSA: firewire-digi00x: exclude Avid Adrenaline from detection

Avid Adrenaline is reported that ALSA firewire-digi00x driver is bound to.
However, as long as he investigated, the design of this model is hardly
similar to the one of Digi 00x family. It's better to exclude the model
from modalias of ALSA firewire-digi00x driver.

This commit changes device entries so that the model is excluded.

$ python3 crpp < ~/git/am-config-rom/misc/avid-adrenaline.img
               ROM header and bus information block
               -----------------------------------------------------------------
400 04203a9c bus_info_length 4, crc_length 32, crc 15004
404 31333934 bus_name "1394"
408 e064a002 irmc 1, cmc 1, isc 1, bmc 0, cyc_clk_acc 100, max_rec 10 (2048)
40c 00a07e01 company_id 00a07e |
410 00085257 device_id 0100085257 | EUI-64 00a07e0100085257

               root directory
               -----------------------------------------------------------------
414 0005d08c directory_length 5, crc 53388
418 0300a07e vendor
41c 8100000c --> descriptor leaf at 44c
420 0c008380 node capabilities
424 8d000002 --> eui-64 leaf at 42c
428 d1000004 --> unit directory at 438

               eui-64 leaf at 42c
               -----------------------------------------------------------------
42c 0002410f leaf_length 2, crc 16655
430 00a07e01 company_id 00a07e |
434 00085257 device_id 0100085257 | EUI-64 00a07e0100085257

               unit directory at 438
               -----------------------------------------------------------------
438 0004d6c9 directory_length 4, crc 54985
43c 1200a02d specifier id: 1394 TA
440 13014001 version: Vender Unique and AV/C
444 17000001 model
448 81000009 --> descriptor leaf at 46c

               descriptor leaf at 44c
               -----------------------------------------------------------------
44c 00077205 leaf_length 7, crc 29189
450 00000000 textual descriptor
454 00000000 minimal ASCII
458 41766964 "Avid"
45c 20546563 " Tec"
460 686e6f6c "hnol"
464 6f677900 "ogy"
468 00000000

               descriptor leaf at 46c
               -----------------------------------------------------------------
46c 000599a5 leaf_length 5, crc 39333
470 00000000 textual descriptor
474 00000000 minimal ASCII
478 41647265 "Adre"
47c 6e616c69 "nali"
480 6e650000 "ne"

Reported-by: Simon Wood <email address hidden>
Fixes: 9edf723fd858 ("ALSA: firewire-digi00x: add skeleton for Digi 002/003 family")
Cc: <email address hidden> # 4.4+
Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1421. By Takashi Sakamoto on 2020-08-23

ALSA; firewire-tascam: exclude Tascam FE-8 from detection

Tascam FE-8 is known to support communication by asynchronous transaction
only. The support can be implemented in userspace application and
snd-firewire-ctl-services project has the support. However, ALSA
firewire-tascam driver is bound to the model.

This commit changes device entries so that the model is excluded. In a
commit 53b3ffee7885 ("ALSA: firewire-tascam: change device probing
processing"), I addressed to the concern that version field in
configuration differs depending on installed firmware. However, as long
as I checked, the version number is fixed. It's safe to return version
number back to modalias.

Fixes: 53b3ffee7885 ("ALSA: firewire-tascam: change device probing processing")
Cc: <email address hidden> # 4.4+
Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1420. By Pierre-Louis Bossart <email address hidden> on 2020-08-23

ALSA: firewire: fix kernel-doc

Fix W=1 warning. Remove excess function parameter from description

Fixes: 7bc93821a70a ("ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection")
Acked-by: Takashi Sakamoto <email address hidden>
Signed-off-by: Pierre-Louis Bossart <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1419. By Ranjani Sridharan <email address hidden> on 2020-06-19

ALSA: uapi: Fix sparse warning

Fix the following sparse warning generated due to
64-bit compat type having fields defined explicitly
with __s32:
sound/soc/sof/sof-audio.c:46:31: warning: incorrect type in assignment (different base types)
sound/soc/sof/sof-audio.c:46:31: expected restricted snd_pcm_state_t [usertype] state
sound/soc/sof/sof-audio.c:46:31: got signed int [usertype] state

Fixes: 80fe7430c708 ("ALSA: add new 32-bit layout for snd_pcm_mmap_status/control")
Reported-by: Pierre-Louis Bossart <email address hidden>
Suggested-by: Takashi Iwai <email address hidden>
Signed-off-by: Ranjani Sridharan <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1418. By Takashi Iwai on 2020-06-19

ALSA: control: Fix incompatible protocol error

The recent change to bump the ALSA control API protocol version from
2.0.7 to 2.1.0 caused a regression on user-space; while the user-space
expects both the major and the minor versions to be identical with the
supported numbers, we changed the minor number from 0 to 1.

For recovering from the incompatibility, this patch changes the
protocol version again to 2.0.8, which is compatible, but yet higher
than the original number 2.0.7, indicating that the protocol change.

Fixes: bd3eb4e87eb3 ("ALSA: ctl: bump protocol version up to v2.1.0")
Reported-by: Paul Menzel <email address hidden>
Tested-by: Paul Menzel <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1417. By Takashi Sakamoto on 2020-06-19

ALSA: ctl: bump protocol version up to v2.1.0

In a development period for v5.6 kernel, some changes are introduced to
structures in ALSA control interface:
 - 'tstamp' member is removed from 'struct snd_ctl_elem_value
 - 'TSTAMP' flag is removed from a set of access flags for 'struct
   snd_ctl_elem_info'
 - 'dimen' member is removed from 'struct snd_ctl_elem_info

Although these changes were introduced with enough consideration for
backward compatibility, they include slightly lose of it. This commit
bumps protocol version of ALSA control interface up to v2.1.0.

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

1416. By Takashi Sakamoto on 2020-06-19

ALSA: ctl: remove dimen member from elem_info structure

The 'dimen' member of 'struct snd_ctl_elem_info' is designed to deliver
information to use an array of value as multi-dimensional values. This
feature is used just by echoaudio PCI driver, and fortunately it's not
used by the other applications than 'echomixer' in alsa-tools.

In a previous commit, usage of 'dimen' member is removed from echoaudio
PCI driver. Nowadays no driver/application use the feature.

This commit removes the member from structure.

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

1415. By Takashi Sakamoto on 2020-06-19

ALSA: ctl: remove unused macro for timestamping of elem_value

In a former commit, 'tstamp' member was removed from 'struct
snd_ctl_elem_value' in a middle way toward solution of Y2038 issue. In a
protocol of ALSA control interface, this member is designed to deliver
timestamp information in the value structure when the target element
supports SNDRV_CTL_ELEM_ACCESS_TIMESTAMP flag.

Actually, the feature is neither used by kernel space nor user space,
especiall alsa-lib has no API for the feature. Therefore it's reasonable
to remove both of them. Practically, the timestamp information
corresponds to no information about type of clock ID. It can bring
confusions to applications.

Reference: a4e7dd35b9da ("ALSA: Avoid using timespec for struct snd_ctl_elem_value")
Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<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.