tree:
https://android.googlesource.com/kernel/common android-4.19
head: 723feab600f71b3104a10de5b372bd1d9adf5943
commit: 723feab600f71b3104a10de5b372bd1d9adf5943 [1/1] ANDROID: GKI: QoS: Enhance
framework to support cpu/irq specific QoS requests
config: x86_64-randconfig-a012-20200719 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
8ed021382e6b1d00bf907ac595b5493a02355c2c)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 723feab600f71b3104a10de5b372bd1d9adf5943
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> sound/soc/soc-dapm.c:3676:12: warning: stack frame size of 2064
bytes in function 'snd_soc_dai_link_event' [-Wframe-larger-than=]
static
int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
^
1 warning generated.
vim +/snd_soc_dai_link_event +3676 sound/soc/soc-dapm.c
4ba1327ab8ce17 Mark Brown 2008-05-13 3675
c74184ed30ecce Mark Brown 2012-04-04 @3676 static int
snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
c74184ed30ecce Mark Brown 2012-04-04 3677 struct snd_kcontrol *kcontrol,
int event)
c74184ed30ecce Mark Brown 2012-04-04 3678 {
c74184ed30ecce Mark Brown 2012-04-04 3679 struct snd_soc_dapm_path *source_p,
*sink_p;
c74184ed30ecce Mark Brown 2012-04-04 3680 struct snd_soc_dai *source, *sink;
249dc49576fc95 Charles Keepax 2018-08-15 3681 struct snd_soc_pcm_runtime *rtd =
w->priv;
c66150824b8a80 Nikesh Oswal 2015-02-02 3682 const struct snd_soc_pcm_stream
*config = w->params + w->params_select;
c74184ed30ecce Mark Brown 2012-04-04 3683 struct snd_pcm_substream substream;
9747cec21e2d55 Mark Brown 2012-04-26 3684 struct snd_pcm_hw_params *params =
NULL;
8053f21675b073 Nicolin Chen 2016-07-26 3685 struct snd_pcm_runtime *runtime =
NULL;
3ba66feb59810e Takashi Iwai 2018-07-25 3686 unsigned int fmt;
0376916b7b2cff Charles Keepax 2018-09-06 3687 int ret = 0;
c74184ed30ecce Mark Brown 2012-04-04 3688
bf4edea863c435 Takashi Iwai 2013-11-07 3689 if (WARN_ON(!config) ||
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3690
WARN_ON(list_empty(&w->edges[SND_SOC_DAPM_DIR_OUT]) ||
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3691
list_empty(&w->edges[SND_SOC_DAPM_DIR_IN])))
bf4edea863c435 Takashi Iwai 2013-11-07 3692 return -EINVAL;
c74184ed30ecce Mark Brown 2012-04-04 3693
c74184ed30ecce Mark Brown 2012-04-04 3694 /* We only support a single source
and sink, pick the first */
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3695 source_p =
list_first_entry(&w->edges[SND_SOC_DAPM_DIR_OUT],
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3696 struct snd_soc_dapm_path,
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3697
list_node[SND_SOC_DAPM_DIR_OUT]);
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3698 sink_p =
list_first_entry(&w->edges[SND_SOC_DAPM_DIR_IN],
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3699 struct snd_soc_dapm_path,
a3423b02cf745c Lars-Peter Clausen 2015-08-11 3700
list_node[SND_SOC_DAPM_DIR_IN]);
c74184ed30ecce Mark Brown 2012-04-04 3701
c74184ed30ecce Mark Brown 2012-04-04 3702 source =
source_p->source->priv;
c74184ed30ecce Mark Brown 2012-04-04 3703 sink = sink_p->sink->priv;
c74184ed30ecce Mark Brown 2012-04-04 3704
c74184ed30ecce Mark Brown 2012-04-04 3705 /* Be a little careful as we
don't want to overflow the mask array */
c74184ed30ecce Mark Brown 2012-04-04 3706 if (config->formats) {
c74184ed30ecce Mark Brown 2012-04-04 3707 fmt = ffs(config->formats) - 1;
c74184ed30ecce Mark Brown 2012-04-04 3708 } else {
30a6a1a4eed170 Liam Girdwood 2012-11-19 3709 dev_warn(w->dapm->dev,
"ASoC: Invalid format %llx specified\n",
c74184ed30ecce Mark Brown 2012-04-04 3710 config->formats);
c74184ed30ecce Mark Brown 2012-04-04 3711 fmt = 0;
c74184ed30ecce Mark Brown 2012-04-04 3712 }
c74184ed30ecce Mark Brown 2012-04-04 3713
c74184ed30ecce Mark Brown 2012-04-04 3714 /* Currently very limited parameter
selection */
9747cec21e2d55 Mark Brown 2012-04-26 3715 params = kzalloc(sizeof(*params),
GFP_KERNEL);
9747cec21e2d55 Mark Brown 2012-04-26 3716 if (!params) {
9747cec21e2d55 Mark Brown 2012-04-26 3717 ret = -ENOMEM;
9747cec21e2d55 Mark Brown 2012-04-26 3718 goto out;
9747cec21e2d55 Mark Brown 2012-04-26 3719 }
9747cec21e2d55 Mark Brown 2012-04-26 3720 snd_mask_set(hw_param_mask(params,
SNDRV_PCM_HW_PARAM_FORMAT), fmt);
c74184ed30ecce Mark Brown 2012-04-04 3721
9747cec21e2d55 Mark Brown 2012-04-26 3722 hw_param_interval(params,
SNDRV_PCM_HW_PARAM_RATE)->min =
c74184ed30ecce Mark Brown 2012-04-04 3723 config->rate_min;
9747cec21e2d55 Mark Brown 2012-04-26 3724 hw_param_interval(params,
SNDRV_PCM_HW_PARAM_RATE)->max =
c74184ed30ecce Mark Brown 2012-04-04 3725 config->rate_max;
c74184ed30ecce Mark Brown 2012-04-04 3726
9747cec21e2d55 Mark Brown 2012-04-26 3727 hw_param_interval(params,
SNDRV_PCM_HW_PARAM_CHANNELS)->min
c74184ed30ecce Mark Brown 2012-04-04 3728 = config->channels_min;
9747cec21e2d55 Mark Brown 2012-04-26 3729 hw_param_interval(params,
SNDRV_PCM_HW_PARAM_CHANNELS)->max
c74184ed30ecce Mark Brown 2012-04-04 3730 = config->channels_max;
c74184ed30ecce Mark Brown 2012-04-04 3731
c74184ed30ecce Mark Brown 2012-04-04 3732 memset(&substream, 0,
sizeof(substream));
c74184ed30ecce Mark Brown 2012-04-04 3733
8053f21675b073 Nicolin Chen 2016-07-26 3734 /* Allocate a dummy snd_pcm_runtime
for startup() and other ops() */
8053f21675b073 Nicolin Chen 2016-07-26 3735 runtime = kzalloc(sizeof(*runtime),
GFP_KERNEL);
8053f21675b073 Nicolin Chen 2016-07-26 3736 if (!runtime) {
8053f21675b073 Nicolin Chen 2016-07-26 3737 ret = -ENOMEM;
8053f21675b073 Nicolin Chen 2016-07-26 3738 goto out;
8053f21675b073 Nicolin Chen 2016-07-26 3739 }
8053f21675b073 Nicolin Chen 2016-07-26 3740 substream.runtime = runtime;
249dc49576fc95 Charles Keepax 2018-08-15 3741 substream.private_data = rtd;
8053f21675b073 Nicolin Chen 2016-07-26 3742
c74184ed30ecce Mark Brown 2012-04-04 3743 switch (event) {
c74184ed30ecce Mark Brown 2012-04-04 3744 case SND_SOC_DAPM_PRE_PMU:
c74184ed30ecce Mark Brown 2012-04-04 3745 substream.stream =
SNDRV_PCM_STREAM_CAPTURE;
9900a4226c785d Kuninori Morimoto 2017-09-25 3746 if
(source->driver->ops->startup) {
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3747 ret =
source->driver->ops->startup(&substream, source);
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3748 if (ret < 0) {
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3749 dev_err(source->dev,
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3750 "ASoC: startup() failed:
%d\n", ret);
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3751 goto out;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3752 }
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3753 source->active++;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3754 }
93e6958a3674d2 Benoit Cousson 2014-07-08 3755 ret =
soc_dai_hw_params(&substream, params, source);
93e6958a3674d2 Benoit Cousson 2014-07-08 3756 if (ret < 0)
9747cec21e2d55 Mark Brown 2012-04-26 3757 goto out;
c74184ed30ecce Mark Brown 2012-04-04 3758
c74184ed30ecce Mark Brown 2012-04-04 3759 substream.stream =
SNDRV_PCM_STREAM_PLAYBACK;
9900a4226c785d Kuninori Morimoto 2017-09-25 3760 if
(sink->driver->ops->startup) {
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3761 ret =
sink->driver->ops->startup(&substream, sink);
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3762 if (ret < 0) {
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3763 dev_err(sink->dev,
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3764 "ASoC: startup() failed:
%d\n", ret);
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3765 goto out;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3766 }
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3767 sink->active++;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3768 }
93e6958a3674d2 Benoit Cousson 2014-07-08 3769 ret =
soc_dai_hw_params(&substream, params, sink);
93e6958a3674d2 Benoit Cousson 2014-07-08 3770 if (ret < 0)
9747cec21e2d55 Mark Brown 2012-04-26 3771 goto out;
c74184ed30ecce Mark Brown 2012-04-04 3772 break;
c74184ed30ecce Mark Brown 2012-04-04 3773
c74184ed30ecce Mark Brown 2012-04-04 3774 case SND_SOC_DAPM_POST_PMU:
da18396f949eca Mark Brown 2013-02-06 3775 ret = snd_soc_dai_digital_mute(sink,
0,
da18396f949eca Mark Brown 2013-02-06 3776
SNDRV_PCM_STREAM_PLAYBACK);
c74184ed30ecce Mark Brown 2012-04-04 3777 if (ret != 0 && ret !=
-ENOTSUPP)
30a6a1a4eed170 Liam Girdwood 2012-11-19 3778 dev_warn(sink->dev, "ASoC:
Failed to unmute: %d\n", ret);
9747cec21e2d55 Mark Brown 2012-04-26 3779 ret = 0;
c74184ed30ecce Mark Brown 2012-04-04 3780 break;
c74184ed30ecce Mark Brown 2012-04-04 3781
c74184ed30ecce Mark Brown 2012-04-04 3782 case SND_SOC_DAPM_PRE_PMD:
da18396f949eca Mark Brown 2013-02-06 3783 ret = snd_soc_dai_digital_mute(sink,
1,
da18396f949eca Mark Brown 2013-02-06 3784
SNDRV_PCM_STREAM_PLAYBACK);
c74184ed30ecce Mark Brown 2012-04-04 3785 if (ret != 0 && ret !=
-ENOTSUPP)
30a6a1a4eed170 Liam Girdwood 2012-11-19 3786 dev_warn(sink->dev, "ASoC:
Failed to mute: %d\n", ret);
9747cec21e2d55 Mark Brown 2012-04-26 3787 ret = 0;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3788
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3789 source->active--;
9900a4226c785d Kuninori Morimoto 2017-09-25 3790 if
(source->driver->ops->shutdown) {
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3791 substream.stream =
SNDRV_PCM_STREAM_CAPTURE;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3792
source->driver->ops->shutdown(&substream, source);
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3793 }
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3794
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3795 sink->active--;
9900a4226c785d Kuninori Morimoto 2017-09-25 3796 if
(sink->driver->ops->shutdown) {
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3797 substream.stream =
SNDRV_PCM_STREAM_PLAYBACK;
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3798
sink->driver->ops->shutdown(&substream, sink);
9b8ef9f6b3fccc Jeeja KP 2015-10-20 3799 }
c74184ed30ecce Mark Brown 2012-04-04 3800 break;
c74184ed30ecce Mark Brown 2012-04-04 3801
c74184ed30ecce Mark Brown 2012-04-04 3802 default:
a6ed0608bd289b Takashi Iwai 2013-11-06 3803 WARN(1, "Unknown event
%d\n", event);
75881df3fd7708 Sudip Mukherjee 2015-09-10 3804 ret = -EINVAL;
c74184ed30ecce Mark Brown 2012-04-04 3805 }
c74184ed30ecce Mark Brown 2012-04-04 3806
9747cec21e2d55 Mark Brown 2012-04-26 3807 out:
8053f21675b073 Nicolin Chen 2016-07-26 3808 kfree(runtime);
9747cec21e2d55 Mark Brown 2012-04-26 3809 kfree(params);
9747cec21e2d55 Mark Brown 2012-04-26 3810 return ret;
c74184ed30ecce Mark Brown 2012-04-04 3811 }
c74184ed30ecce Mark Brown 2012-04-04 3812
:::::: The code at line 3676 was first introduced by commit
:::::: c74184ed30ecce2a5e9ae9aa22cb5e3942e0c7c7 ASoC: core: Support transparent
CODEC<->CODEC DAI links
:::::: TO: Mark Brown <broonie(a)opensource.wolfsonmicro.com>
:::::: CC: Mark Brown <broonie(a)opensource.wolfsonmicro.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org