linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Richard Fitzgerald <rf@opensource.cirrus.com>, broonie@kernel.org
Cc: kbuild-all@lists.01.org, patches@opensource.cirrus.com,
	alsa-devel@alsa-project.org,
	Richard Fitzgerald <rf@opensource.cirrus.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ASoC: wm_adsp: Improve handling of raw byte streams
Date: Sun, 27 Dec 2020 00:13:46 +0800	[thread overview]
Message-ID: <202012270000.ybUxxkNo-lkp@intel.com> (raw)
In-Reply-To: <20201216112512.26503-1-rf@opensource.cirrus.com>

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

Hi Richard,

I love your patch! Perhaps something to improve:

[auto build test WARNING on asoc/for-next]
[also build test WARNING on v5.10 next-20201223]
[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/Richard-Fitzgerald/ASoC-wm_adsp-Improve-handling-of-raw-byte-streams/20201216-193614
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: arm64-randconfig-s032-20201223 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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.3-184-g1b896707-dirty
        # https://github.com/0day-ci/linux/commit/e68819993ab2e0f2870bf9ca578f6b3713358419
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Richard-Fitzgerald/ASoC-wm_adsp-Improve-handling-of-raw-byte-streams/20201216-193614
        git checkout e68819993ab2e0f2870bf9ca578f6b3713358419
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 

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


"sparse warnings: (new ones prefixed by >>)"
   sound/soc/codecs/wm_adsp.c:983:19: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] val @@     got restricted __be32 [usertype] @@
   sound/soc/codecs/wm_adsp.c:983:19: sparse:     expected unsigned int [usertype] val
   sound/soc/codecs/wm_adsp.c:983:19: sparse:     got restricted __be32 [usertype]
   sound/soc/codecs/wm_adsp.c:1710:22: sparse: sparse: restricted snd_ctl_elem_type_t degrades to integer
   sound/soc/codecs/wm_adsp.c:2329:54: sparse: sparse: incorrect type in argument 8 (different base types) @@     expected unsigned int type @@     got restricted snd_ctl_elem_type_t [usertype] @@
   sound/soc/codecs/wm_adsp.c:2329:54: sparse:     expected unsigned int type
   sound/soc/codecs/wm_adsp.c:2329:54: sparse:     got restricted snd_ctl_elem_type_t [usertype]
   sound/soc/codecs/wm_adsp.c:2350:54: sparse: sparse: incorrect type in argument 8 (different base types) @@     expected unsigned int type @@     got restricted snd_ctl_elem_type_t [usertype] @@
   sound/soc/codecs/wm_adsp.c:2350:54: sparse:     expected unsigned int type
   sound/soc/codecs/wm_adsp.c:2350:54: sparse:     got restricted snd_ctl_elem_type_t [usertype]
   sound/soc/codecs/wm_adsp.c:2437:54: sparse: sparse: incorrect type in argument 8 (different base types) @@     expected unsigned int type @@     got restricted snd_ctl_elem_type_t [usertype] @@
   sound/soc/codecs/wm_adsp.c:2437:54: sparse:     expected unsigned int type
   sound/soc/codecs/wm_adsp.c:2437:54: sparse:     got restricted snd_ctl_elem_type_t [usertype]
   sound/soc/codecs/wm_adsp.c:2458:54: sparse: sparse: incorrect type in argument 8 (different base types) @@     expected unsigned int type @@     got restricted snd_ctl_elem_type_t [usertype] @@
   sound/soc/codecs/wm_adsp.c:2458:54: sparse:     expected unsigned int type
   sound/soc/codecs/wm_adsp.c:2458:54: sparse:     got restricted snd_ctl_elem_type_t [usertype]
   sound/soc/codecs/wm_adsp.c:2479:54: sparse: sparse: incorrect type in argument 8 (different base types) @@     expected unsigned int type @@     got restricted snd_ctl_elem_type_t [usertype] @@
   sound/soc/codecs/wm_adsp.c:2479:54: sparse:     expected unsigned int type
   sound/soc/codecs/wm_adsp.c:2479:54: sparse:     got restricted snd_ctl_elem_type_t [usertype]
   sound/soc/codecs/wm_adsp.c:3714:14: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] data @@     got restricted __be32 [usertype] @@
   sound/soc/codecs/wm_adsp.c:3714:14: sparse:     expected unsigned int [usertype] data
   sound/soc/codecs/wm_adsp.c:3714:14: sparse:     got restricted __be32 [usertype]
   sound/soc/codecs/wm_adsp.c:3901:29: sparse: sparse: cast to restricted __be32
   sound/soc/codecs/wm_adsp.c:3921:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be32 [addressable] [usertype] versions @@     got unsigned int [usertype] @@
   sound/soc/codecs/wm_adsp.c:3921:27: sparse:     expected restricted __be32 [addressable] [usertype] versions
   sound/soc/codecs/wm_adsp.c:3921:27: sparse:     got unsigned int [usertype]
   sound/soc/codecs/wm_adsp.c:3922:23: sparse: sparse: restricted __be32 degrades to integer
>> sound/soc/codecs/wm_adsp.c:4272:56: sparse: sparse: incorrect type in argument 5 (different base types) @@     expected restricted __be32 [usertype] *data @@     got unsigned int [usertype] *raw_buf @@
   sound/soc/codecs/wm_adsp.c:4272:56: sparse:     expected restricted __be32 [usertype] *data
   sound/soc/codecs/wm_adsp.c:4272:56: sparse:     got unsigned int [usertype] *raw_buf

vim +4272 sound/soc/codecs/wm_adsp.c

565ace464105cb9 Charles Keepax     2016-01-06  4238  
83a40ce993cda07 Charles Keepax     2016-01-06  4239  static int wm_adsp_buffer_capture_block(struct wm_adsp_compr *compr, int target)
83a40ce993cda07 Charles Keepax     2016-01-06  4240  {
83a40ce993cda07 Charles Keepax     2016-01-06  4241  	struct wm_adsp_compr_buf *buf = compr->buf;
83a40ce993cda07 Charles Keepax     2016-01-06  4242  	unsigned int adsp_addr;
83a40ce993cda07 Charles Keepax     2016-01-06  4243  	int mem_type, nwords, max_read;
cc7d6ce90216d10 Charles Keepax     2019-02-22  4244  	int i, ret;
83a40ce993cda07 Charles Keepax     2016-01-06  4245  
83a40ce993cda07 Charles Keepax     2016-01-06  4246  	/* Calculate read parameters */
83a40ce993cda07 Charles Keepax     2016-01-06  4247  	for (i = 0; i < wm_adsp_fw[buf->dsp->fw].caps->num_regions; ++i)
83a40ce993cda07 Charles Keepax     2016-01-06  4248  		if (buf->read_index < buf->regions[i].cumulative_size)
83a40ce993cda07 Charles Keepax     2016-01-06  4249  			break;
83a40ce993cda07 Charles Keepax     2016-01-06  4250  
83a40ce993cda07 Charles Keepax     2016-01-06  4251  	if (i == wm_adsp_fw[buf->dsp->fw].caps->num_regions)
83a40ce993cda07 Charles Keepax     2016-01-06  4252  		return -EINVAL;
83a40ce993cda07 Charles Keepax     2016-01-06  4253  
83a40ce993cda07 Charles Keepax     2016-01-06  4254  	mem_type = buf->regions[i].mem_type;
83a40ce993cda07 Charles Keepax     2016-01-06  4255  	adsp_addr = buf->regions[i].base_addr +
83a40ce993cda07 Charles Keepax     2016-01-06  4256  		    (buf->read_index - buf->regions[i].offset);
83a40ce993cda07 Charles Keepax     2016-01-06  4257  
83a40ce993cda07 Charles Keepax     2016-01-06  4258  	max_read = wm_adsp_compr_frag_words(compr);
83a40ce993cda07 Charles Keepax     2016-01-06  4259  	nwords = buf->regions[i].cumulative_size - buf->read_index;
83a40ce993cda07 Charles Keepax     2016-01-06  4260  
83a40ce993cda07 Charles Keepax     2016-01-06  4261  	if (nwords > target)
83a40ce993cda07 Charles Keepax     2016-01-06  4262  		nwords = target;
83a40ce993cda07 Charles Keepax     2016-01-06  4263  	if (nwords > buf->avail)
83a40ce993cda07 Charles Keepax     2016-01-06  4264  		nwords = buf->avail;
83a40ce993cda07 Charles Keepax     2016-01-06  4265  	if (nwords > max_read)
83a40ce993cda07 Charles Keepax     2016-01-06  4266  		nwords = max_read;
83a40ce993cda07 Charles Keepax     2016-01-06  4267  	if (!nwords)
83a40ce993cda07 Charles Keepax     2016-01-06  4268  		return 0;
83a40ce993cda07 Charles Keepax     2016-01-06  4269  
83a40ce993cda07 Charles Keepax     2016-01-06  4270  	/* Read data from DSP */
e68819993ab2e0f Richard Fitzgerald 2020-12-16  4271  	ret = wm_adsp_read_raw_data_block(buf->dsp, mem_type, adsp_addr,
83a40ce993cda07 Charles Keepax     2016-01-06 @4272  					  nwords, compr->raw_buf);
83a40ce993cda07 Charles Keepax     2016-01-06  4273  	if (ret < 0)
83a40ce993cda07 Charles Keepax     2016-01-06  4274  		return ret;
83a40ce993cda07 Charles Keepax     2016-01-06  4275  
e68819993ab2e0f Richard Fitzgerald 2020-12-16  4276  	wm_adsp_remove_padding(compr->raw_buf, nwords);
83a40ce993cda07 Charles Keepax     2016-01-06  4277  
83a40ce993cda07 Charles Keepax     2016-01-06  4278  	/* update read index to account for words read */
83a40ce993cda07 Charles Keepax     2016-01-06  4279  	buf->read_index += nwords;
83a40ce993cda07 Charles Keepax     2016-01-06  4280  	if (buf->read_index == wm_adsp_buffer_size(buf))
83a40ce993cda07 Charles Keepax     2016-01-06  4281  		buf->read_index = 0;
83a40ce993cda07 Charles Keepax     2016-01-06  4282  
83a40ce993cda07 Charles Keepax     2016-01-06  4283  	ret = wm_adsp_buffer_write(buf, HOST_BUFFER_FIELD(next_read_index),
83a40ce993cda07 Charles Keepax     2016-01-06  4284  				   buf->read_index);
83a40ce993cda07 Charles Keepax     2016-01-06  4285  	if (ret < 0)
83a40ce993cda07 Charles Keepax     2016-01-06  4286  		return ret;
83a40ce993cda07 Charles Keepax     2016-01-06  4287  
83a40ce993cda07 Charles Keepax     2016-01-06  4288  	/* update avail to account for words read */
83a40ce993cda07 Charles Keepax     2016-01-06  4289  	buf->avail -= nwords;
83a40ce993cda07 Charles Keepax     2016-01-06  4290  
83a40ce993cda07 Charles Keepax     2016-01-06  4291  	return nwords;
83a40ce993cda07 Charles Keepax     2016-01-06  4292  }
83a40ce993cda07 Charles Keepax     2016-01-06  4293  

---
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: 47973 bytes --]

  reply	other threads:[~2020-12-26 16:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-16 11:25 [PATCH] ASoC: wm_adsp: Improve handling of raw byte streams Richard Fitzgerald
2020-12-26 16:13 ` kernel test robot [this message]
2020-12-28 16:03 ` 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=202012270000.ybUxxkNo-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=rf@opensource.cirrus.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;
as well as URLs for NNTP newsgroup(s).