All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Chen Li <chenli@uniontech.com>
Cc: kbuild-all@lists.01.org,
	"Linux Memory Management List" <linux-mm@kvack.org>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>
Subject: [linux-next:master 1498/2759] drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse: sparse: incorrect type in argument 1 (different base types)
Date: Mon, 11 Jan 2021 22:17:22 +0800	[thread overview]
Message-ID: <202101112217.zOJ7z5ri-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   ef8b014ee4a1ccd9e751732690a8c7cdeed945e7
commit: ede6b6bc43c68ef030f88235e91e85939b8bdb49 [1498/2759] drm/radeon: use writel to avoid gcc optimization v3
config: powerpc-randconfig-s031-20210111 (attached as .config)
compiler: powerpc64-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-208-g46a52ca4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ede6b6bc43c68ef030f88235e91e85939b8bdb49
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout ede6b6bc43c68ef030f88235e91e85939b8bdb49
        # 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=powerpc 

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/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:796:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:796:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:796:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:801:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:801:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:801:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:802:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:802:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:802:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:804:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:804:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:804:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:830:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:830:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:830:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:831:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:831:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:831:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:832:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:832:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:832:16: sparse:     got restricted __le32 [usertype]

vim +794 drivers/gpu/drm/radeon/radeon_uvd.c

   771	
   772	/*
   773	 * multiple fence commands without any stream commands in between can
   774	 * crash the vcpu so just try to emmit a dummy create/destroy msg to
   775	 * avoid this
   776	 */
   777	int radeon_uvd_get_create_msg(struct radeon_device *rdev, int ring,
   778				      uint32_t handle, struct radeon_fence **fence)
   779	{
   780		/* we use the last page of the vcpu bo for the UVD message */
   781		uint64_t offs = radeon_bo_size(rdev->uvd.vcpu_bo) -
   782			RADEON_GPU_PAGE_SIZE;
   783	
   784		uint32_t __iomem *msg = (void __iomem *)(rdev->uvd.cpu_addr + offs);
   785		uint64_t addr = rdev->uvd.gpu_addr + offs;
   786	
   787		int r, i;
   788	
   789		r = radeon_bo_reserve(rdev->uvd.vcpu_bo, true);
   790		if (r)
   791			return r;
   792	
   793		/* stitch together an UVD create msg */
 > 794		writel(cpu_to_le32(0x00000de4), &msg[0]);
   795		writel(0x0, (void __iomem *)&msg[1]);
   796		writel(cpu_to_le32(handle), &msg[2]);
   797		writel(0x0, &msg[3]);
   798		writel(0x0, &msg[4]);
   799		writel(0x0, &msg[5]);
   800		writel(0x0, &msg[6]);
   801		writel(cpu_to_le32(0x00000780), &msg[7]);
   802		writel(cpu_to_le32(0x00000440), &msg[8]);
   803		writel(0x0, &msg[9]);
   804		writel(cpu_to_le32(0x01b37000), &msg[10]);
   805		for (i = 11; i < 1024; ++i)
   806			writel(0x0, &msg[i]);
   807	
   808		r = radeon_uvd_send_msg(rdev, ring, addr, fence);
   809		radeon_bo_unreserve(rdev->uvd.vcpu_bo);
   810		return r;
   811	}
   812	

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [linux-next:master 1498/2759] drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse: sparse: incorrect type in argument 1 (different base types)
Date: Mon, 11 Jan 2021 22:17:22 +0800	[thread overview]
Message-ID: <202101112217.zOJ7z5ri-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   ef8b014ee4a1ccd9e751732690a8c7cdeed945e7
commit: ede6b6bc43c68ef030f88235e91e85939b8bdb49 [1498/2759] drm/radeon: use writel to avoid gcc optimization v3
config: powerpc-randconfig-s031-20210111 (attached as .config)
compiler: powerpc64-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-208-g46a52ca4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ede6b6bc43c68ef030f88235e91e85939b8bdb49
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout ede6b6bc43c68ef030f88235e91e85939b8bdb49
        # 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=powerpc 

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/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:155:37: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:156:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/radeon/radeon_uvd.c:157:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:796:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:796:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:796:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:801:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:801:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:801:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:802:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:802:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:802:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:804:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:804:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:804:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:830:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:830:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:830:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:831:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:831:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:831:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/radeon/radeon_uvd.c:832:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/radeon/radeon_uvd.c:832:16: sparse:     expected unsigned int [usertype] val
   drivers/gpu/drm/radeon/radeon_uvd.c:832:16: sparse:     got restricted __le32 [usertype]

vim +794 drivers/gpu/drm/radeon/radeon_uvd.c

   771	
   772	/*
   773	 * multiple fence commands without any stream commands in between can
   774	 * crash the vcpu so just try to emmit a dummy create/destroy msg to
   775	 * avoid this
   776	 */
   777	int radeon_uvd_get_create_msg(struct radeon_device *rdev, int ring,
   778				      uint32_t handle, struct radeon_fence **fence)
   779	{
   780		/* we use the last page of the vcpu bo for the UVD message */
   781		uint64_t offs = radeon_bo_size(rdev->uvd.vcpu_bo) -
   782			RADEON_GPU_PAGE_SIZE;
   783	
   784		uint32_t __iomem *msg = (void __iomem *)(rdev->uvd.cpu_addr + offs);
   785		uint64_t addr = rdev->uvd.gpu_addr + offs;
   786	
   787		int r, i;
   788	
   789		r = radeon_bo_reserve(rdev->uvd.vcpu_bo, true);
   790		if (r)
   791			return r;
   792	
   793		/* stitch together an UVD create msg */
 > 794		writel(cpu_to_le32(0x00000de4), &msg[0]);
   795		writel(0x0, (void __iomem *)&msg[1]);
   796		writel(cpu_to_le32(handle), &msg[2]);
   797		writel(0x0, &msg[3]);
   798		writel(0x0, &msg[4]);
   799		writel(0x0, &msg[5]);
   800		writel(0x0, &msg[6]);
   801		writel(cpu_to_le32(0x00000780), &msg[7]);
   802		writel(cpu_to_le32(0x00000440), &msg[8]);
   803		writel(0x0, &msg[9]);
   804		writel(cpu_to_le32(0x01b37000), &msg[10]);
   805		for (i = 11; i < 1024; ++i)
   806			writel(0x0, &msg[i]);
   807	
   808		r = radeon_uvd_send_msg(rdev, ring, addr, fence);
   809		radeon_bo_unreserve(rdev->uvd.vcpu_bo);
   810		return r;
   811	}
   812	

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

             reply	other threads:[~2021-01-11 14:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-11 14:17 kernel test robot [this message]
2021-01-11 14:17 ` [linux-next:master 1498/2759] drivers/gpu/drm/radeon/radeon_uvd.c:794:16: sparse: sparse: incorrect type in argument 1 (different base types) kernel test robot
2021-01-11 15:04 kernel test robot
2021-01-11 15:04 ` kernel test robot
2021-01-11 22:33 kernel test robot
2021-01-11 22:33 ` kernel test robot

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=202101112217.zOJ7z5ri-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alexander.deucher@amd.com \
    --cc=chenli@uniontech.com \
    --cc=christian.koenig@amd.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-mm@kvack.org \
    /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.