All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: mdurnev@gmail.com, kuninori.morimoto.gx@renesas.com,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
	mikhail_durnev@mentor.com
Subject: Re: [PATCH v0] ASoC: rsnd: core: Check convert rate in rsnd_hw_params
Date: Thu, 3 Dec 2020 01:16:27 +0800	[thread overview]
Message-ID: <202012030102.a5OF5b9q-lkp@intel.com> (raw)
In-Reply-To: <1606907286-32104-1-git-send-email-mikhail_durnev@mentor.com>

[-- Attachment #1: Type: text/plain, Size: 6984 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on asoc/for-next]
[also build test ERROR on v5.10-rc6 next-20201201]
[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]

url:    https://github.com/0day-ci/linux/commits/mdurnev-gmail-com/ASoC-rsnd-core-Check-convert-rate-in-rsnd_hw_params/20201202-191131
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: arm64-randconfig-r012-20201202 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 2671fccf0381769276ca8246ec0499adcb9b0355)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/2ffb6c8ec578fd78d5962f7bc7c38eeb5c6a4bd1
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review mdurnev-gmail-com/ASoC-rsnd-core-Check-convert-rate-in-rsnd_hw_params/20201202-191131
        git checkout 2ffb6c8ec578fd78d5962f7bc7c38eeb5c6a4bd1
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> sound/soc/sh/rcar/core.c:1447:56: error: use of undeclared identifier 'fe_channel'; did you mean 'channel'?
                           channel = io->converted_chan ? io->converted_chan : fe_channel;
                                                                               ^~~~~~~~~~
                                                                               channel
   sound/soc/sh/rcar/core.c:1444:8: note: 'channel' declared here
                           int channel;
                               ^
>> sound/soc/sh/rcar/core.c:1442:8: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
                           int k_up = 6;
                               ^
   1 warning and 1 error generated.

vim +1447 sound/soc/sh/rcar/core.c

  1391	
  1392	/*
  1393	 *		pcm ops
  1394	 */
  1395	static int rsnd_hw_params(struct snd_soc_component *component,
  1396				  struct snd_pcm_substream *substream,
  1397				  struct snd_pcm_hw_params *hw_params)
  1398	{
  1399		struct snd_soc_dai *dai = rsnd_substream_to_dai(substream);
  1400		struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai);
  1401		struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream);
  1402		struct snd_soc_pcm_runtime *fe = asoc_substream_to_rtd(substream);
  1403	
  1404		/*
  1405		 * rsnd assumes that it might be used under DPCM if user want to use
  1406		 * channel / rate convert. Then, rsnd should be FE.
  1407		 * And then, this function will be called *after* BE settings.
  1408		 * this means, each BE already has fixuped hw_params.
  1409		 * see
  1410		 *	dpcm_fe_dai_hw_params()
  1411		 *	dpcm_be_dai_hw_params()
  1412		 */
  1413		io->converted_rate = 0;
  1414		io->converted_chan = 0;
  1415		if (fe->dai_link->dynamic) {
  1416			struct rsnd_priv *priv = rsnd_io_to_priv(io);
  1417			struct device *dev = rsnd_priv_to_dev(priv);
  1418			struct snd_soc_dpcm *dpcm;
  1419			struct snd_pcm_hw_params *be_params;
  1420			int stream = substream->stream;
  1421	
  1422			for_each_dpcm_be(fe, stream, dpcm) {
  1423				be_params = &dpcm->hw_params;
  1424				if (params_channels(hw_params) != params_channels(be_params))
  1425					io->converted_chan = params_channels(be_params);
  1426				if (params_rate(hw_params) != params_rate(be_params))
  1427					io->converted_rate = params_rate(be_params);
  1428			}
  1429			if (io->converted_chan)
  1430				dev_dbg(dev, "convert channels = %d\n", io->converted_chan);
  1431			if (io->converted_rate) {
  1432				dev_dbg(dev, "convert rate     = %d\n", io->converted_rate);
  1433	
  1434				/*
  1435				 * SRC supports convert rates from params_rate(hw_params)/k_down
  1436				 * to params_rate(hw_params)*k_up, where k_up is always 6, and
  1437				 * k_down depends on number of channels and SRC unit.
  1438				 * So all SRC units can upsample audio up to 6 times regardless
  1439				 * its number of channels. And all SRC units can downsample
  1440				 * 2 channel audio up to 6 times too.
  1441				 */
> 1442				int k_up = 6;
  1443				int k_down = 6;
  1444				int channel;
  1445				struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io);
  1446	
> 1447				channel = io->converted_chan ? io->converted_chan : fe_channel;
  1448	
  1449				switch (rsnd_mod_id(src_mod)) {
  1450				/*
  1451				 * SRC0 can downsample 4, 6 and 8 channel audio up to 4 times.
  1452				 * SRC1, SRC3 and SRC4 can downsample 4 channel audio
  1453				 * up to 4 times.
  1454				 * SRC1, SRC3 and SRC4 can downsample 6 and 8 channel audio
  1455				 * no more than twice.
  1456				 */
  1457				case 1:
  1458				case 3:
  1459				case 4:
  1460					if (channel > 4) {
  1461						k_down = 2;
  1462						break;
  1463					}
  1464				case 0:
  1465					if (channel > 2)
  1466						k_down = 4;
  1467					break;
  1468	
  1469				/* Other SRC units do not support more than 2 channels */
  1470				default:
  1471					if (channel > 2)
  1472						return -EINVAL;
  1473				}
  1474	
  1475				if (params_rate(hw_params) > io->converted_rate * k_down) {
  1476					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->min =
  1477						io->converted_rate * k_down;
  1478					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->max =
  1479						io->converted_rate * k_down;
  1480					hw_params->cmask |= SNDRV_PCM_HW_PARAM_RATE;
  1481				} else if (params_rate(hw_params) * k_up < io->converted_rate) {
  1482					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->min =
  1483						(io->converted_rate + k_up - 1) / k_up;
  1484					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->max =
  1485						(io->converted_rate + k_up - 1) / k_up;
  1486					hw_params->cmask |= SNDRV_PCM_HW_PARAM_RATE;
  1487				}
  1488	
  1489				/*
  1490				 * TBD: Max SRC input and output rates also depend on number
  1491				 * of channels and SRC unit:
  1492				 * SRC1, SRC3 and SRC4 do not support more than 128kHz
  1493				 * for 6 channel and 96kHz for 8 channel audio.
  1494				 * Perhaps this function should return EINVAL if the input or
  1495				 * the output rate exceeds the limitation.
  1496				 */
  1497			}
  1498		}
  1499	
  1500		return rsnd_dai_call(hw_params, io, substream, hw_params);
  1501	}
  1502	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45550 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: mdurnev@gmail.com, kuninori.morimoto.gx@renesas.com,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
	mikhail_durnev@mentor.com
Subject: Re: [PATCH v0] ASoC: rsnd: core: Check convert rate in rsnd_hw_params
Date: Thu, 3 Dec 2020 01:16:27 +0800	[thread overview]
Message-ID: <202012030102.a5OF5b9q-lkp@intel.com> (raw)
In-Reply-To: <1606907286-32104-1-git-send-email-mikhail_durnev@mentor.com>

[-- Attachment #1: Type: text/plain, Size: 6984 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on asoc/for-next]
[also build test ERROR on v5.10-rc6 next-20201201]
[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]

url:    https://github.com/0day-ci/linux/commits/mdurnev-gmail-com/ASoC-rsnd-core-Check-convert-rate-in-rsnd_hw_params/20201202-191131
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: arm64-randconfig-r012-20201202 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 2671fccf0381769276ca8246ec0499adcb9b0355)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/2ffb6c8ec578fd78d5962f7bc7c38eeb5c6a4bd1
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review mdurnev-gmail-com/ASoC-rsnd-core-Check-convert-rate-in-rsnd_hw_params/20201202-191131
        git checkout 2ffb6c8ec578fd78d5962f7bc7c38eeb5c6a4bd1
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> sound/soc/sh/rcar/core.c:1447:56: error: use of undeclared identifier 'fe_channel'; did you mean 'channel'?
                           channel = io->converted_chan ? io->converted_chan : fe_channel;
                                                                               ^~~~~~~~~~
                                                                               channel
   sound/soc/sh/rcar/core.c:1444:8: note: 'channel' declared here
                           int channel;
                               ^
>> sound/soc/sh/rcar/core.c:1442:8: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
                           int k_up = 6;
                               ^
   1 warning and 1 error generated.

vim +1447 sound/soc/sh/rcar/core.c

  1391	
  1392	/*
  1393	 *		pcm ops
  1394	 */
  1395	static int rsnd_hw_params(struct snd_soc_component *component,
  1396				  struct snd_pcm_substream *substream,
  1397				  struct snd_pcm_hw_params *hw_params)
  1398	{
  1399		struct snd_soc_dai *dai = rsnd_substream_to_dai(substream);
  1400		struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai);
  1401		struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream);
  1402		struct snd_soc_pcm_runtime *fe = asoc_substream_to_rtd(substream);
  1403	
  1404		/*
  1405		 * rsnd assumes that it might be used under DPCM if user want to use
  1406		 * channel / rate convert. Then, rsnd should be FE.
  1407		 * And then, this function will be called *after* BE settings.
  1408		 * this means, each BE already has fixuped hw_params.
  1409		 * see
  1410		 *	dpcm_fe_dai_hw_params()
  1411		 *	dpcm_be_dai_hw_params()
  1412		 */
  1413		io->converted_rate = 0;
  1414		io->converted_chan = 0;
  1415		if (fe->dai_link->dynamic) {
  1416			struct rsnd_priv *priv = rsnd_io_to_priv(io);
  1417			struct device *dev = rsnd_priv_to_dev(priv);
  1418			struct snd_soc_dpcm *dpcm;
  1419			struct snd_pcm_hw_params *be_params;
  1420			int stream = substream->stream;
  1421	
  1422			for_each_dpcm_be(fe, stream, dpcm) {
  1423				be_params = &dpcm->hw_params;
  1424				if (params_channels(hw_params) != params_channels(be_params))
  1425					io->converted_chan = params_channels(be_params);
  1426				if (params_rate(hw_params) != params_rate(be_params))
  1427					io->converted_rate = params_rate(be_params);
  1428			}
  1429			if (io->converted_chan)
  1430				dev_dbg(dev, "convert channels = %d\n", io->converted_chan);
  1431			if (io->converted_rate) {
  1432				dev_dbg(dev, "convert rate     = %d\n", io->converted_rate);
  1433	
  1434				/*
  1435				 * SRC supports convert rates from params_rate(hw_params)/k_down
  1436				 * to params_rate(hw_params)*k_up, where k_up is always 6, and
  1437				 * k_down depends on number of channels and SRC unit.
  1438				 * So all SRC units can upsample audio up to 6 times regardless
  1439				 * its number of channels. And all SRC units can downsample
  1440				 * 2 channel audio up to 6 times too.
  1441				 */
> 1442				int k_up = 6;
  1443				int k_down = 6;
  1444				int channel;
  1445				struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io);
  1446	
> 1447				channel = io->converted_chan ? io->converted_chan : fe_channel;
  1448	
  1449				switch (rsnd_mod_id(src_mod)) {
  1450				/*
  1451				 * SRC0 can downsample 4, 6 and 8 channel audio up to 4 times.
  1452				 * SRC1, SRC3 and SRC4 can downsample 4 channel audio
  1453				 * up to 4 times.
  1454				 * SRC1, SRC3 and SRC4 can downsample 6 and 8 channel audio
  1455				 * no more than twice.
  1456				 */
  1457				case 1:
  1458				case 3:
  1459				case 4:
  1460					if (channel > 4) {
  1461						k_down = 2;
  1462						break;
  1463					}
  1464				case 0:
  1465					if (channel > 2)
  1466						k_down = 4;
  1467					break;
  1468	
  1469				/* Other SRC units do not support more than 2 channels */
  1470				default:
  1471					if (channel > 2)
  1472						return -EINVAL;
  1473				}
  1474	
  1475				if (params_rate(hw_params) > io->converted_rate * k_down) {
  1476					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->min =
  1477						io->converted_rate * k_down;
  1478					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->max =
  1479						io->converted_rate * k_down;
  1480					hw_params->cmask |= SNDRV_PCM_HW_PARAM_RATE;
  1481				} else if (params_rate(hw_params) * k_up < io->converted_rate) {
  1482					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->min =
  1483						(io->converted_rate + k_up - 1) / k_up;
  1484					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->max =
  1485						(io->converted_rate + k_up - 1) / k_up;
  1486					hw_params->cmask |= SNDRV_PCM_HW_PARAM_RATE;
  1487				}
  1488	
  1489				/*
  1490				 * TBD: Max SRC input and output rates also depend on number
  1491				 * of channels and SRC unit:
  1492				 * SRC1, SRC3 and SRC4 do not support more than 128kHz
  1493				 * for 6 channel and 96kHz for 8 channel audio.
  1494				 * Perhaps this function should return EINVAL if the input or
  1495				 * the output rate exceeds the limitation.
  1496				 */
  1497			}
  1498		}
  1499	
  1500		return rsnd_dai_call(hw_params, io, substream, hw_params);
  1501	}
  1502	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45550 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v0] ASoC: rsnd: core: Check convert rate in rsnd_hw_params
Date: Thu, 03 Dec 2020 01:16:27 +0800	[thread overview]
Message-ID: <202012030102.a5OF5b9q-lkp@intel.com> (raw)
In-Reply-To: <1606907286-32104-1-git-send-email-mikhail_durnev@mentor.com>

[-- Attachment #1: Type: text/plain, Size: 7147 bytes --]

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on asoc/for-next]
[also build test ERROR on v5.10-rc6 next-20201201]
[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]

url:    https://github.com/0day-ci/linux/commits/mdurnev-gmail-com/ASoC-rsnd-core-Check-convert-rate-in-rsnd_hw_params/20201202-191131
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: arm64-randconfig-r012-20201202 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 2671fccf0381769276ca8246ec0499adcb9b0355)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/2ffb6c8ec578fd78d5962f7bc7c38eeb5c6a4bd1
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review mdurnev-gmail-com/ASoC-rsnd-core-Check-convert-rate-in-rsnd_hw_params/20201202-191131
        git checkout 2ffb6c8ec578fd78d5962f7bc7c38eeb5c6a4bd1
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> sound/soc/sh/rcar/core.c:1447:56: error: use of undeclared identifier 'fe_channel'; did you mean 'channel'?
                           channel = io->converted_chan ? io->converted_chan : fe_channel;
                                                                               ^~~~~~~~~~
                                                                               channel
   sound/soc/sh/rcar/core.c:1444:8: note: 'channel' declared here
                           int channel;
                               ^
>> sound/soc/sh/rcar/core.c:1442:8: warning: ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
                           int k_up = 6;
                               ^
   1 warning and 1 error generated.

vim +1447 sound/soc/sh/rcar/core.c

  1391	
  1392	/*
  1393	 *		pcm ops
  1394	 */
  1395	static int rsnd_hw_params(struct snd_soc_component *component,
  1396				  struct snd_pcm_substream *substream,
  1397				  struct snd_pcm_hw_params *hw_params)
  1398	{
  1399		struct snd_soc_dai *dai = rsnd_substream_to_dai(substream);
  1400		struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai);
  1401		struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream);
  1402		struct snd_soc_pcm_runtime *fe = asoc_substream_to_rtd(substream);
  1403	
  1404		/*
  1405		 * rsnd assumes that it might be used under DPCM if user want to use
  1406		 * channel / rate convert. Then, rsnd should be FE.
  1407		 * And then, this function will be called *after* BE settings.
  1408		 * this means, each BE already has fixuped hw_params.
  1409		 * see
  1410		 *	dpcm_fe_dai_hw_params()
  1411		 *	dpcm_be_dai_hw_params()
  1412		 */
  1413		io->converted_rate = 0;
  1414		io->converted_chan = 0;
  1415		if (fe->dai_link->dynamic) {
  1416			struct rsnd_priv *priv = rsnd_io_to_priv(io);
  1417			struct device *dev = rsnd_priv_to_dev(priv);
  1418			struct snd_soc_dpcm *dpcm;
  1419			struct snd_pcm_hw_params *be_params;
  1420			int stream = substream->stream;
  1421	
  1422			for_each_dpcm_be(fe, stream, dpcm) {
  1423				be_params = &dpcm->hw_params;
  1424				if (params_channels(hw_params) != params_channels(be_params))
  1425					io->converted_chan = params_channels(be_params);
  1426				if (params_rate(hw_params) != params_rate(be_params))
  1427					io->converted_rate = params_rate(be_params);
  1428			}
  1429			if (io->converted_chan)
  1430				dev_dbg(dev, "convert channels = %d\n", io->converted_chan);
  1431			if (io->converted_rate) {
  1432				dev_dbg(dev, "convert rate     = %d\n", io->converted_rate);
  1433	
  1434				/*
  1435				 * SRC supports convert rates from params_rate(hw_params)/k_down
  1436				 * to params_rate(hw_params)*k_up, where k_up is always 6, and
  1437				 * k_down depends on number of channels and SRC unit.
  1438				 * So all SRC units can upsample audio up to 6 times regardless
  1439				 * its number of channels. And all SRC units can downsample
  1440				 * 2 channel audio up to 6 times too.
  1441				 */
> 1442				int k_up = 6;
  1443				int k_down = 6;
  1444				int channel;
  1445				struct rsnd_mod *src_mod = rsnd_io_to_mod_src(io);
  1446	
> 1447				channel = io->converted_chan ? io->converted_chan : fe_channel;
  1448	
  1449				switch (rsnd_mod_id(src_mod)) {
  1450				/*
  1451				 * SRC0 can downsample 4, 6 and 8 channel audio up to 4 times.
  1452				 * SRC1, SRC3 and SRC4 can downsample 4 channel audio
  1453				 * up to 4 times.
  1454				 * SRC1, SRC3 and SRC4 can downsample 6 and 8 channel audio
  1455				 * no more than twice.
  1456				 */
  1457				case 1:
  1458				case 3:
  1459				case 4:
  1460					if (channel > 4) {
  1461						k_down = 2;
  1462						break;
  1463					}
  1464				case 0:
  1465					if (channel > 2)
  1466						k_down = 4;
  1467					break;
  1468	
  1469				/* Other SRC units do not support more than 2 channels */
  1470				default:
  1471					if (channel > 2)
  1472						return -EINVAL;
  1473				}
  1474	
  1475				if (params_rate(hw_params) > io->converted_rate * k_down) {
  1476					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->min =
  1477						io->converted_rate * k_down;
  1478					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->max =
  1479						io->converted_rate * k_down;
  1480					hw_params->cmask |= SNDRV_PCM_HW_PARAM_RATE;
  1481				} else if (params_rate(hw_params) * k_up < io->converted_rate) {
  1482					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->min =
  1483						(io->converted_rate + k_up - 1) / k_up;
  1484					hw_param_interval(hw_params, SNDRV_PCM_HW_PARAM_RATE)->max =
  1485						(io->converted_rate + k_up - 1) / k_up;
  1486					hw_params->cmask |= SNDRV_PCM_HW_PARAM_RATE;
  1487				}
  1488	
  1489				/*
  1490				 * TBD: Max SRC input and output rates also depend on number
  1491				 * of channels and SRC unit:
  1492				 * SRC1, SRC3 and SRC4 do not support more than 128kHz
  1493				 * for 6 channel and 96kHz for 8 channel audio.
  1494				 * Perhaps this function should return EINVAL if the input or
  1495				 * the output rate exceeds the limitation.
  1496				 */
  1497			}
  1498		}
  1499	
  1500		return rsnd_dai_call(hw_params, io, substream, hw_params);
  1501	}
  1502	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 45550 bytes --]

  parent reply	other threads:[~2020-12-02 17:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-02 11:08 [PATCH v0] ASoC: rsnd: core: Check convert rate in rsnd_hw_params mdurnev
2020-12-02 13:48 ` kernel test robot
2020-12-02 13:48   ` kernel test robot
2020-12-02 17:16 ` kernel test robot [this message]
2020-12-02 17:16   ` kernel test robot
2020-12-02 17:16   ` kernel test robot
2020-12-02 22:57 ` Kuninori Morimoto
2020-12-03  6:46   ` Mikhail Durnev
2020-12-03  6:46     ` Mikhail Durnev
2021-03-16  4:47 mdurnev
2021-03-16  5:09 ` Kuninori Morimoto
2021-03-16 17:59 ` Mark Brown

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=202012030102.a5OF5b9q-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mdurnev@gmail.com \
    --cc=mikhail_durnev@mentor.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 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.