Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: sh: fsi: move chan_num from fsi_stream to fsi_priv

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

authored by

Kuninori Morimoto and committed by
Mark Brown
160afa7f 58cc357f

+15 -19
+15 -19
sound/soc/sh/fsi.c
··· 130 130 struct snd_pcm_substream *substream; 131 131 132 132 int fifo_max_num; 133 - int chan_num; 134 133 135 134 int buff_offset; 136 135 int buff_len; ··· 144 145 void __iomem *base; 145 146 struct fsi_master *master; 146 147 148 + int chan_num; 147 149 struct fsi_stream playback; 148 150 struct fsi_stream capture; 149 151 ··· 348 348 static int fsi_get_fifo_data_num(struct fsi_priv *fsi, int is_play) 349 349 { 350 350 u32 status; 351 - struct fsi_stream *io = fsi_get_stream(fsi, is_play); 352 351 int data_num; 353 352 354 353 status = is_play ? ··· 355 356 fsi_reg_read(fsi, DIFF_ST); 356 357 357 358 data_num = 0x1ff & (status >> 8); 358 - data_num *= io->chan_num; 359 + data_num *= fsi->chan_num; 359 360 360 361 return data_num; 361 362 } ··· 377 378 struct snd_pcm_substream *substream = io->substream; 378 379 struct snd_pcm_runtime *runtime = substream->runtime; 379 380 380 - return frames_to_bytes(runtime, 1) / io->chan_num; 381 + return frames_to_bytes(runtime, 1) / fsi->chan_num; 381 382 } 382 383 383 384 static void fsi_count_fifo_err(struct fsi_priv *fsi) ··· 570 571 * 7 channels: 32 ( 32 x 7 = 224) 571 572 * 8 channels: 32 ( 32 x 8 = 256) 572 573 */ 573 - for (i = 1; i < io->chan_num; i <<= 1) 574 + for (i = 1; i < fsi->chan_num; i <<= 1) 574 575 io->fifo_max_num >>= 1; 575 576 dev_dbg(dai->dev, "%d channel %d store\n", 576 - io->chan_num, io->fifo_max_num); 577 + fsi->chan_num, io->fifo_max_num); 577 578 578 579 /* 579 580 * set interrupt generation factor ··· 649 650 * data_num_max : number of FSI fifo free space 650 651 * data_num : number of ALSA residue data 651 652 */ 652 - data_num_max = io->fifo_max_num * io->chan_num; 653 + data_num_max = io->fifo_max_num * fsi->chan_num; 653 654 data_num_max -= fsi_get_fifo_data_num(fsi, is_play); 654 655 655 656 data_num = data_residue_num; ··· 745 746 { 746 747 struct fsi_priv *fsi = fsi_get_priv(substream); 747 748 struct fsi_master *master = fsi_get_master(fsi); 748 - struct fsi_stream *io; 749 749 u32 flags = fsi_get_info_flags(fsi); 750 750 u32 fmt; 751 751 u32 data; 752 752 int is_play = fsi_is_play(substream); 753 - 754 - io = fsi_get_stream(fsi, is_play); 755 753 756 754 pm_runtime_get_sync(dai->dev); 757 755 ··· 772 776 switch (fmt) { 773 777 case SH_FSI_FMT_MONO: 774 778 data = CR_MONO; 775 - io->chan_num = 1; 779 + fsi->chan_num = 1; 776 780 break; 777 781 case SH_FSI_FMT_MONO_DELAY: 778 782 data = CR_MONO_D; 779 - io->chan_num = 1; 783 + fsi->chan_num = 1; 780 784 break; 781 785 case SH_FSI_FMT_PCM: 782 786 data = CR_PCM; 783 - io->chan_num = 2; 787 + fsi->chan_num = 2; 784 788 break; 785 789 case SH_FSI_FMT_I2S: 786 790 data = CR_I2S; 787 - io->chan_num = 2; 791 + fsi->chan_num = 2; 788 792 break; 789 793 case SH_FSI_FMT_TDM: 790 - io->chan_num = is_play ? 794 + fsi->chan_num = is_play ? 791 795 SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); 792 - data = CR_TDM | (io->chan_num - 1); 796 + data = CR_TDM | (fsi->chan_num - 1); 793 797 break; 794 798 case SH_FSI_FMT_TDM_DELAY: 795 - io->chan_num = is_play ? 799 + fsi->chan_num = is_play ? 796 800 SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); 797 - data = CR_TDM_D | (io->chan_num - 1); 801 + data = CR_TDM_D | (fsi->chan_num - 1); 798 802 break; 799 803 case SH_FSI_FMT_SPDIF: 800 804 if (master->core->ver < 2) { ··· 802 806 return -EINVAL; 803 807 } 804 808 data = CR_BWS_16 | CR_DTMD_SPDIF_PCM | CR_PCM; 805 - io->chan_num = 2; 809 + fsi->chan_num = 2; 806 810 fsi_spdif_clk_ctrl(fsi, 1); 807 811 fsi_reg_mask_set(fsi, OUT_SEL, DMMD, DMMD); 808 812 break;