diff options
author | Takashi Iwai <tiwai@suse.de> | 2017-02-20 10:52:50 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-02-20 10:52:50 +0300 |
commit | fc0e23fad33198fc7d74227dba7bbc3a5d7755aa (patch) | |
tree | 669319e33fb63a456986b6ac41cf3b584f583caf /sound/firewire/dice/dice-stream.c | |
parent | af677166cf63c179dc2485053166e02c4aea01eb (diff) | |
parent | 3bb9eca913025ed05c0510de831c67b7bef652c5 (diff) | |
download | linux-fc0e23fad33198fc7d74227dba7bbc3a5d7755aa.tar.xz |
Merge branch 'for-next' into for-linus
Diffstat (limited to 'sound/firewire/dice/dice-stream.c')
-rw-r--r-- | sound/firewire/dice/dice-stream.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/firewire/dice/dice-stream.c b/sound/firewire/dice/dice-stream.c index ec4db3a514fc..8573289c381e 100644 --- a/sound/firewire/dice/dice-stream.c +++ b/sound/firewire/dice/dice-stream.c @@ -195,6 +195,7 @@ static int start_streams(struct snd_dice *dice, enum amdtp_stream_direction dir, unsigned int i, pcm_chs, midi_ports; struct amdtp_stream *streams; struct fw_iso_resources *resources; + struct fw_device *fw_dev = fw_parent_device(dice->unit); int err = 0; if (dir == AMDTP_IN_STREAM) { @@ -237,8 +238,17 @@ static int start_streams(struct snd_dice *dice, enum amdtp_stream_direction dir, if (err < 0) return err; + if (dir == AMDTP_IN_STREAM) { + reg[0] = cpu_to_be32(fw_dev->max_speed); + err = snd_dice_transaction_write_tx(dice, + params->size * i + TX_SPEED, + reg, sizeof(reg[0])); + if (err < 0) + return err; + } + err = amdtp_stream_start(&streams[i], resources[i].channel, - fw_parent_device(dice->unit)->max_speed); + fw_dev->max_speed); if (err < 0) return err; } |