[PATCH] drm/[amdgpu|radeon]: fix memset on io mem
kernel test robot
lkp at intel.com
Wed Dec 16 13:00:57 UTC 2020
Hi Chen,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.10 next-20201215]
[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/Chen-Li/drm-amdgpu-radeon-fix-memset-on-io-mem/20201216-165835
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d01e7f10dae29eba0f9ada82b65d24e035d5b2f9
config: x86_64-randconfig-a002-20201216 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 71601d2ac9954cb59c443cb3ae442cb106df35d4)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/201257d71c519bef0966e555d95bf820512f5a34
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Chen-Li/drm-amdgpu-radeon-fix-memset-on-io-mem/20201216-165835
git checkout 201257d71c519bef0966e555d95bf820512f5a34
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/radeon/radeon_uvd.c:159:6: warning: format specifies type 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
version_major, version_minor, family_id);
^~~~~~~~~~~~~
include/drm/drm_print.h:484:29: note: expanded from macro 'DRM_INFO'
_DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/drm/drm_print.h:481:53: note: expanded from macro '_DRM_PRINTK'
printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
drivers/gpu/drm/radeon/radeon_uvd.c:159:21: warning: format specifies type 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
version_major, version_minor, family_id);
^~~~~~~~~~~~~
include/drm/drm_print.h:484:29: note: expanded from macro 'DRM_INFO'
_DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/drm/drm_print.h:481:53: note: expanded from macro '_DRM_PRINTK'
printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
drivers/gpu/drm/radeon/radeon_uvd.c:159:36: warning: format specifies type 'unsigned short' but the argument has type 'unsigned int' [-Wformat]
version_major, version_minor, family_id);
^~~~~~~~~
include/drm/drm_print.h:484:29: note: expanded from macro 'DRM_INFO'
_DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/drm/drm_print.h:481:53: note: expanded from macro '_DRM_PRINTK'
printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
>> drivers/gpu/drm/radeon/radeon_uvd.c:805:17: warning: variable 'i' is uninitialized when used here [-Wuninitialized]
memset_io(&msg[i], 0x0, 1013 * sizeof(uint32_t));
^
drivers/gpu/drm/radeon/radeon_uvd.c:787:10: note: initialize the variable 'i' to silence this warning
int r, i;
^
= 0
drivers/gpu/drm/radeon/radeon_uvd.c:833:17: warning: variable 'i' is uninitialized when used here [-Wuninitialized]
memset_io(&msg[i], 0x0, 1020 * sizeof(uint32_t));
^
drivers/gpu/drm/radeon/radeon_uvd.c:822:10: note: initialize the variable 'i' to silence this warning
int r, i;
^
= 0
5 warnings generated.
vim +/i +805 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 *msg = 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 msg[0] = cpu_to_le32(0x00000de4);
795 msg[1] = cpu_to_le32(0x00000000);
796 msg[2] = cpu_to_le32(handle);
797 msg[3] = cpu_to_le32(0x00000000);
798 msg[4] = cpu_to_le32(0x00000000);
799 msg[5] = cpu_to_le32(0x00000000);
800 msg[6] = cpu_to_le32(0x00000000);
801 msg[7] = cpu_to_le32(0x00000780);
802 msg[8] = cpu_to_le32(0x00000440);
803 msg[9] = cpu_to_le32(0x00000000);
804 msg[10] = cpu_to_le32(0x01b37000);
> 805 memset_io(&msg[i], 0x0, 1013 * sizeof(uint32_t));
806
807 r = radeon_uvd_send_msg(rdev, ring, addr, fence);
808 radeon_bo_unreserve(rdev->uvd.vcpu_bo);
809 return r;
810 }
811
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 40358 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201216/9c565f78/attachment-0001.gz>
More information about the dri-devel
mailing list