Re: [PATCH v11 07/10] ASoC: qcom: Add support for codec dma driver

From: kernel test robot
Date: Sat Feb 12 2022 - 18:24:41 EST


Hi Srinivasa,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on broonie-sound/for-next]
[also build test WARNING on v5.17-rc3 next-20220211]
[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/Srinivasa-Rao-Mandadapu/Add-support-for-audio-on-SC7280-based-targets/20220212-192806
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: nios2-randconfig-s031-20220213 (https://download.01.org/0day-ci/archive/20220213/202202130736.eUu0rQGL-lkp@xxxxxxxxx/config)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/81d86e5446d7b811a902e4834e65730b0fb393f5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Srinivasa-Rao-Mandadapu/Add-support-for-audio-on-SC7280-based-targets/20220212-192806
git checkout 81d86e5446d7b811a902e4834e65730b0fb393f5
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=nios2 SHELL=/bin/bash sound/soc/qcom/

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


sparse warnings: (new ones prefixed by >>)
>> sound/soc/qcom/lpass-platform.c:1223:52: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *dst @@ got void * @@
sound/soc/qcom/lpass-platform.c:1223:52: sparse: expected void volatile [noderef] __iomem *dst
sound/soc/qcom/lpass-platform.c:1223:52: sparse: got void *
>> sound/soc/qcom/lpass-platform.c:1228:56: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *src @@ got unsigned char *dma_buf @@
sound/soc/qcom/lpass-platform.c:1228:56: sparse: expected void const volatile [noderef] __iomem *src
sound/soc/qcom/lpass-platform.c:1228:56: sparse: got unsigned char *dma_buf

vim +1223 sound/soc/qcom/lpass-platform.c

1209
1210 static int lpass_platform_copy(struct snd_soc_component *component,
1211 struct snd_pcm_substream *substream, int channel,
1212 unsigned long pos, void __user *buf, unsigned long bytes)
1213 {
1214 struct snd_pcm_runtime *rt = substream->runtime;
1215 unsigned int dai_id = component->id;
1216 int ret = 0;
1217
1218 unsigned char *dma_buf = rt->dma_area + pos +
1219 channel * (rt->dma_bytes / rt->channels);
1220
1221 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
1222 if (is_cdc_dma_port(dai_id))
> 1223 ret = copy_from_user_toio((void __force *)dma_buf, buf, bytes);
1224 else
1225 ret = copy_from_user((void __force *)dma_buf, buf, bytes);
1226 } else if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
1227 if (is_cdc_dma_port(dai_id))
> 1228 ret = copy_to_user_fromio(buf, dma_buf, bytes);
1229 else
1230 ret = copy_to_user(buf, dma_buf, bytes);
1231 }
1232
1233 return ret;
1234 }
1235

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