All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: cros-kernel-buildreports@googlegroups.com
Cc: oe-kbuild-all@lists.linux.dev
Subject: [chrome-os:chromeos-6.6 337/337] sound/soc/mediatek/mt8196/mt8196-afe-pcm.c:89:6: warning: no previous prototype for 'mt8196_fe_shutdown'
Date: Tue, 21 Jan 2025 18:32:18 +0800	[thread overview]
Message-ID: <202501211846.7439Tdmg-lkp@intel.com> (raw)

tree:   https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-6.6
head:   bbce9440852e4893e548b019d4773655399519f7
commit: bbce9440852e4893e548b019d4773655399519f7 [337/337] CHROMIUM: sound: soc/mediatek: Use udelay instead of mt8196_aud_delay
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20250121/202501211846.7439Tdmg-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250121/202501211846.7439Tdmg-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501211846.7439Tdmg-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> cc1: warning: drivers/misc/mediatek/audio_ipi/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: sound/soc/mediatek/audio_dsp: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/adsp/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/base/power/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/include/mt-plat//include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/pbm: No such file or directory [-Wmissing-include-dirs]
>> sound/soc/mediatek/mt8196/mt8196-afe-pcm.c:89:6: warning: no previous prototype for 'mt8196_fe_shutdown' [-Wmissing-prototypes]
      89 | void mt8196_fe_shutdown(struct snd_pcm_substream *substream,
         |      ^~~~~~~~~~~~~~~~~~
>> sound/soc/mediatek/mt8196/mt8196-afe-pcm.c:113:5: warning: no previous prototype for 'mt8196_fe_trigger' [-Wmissing-prototypes]
     113 | int mt8196_fe_trigger(struct snd_pcm_substream *substream, int cmd,
         |     ^~~~~~~~~~~~~~~~~
>> sound/soc/mediatek/mt8196/mt8196-afe-pcm.c:268:5: warning: no previous prototype for 'mt8196_get_memif_pbuf_size' [-Wmissing-prototypes]
     268 | int mt8196_get_memif_pbuf_size(struct snd_pcm_substream *substream)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/mediatek/mt8196/mt8196-afe-pcm.c: In function 'mt8196_afe_component_probe':
   sound/soc/mediatek/mt8196/mt8196-afe-pcm.c:4820:26: warning: variable 'card' set but not used [-Wunused-but-set-variable]
    4820 |         struct snd_card *card = NULL;
         |                          ^~~~
   sound/soc/mediatek/mt8196/mt8196-afe-pcm.c:4818:30: warning: variable 'afe' set but not used [-Wunused-but-set-variable]
    4818 |         struct mtk_base_afe *afe = NULL;
         |                              ^~~
--
>> cc1: warning: drivers/misc/mediatek/audio_ipi/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: sound/soc/mediatek/audio_dsp: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/adsp/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/base/power/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/include/mt-plat//include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/pbm: No such file or directory [-Wmissing-include-dirs]
>> sound/soc/mediatek/mt8196/mt8196-afe-clk.c:275:5: warning: no previous prototype for 'mt8196_afe_apll_init' [-Wmissing-prototypes]
     275 | int mt8196_afe_apll_init(struct mtk_base_afe *afe)
         |     ^~~~~~~~~~~~~~~~~~~~
--
>> cc1: warning: drivers/misc/mediatek/audio_ipi/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: sound/soc/mediatek/audio_dsp: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/adsp/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/base/power/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/include/mt-plat//include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/pbm: No such file or directory [-Wmissing-include-dirs]
--
>> cc1: warning: drivers/misc/mediatek/audio_ipi/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: sound/soc/mediatek/audio_dsp: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/adsp/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/base/power/include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/include/mt-plat//include: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: drivers/misc/mediatek/pbm: No such file or directory [-Wmissing-include-dirs]
>> sound/soc/mediatek/mt8196/mt8196-dai-i2s.c:4296:5: warning: no previous prototype for 'mt8196_dai_i2s_get_share' [-Wmissing-prototypes]
    4296 | int mt8196_dai_i2s_get_share(struct mtk_base_afe *afe)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/mediatek/mt8196/mt8196-dai-i2s.c:4315:5: warning: no previous prototype for 'mt8196_dai_i2s_set_priv' [-Wmissing-prototypes]
    4315 | int mt8196_dai_i2s_set_priv(struct mtk_base_afe *afe)
         |     ^~~~~~~~~~~~~~~~~~~~~~~


vim +/mt8196_fe_shutdown +89 sound/soc/mediatek/mt8196/mt8196-afe-pcm.c

fb5fd2c643575c Darren Ye    2024-12-21   88  
fb5fd2c643575c Darren Ye    2024-12-21  @89  void mt8196_fe_shutdown(struct snd_pcm_substream *substream,
fb5fd2c643575c Darren Ye    2024-12-21   90  			struct snd_soc_dai *dai)
fb5fd2c643575c Darren Ye    2024-12-21   91  {
fb5fd2c643575c Darren Ye    2024-12-21   92  	struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
fb5fd2c643575c Darren Ye    2024-12-21   93  	struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
fb5fd2c643575c Darren Ye    2024-12-21   94  	struct mt8196_afe_private *afe_priv = afe->platform_priv;
fb5fd2c643575c Darren Ye    2024-12-21   95  	struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
fb5fd2c643575c Darren Ye    2024-12-21   96  	int memif_num = cpu_dai->id;
fb5fd2c643575c Darren Ye    2024-12-21   97  	struct mtk_base_afe_memif *memif = &afe->memif[memif_num];
fb5fd2c643575c Darren Ye    2024-12-21   98  	int irq_id = memif->irq_usage;
fb5fd2c643575c Darren Ye    2024-12-21   99  
fb5fd2c643575c Darren Ye    2024-12-21  100  	dev_dbg(afe->dev, "%s(), memif_num: %d.\n", __func__, memif_num);
fb5fd2c643575c Darren Ye    2024-12-21  101  
fb5fd2c643575c Darren Ye    2024-12-21  102  	memif->substream = NULL;
fb5fd2c643575c Darren Ye    2024-12-21  103  	afe_priv->irq_cnt[memif_num] = 0;
fb5fd2c643575c Darren Ye    2024-12-21  104  	afe_priv->xrun_assert[memif_num] = 0;
fb5fd2c643575c Darren Ye    2024-12-21  105  
fb5fd2c643575c Darren Ye    2024-12-21  106  	if (!memif->const_irq) {
fb5fd2c643575c Darren Ye    2024-12-21  107  		mtk_dynamic_irq_release(afe, irq_id);
fb5fd2c643575c Darren Ye    2024-12-21  108  		memif->irq_usage = -1;
fb5fd2c643575c Darren Ye    2024-12-21  109  		memif->substream = NULL;
fb5fd2c643575c Darren Ye    2024-12-21  110  	}
fb5fd2c643575c Darren Ye    2024-12-21  111  }
fb5fd2c643575c Darren Ye    2024-12-21  112  
fb5fd2c643575c Darren Ye    2024-12-21 @113  int mt8196_fe_trigger(struct snd_pcm_substream *substream, int cmd,
fb5fd2c643575c Darren Ye    2024-12-21  114  				struct snd_soc_dai *dai)
fb5fd2c643575c Darren Ye    2024-12-21  115  {
fb5fd2c643575c Darren Ye    2024-12-21  116  	struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
fb5fd2c643575c Darren Ye    2024-12-21  117  	struct snd_pcm_runtime *const runtime = substream->runtime;
fb5fd2c643575c Darren Ye    2024-12-21  118  	struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
fb5fd2c643575c Darren Ye    2024-12-21  119  	struct mt8196_afe_private *afe_priv = afe->platform_priv;
fb5fd2c643575c Darren Ye    2024-12-21  120  	struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
fb5fd2c643575c Darren Ye    2024-12-21  121  	int id = cpu_dai->id;
fb5fd2c643575c Darren Ye    2024-12-21  122  	struct mtk_base_afe_memif *memif = &afe->memif[id];
fb5fd2c643575c Darren Ye    2024-12-21  123  	int irq_id = memif->irq_usage;
fb5fd2c643575c Darren Ye    2024-12-21  124  	struct mtk_base_afe_irq *irqs = &afe->irqs[irq_id];
fb5fd2c643575c Darren Ye    2024-12-21  125  	const struct mtk_base_irq_data *irq_data = irqs->irq_data;
fb5fd2c643575c Darren Ye    2024-12-21  126  	unsigned int counter = runtime->period_size;
fb5fd2c643575c Darren Ye    2024-12-21  127  	unsigned int rate = runtime->rate;
fb5fd2c643575c Darren Ye    2024-12-21  128  	int fs;
fb5fd2c643575c Darren Ye    2024-12-21  129  	int ret = 0;
fb5fd2c643575c Darren Ye    2024-12-21  130  	unsigned int tmp_reg = 0;
fb5fd2c643575c Darren Ye    2024-12-21  131  
fb5fd2c643575c Darren Ye    2024-12-21  132  	dev_info(afe->dev, "%s(), %s cmd %d, irq_id %d\n", __func__,
fb5fd2c643575c Darren Ye    2024-12-21  133  		memif->data->name, cmd, irq_id);
fb5fd2c643575c Darren Ye    2024-12-21  134  
fb5fd2c643575c Darren Ye    2024-12-21  135  	switch (cmd) {
fb5fd2c643575c Darren Ye    2024-12-21  136  	case SNDRV_PCM_TRIGGER_START:
fb5fd2c643575c Darren Ye    2024-12-21  137  	case SNDRV_PCM_TRIGGER_RESUME:
fb5fd2c643575c Darren Ye    2024-12-21  138  		dev_info(afe->dev, "%s(), %s cmd %d, id %d\n", __func__,
fb5fd2c643575c Darren Ye    2024-12-21  139  			memif->data->name, cmd, id);
fb5fd2c643575c Darren Ye    2024-12-21  140  		ret = mtk_memif_set_enable(afe, id);
fb5fd2c643575c Darren Ye    2024-12-21  141  		if (ret) {
fb5fd2c643575c Darren Ye    2024-12-21  142  			dev_err(afe->dev, "%s(), error, id %d, memif enable, ret %d\n",
fb5fd2c643575c Darren Ye    2024-12-21  143  				__func__, id, ret);
fb5fd2c643575c Darren Ye    2024-12-21  144  			return ret;
fb5fd2c643575c Darren Ye    2024-12-21  145  		}
fb5fd2c643575c Darren Ye    2024-12-21  146  
fb5fd2c643575c Darren Ye    2024-12-21  147  		/*
fb5fd2c643575c Darren Ye    2024-12-21  148  		 * for small latency record
fb5fd2c643575c Darren Ye    2024-12-21  149  		 * ul memif need read some data before irq enable
fb5fd2c643575c Darren Ye    2024-12-21  150  		 */
fb5fd2c643575c Darren Ye    2024-12-21  151  		if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
fb5fd2c643575c Darren Ye    2024-12-21  152  			if ((runtime->period_size * 1000) / rate <= 10)
bbce9440852e48 Hsin-Te Yuan 2025-01-18  153  				udelay(300);
fb5fd2c643575c Darren Ye    2024-12-21  154  		}
fb5fd2c643575c Darren Ye    2024-12-21  155  
fb5fd2c643575c Darren Ye    2024-12-21  156  		/* set irq counter */
fb5fd2c643575c Darren Ye    2024-12-21  157  		if (afe_priv->irq_cnt[id] > 0)
fb5fd2c643575c Darren Ye    2024-12-21  158  			counter = afe_priv->irq_cnt[id];
fb5fd2c643575c Darren Ye    2024-12-21  159  
fb5fd2c643575c Darren Ye    2024-12-21  160  		mtk_regmap_update_bits(afe->regmap, irq_data->irq_cnt_reg,
fb5fd2c643575c Darren Ye    2024-12-21  161  				   irq_data->irq_cnt_maskbit,
fb5fd2c643575c Darren Ye    2024-12-21  162  				   counter, irq_data->irq_cnt_shift);
fb5fd2c643575c Darren Ye    2024-12-21  163  
fb5fd2c643575c Darren Ye    2024-12-21  164  		/* set irq fs */
fb5fd2c643575c Darren Ye    2024-12-21  165  		fs = afe->irq_fs(substream, runtime->rate);
fb5fd2c643575c Darren Ye    2024-12-21  166  		if (fs < 0)
fb5fd2c643575c Darren Ye    2024-12-21  167  			return -EINVAL;
fb5fd2c643575c Darren Ye    2024-12-21  168  
fb5fd2c643575c Darren Ye    2024-12-21  169  		if (irq_data->irq_fs_reg >= 0)
fb5fd2c643575c Darren Ye    2024-12-21  170  			mtk_regmap_update_bits(afe->regmap, irq_data->irq_fs_reg,
fb5fd2c643575c Darren Ye    2024-12-21  171  				   irq_data->irq_fs_maskbit,
fb5fd2c643575c Darren Ye    2024-12-21  172  				   fs, irq_data->irq_fs_shift);
fb5fd2c643575c Darren Ye    2024-12-21  173  
fb5fd2c643575c Darren Ye    2024-12-21  174  		/* enable interrupt */
fb5fd2c643575c Darren Ye    2024-12-21  175  		mtk_regmap_update_bits(afe->regmap, irq_data->irq_en_reg,
fb5fd2c643575c Darren Ye    2024-12-21  176  				       1, 1, irq_data->irq_en_shift);
fb5fd2c643575c Darren Ye    2024-12-21  177  
fb5fd2c643575c Darren Ye    2024-12-21  178  		return 0;
fb5fd2c643575c Darren Ye    2024-12-21  179  	case SNDRV_PCM_TRIGGER_STOP:
fb5fd2c643575c Darren Ye    2024-12-21  180  	case SNDRV_PCM_TRIGGER_SUSPEND:
fb5fd2c643575c Darren Ye    2024-12-21  181  		ret = mtk_memif_set_disable(afe, id);
fb5fd2c643575c Darren Ye    2024-12-21  182  		if (ret) {
fb5fd2c643575c Darren Ye    2024-12-21  183  			dev_info(afe->dev,
fb5fd2c643575c Darren Ye    2024-12-21  184  				"%s(), error, id %d, memif enable, ret %d\n",
fb5fd2c643575c Darren Ye    2024-12-21  185  				__func__, id, ret);
fb5fd2c643575c Darren Ye    2024-12-21  186  		}
fb5fd2c643575c Darren Ye    2024-12-21  187  
fb5fd2c643575c Darren Ye    2024-12-21  188  		/* disable interrupt */
fb5fd2c643575c Darren Ye    2024-12-21  189  		mtk_regmap_update_bits(afe->regmap, irq_data->irq_en_reg,
fb5fd2c643575c Darren Ye    2024-12-21  190  			       1, 0, irq_data->irq_en_shift);
fb5fd2c643575c Darren Ye    2024-12-21  191  
fb5fd2c643575c Darren Ye    2024-12-21  192  		/* clear pending IRQ */
fb5fd2c643575c Darren Ye    2024-12-21  193  		regmap_read(afe->regmap, irq_data->irq_clr_reg, &tmp_reg);
fb5fd2c643575c Darren Ye    2024-12-21  194  		regmap_update_bits(afe->regmap, irq_data->irq_clr_reg,
fb5fd2c643575c Darren Ye    2024-12-21  195  			   AFE_IRQ_CLR_CFG_MASK_SFT | AFE_IRQ_MISS_FLAG_CLR_CFG_MASK_SFT,
fb5fd2c643575c Darren Ye    2024-12-21  196  			   tmp_reg^(AFE_IRQ_CLR_CFG_MASK_SFT | AFE_IRQ_MISS_FLAG_CLR_CFG_MASK_SFT));
fb5fd2c643575c Darren Ye    2024-12-21  197  
fb5fd2c643575c Darren Ye    2024-12-21  198  		return ret;
fb5fd2c643575c Darren Ye    2024-12-21  199  	default:
fb5fd2c643575c Darren Ye    2024-12-21  200  		return -EINVAL;
fb5fd2c643575c Darren Ye    2024-12-21  201  	}
fb5fd2c643575c Darren Ye    2024-12-21  202  }
fb5fd2c643575c Darren Ye    2024-12-21  203  
fb5fd2c643575c Darren Ye    2024-12-21  204  static int mt8196_memif_fs(struct snd_pcm_substream *substream,
fb5fd2c643575c Darren Ye    2024-12-21  205  			   unsigned int rate)
fb5fd2c643575c Darren Ye    2024-12-21  206  {
fb5fd2c643575c Darren Ye    2024-12-21  207  	struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
fb5fd2c643575c Darren Ye    2024-12-21  208  	struct snd_soc_component *component =
fb5fd2c643575c Darren Ye    2024-12-21  209  		snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
fb5fd2c643575c Darren Ye    2024-12-21  210  	struct mtk_base_afe *afe = NULL;
fb5fd2c643575c Darren Ye    2024-12-21  211  	struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
fb5fd2c643575c Darren Ye    2024-12-21  212  	int id = cpu_dai->id;
fb5fd2c643575c Darren Ye    2024-12-21  213  	unsigned int rate_reg = 0;
fb5fd2c643575c Darren Ye    2024-12-21  214  	int cm = 0;
fb5fd2c643575c Darren Ye    2024-12-21  215  
fb5fd2c643575c Darren Ye    2024-12-21  216  	if (!component)
fb5fd2c643575c Darren Ye    2024-12-21  217  		return -EINVAL;
fb5fd2c643575c Darren Ye    2024-12-21  218  
fb5fd2c643575c Darren Ye    2024-12-21  219  	afe = snd_soc_component_get_drvdata(component);
fb5fd2c643575c Darren Ye    2024-12-21  220  
fb5fd2c643575c Darren Ye    2024-12-21  221  	if (!afe)
fb5fd2c643575c Darren Ye    2024-12-21  222  		return -EINVAL;
fb5fd2c643575c Darren Ye    2024-12-21  223  
fb5fd2c643575c Darren Ye    2024-12-21  224  	rate_reg = mt8196_rate_transform(afe->dev, rate, id);
fb5fd2c643575c Darren Ye    2024-12-21  225  
fb5fd2c643575c Darren Ye    2024-12-21  226  	switch (id) {
fb5fd2c643575c Darren Ye    2024-12-21  227  	case MT8196_MEMIF_VUL8:
fb5fd2c643575c Darren Ye    2024-12-21  228  	case MT8196_MEMIF_VUL_CM0:
fb5fd2c643575c Darren Ye    2024-12-21  229  		cm = CM0;
fb5fd2c643575c Darren Ye    2024-12-21  230  		break;
fb5fd2c643575c Darren Ye    2024-12-21  231  	case MT8196_MEMIF_VUL9:
fb5fd2c643575c Darren Ye    2024-12-21  232  	case MT8196_MEMIF_VUL_CM1:
fb5fd2c643575c Darren Ye    2024-12-21  233  		cm = CM1;
fb5fd2c643575c Darren Ye    2024-12-21  234  		break;
fb5fd2c643575c Darren Ye    2024-12-21  235  	case MT8196_MEMIF_VUL10:
fb5fd2c643575c Darren Ye    2024-12-21  236  	case MT8196_MEMIF_VUL_CM2:
fb5fd2c643575c Darren Ye    2024-12-21  237  		cm = CM2;
fb5fd2c643575c Darren Ye    2024-12-21  238  		break;
fb5fd2c643575c Darren Ye    2024-12-21  239  	default:
fb5fd2c643575c Darren Ye    2024-12-21  240  		cm = CM0;
fb5fd2c643575c Darren Ye    2024-12-21  241  		break;
fb5fd2c643575c Darren Ye    2024-12-21  242  	}
fb5fd2c643575c Darren Ye    2024-12-21  243  
fb5fd2c643575c Darren Ye    2024-12-21  244  	mt8196_set_cm_rate(afe, cm, rate_reg);
fb5fd2c643575c Darren Ye    2024-12-21  245  
fb5fd2c643575c Darren Ye    2024-12-21  246  	return rate_reg;
fb5fd2c643575c Darren Ye    2024-12-21  247  }
fb5fd2c643575c Darren Ye    2024-12-21  248  
fb5fd2c643575c Darren Ye    2024-12-21  249  static int mt8196_get_dai_fs(struct mtk_base_afe *afe,
fb5fd2c643575c Darren Ye    2024-12-21  250  			     int dai_id, unsigned int rate)
fb5fd2c643575c Darren Ye    2024-12-21  251  {
fb5fd2c643575c Darren Ye    2024-12-21  252  	return mt8196_rate_transform(afe->dev, rate, dai_id);
fb5fd2c643575c Darren Ye    2024-12-21  253  }
fb5fd2c643575c Darren Ye    2024-12-21  254  
fb5fd2c643575c Darren Ye    2024-12-21  255  static int mt8196_irq_fs(struct snd_pcm_substream *substream, unsigned int rate)
fb5fd2c643575c Darren Ye    2024-12-21  256  {
fb5fd2c643575c Darren Ye    2024-12-21  257  	struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
fb5fd2c643575c Darren Ye    2024-12-21  258  	struct snd_soc_component *component =
fb5fd2c643575c Darren Ye    2024-12-21  259  		snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
fb5fd2c643575c Darren Ye    2024-12-21  260  	struct mtk_base_afe *afe = NULL;
fb5fd2c643575c Darren Ye    2024-12-21  261  
fb5fd2c643575c Darren Ye    2024-12-21  262  	if (!component)
fb5fd2c643575c Darren Ye    2024-12-21  263  		return -EINVAL;
fb5fd2c643575c Darren Ye    2024-12-21  264  	afe = snd_soc_component_get_drvdata(component);
fb5fd2c643575c Darren Ye    2024-12-21  265  	return mt8196_general_rate_transform(afe->dev, rate);
fb5fd2c643575c Darren Ye    2024-12-21  266  }
fb5fd2c643575c Darren Ye    2024-12-21  267  
fb5fd2c643575c Darren Ye    2024-12-21 @268  int mt8196_get_memif_pbuf_size(struct snd_pcm_substream *substream)
fb5fd2c643575c Darren Ye    2024-12-21  269  {
fb5fd2c643575c Darren Ye    2024-12-21  270  	struct snd_pcm_runtime *runtime = substream->runtime;
fb5fd2c643575c Darren Ye    2024-12-21  271  
fb5fd2c643575c Darren Ye    2024-12-21  272  	if ((runtime->period_size * 1000) / runtime->rate > 10)
fb5fd2c643575c Darren Ye    2024-12-21  273  		return MT8196_MEMIF_PBUF_SIZE_256_BYTES;
fb5fd2c643575c Darren Ye    2024-12-21  274  	else
fb5fd2c643575c Darren Ye    2024-12-21  275  		return MT8196_MEMIF_PBUF_SIZE_32_BYTES;
fb5fd2c643575c Darren Ye    2024-12-21  276  }
fb5fd2c643575c Darren Ye    2024-12-21  277  

:::::: The code at line 89 was first introduced by commit
:::::: fb5fd2c643575ce7373a230f0f909805c64d1155 CHROMIUM: sound: soc/mediatek: add audio driver base for kernel-v6.6

:::::: TO: Darren Ye <darren.ye@mediatek.corp-partner.google.com>
:::::: CC: Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2025-01-21 10:32 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202501211846.7439Tdmg-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=cros-kernel-buildreports@googlegroups.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.