[PATCH] /msm/adreno: fix different address spaces warning

kernel test robot lkp at intel.com
Wed Mar 31 18:12:30 UTC 2021


Hi Bernard,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.12-rc5 next-20210331]
[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/Bernard-Zhao/msm-adreno-fix-different-address-spaces-warning/20210331-212535
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5e46d1b78a03d52306f21f77a4e4a144b6d31486
config: arm64-randconfig-r011-20210330 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 3a6365a439ede4b7c65076bb42b1b7dbf72216b5)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/ba5ad7c05994836bcb59fd6d7b5b70c8b553ea56
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Bernard-Zhao/msm-adreno-fix-different-address-spaces-warning/20210331-212535
        git checkout ba5ad7c05994836bcb59fd6d7b5b70c8b553ea56
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

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

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:189:2: error: invalid operands to binary expression ('void *' and 'int')
           cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_A, reg);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:190:2: error: invalid operands to binary expression ('void *' and 'int')
           cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_B, reg);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:191:2: error: invalid operands to binary expression ('void *' and 'int')
           cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_C, reg);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:192:2: error: invalid operands to binary expression ('void *' and 'int')
           cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_D, reg);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:197:12: error: invalid operands to binary expression ('void *' and 'int')
           data[0] = cxdbg_read(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:180:30: note: expanded from macro 'cxdbg_read'
           msm_readl((ptr) + ((offset) << 2))
                              ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:198:12: error: invalid operands to binary expression ('void *' and 'int')
           data[1] = cxdbg_read(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:180:30: note: expanded from macro 'cxdbg_read'
           msm_readl((ptr) + ((offset) << 2))
                              ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:356:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLT,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:359:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLM,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:362:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_0, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:363:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_1, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:364:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_2, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:365:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_3, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:367:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:369:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:372:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_0, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:373:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_1, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))
                                      ~~~~~~~~ ^  ~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:374:3: error: invalid operands to binary expression ('void *' and 'int')
                   cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_2, 0);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:177:38: note: expanded from macro 'cxdbg_write'
           msm_writel((val), (ptr) + ((offset) << 2))


vim +189 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c

   175	
   176	#define cxdbg_write(ptr, offset, val) \
   177		msm_writel((val), (ptr) + ((offset) << 2))
   178	
   179	#define cxdbg_read(ptr, offset) \
   180		msm_readl((ptr) + ((offset) << 2))
   181	
   182	/* read a value from the CX debug bus */
   183	static int cx_debugbus_read(void *__iomem cxdbg, u32 block, u32 offset,
   184			u32 *data)
   185	{
   186		u32 reg = A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX(offset) |
   187			A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL(block);
   188	
 > 189		cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_A, reg);
   190		cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_B, reg);
   191		cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_C, reg);
   192		cxdbg_write(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_D, reg);
   193	
   194		/* Wait 1 us to make sure the data is flowing */
   195		udelay(1);
   196	
   197		data[0] = cxdbg_read(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2);
   198		data[1] = cxdbg_read(cxdbg, (void __iomem *)REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1);
   199	
   200		return 2;
   201	}
   202	

---
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: 38340 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20210401/ec544919/attachment-0001.gz>


More information about the dri-devel mailing list