summaryrefslogtreecommitdiff
path: root/sound/soc/sh
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/sh')
-rw-r--r--sound/soc/sh/fsi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index dd9963345b93..aa2cbb1ea988 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -368,6 +368,14 @@ static int fsi_num2len(int num, int width)
return num * width;
}
+static int fsi_get_frame_width(struct fsi_priv *fsi)
+{
+ struct snd_pcm_substream *substream = fsi->substream;
+ struct snd_pcm_runtime *runtime = substream->runtime;
+
+ return frames_to_bytes(runtime, 1) / fsi->chan_num;
+}
+
/*
* dma function
*/
@@ -596,7 +604,7 @@ static int fsi_fifo_data_ctrl(struct fsi_priv *fsi, int startup, int is_play)
}
/* get 1 channel data width */
- ch_width = frames_to_bytes(runtime, 1) / fsi->chan_num;
+ ch_width = fsi_get_frame_width(fsi);
/* get residue data number of alsa */
data_residue_num = fsi_len2num(fsi->buff_len - fsi->buff_offset,