From: kernel test robot <lkp@intel.com>
To: Sameer Pujar <spujar@nvidia.com>,
broonie@kernel.org, linux-sound@vger.kernel.org,
alsa-devel@alsa-project.org
Cc: oe-kbuild-all@lists.linux.dev, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
thierry.reding@gmail.com, jonathanh@nvidia.com,
mkumard@nvidia.com, spujar@nvidia.com
Subject: Re: [PATCH 2/2] ASoC: tegra: I2S client convert formats handling
Date: Tue, 21 May 2024 18:45:17 +0800 [thread overview]
Message-ID: <202405211805.UMAdiH0d-lkp@intel.com> (raw)
In-Reply-To: <20240520114902.1663695-3-spujar@nvidia.com>
Hi Sameer,
kernel test robot noticed the following build warnings:
[auto build test WARNING on broonie-sound/for-next]
[also build test WARNING on tegra/for-next tiwai-sound/for-next tiwai-sound/for-linus linus/master v6.9 next-20240521]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Sameer-Pujar/ASoC-simple-card-utils-Split-simple_fixup_sample_fmt-func/20240520-195311
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
patch link: https://lore.kernel.org/r/20240520114902.1663695-3-spujar%40nvidia.com
patch subject: [PATCH 2/2] ASoC: tegra: I2S client convert formats handling
config: arm-randconfig-r122-20240521 (https://download.01.org/0day-ci/archive/20240521/202405211805.UMAdiH0d-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce: (https://download.01.org/0day-ci/archive/20240521/202405211805.UMAdiH0d-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/202405211805.UMAdiH0d-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> sound/soc/tegra/tegra210_i2s.c:640:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int sample_format @@ got restricted snd_pcm_format_t @@
sound/soc/tegra/tegra210_i2s.c:640:23: sparse: expected unsigned int sample_format
sound/soc/tegra/tegra210_i2s.c:640:23: sparse: got restricted snd_pcm_format_t
>> sound/soc/tegra/tegra210_i2s.c:649:14: sparse: sparse: restricted snd_pcm_format_t degrades to integer
sound/soc/tegra/tegra210_i2s.c:654:14: sparse: sparse: restricted snd_pcm_format_t degrades to integer
sound/soc/tegra/tegra210_i2s.c:659:14: sparse: sparse: restricted snd_pcm_format_t degrades to integer
vim +640 sound/soc/tegra/tegra210_i2s.c
599
600 static int tegra210_i2s_hw_params(struct snd_pcm_substream *substream,
601 struct snd_pcm_hw_params *params,
602 struct snd_soc_dai *dai)
603 {
604 struct device *dev = dai->dev;
605 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai);
606 unsigned int sample_size, channels, srate, val, reg, path;
607 struct tegra_cif_conf cif_conf;
608 unsigned int sample_format;
609
610 memset(&cif_conf, 0, sizeof(struct tegra_cif_conf));
611
612 channels = params_channels(params);
613 if (channels < 1) {
614 dev_err(dev, "invalid I2S %d channel configuration\n",
615 channels);
616 return -EINVAL;
617 }
618
619 cif_conf.audio_ch = channels;
620 cif_conf.client_ch = channels;
621 if (i2s->client_channels)
622 cif_conf.client_ch = i2s->client_channels;
623
624 /* AHUB CIF Audio bits configs */
625 switch (params_format(params)) {
626 case SNDRV_PCM_FORMAT_S8:
627 cif_conf.audio_bits = TEGRA_ACIF_BITS_8;
628 break;
629 case SNDRV_PCM_FORMAT_S16_LE:
630 cif_conf.audio_bits = TEGRA_ACIF_BITS_16;
631 break;
632 case SNDRV_PCM_FORMAT_S32_LE:
633 cif_conf.audio_bits = TEGRA_ACIF_BITS_32;
634 break;
635 default:
636 dev_err(dev, "unsupported params audio bit format!\n");
637 return -EOPNOTSUPP;
638 }
639
> 640 sample_format = params_format(params);
641 if (i2s->client_sample_format >= 0)
642 sample_format = i2s->client_sample_format;
643
644 /*
645 * Format of the I2S for sending/receiving the audio
646 * to/from external device.
647 */
648 switch (sample_format) {
> 649 case SNDRV_PCM_FORMAT_S8:
650 val = I2S_BITS_8;
651 sample_size = 8;
652 cif_conf.client_bits = TEGRA_ACIF_BITS_8;
653 break;
654 case SNDRV_PCM_FORMAT_S16_LE:
655 val = I2S_BITS_16;
656 sample_size = 16;
657 cif_conf.client_bits = TEGRA_ACIF_BITS_16;
658 break;
659 case SNDRV_PCM_FORMAT_S32_LE:
660 val = I2S_BITS_32;
661 sample_size = 32;
662 cif_conf.client_bits = TEGRA_ACIF_BITS_32;
663 break;
664 default:
665 dev_err(dev, "unsupported client bit format!\n");
666 return -EOPNOTSUPP;
667 }
668
669 /* Program sample size */
670 regmap_update_bits(i2s->regmap, TEGRA210_I2S_CTRL,
671 I2S_CTRL_BIT_SIZE_MASK, val);
672
673 srate = params_rate(params);
674
675 /* For playback I2S RX-CIF and for capture TX-CIF is used */
676 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
677 path = I2S_RX_PATH;
678 else
679 path = I2S_TX_PATH;
680
681 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
682 unsigned int max_th;
683
684 /* FIFO threshold in terms of frames */
685 max_th = (I2S_RX_FIFO_DEPTH / cif_conf.audio_ch) - 1;
686
687 if (i2s->rx_fifo_th > max_th)
688 i2s->rx_fifo_th = max_th;
689
690 cif_conf.threshold = i2s->rx_fifo_th;
691
692 reg = TEGRA210_I2S_RX_CIF_CTRL;
693 } else {
694 reg = TEGRA210_I2S_TX_CIF_CTRL;
695 }
696
697 cif_conf.mono_conv = i2s->mono_to_stereo[path];
698 cif_conf.stereo_conv = i2s->stereo_to_mono[path];
699
700 tegra_set_cif(i2s->regmap, reg, &cif_conf);
701
702 return tegra210_i2s_set_timing_params(dev, sample_size, srate,
703 cif_conf.client_ch);
704 }
705
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2024-05-21 10:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-20 11:49 [PATCH 0/2] Support Tegra I2S client format conversion Sameer Pujar
2024-05-20 11:49 ` [PATCH 1/2] ASoC: simple-card-utils: Split simple_fixup_sample_fmt func Sameer Pujar
2024-05-20 11:49 ` [PATCH 2/2] ASoC: tegra: I2S client convert formats handling Sameer Pujar
2024-05-21 10:45 ` kernel test robot [this message]
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=202405211805.UMAdiH0d-lkp@intel.com \
--to=lkp@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mkumard@nvidia.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=spujar@nvidia.com \
--cc=thierry.reding@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox