lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Fri, 4 Aug 2023 06:15:00 +0800
From:   kernel test robot <lkp@...el.com>
To:     Arnd Bergmann <arnd@...db.de>
Cc:     llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
        linux-kernel@...r.kernel.org
Subject: sound/soc/pxa/pxa-ssp.c:594:15: warning: variable 'acds' set but not
 used

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   999f6631866e9ea81add935b9c6ebaab0579d259
commit: 7036440eab3e2d47a775d4616909f8235488d714 ARM: omap1: enable multiplatform
date:   1 year, 2 months ago
config: arm-randconfig-r024-20230804 (https://download.01.org/0day-ci/archive/20230804/202308040619.BEismjFv-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce: (https://download.01.org/0day-ci/archive/20230804/202308040619.BEismjFv-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308040619.BEismjFv-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> sound/soc/pxa/pxa-ssp.c:594:15: warning: variable 'acds' set but not used [-Wunused-but-set-variable]
     594 |                         int ssacd, acds;
         |                                    ^
   1 warning generated.


vim +/acds +594 sound/soc/pxa/pxa-ssp.c

05739375f1c0a10 Daniel Mack     2018-06-29  526  
1b340bd7e444f20 Mark Brown      2008-07-30  527  /*
1b340bd7e444f20 Mark Brown      2008-07-30  528   * Set the SSP audio DMA parameters and sample size.
1b340bd7e444f20 Mark Brown      2008-07-30  529   * Can be called multiple times by oss emulation.
1b340bd7e444f20 Mark Brown      2008-07-30  530   */
1b340bd7e444f20 Mark Brown      2008-07-30  531  static int pxa_ssp_hw_params(struct snd_pcm_substream *substream,
dee89c4d9443352 Mark Brown      2008-11-18  532  				struct snd_pcm_hw_params *params,
f0fba2ad1b6b53d Liam Girdwood   2010-03-17  533  				struct snd_soc_dai *cpu_dai)
1b340bd7e444f20 Mark Brown      2008-07-30  534  {
f0fba2ad1b6b53d Liam Girdwood   2010-03-17  535  	struct ssp_priv *priv = snd_soc_dai_get_drvdata(cpu_dai);
f9efc9df94fd126 Eric Miao       2010-02-09  536  	struct ssp_device *ssp = priv->ssp;
2d7e71fa231035d Eric Miao       2009-04-23  537  	int chn = params_channels(params);
05739375f1c0a10 Daniel Mack     2018-06-29  538  	u32 sscr0, sspsp;
1b340bd7e444f20 Mark Brown      2008-07-30  539  	int width = snd_pcm_format_physical_width(params_format(params));
baffe1699c68da5 Haojian Zhuang  2010-05-05  540  	int ttsa = pxa_ssp_read_reg(ssp, SSTSA) & 0xf;
d65a14587a9be85 Daniel Mack     2013-08-12  541  	struct snd_dmaengine_dai_dma_data *dma_data;
05739375f1c0a10 Daniel Mack     2018-06-29  542  	int rate = params_rate(params);
05739375f1c0a10 Daniel Mack     2018-06-29  543  	int bclk = rate * chn * (width / 8);
737e370a57e4e83 Daniel Mack     2018-05-21  544  	int ret;
5f712b2b73a9fc8 Daniel Mack     2010-03-22  545  
f0fba2ad1b6b53d Liam Girdwood   2010-03-17  546  	dma_data = snd_soc_dai_get_dma_data(cpu_dai, substream);
1b340bd7e444f20 Mark Brown      2008-07-30  547  
92429069d0fc9f5 Philipp Zabel   2009-03-19  548  	/* Network mode with one active slot (ttsa == 1) can be used
92429069d0fc9f5 Philipp Zabel   2009-03-19  549  	 * to force 16-bit frame width on the wire (for S16_LE), even
92429069d0fc9f5 Philipp Zabel   2009-03-19  550  	 * with two channels. Use 16-bit DMA transfers for this case.
92429069d0fc9f5 Philipp Zabel   2009-03-19  551  	 */
d93ca1ae61adf67 guoyh           2012-05-07  552  	pxa_ssp_set_dma_params(ssp,
2d7e71fa231035d Eric Miao       2009-04-23  553  		((chn == 2) && (ttsa != 1)) || (width == 32),
d93ca1ae61adf67 guoyh           2012-05-07  554  		substream->stream == SNDRV_PCM_STREAM_PLAYBACK, dma_data);
5f712b2b73a9fc8 Daniel Mack     2010-03-22  555  
1b340bd7e444f20 Mark Brown      2008-07-30  556  	/* we can only change the settings if the port is not in use */
baffe1699c68da5 Haojian Zhuang  2010-05-05  557  	if (pxa_ssp_read_reg(ssp, SSCR0) & SSCR0_SSE)
1b340bd7e444f20 Mark Brown      2008-07-30  558  		return 0;
1b340bd7e444f20 Mark Brown      2008-07-30  559  
737e370a57e4e83 Daniel Mack     2018-05-21  560  	ret = pxa_ssp_configure_dai_fmt(priv);
737e370a57e4e83 Daniel Mack     2018-05-21  561  	if (ret < 0)
737e370a57e4e83 Daniel Mack     2018-05-21  562  		return ret;
737e370a57e4e83 Daniel Mack     2018-05-21  563  
1b340bd7e444f20 Mark Brown      2008-07-30  564  	/* clear selected SSP bits */
baffe1699c68da5 Haojian Zhuang  2010-05-05  565  	sscr0 = pxa_ssp_read_reg(ssp, SSCR0) & ~(SSCR0_DSS | SSCR0_EDSS);
1b340bd7e444f20 Mark Brown      2008-07-30  566  
1b340bd7e444f20 Mark Brown      2008-07-30  567  	/* bit size */
1b340bd7e444f20 Mark Brown      2008-07-30  568  	switch (params_format(params)) {
1b340bd7e444f20 Mark Brown      2008-07-30  569  	case SNDRV_PCM_FORMAT_S16_LE:
972a55b62d592cf Qiao Zhou       2012-06-04  570  		if (ssp->type == PXA3xx_SSP)
1b340bd7e444f20 Mark Brown      2008-07-30  571  			sscr0 |= SSCR0_FPCKE;
1b340bd7e444f20 Mark Brown      2008-07-30  572  		sscr0 |= SSCR0_DataSize(16);
1b340bd7e444f20 Mark Brown      2008-07-30  573  		break;
1b340bd7e444f20 Mark Brown      2008-07-30  574  	case SNDRV_PCM_FORMAT_S24_LE:
1b340bd7e444f20 Mark Brown      2008-07-30  575  		sscr0 |= (SSCR0_EDSS | SSCR0_DataSize(8));
1b340bd7e444f20 Mark Brown      2008-07-30  576  		break;
1b340bd7e444f20 Mark Brown      2008-07-30  577  	case SNDRV_PCM_FORMAT_S32_LE:
1b340bd7e444f20 Mark Brown      2008-07-30  578  		sscr0 |= (SSCR0_EDSS | SSCR0_DataSize(16));
1b340bd7e444f20 Mark Brown      2008-07-30  579  		break;
1b340bd7e444f20 Mark Brown      2008-07-30  580  	}
baffe1699c68da5 Haojian Zhuang  2010-05-05  581  	pxa_ssp_write_reg(ssp, SSCR0, sscr0);
1b340bd7e444f20 Mark Brown      2008-07-30  582  
05739375f1c0a10 Daniel Mack     2018-06-29  583  	if (sscr0 & SSCR0_ACS) {
05739375f1c0a10 Daniel Mack     2018-06-29  584  		ret = pxa_ssp_set_pll(priv, bclk);
05739375f1c0a10 Daniel Mack     2018-06-29  585  
05739375f1c0a10 Daniel Mack     2018-06-29  586  		/*
05739375f1c0a10 Daniel Mack     2018-06-29  587  		 * If we were able to generate the bclk directly,
05739375f1c0a10 Daniel Mack     2018-06-29  588  		 * all is fine. Otherwise, look up the closest rate
05739375f1c0a10 Daniel Mack     2018-06-29  589  		 * from the table and also set the dividers.
05739375f1c0a10 Daniel Mack     2018-06-29  590  		 */
05739375f1c0a10 Daniel Mack     2018-06-29  591  
05739375f1c0a10 Daniel Mack     2018-06-29  592  		if (ret < 0) {
05739375f1c0a10 Daniel Mack     2018-06-29  593  			const struct pxa_ssp_clock_mode *m;
05739375f1c0a10 Daniel Mack     2018-06-29 @594  			int ssacd, acds;
05739375f1c0a10 Daniel Mack     2018-06-29  595  
05739375f1c0a10 Daniel Mack     2018-06-29  596  			for (m = pxa_ssp_clock_modes; m->rate; m++) {
05739375f1c0a10 Daniel Mack     2018-06-29  597  				if (m->rate == rate)
05739375f1c0a10 Daniel Mack     2018-06-29  598  					break;
05739375f1c0a10 Daniel Mack     2018-06-29  599  			}
05739375f1c0a10 Daniel Mack     2018-06-29  600  
05739375f1c0a10 Daniel Mack     2018-06-29  601  			if (!m->rate)
05739375f1c0a10 Daniel Mack     2018-06-29  602  				return -EINVAL;
05739375f1c0a10 Daniel Mack     2018-06-29  603  
05739375f1c0a10 Daniel Mack     2018-06-29  604  			acds = m->acds;
05739375f1c0a10 Daniel Mack     2018-06-29  605  
05739375f1c0a10 Daniel Mack     2018-06-29  606  			/* The values in the table are for 16 bits */
05739375f1c0a10 Daniel Mack     2018-06-29  607  			if (width == 32)
05739375f1c0a10 Daniel Mack     2018-06-29  608  				acds--;
05739375f1c0a10 Daniel Mack     2018-06-29  609  
05739375f1c0a10 Daniel Mack     2018-06-29  610  			ret = pxa_ssp_set_pll(priv, bclk);
05739375f1c0a10 Daniel Mack     2018-06-29  611  			if (ret < 0)
05739375f1c0a10 Daniel Mack     2018-06-29  612  				return ret;
05739375f1c0a10 Daniel Mack     2018-06-29  613  
05739375f1c0a10 Daniel Mack     2018-06-29  614  			ssacd = pxa_ssp_read_reg(ssp, SSACD);
05739375f1c0a10 Daniel Mack     2018-06-29  615  			ssacd &= ~(SSACD_ACDS(7) | SSACD_SCDB_1X);
05739375f1c0a10 Daniel Mack     2018-06-29  616  			ssacd |= SSACD_ACDS(m->acds);
05739375f1c0a10 Daniel Mack     2018-06-29  617  			ssacd |= m->scdb;
05739375f1c0a10 Daniel Mack     2018-06-29  618  			pxa_ssp_write_reg(ssp, SSACD, ssacd);
05739375f1c0a10 Daniel Mack     2018-06-29  619  		}
05739375f1c0a10 Daniel Mack     2018-06-29  620  	} else if (sscr0 & SSCR0_ECS) {
05739375f1c0a10 Daniel Mack     2018-06-29  621  		/*
05739375f1c0a10 Daniel Mack     2018-06-29  622  		 * For setups with external clocking, the PLL and its diviers
05739375f1c0a10 Daniel Mack     2018-06-29  623  		 * are not active. Instead, the SCR bits in SSCR0 can be used
05739375f1c0a10 Daniel Mack     2018-06-29  624  		 * to divide the clock.
05739375f1c0a10 Daniel Mack     2018-06-29  625  		 */
05739375f1c0a10 Daniel Mack     2018-06-29  626  		pxa_ssp_set_scr(ssp, bclk / rate);
05739375f1c0a10 Daniel Mack     2018-06-29  627  	}
05739375f1c0a10 Daniel Mack     2018-06-29  628  
1b340bd7e444f20 Mark Brown      2008-07-30  629  	switch (priv->dai_fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
1b340bd7e444f20 Mark Brown      2008-07-30  630  	case SND_SOC_DAIFMT_I2S:
baffe1699c68da5 Haojian Zhuang  2010-05-05  631  	       sspsp = pxa_ssp_read_reg(ssp, SSPSP);
72d7466468b471f Daniel Mack     2009-03-12  632  
05739375f1c0a10 Daniel Mack     2018-06-29  633  		if (((priv->sysclk / bclk) == 64) && (width == 16)) {
72d7466468b471f Daniel Mack     2009-03-12  634  			/* This is a special case where the bitclk is 64fs
72d7466468b471f Daniel Mack     2009-03-12  635  			 * and we're not dealing with 2*32 bits of audio
72d7466468b471f Daniel Mack     2009-03-12  636  			 * samples.
72d7466468b471f Daniel Mack     2009-03-12  637  			 *
72d7466468b471f Daniel Mack     2009-03-12  638  			 * The SSP values used for that are all found out by
72d7466468b471f Daniel Mack     2009-03-12  639  			 * trying and failing a lot; some of the registers
72d7466468b471f Daniel Mack     2009-03-12  640  			 * needed for that mode are only available on PXA3xx.
72d7466468b471f Daniel Mack     2009-03-12  641  			 */
972a55b62d592cf Qiao Zhou       2012-06-04  642  			if (ssp->type != PXA3xx_SSP)
72d7466468b471f Daniel Mack     2009-03-12  643  				return -EINVAL;
72d7466468b471f Daniel Mack     2009-03-12  644  
72d7466468b471f Daniel Mack     2009-03-12  645  			sspsp |= SSPSP_SFRMWDTH(width * 2);
72d7466468b471f Daniel Mack     2009-03-12  646  			sspsp |= SSPSP_SFRMDLY(width * 4);
72d7466468b471f Daniel Mack     2009-03-12  647  			sspsp |= SSPSP_EDMYSTOP(3);
72d7466468b471f Daniel Mack     2009-03-12  648  			sspsp |= SSPSP_DMYSTOP(3);
72d7466468b471f Daniel Mack     2009-03-12  649  			sspsp |= SSPSP_DMYSTRT(1);
0ce36c5f7f87632 Mark Brown      2009-03-13  650  		} else {
0ce36c5f7f87632 Mark Brown      2009-03-13  651  			/* The frame width is the width the LRCLK is
0ce36c5f7f87632 Mark Brown      2009-03-13  652  			 * asserted for; the delay is expressed in
0ce36c5f7f87632 Mark Brown      2009-03-13  653  			 * half cycle units.  We need the extra cycle
0ce36c5f7f87632 Mark Brown      2009-03-13  654  			 * because the data starts clocking out one BCLK
0ce36c5f7f87632 Mark Brown      2009-03-13  655  			 * after LRCLK changes polarity.
0ce36c5f7f87632 Mark Brown      2009-03-13  656  			 */
0ce36c5f7f87632 Mark Brown      2009-03-13  657  			sspsp |= SSPSP_SFRMWDTH(width + 1);
0ce36c5f7f87632 Mark Brown      2009-03-13  658  			sspsp |= SSPSP_SFRMDLY((width + 1) * 2);
0ce36c5f7f87632 Mark Brown      2009-03-13  659  			sspsp |= SSPSP_DMYSTRT(1);
0ce36c5f7f87632 Mark Brown      2009-03-13  660  		}
72d7466468b471f Daniel Mack     2009-03-12  661  
baffe1699c68da5 Haojian Zhuang  2010-05-05  662  		pxa_ssp_write_reg(ssp, SSPSP, sspsp);
1b340bd7e444f20 Mark Brown      2008-07-30  663  		break;
1b340bd7e444f20 Mark Brown      2008-07-30  664  	default:
1b340bd7e444f20 Mark Brown      2008-07-30  665  		break;
1b340bd7e444f20 Mark Brown      2008-07-30  666  	}
1b340bd7e444f20 Mark Brown      2008-07-30  667  
72d7466468b471f Daniel Mack     2009-03-12  668  	/* When we use a network mode, we always require TDM slots
1b340bd7e444f20 Mark Brown      2008-07-30  669  	 * - complain loudly and fail if they've not been set up yet.
1b340bd7e444f20 Mark Brown      2008-07-30  670  	 */
92429069d0fc9f5 Philipp Zabel   2009-03-19  671  	if ((sscr0 & SSCR0_MOD) && !ttsa) {
4f3d957718e7f0a Andy Shevchenko 2019-10-18  672  		dev_err(ssp->dev, "No TDM timeslot configured\n");
1b340bd7e444f20 Mark Brown      2008-07-30  673  		return -EINVAL;
1b340bd7e444f20 Mark Brown      2008-07-30  674  	}
1b340bd7e444f20 Mark Brown      2008-07-30  675  
1b340bd7e444f20 Mark Brown      2008-07-30  676  	dump_registers(ssp);
1b340bd7e444f20 Mark Brown      2008-07-30  677  
1b340bd7e444f20 Mark Brown      2008-07-30  678  	return 0;
1b340bd7e444f20 Mark Brown      2008-07-30  679  }
1b340bd7e444f20 Mark Brown      2008-07-30  680  

:::::: The code at line 594 was first introduced by commit
:::::: 05739375f1c0a1048fea8b9c4cb54d9e4a891938 ASoC: pxa-ssp: remove .set_pll() and .set_clkdiv() callbacks

:::::: TO: Daniel Mack <daniel@...que.org>
:::::: CC: Mark Brown <broonie@...nel.org>

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ