diff options
-rw-r--r-- | sound/soc/sh/fsi.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index c814d8a7cec..1cbe474046f 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c @@ -296,6 +296,11 @@ static int fsi_is_spdif(struct fsi_priv *fsi) return fsi->spdif; } +static int fsi_is_play(struct snd_pcm_substream *substream) +{ + return substream->stream == SNDRV_PCM_STREAM_PLAYBACK; +} + static struct snd_soc_dai *fsi_get_dai(struct snd_pcm_substream *substream) { struct snd_soc_pcm_runtime *rtd = substream->private_data; @@ -399,10 +404,10 @@ static void fsi_count_fifo_err(struct fsi_priv *fsi) /* * fsi_stream_xx() function */ -#define fsi_is_play(substream) fsi_stream_is_play(substream->stream) -static inline int fsi_stream_is_play(int stream) +static inline int fsi_stream_is_play(struct fsi_priv *fsi, + struct fsi_stream *io) { - return stream == SNDRV_PCM_STREAM_PLAYBACK; + return &fsi->playback == io; } static inline struct fsi_stream *fsi_stream_get(struct fsi_priv *fsi, @@ -736,7 +741,7 @@ static int fsi_fifo_data_ctrl(struct fsi_priv *fsi, struct fsi_stream *io, static int fsi_data_pop(struct fsi_priv *fsi) { - int is_play = fsi_stream_is_play(SNDRV_PCM_STREAM_CAPTURE); + int is_play = 0; int sample_residues; /* samples in FSI fifo */ int sample_space; /* ALSA free samples space */ int samples; @@ -755,7 +760,7 @@ static int fsi_data_pop(struct fsi_priv *fsi) static int fsi_data_push(struct fsi_priv *fsi) { - int is_play = fsi_stream_is_play(SNDRV_PCM_STREAM_PLAYBACK); + int is_play = 1; int sample_residues; /* ALSA residue samples */ int sample_space; /* FSI fifo free samples space */ int samples; |