ALSA: firewire-tascam: code refactoring for release of isochronous resources

This commit is a part of preparation to perform allocation/release
of isochronous channels in pcm.hw_params/hw_free callbacks.

This commit obsoletes a helper function to release isochronous resources
for both direction.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto 2019-06-02 16:12:47 +09:00 committed by Takashi Iwai
parent 810b37ff29
commit a364af2eec
1 changed files with 8 additions and 10 deletions

View File

@ -269,13 +269,6 @@ static int begin_session(struct snd_tscm *tscm)
&reg, sizeof(reg), 0);
}
static void release_resources(struct snd_tscm *tscm)
{
// Release isochronous resources.
fw_iso_resources_free(&tscm->tx_resources);
fw_iso_resources_free(&tscm->rx_resources);
}
static int keep_resources(struct snd_tscm *tscm, unsigned int rate,
struct amdtp_stream *stream)
{
@ -374,7 +367,8 @@ int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate)
amdtp_stream_stop(&tscm->rx_stream);
amdtp_stream_stop(&tscm->tx_stream);
release_resources(tscm);
fw_iso_resources_free(&tscm->tx_resources);
fw_iso_resources_free(&tscm->rx_resources);
}
if (!amdtp_stream_running(&tscm->rx_stream)) {
@ -427,7 +421,9 @@ error:
amdtp_stream_stop(&tscm->tx_stream);
finish_session(tscm);
release_resources(tscm);
fw_iso_resources_free(&tscm->tx_resources);
fw_iso_resources_free(&tscm->rx_resources);
return err;
}
@ -441,7 +437,9 @@ void snd_tscm_stream_stop_duplex(struct snd_tscm *tscm)
amdtp_stream_stop(&tscm->rx_stream);
finish_session(tscm);
release_resources(tscm);
fw_iso_resources_free(&tscm->tx_resources);
fw_iso_resources_free(&tscm->rx_resources);
}
void snd_tscm_stream_lock_changed(struct snd_tscm *tscm)