Searched hist:37 (Results 1 - 25 of 25114) sorted by relevance

1234567891011>>

/linux-master/sound/firewire/dice/
H A Ddice-tcelectronic.cdiff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff d0aa5909 Sat May 19 23:40:44 MDT 2018 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: dice: add stream format parameters for TC Electronic Digital Konnekt x32

TC Electronic Digital Konnekt x32 is an application of WaveFront DiceII STD
and doesn't support TCAT extended application protocol. For such devices,
ALSA dice driver needs to have hard-coded parameters for stream formats.

This commit adds stream format parameters for this model. Unfortunately, at
sampling transmission frequencies of 88.2/96.0kHz, I confirmed that current
ALSA dice driver doesn't drive the device appropriately due to detecting
packet discontinuities.

$ journalctl
kernel: snd_dice fw1.0: Detect discontinuity of CIP: 90 80

At the frequencies, the device transfers 16 data blocks per packet and 16
data channels per data block, as a result one packet includes 1032 bytes
if it's not NODATA. However, as long as I checked, the device often
postpone packet transmission and continue with truncated payload than
metadata in isochronous packet header. Below is a sample of sequence I got.

sec cycle bytes CIP1 CIP2
37 3314 1032 0x01100090 0x900449E2
37 3315 8 0x011000A0 0x9004FFFF
37 3316 1032 0x011000A0 0x900461E2
37 3317 1032 0x011000B0 0x900475E2
37 3318 1032 0x011000C0 0x900489E2
37 3319 8 0x011000D0 0x9004FFFF
37 3320 1032 0x011000D0 0x9004A1E2
37 3321 1032 0x011000E0 0x9004B5E2
37 3322 1032 0x011000F0 0x9004C9E2
37 3323 8 0x01100000 0x9004FFFF
37 3324 1032 0x01100000 0x9004E1E2
37 3325 1032 0x01100010 0x9004F5E2
37 3326 1032 0x01100020 0x900409E2
37 3327 8 0x01100030 0x9004FFFF
37 3328 1032 0x01100030 0x900421E2
37 3329 1032 0x01100040 0x900435E2
37 3330 (skip)
37 3331 (skip)
37 3332 (skip)
37 3333 (skip)
37 3334 (skip)
37 3335 (skip)
37 3336 (skip)
37 3337 (skip)
37 3338 (skip)
37 3339 (skip)
37 3340 (skip)
37 3341 (skip)
37 3342 (skip)
37 3343 (skip)
37 3344 (skip)
37 3345 (skip)
37 3346 (skip)
37 3347 (skip)
37 3348 (skip)
37 3349 (skip)
37 3350 (skip)
37 3351 (skip)
37 3352 (skip)
37 3353 (skip)
37 3354 (skip)
37 3355 (skip)
37 3356 (skip)
37 3357 (skip)
37 3358 (skip)
37 3359 (skip)
37 3360 (skip)
37 3361 (skip)
37 3362 (skip)
37 3363 (skip)
37 3364 (skip)
37 3365 (skip)
37 3366 (skip)
37 3367 1032 0x01100050 0x900461E1
37 3368 1032 0x01100060 0x900475E1
37 3369 1032 0x01100070 0x9004A1E1
37 3370 1032 0x01100080 0x9004A1E1 but content of payload is truncated.
37 3371 (skip)
37 3371 1032 0x01100080 0x9004B5E0 detect discontinuity
37 3372 1032 0x01100090 0x9004C9E0
37 3373 1032 0x011000A0 0x9004E1E0
37 3374 1032 0x011000B0 0x9004F5E0
37 3375 1032 0x011000C0 0x900409E0
37 3376 1032 0x011000D0 0x900421E0
37 3377 1032 0x011000E0 0x900435E0
37 3378 1032 0x011000F0 0x900449DF
37 3379 8 0x01100000 0x9004FFFF
37 3380 1032 0x01100000 0x900461DF
37 3381 1032 0x01100010 0x900475DF
37 3382 1032 0x01100020 0x900489DF
37 3383 8 0x01100030 0x9004FFFF
37 3384 1032 0x01100030 0x9004A1DF
37 3385 1032 0x01100040 0x9004B5DF
37 3386 1032 0x01100050 0x9004C9DF
37 3387 8 0x01100060 0x9004FFFF

I cannot confirm this quirks with Windows driver. ALSA dice driver has a
cause if assumed differences between these two drivers are ways of
timestampling to RX packets from the drivers to the device. I've already
reported timestamping quirk of Dice-based devices and this might bring
this issue.

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

Well, nevertheless, I enable ALSA dice driver to work at the frequencies.
This may brings inconvenience to users but I expect developers and users
to fix it.

$ cd linux-firewire-utils/src
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 040423bb bus_info_length 4, crc_length 4, crc 9147
404 31333934 bus_name "1394"
408 e0ff8112 irmc 1, cmc 1, isc 1, bmc 0, pmc 0, cyc_clk_acc 255,
max_rec 8 (512), max_rom 1, gen 1, spd 2 (S400)
40c 00016604 company_id 000166 |
410 0c232c28 device_id 040c232c28 | EUI-64 000166040c232c28

root directory
-----------------------------------------------------------------
414 0006b6cb directory_length 6, crc 46795
418 03000166 vendor
41c 8100000a --> descriptor leaf at 444
420 17000030 model
424 8100000f --> descriptor leaf at 460
428 0c0087c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430

unit directory at 430
-----------------------------------------------------------------
430 000476c2 directory_length 4, crc 30402
434 12000166 specifier id
438 13000001 version
43c 17000030 model
440 81000010 --> descriptor leaf at 480

descriptor leaf at 444
-----------------------------------------------------------------
444 0006c490 leaf_length 6, crc 50320
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 54432045 "TC E"
454 6c656374 "lect"
458 726f6e69 "roni"
45c 63000000 "c"

descriptor leaf at 460
-----------------------------------------------------------------
460 000772b4 leaf_length 7, crc 29364
464 00000000 textual descriptor
468 00000000 minimal ASCII
46c 44696769 "Digi"
470 74616c4b "talK"
474 6f6e6e65 "onne"
478 6b747833 "ktx3"
47c 32000000 "2"

descriptor leaf at 480
-----------------------------------------------------------------
480 000772b4 leaf_length 7, crc 29364
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 44696769 "Digi"
490 74616c4b "talK"
494 6f6e6e65 "onne"
498 6b747833 "ktx3"
49c 32000000 "2"

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
/linux-master/lib/
H A Dstring_kunit.c29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
29d85688 Fri Mar 01 01:27:30 MST 2024 Kees Cook <keescook@chromium.org> string: Convert selftest to KUnit

Convert test_string.c to KUnit so it can be easily run with everything
else.

Additional text context is retained for failure reporting. For example,
when forcing a bad match, we can see the loop counters reported for the
memset() tests:

[09:21:52] # test_memset64: ASSERTION FAILED at lib/string_kunit.c:93
[09:21:52] Expected v == 0xa2a1a1a1a1a1a1a1ULL, but
[09:21:52] v == -6799976246779207263 (0xa1a1a1a1a1a1a1a1)
[09:21:52] 0xa2a1a1a1a1a1a1a1ULL == -6727918652741279327 (0xa2a1a1a1a1a1a1a1)
[09:21:52] i:0 j:0 k:0
[09:21:52] [FAILED] test_memset64

Currently passes without problems:

$ ./tools/testing/kunit/kunit.py run string
...
[09:37:40] Starting KUnit Kernel (1/1)...
[09:37:40] ============================================================
[09:37:40] =================== string (6 subtests) ====================
[09:37:40] [PASSED] test_memset16
[09:37:40] [PASSED] test_memset32
[09:37:40] [PASSED] test_memset64
[09:37:40] [PASSED] test_strchr
[09:37:40] [PASSED] test_strnchr
[09:37:40] [PASSED] test_strspn
[09:37:40] ===================== [PASSED] string ======================
[09:37:40] ============================================================
[09:37:40] Testing complete. Ran 6 tests: passed: 6
[09:37:40] Elapsed time: 6.730s total, 0.001s configuring, 6.562s building, 0.131s running

Link: https://lore.kernel.org/r/20240301202732.2688342-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org>
/linux-master/sound/core/
H A D.kunitconfig585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
585f5bf9 Sat Mar 16 20:40:50 MDT 2024 Takashi Sakamoto <o-takashi@sakamocchi.jp> ALSA: core: add kunitconfig

It is helpful to add .kunitconfig if we work with the tools provided by
KUnit project. The file describes the series of kernel configurations to
satisfy the dependency to build the target test.

For example:

$ ./tools/testing/kunit/kunit.py run --arch=arm64 --cross_compile=aarch64-linux-gnu- --kunitconfig=sound/core/
[11:35:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
[11:35:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm64 O=.kunit olddefconfig CROSS_COMPILE=aarch64-linux-gnu-
Building with:
$ make ARCH=arm64 O=.kunit --jobs=8 CROSS_COMPILE=aarch64-linux-gnu-
[11:37:35] Starting KUnit Kernel (1/1)...
[11:37:35] ============================================================
Running tests with:
$ qemu-system-aarch64 -nodefaults -m 1024 -kernel .kunit/arch/arm64/boot/Image.gz -append 'kunit.enable=1 console=ttyAMA0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt -cpu max,pauth-impdef=on
[11:37:35] ============== sound-core-test (10 subtests) ===============
[11:37:35] [PASSED] test_phys_format_size
[11:37:35] [PASSED] test_format_width
[11:37:35] [PASSED] test_format_endianness
[11:37:35] [PASSED] test_format_signed
[11:37:35] [PASSED] test_format_fill_silence
[11:37:35] [PASSED] test_playback_avail
[11:37:35] [PASSED] test_capture_avail
[11:37:35] [PASSED] test_card_set_id
[11:37:35] [PASSED] test_pcm_format_name
[11:37:35] [PASSED] test_card_add_component
[11:37:35] ================= [PASSED] sound-core-test =================
[11:37:35] ============================================================
[11:37:35] Testing complete. Ran 10 tests: passed: 10
[11:37:35] Elapsed time: 142.333s total, 5.617s configuring, 136.047s building, 0.630s running

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Message-ID: <20240317024050.588370-1-o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
/linux-master/arch/nios2/kernel/
H A Dhead.S27d22413 Thu Nov 06 00:19:37 MST 2014 Ley Foon Tan <lftan@altera.com> nios2: Kernel booting and initialization

This patch adds the kernel booting and the initial setup code.

Signed-off-by: Ley Foon Tan <lftan@altera.com>
/linux-master/drivers/net/wireless/intel/iwlegacy/
H A Dcsr.h7ac9a364 Tue Nov 17 11:37:11 MST 2015 Kalle Valo <kvalo@codeaurora.org> iwlegacy: move under intel directory

Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
H A Dprph.h7ac9a364 Tue Nov 17 11:37:11 MST 2015 Kalle Valo <kvalo@codeaurora.org> iwlegacy: move under intel directory

Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
/linux-master/Documentation/devicetree/bindings/arm/marvell/
H A Darmada-37xx.yamldiff 28175c6c Mon May 16 06:48:27 MDT 2022 Robert Marko <robert.marko@sartura.hr> dt-bindings: marvell: armada-37xx: add Methode eDPU compatible

Document compatible for the Methode eDPU Armada 3720 based board.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
888d6ffa Mon May 16 06:48:20 MDT 2022 Robert Marko <robert.marko@sartura.hr> dt-bindings: marvell: convert Armada 37xx compatibles to YAML

Convert the Armada 37xx SoC compatibles to YAML.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
888d6ffa Mon May 16 06:48:20 MDT 2022 Robert Marko <robert.marko@sartura.hr> dt-bindings: marvell: convert Armada 37xx compatibles to YAML

Convert the Armada 37xx SoC compatibles to YAML.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
/linux-master/Documentation/devicetree/bindings/serial/
H A Dmilbeaut-uart.txt0e585aab Wed Feb 20 00:44:37 MST 2019 Sugaya Taichi <sugaya.taichi@socionext.com> dt-bindings: serial: Add Milbeaut serial driver description

Add DT bindings document for Milbeaut serial driver.

Signed-off-by: Sugaya Taichi <sugaya.taichi@socionext.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/linux-master/Documentation/devicetree/bindings/spi/
H A Djcore,spi.txt7ed66c6d Wed Aug 03 22:30:37 MDT 2016 Rich Felker <dalias@libc.org> spi: jcore: add J-Core SPI master bindings

Signed-off-by: Rich Felker <dalias@libc.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
/linux-master/Documentation/devicetree/bindings/sound/
H A Dtda7419.txt050a0e1f Sun Mar 18 11:22:37 MDT 2018 Matt Porter <mporter@konsulko.com> ASoC: add tda7419 audio processor binding

DeviceTree binding for the tda7419 audio processor.

Signed-off-by: Matt Porter <mporter@konsulko.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
H A Dimx-audio-es8328.txt7e7292db Wed Jul 30 20:43:37 MDT 2014 Sean Cross <xobs@kosagi.com> ASoC: fsl: add imx-es8328 machine driver

This adds an initial machine driver for the ES8328 audio codec on Freescale
boards. The driver supports headphones and an audio regulator for an onboard
speaker amp.

Signed-off-by: Sean Cross <xobs@kosagi.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
/linux-master/Documentation/devicetree/bindings/pinctrl/
H A Dsprd,sc9860-pinctrl.txte6f3f669 Thu Aug 17 00:50:37 MDT 2017 Baolin Wang <baolin.wang@spreadtrum.com> dt-bindings: pinctrl: Add DT bindings for Spreadtrum SC9860

This patch adds the binding documentation for Spreadtrum SC9860 pin
controller device.

Signed-off-by: Baolin Wang <baolin.wang@spreadtrum.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
/linux-master/Documentation/devicetree/bindings/input/
H A Dps2keyb-mouse-apbps2.txtb4a034da Mon Feb 25 23:51:37 MST 2013 Daniel Hellstrom <daniel@gaisler.com> Input: add support for GRLIB APBPS2 PS/2 Keyboard/Mouse

APBPS2 is a PS/2 core part of GRLIB found in SPARC32/LEON
products.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
/linux-master/Documentation/devicetree/bindings/phy/
H A Dhix5hd2-phy.txtf1876acc Thu Jul 03 08:28:37 MDT 2014 Jiancheng Xue <xuejiancheng@huawei.com> Documentation: Document Hisilicon hix5hd2 sata PHY

Add necessary binding documentation SATA PHY on Hisilicon hix5hd2 soc.

Signed-off-by: Jiancheng Xue <xuejiancheng@huawei.com>
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
/linux-master/Documentation/devicetree/bindings/watchdog/
H A Dtwl4030-wdt.txt8899b8d9 Sun Dec 23 13:03:37 MST 2012 Aaro Koskinen <aaro.koskinen@iki.fi> watchdog: twl4030_wdt: add DT support

Add DT support for twl4030_wdt. This is needed to get twl4030_wdt to
probe when booting with DT.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
/linux-master/arch/mips/pci/
H A Dfixup-bcm63xx.ce7300d04 Tue Aug 18 06:23:37 MDT 2009 Maxime Bizon <mbizon@freebox.fr> MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/linux-master/include/asm-generic/
H A Daudit_signal.h7f13da40 Thu Mar 29 16:00:37 MDT 2007 Amy Griffis <amy.griffis@hp.com> [PATCH] add SIGNAL syscall class (v3)

Add a syscall class for sending signals.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
/linux-master/tools/testing/selftests/rcutorture/configs/lock/
H A DBUSTED9dfa5b35 Fri Feb 07 14:56:37 MST 2014 Paul E. McKenney <paulmck@kernel.org> locktorture: Add vestigial locktorture configuration

This commit adds a trivial set of configuration files for lock
torturing.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
H A DBUSTED.boot9dfa5b35 Fri Feb 07 14:56:37 MST 2014 Paul E. McKenney <paulmck@kernel.org> locktorture: Add vestigial locktorture configuration

This commit adds a trivial set of configuration files for lock
torturing.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
H A DCFcommon9dfa5b35 Fri Feb 07 14:56:37 MST 2014 Paul E. McKenney <paulmck@kernel.org> locktorture: Add vestigial locktorture configuration

This commit adds a trivial set of configuration files for lock
torturing.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
H A DLOCK019dfa5b35 Fri Feb 07 14:56:37 MST 2014 Paul E. McKenney <paulmck@kernel.org> locktorture: Add vestigial locktorture configuration

This commit adds a trivial set of configuration files for lock
torturing.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
/linux-master/tools/virtio/linux/
H A Ddevice.h4e53f78e Mon Nov 29 10:16:37 MST 2010 Michael S. Tsirkin <mst@redhat.com> tools/virtio: virtio_test tool

This is the userspace part of the tool: it includes a bunch of stubs for
linux APIs, somewhat simular to linuxsched. This makes it possible to
recompile the ring code in userspace.

A small test example is implemented combining this with vhost_test
module.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
/linux-master/Documentation/devicetree/bindings/arc/
H A Deznps.txt37f0e658 Wed Apr 29 06:07:43 MDT 2015 Noam Camus <noamc@ezchip.com> Documentation: Add EZchip vendor to binding list

Add EZchip to vendor prefixes list.
EZchip introduce the NPS platform for the ARC architecture.

Signed-off-by: Noam Camus <noamc@ezchip.com>
Acked-by: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
/linux-master/include/dt-bindings/thermal/
H A Dtegra194-bpmp-thermal.hdiff 199bc54b Fri Nov 23 05:18:37 MST 2018 Thierry Reding <treding@nvidia.com> dt-bindings: thermal: tegra-bpmp: Add Tegra194 support

The thermal controller implementation on Tegra194 is very similar to the
implementation on Tegra186. Add a compatible string for the new
generation.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
34e8b809 Fri Nov 23 05:18:37 MST 2018 Thierry Reding <treding@nvidia.com> dt-bindings: thermal: tegra-bpmp: Add Tegra194 support

The thermal controller implementation on Tegra194 is very similar to the
implementation on Tegra186. Add a compatible string for the new
generation.

Signed-off-by: Thierry Reding <treding@nvidia.com>
/linux-master/scripts/dtc/include-prefixes/dt-bindings/thermal/
H A Dtegra194-bpmp-thermal.hdiff 199bc54b Fri Nov 23 05:18:37 MST 2018 Thierry Reding <treding@nvidia.com> dt-bindings: thermal: tegra-bpmp: Add Tegra194 support

The thermal controller implementation on Tegra194 is very similar to the
implementation on Tegra186. Add a compatible string for the new
generation.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
34e8b809 Fri Nov 23 05:18:37 MST 2018 Thierry Reding <treding@nvidia.com> dt-bindings: thermal: tegra-bpmp: Add Tegra194 support

The thermal controller implementation on Tegra194 is very similar to the
implementation on Tegra186. Add a compatible string for the new
generation.

Signed-off-by: Thierry Reding <treding@nvidia.com>

Completed in 531 milliseconds

1234567891011>>