mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 11:30:54 +07:00
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:
parent
810b37ff29
commit
a364af2eec
@ -269,13 +269,6 @@ static int begin_session(struct snd_tscm *tscm)
|
||||
®, 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 @@ int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate)
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user