linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sherry Sun <sherry.sun@nxp.com>,
	hch@infradead.org, gregkh@linuxfoundation.org,
	sudeep.dutt@intel.com, ashutosh.dixit@intel.com, arnd@arndb.de,
	kishon@ti.com, lorenzo.pieralisi@arm.com
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-imx@nxp.com
Subject: Re: [PATCH V4 2/2] misc: vop: do not allocate and reassign the used ring
Date: Mon, 26 Oct 2020 18:35:55 +0800	[thread overview]
Message-ID: <202010261805.CY3gKXQX-lkp@intel.com> (raw)
In-Reply-To: <20201026085335.30048-3-sherry.sun@nxp.com>

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

Hi Sherry,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on soc/for-next linus/master v5.10-rc1 next-20201026]
[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/Sherry-Sun/Change-vring-space-from-nomal-memory-to-dma-coherent-memory/20201026-170616
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 726eb70e0d34dc4bc4dada71f52bba8ed638431e
config: i386-randconfig-s001-20201026 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-56-gc09e8239-dirty
        # https://github.com/0day-ci/linux/commit/9ec4633ad59551e4780046500b368eb7993588f3
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Sherry-Sun/Change-vring-space-from-nomal-memory-to-dma-coherent-memory/20201026-170616
        git checkout 9ec4633ad59551e4780046500b368eb7993588f3
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

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 >>)"
>> drivers/misc/mic/vop/vop_main.c:339:17: sparse: sparse: cast removes address space '__iomem' of expression

vim +/__iomem +339 drivers/misc/mic/vop/vop_main.c

   289	
   290	/*
   291	 * This routine will assign vring's allocated in host/io memory. Code in
   292	 * virtio_ring.c however continues to access this io memory as if it were local
   293	 * memory without io accessors.
   294	 */
   295	static struct virtqueue *vop_find_vq(struct virtio_device *dev,
   296					     unsigned index,
   297					     void (*callback)(struct virtqueue *vq),
   298					     const char *name, bool ctx)
   299	{
   300		struct _vop_vdev *vdev = to_vopvdev(dev);
   301		struct vop_device *vpdev = vdev->vpdev;
   302		struct mic_vqconfig __iomem *vqconfig;
   303		struct mic_vqconfig config;
   304		struct virtqueue *vq;
   305		void __iomem *va;
   306		struct _mic_vring_info __iomem *info;
   307		void *used;
   308		int vr_size, _vr_size, err, magic;
   309		u8 type = ioread8(&vdev->desc->type);
   310	
   311		if (index >= ioread8(&vdev->desc->num_vq))
   312			return ERR_PTR(-ENOENT);
   313	
   314		if (!name)
   315			return ERR_PTR(-ENOENT);
   316	
   317		/* First assign the vring's allocated in host memory */
   318		vqconfig = _vop_vq_config(vdev->desc) + index;
   319		memcpy_fromio(&config, vqconfig, sizeof(config));
   320		_vr_size = round_up(vring_size(le16_to_cpu(config.num), MIC_VIRTIO_RING_ALIGN), 4);
   321		vr_size = PAGE_ALIGN(_vr_size + sizeof(struct _mic_vring_info));
   322		va = vpdev->hw_ops->remap(vpdev, le64_to_cpu(config.address), vr_size);
   323		if (!va)
   324			return ERR_PTR(-ENOMEM);
   325		vdev->vr[index] = va;
   326		memset_io(va, 0x0, _vr_size);
   327	
   328		info = va + _vr_size;
   329		magic = ioread32(&info->magic);
   330	
   331		if (WARN(magic != MIC_MAGIC + type + index, "magic mismatch")) {
   332			err = -EIO;
   333			goto unmap;
   334		}
   335	
   336		vdev->used_size[index] = PAGE_ALIGN(sizeof(__u16) * 3 +
   337						     sizeof(struct vring_used_elem) *
   338						     le16_to_cpu(config.num));
 > 339		used = (void *)va + PAGE_ALIGN(sizeof(struct vring_desc) *
   340					       le16_to_cpu(config.num) + sizeof(__u16) *
   341					       (3 + le16_to_cpu(config.num)));
   342		vdev->used_virt[index] = used;
   343		if (!used) {
   344			err = -ENOMEM;
   345			dev_err(_vop_dev(vdev), "%s %d err %d\n",
   346				__func__, __LINE__, err);
   347			goto unmap;
   348		}
   349	
   350		vq = vop_new_virtqueue(index, le16_to_cpu(config.num), dev, ctx,
   351				       (void __force *)va, vop_notify, callback,
   352				       name, used);
   353		if (!vq) {
   354			err = -ENOMEM;
   355			goto unmap;
   356		}
   357	
   358		vdev->used[index] = le64_to_cpu(config.address) +
   359				    PAGE_ALIGN(sizeof(struct vring_desc) *
   360					       le16_to_cpu(config.num) + sizeof(__u16) *
   361					       (3 + le16_to_cpu(config.num)));
   362		writeq(vdev->used[index], &vqconfig->used_address);
   363	
   364		vq->priv = vdev;
   365		return vq;
   366	unmap:
   367		vpdev->hw_ops->unmap(vpdev, vdev->vr[index]);
   368		return ERR_PTR(err);
   369	}
   370	

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

      reply	other threads:[~2020-10-26 10:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26  8:53 [PATCH V4 0/2] Change vring space from nomal memory to dma coherent memory Sherry Sun
2020-10-26  8:53 ` [PATCH V4 1/2] misc: vop: change the way of allocating vring and device page Sherry Sun
2020-10-27 10:40   ` Christoph Hellwig
2020-10-27 12:30     ` Sherry Sun
2020-10-26  8:53 ` [PATCH V4 2/2] misc: vop: do not allocate and reassign the used ring Sherry Sun
2020-10-26 10:35   ` 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=202010261805.CY3gKXQX-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=arnd@arndb.de \
    --cc=ashutosh.dixit@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@infradead.org \
    --cc=kbuild-all@lists.01.org \
    --cc=kishon@ti.com \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=sherry.sun@nxp.com \
    --cc=sudeep.dutt@intel.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).