Hi suijingfeng,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[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#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/suijingfeng/MAINTAINERS-add-maintainers-for-DRM-LOONGSON-driver/20230301-153240
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20230301072306.572685-1-15330273260%40189.cn
patch subject: [PATCH v6 1/2] drm: add kms driver for loongson display 
controller
config: mips-allyesconfig 
(https://download.01.org/0day-ci/archive/20230301/202303012148.s6ymqni9-...@intel.com/config)
compiler: mips-linux-gcc (GCC) 12.1.0
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
        # 
https://github.com/intel-lab-lkp/linux/commit/125bbfe8c188e62159ecd4d143246d36b1801f79
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
suijingfeng/MAINTAINERS-add-maintainers-for-DRM-LOONGSON-driver/20230301-153240
        git checkout 125bbfe8c188e62159ecd4d143246d36b1801f79
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 
O=build_dir ARCH=mips olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 
O=build_dir ARCH=mips SHELL=/bin/bash drivers/gpu/drm/loongson/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <l...@intel.com>
| Link: 
https://lore.kernel.org/oe-kbuild-all/202303012148.s6ymqni9-...@intel.com/

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/loongson/lsdc_plane.c: In function 
'lsdc_update_primary_plane':
>> drivers/gpu/drm/loongson/lsdc_plane.c:95:20: warning: cast to pointer from 
>> integer of different size [-Wint-to-pointer-cast]
      95 |         if (IS_ERR((void *)bo_offset)) {
         |                    ^
--
   In file included from include/linux/printk.h:566,
                    from include/asm-generic/bug.h:22,
                    from arch/mips/include/asm/bug.h:42,
                    from include/linux/bug.h:5,
                    from include/linux/thread_info.h:13,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/mips/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:78,
                    from include/linux/spinlock.h:56,
                    from include/linux/kref.h:16,
                    from include/drm/drm_device.h:5,
                    from include/drm/drm_drv.h:35,
                    from drivers/gpu/drm/loongson/lsdc_ttm.c:3:
   drivers/gpu/drm/loongson/lsdc_ttm.c: In function 'lsdc_dumb_create':
>> drivers/gpu/drm/loongson/lsdc_ttm.c:378:23: warning: format '%lu' expects 
>> argument of type 'long unsigned int', but argument 5 has type 'size_t' {aka 
>> 'unsigned int'} [-Wformat=]
     378 |         drm_dbg(ddev, "pitch: %lu, height: %u\n", pitch, 
args->height);
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~
         |                                                   |
         |                                                   size_t {aka 
unsigned int}
   include/linux/dynamic_debug.h:223:29: note: in definition of macro 
'__dynamic_func_call_cls'
     223 |                 func(&id, ##__VA_ARGS__);                       \
         |                             ^~~~~~~~~~~
   include/drm/drm_print.h:413:9: note: in expansion of macro 
'_dynamic_func_call_cls'
     413 |         _dynamic_func_call_cls(cat, fmt, __drm_dev_dbg,         \
         |         ^~~~~~~~~~~~~~~~~~~~~~
   include/drm/drm_print.h:492:9: note: in expansion of macro 'drm_dev_dbg'
     492 |         drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_DRIVER, fmt, 
##__VA_ARGS__)
         |         ^~~~~~~~~~~
   include/drm/drm_print.h:510:33: note: in expansion of macro 'drm_dbg_driver'
     510 | #define drm_dbg(drm, fmt, ...)  drm_dbg_driver(drm, fmt, 
##__VA_ARGS__)
         |                                 ^~~~~~~~~~~~~~
   drivers/gpu/drm/loongson/lsdc_ttm.c:378:9: note: in expansion of macro 
'drm_dbg'
     378 |         drm_dbg(ddev, "pitch: %lu, height: %u\n", pitch, 
args->height);
         |         ^~~~~~~
   drivers/gpu/drm/loongson/lsdc_ttm.c:378:33: note: format string is defined 
here
     378 |         drm_dbg(ddev, "pitch: %lu, height: %u\n", pitch, 
args->height);
         |                               ~~^
         |                                 |
         |                                 long unsigned int
         |                               %u


vim +95 drivers/gpu/drm/loongson/lsdc_plane.c

    77  
    78  static void lsdc_update_primary_plane(struct drm_plane *plane,
    79                                        struct drm_atomic_state *state)
    80  {
    81          struct drm_device *ddev = plane->dev;
    82          struct lsdc_device *ldev = to_lsdc(ddev);
    83          struct drm_plane_state *new_plane_state = 
drm_atomic_get_new_plane_state(state, plane);
    84          struct drm_crtc *crtc = new_plane_state->crtc;
    85          struct drm_framebuffer *fb = new_plane_state->fb;
    86          struct ttm_buffer_object *tbo = to_ttm_bo(fb->obj[0]);
    87          unsigned int pipe = drm_crtc_index(crtc);
    88          unsigned int fb_offset = lsdc_get_fb_offset(fb, 
new_plane_state, 0);
    89          u64 bo_offset = lsdc_bo_gpu_offset(tbo);
    90          u64 fb_addr = ldev->vram_base + bo_offset + fb_offset;
    91          u32 stride = fb->pitches[0];
    92          u32 cfg;
    93          u32 lo, hi;
    94  
  > 95          if (IS_ERR((void *)bo_offset)) {
    96                  drm_warn(ddev, "bo not pinned, should not happen\n");
    97                  return;
    98          }
    99  
   100          /* 40-bit width physical address bus */
   101          lo = fb_addr & 0xFFFFFFFF;
   102          hi = (fb_addr >> 32) & 0xFF;
   103  
   104          cfg = lsdc_crtc_rreg32(ldev, LSDC_CRTC0_CFG_REG, pipe);
   105          if (cfg & CFG_FB_IN_USING) {
   106                  drm_dbg(ddev, "CRTC-%u(FB1) is in using\n", pipe);
   107                  lsdc_crtc_wreg32(ldev, LSDC_CRTC0_FB1_LO_ADDR_REG, 
pipe, lo);
   108                  lsdc_crtc_wreg32(ldev, LSDC_CRTC0_FB1_HI_ADDR_REG, 
pipe, hi);
   109          } else {
   110                  drm_dbg(ddev, "CRTC-%u(FB0) is in using\n", pipe);
   111                  lsdc_crtc_wreg32(ldev, LSDC_CRTC0_FB0_LO_ADDR_REG, 
pipe, lo);
   112                  lsdc_crtc_wreg32(ldev, LSDC_CRTC0_FB0_HI_ADDR_REG, 
pipe, hi);
   113          }
   114  
   115          drm_dbg(ddev, "CRTC-%u scanout from 0x%llx\n", pipe, fb_addr);
   116  
   117          lsdc_crtc_wreg32(ldev, LSDC_CRTC0_STRIDE_REG, pipe, stride);
   118  
   119          cfg &= ~CFG_PIX_FMT_MASK;
   120          cfg |= LSDC_PF_XRGB8888;
   121  
   122          lsdc_crtc_wreg32(ldev, LSDC_CRTC0_CFG_REG, pipe, cfg);
   123  }
   124  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

Reply via email to