Skip to content

Commit

Permalink
ALSA: oxfw: unify substreams counter
Browse files Browse the repository at this point in the history
In former commits, two isochronous contexts are handles at the same
time. This commit unifies stream counters to obsolete them.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Sakamoto authored and Takashi Iwai committed Jun 12, 2019
1 parent 779f0db commit 4a0a047
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 12 deletions.
8 changes: 4 additions & 4 deletions sound/firewire/oxfw/oxfw-midi.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ static int midi_capture_open(struct snd_rawmidi_substream *substream)

mutex_lock(&oxfw->mutex);

oxfw->capture_substreams++;
++oxfw->substreams_count;
err = snd_oxfw_stream_start_duplex(oxfw, &oxfw->tx_stream, 0, 0);

mutex_unlock(&oxfw->mutex);
Expand All @@ -41,7 +41,7 @@ static int midi_playback_open(struct snd_rawmidi_substream *substream)

mutex_lock(&oxfw->mutex);

oxfw->playback_substreams++;
++oxfw->substreams_count;
err = snd_oxfw_stream_start_duplex(oxfw, &oxfw->rx_stream, 0, 0);

mutex_unlock(&oxfw->mutex);
Expand All @@ -58,7 +58,7 @@ static int midi_capture_close(struct snd_rawmidi_substream *substream)

mutex_lock(&oxfw->mutex);

oxfw->capture_substreams--;
--oxfw->substreams_count;
snd_oxfw_stream_stop_duplex(oxfw);

mutex_unlock(&oxfw->mutex);
Expand All @@ -73,7 +73,7 @@ static int midi_playback_close(struct snd_rawmidi_substream *substream)

mutex_lock(&oxfw->mutex);

oxfw->playback_substreams--;
--oxfw->substreams_count;
snd_oxfw_stream_stop_duplex(oxfw);

mutex_unlock(&oxfw->mutex);
Expand Down
8 changes: 4 additions & 4 deletions sound/firewire/oxfw/oxfw-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ static int pcm_capture_hw_params(struct snd_pcm_substream *substream,

if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) {
mutex_lock(&oxfw->mutex);
oxfw->capture_substreams++;
++oxfw->substreams_count;
mutex_unlock(&oxfw->mutex);
}

Expand All @@ -239,7 +239,7 @@ static int pcm_playback_hw_params(struct snd_pcm_substream *substream,

if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) {
mutex_lock(&oxfw->mutex);
oxfw->playback_substreams++;
++oxfw->substreams_count;
mutex_unlock(&oxfw->mutex);
}

Expand All @@ -253,7 +253,7 @@ static int pcm_capture_hw_free(struct snd_pcm_substream *substream)
mutex_lock(&oxfw->mutex);

if (substream->runtime->status->state != SNDRV_PCM_STATE_OPEN)
oxfw->capture_substreams--;
--oxfw->substreams_count;

snd_oxfw_stream_stop_duplex(oxfw);

Expand All @@ -268,7 +268,7 @@ static int pcm_playback_hw_free(struct snd_pcm_substream *substream)
mutex_lock(&oxfw->mutex);

if (substream->runtime->status->state != SNDRV_PCM_STATE_OPEN)
oxfw->playback_substreams--;
--oxfw->substreams_count;

snd_oxfw_stream_stop_duplex(oxfw);

Expand Down
4 changes: 2 additions & 2 deletions sound/firewire/oxfw/oxfw-stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ int snd_oxfw_stream_start_duplex(struct snd_oxfw *oxfw,
enum avc_general_plug_dir dir;
int err = 0;

if (oxfw->capture_substreams == 0 && oxfw->playback_substreams == 0)
if (oxfw->substreams_count == 0)
return -EIO;

// Considering JACK/FFADO streaming:
Expand Down Expand Up @@ -323,7 +323,7 @@ int snd_oxfw_stream_start_duplex(struct snd_oxfw *oxfw,

void snd_oxfw_stream_stop_duplex(struct snd_oxfw *oxfw)
{
if (oxfw->capture_substreams == 0 && oxfw->playback_substreams == 0) {
if (oxfw->substreams_count == 0) {
amdtp_stream_stop(&oxfw->rx_stream);
cmp_connection_break(&oxfw->in_conn);

Expand Down
3 changes: 1 addition & 2 deletions sound/firewire/oxfw/oxfw.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ struct snd_oxfw {
struct cmp_connection in_conn;
struct amdtp_stream tx_stream;
struct amdtp_stream rx_stream;
unsigned int capture_substreams;
unsigned int playback_substreams;
unsigned int substreams_count;

unsigned int midi_input_ports;
unsigned int midi_output_ports;
Expand Down

0 comments on commit 4a0a047

Please sign in to comment.