tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   69119673bd50b176ded34032fadd41530fb5af21
commit: bb0db70f3f75e0d994a627f22c3ff2d8ec6191c4 drm/amdgpu: separate JPEG1.0 
code out from VCN1.0
date:   7 months ago
config: s390-randconfig-r004-20200617 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 
487ca07fcc75d52755c9fe2ee05bcb3b6eeeec44)
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 s390 cross compiling tool for clang build
        # apt-get install binutils-s390-linux-gnu
        git checkout bb0db70f3f75e0d994a627f22c3ff2d8ec6191c4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_mode.h:33:
In file included from include/drm/drm_crtc.h:31:
In file included from include/linux/fb.h:17:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:118:21: note: expanded from macro '__swab32'
___constant_swab32(x) :                                               ^
include/uapi/linux/swab.h:19:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x0000ff00UL) <<  8) |                                 ^
In file included from drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:24:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:57:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_mode.h:33:
In file included from include/drm/drm_crtc.h:31:
In file included from include/linux/fb.h:17:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:118:21: note: expanded from macro '__swab32'
___constant_swab32(x) :                                               ^
include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x00ff0000UL) >>  8) |                                 ^
In file included from drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:24:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:57:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_mode.h:33:
In file included from include/drm/drm_crtc.h:31:
In file included from include/linux/fb.h:17:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:118:21: note: expanded from macro '__swab32'
___constant_swab32(x) :                                               ^
include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
In file included from drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:24:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:57:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_mode.h:33:
In file included from include/drm/drm_crtc.h:31:
In file included from include/linux/fb.h:17:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro 
'__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:12: note: expanded from macro '__swab32'
__fswab32(x))
^
In file included from drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:24:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu.h:57:
In file included from drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_mode.h:33:
In file included from include/drm/drm_crtc.h:31:
In file included from include/linux/fb.h:17:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:503:33: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:513:46: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew(cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:523:46: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel(cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:585:20: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:593:20: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:601:20: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:610:21: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:619:21: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:628:21: warning: performing pointer arithmetic on a 
null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:451:5: warning: no previous prototype 
>> for function 'jpeg_v1_0_early_init' [-Wmissing-prototypes]
int jpeg_v1_0_early_init(void *handle)
^
drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:451:1: note: declare 'static' if the 
function is not intended to be used outside of this translation unit
int jpeg_v1_0_early_init(void *handle)
^
static
>> drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:469:5: warning: no previous prototype 
>> for function 'jpeg_v1_0_sw_init' [-Wmissing-prototypes]
int jpeg_v1_0_sw_init(void *handle)
^
drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:469:1: note: declare 'static' if the 
function is not intended to be used outside of this translation unit
int jpeg_v1_0_sw_init(void *handle)
^
static
>> drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:499:6: warning: no previous prototype 
>> for function 'jpeg_v1_0_sw_fini' [-Wmissing-prototypes]
void jpeg_v1_0_sw_fini(void *handle)
^
drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:499:1: note: declare 'static' if the 
function is not intended to be used outside of this translation unit
void jpeg_v1_0_sw_fini(void *handle)
^
static
>> drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:513:6: warning: no previous prototype 
>> for function 'jpeg_v1_0_start' [-Wmissing-prototypes]
void jpeg_v1_0_start(struct amdgpu_device *adev, int mode)
^
drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c:513:1: note: declare 'static' if the 
function is not intended to be used outside of this translation unit
void jpeg_v1_0_start(struct amdgpu_device *adev, int mode)
^
static
24 warnings generated.

vim +/jpeg_v1_0_early_init +451 drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c

   443  
   444  /**
   445   * jpeg_v1_0_early_init - set function pointers
   446   *
   447   * @handle: amdgpu_device pointer
   448   *
   449   * Set ring and irq function pointers
   450   */
 > 451  int jpeg_v1_0_early_init(void *handle)
   452  {
   453          struct amdgpu_device *adev = (struct amdgpu_device *)handle;
   454  
   455          adev->jpeg.num_jpeg_inst = 1;
   456  
   457          jpeg_v1_0_set_dec_ring_funcs(adev);
   458          jpeg_v1_0_set_irq_funcs(adev);
   459  
   460          return 0;
   461  }
   462  
   463  /**
   464   * jpeg_v1_0_sw_init - sw init for JPEG block
   465   *
   466   * @handle: amdgpu_device pointer
   467   *
   468   */
 > 469  int jpeg_v1_0_sw_init(void *handle)
   470  {
   471          struct amdgpu_device *adev = (struct amdgpu_device *)handle;
   472          struct amdgpu_ring *ring;
   473          int r;
   474  
   475          /* JPEG TRAP */
   476          r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, 126, 
&adev->jpeg.inst->irq);
   477          if (r)
   478                  return r;
   479  
   480          ring = &adev->jpeg.inst->ring_dec;
   481          sprintf(ring->name, "jpeg_dec");
   482          r = amdgpu_ring_init(adev, ring, 512, &adev->jpeg.inst->irq, 0);
   483          if (r)
   484                  return r;
   485  
   486          adev->jpeg.internal.jpeg_pitch = 
adev->jpeg.inst->external.jpeg_pitch =
   487                  SOC15_REG_OFFSET(JPEG, 0, mmUVD_JPEG_PITCH);
   488  
   489          return 0;
   490  }
   491  
   492  /**
   493   * jpeg_v1_0_sw_fini - sw fini for JPEG block
   494   *
   495   * @handle: amdgpu_device pointer
   496   *
   497   * JPEG free up sw allocation
   498   */
 > 499  void jpeg_v1_0_sw_fini(void *handle)
   500  {
   501          struct amdgpu_device *adev = (struct amdgpu_device *)handle;
   502  
   503          amdgpu_ring_fini(&adev->jpeg.inst[0].ring_dec);
   504  }
   505  
   506  /**
   507   * jpeg_v1_0_start - start JPEG block
   508   *
   509   * @adev: amdgpu_device pointer
   510   *
   511   * Setup and start the JPEG block
   512   */
 > 513  void jpeg_v1_0_start(struct amdgpu_device *adev, int mode)
   514  {
   515          struct amdgpu_ring *ring = &adev->jpeg.inst->ring_dec;
   516  
   517          if (mode == 0) {
   518                  WREG32_SOC15(JPEG, 0, mmUVD_LMI_JRBC_RB_VMID, 0);
   519                  WREG32_SOC15(JPEG, 0, mmUVD_JRBC_RB_CNTL, 
UVD_JRBC_RB_CNTL__RB_NO_FETCH_MASK |
   520                                  UVD_JRBC_RB_CNTL__RB_RPTR_WR_EN_MASK);
   521                  WREG32_SOC15(JPEG, 0, mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW, 
lower_32_bits(ring->gpu_addr));
   522                  WREG32_SOC15(JPEG, 0, mmUVD_LMI_JRBC_RB_64BIT_BAR_HIGH, 
upper_32_bits(ring->gpu_addr));
   523                  WREG32_SOC15(JPEG, 0, mmUVD_JRBC_RB_RPTR, 0);
   524                  WREG32_SOC15(JPEG, 0, mmUVD_JRBC_RB_WPTR, 0);
   525          }       WREG32_SOC15(JPEG, 0, mmUVD_JRBC_RB_CNTL, 
UVD_JRBC_RB_CNTL__RB_RPTR_WR_EN_MASK);
   526  
   527          /* initialize wptr */
   528          ring->wptr = RREG32_SOC15(JPEG, 0, mmUVD_JRBC_RB_WPTR);
   529  
   530          /* copy patch commands to the jpeg ring */
   531          jpeg_v1_0_decode_ring_set_patch_ring(ring,
   532                  (ring->wptr + ring->max_dw * 
amdgpu_sched_hw_submission));
   533  }
   534  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to