* [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'
@ 2025-01-21 10:32 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-01-21 10:32 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-01-21 10:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-21 10:32 [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' kernel test robot
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.