Re: [PATCH] drm/msm/display: negative x/y in cursor move

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Carsten,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on robclark/msm-next]
[also build test WARNING on v4.18-rc5 next-20180716]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Carsten-Behling/drm-msm-display-negative-x-y-in-cursor-move/20180717-031351
base:   git://people.freedesktop.org/~robclark/linux msm-next
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm64 

All warnings (new ones prefixed by >>):

   In file included from include/drm/drm_mm.h:49:0,
                    from include/drm/drmP.h:73,
                    from include/drm/drm_modeset_helper.h:26,
                    from include/drm/drm_crtc_helper.h:44,
                    from drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:22:
   drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c: In function 'mdp5_crtc_restore_cursor':
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:831:6: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'uint32_t {aka unsigned int}' [-Wformat=]
     DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
         ^
   include/drm/drm_print.h:285:25: note: in definition of macro 'DRM_DEBUG_DRIVER'
     drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
                            ^~~
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:831:2: note: in expansion of macro 'DBG'
     DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
     ^~~
   drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:831:8: note: format string is defined here
     DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
          ~^
          %d
   In file included from include/drm/drm_mm.h:49:0,
                    from include/drm/drmP.h:73,
                    from include/drm/drm_modeset_helper.h:26,
                    from include/drm/drm_crtc_helper.h:44,
                    from drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:22:
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:831:6: warning: format '%d' expects a matching 'int' argument [-Wformat=]
     DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
         ^
   include/drm/drm_print.h:285:25: note: in definition of macro 'DRM_DEBUG_DRIVER'
     drm_dbg(DRM_UT_DRIVER, fmt, ##__VA_ARGS__)
                            ^~~
>> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:831:2: note: in expansion of macro 'DBG'
     DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
     ^~~
   drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c:831:56: note: format string is defined here
     DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
                                                          ~^

vim +831 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c

   789	
   790	static void mdp5_crtc_restore_cursor(struct drm_crtc *crtc)
   791	{
   792		struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
   793		struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
   794		struct mdp5_kms *mdp5_kms = get_kms(crtc);
   795		const enum mdp5_cursor_alpha cur_alpha = CURSOR_ALPHA_PER_PIXEL;
   796		uint32_t blendcfg, stride;
   797		uint32_t x, y, src_x, src_y, width, height;
   798		uint32_t roi_w, roi_h;
   799		int lm;
   800	
   801		assert_spin_locked(&mdp5_crtc->cursor.lock);
   802	
   803		lm = mdp5_cstate->pipeline.mixer->lm;
   804	
   805		x = mdp5_crtc->cursor.x;
   806		y = mdp5_crtc->cursor.y;
   807		width = mdp5_crtc->cursor.width;
   808		height = mdp5_crtc->cursor.height;
   809	
   810		stride = width * drm_format_plane_cpp(DRM_FORMAT_ARGB8888, 0);
   811	
   812		get_roi(crtc, &roi_w, &roi_h);
   813	
   814		/* If cusror buffer overlaps due to rotation on the
   815		 * upper or left screen border the pixel offset inside
   816		 * the cursor buffer of the ROI is the positive overlap
   817		 * distance.
   818		 */
   819		if (mdp5_crtc->cursor.x < 0) {
   820			src_x = abs(mdp5_crtc->cursor.x);
   821			x = 0;
   822		} else {
   823			src_x = 0;
   824		}
   825		if (mdp5_crtc->cursor.y < 0) {
   826			src_y = abs(mdp5_crtc->cursor.y);
   827			y = 0;
   828		} else {
   829			src_y = 0;
   830		}
 > 831		DBG("%s: x=%d, y=%d roi_w=%d roi_h=%d src_x=%d src_y=%d",
   832			x, y, roi_w, roi_h, src_x, src_y);
   833	
   834		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_STRIDE(lm), stride);
   835		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_FORMAT(lm),
   836				MDP5_LM_CURSOR_FORMAT_FORMAT(CURSOR_FMT_ARGB8888));
   837		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_IMG_SIZE(lm),
   838				MDP5_LM_CURSOR_IMG_SIZE_SRC_H(height) |
   839				MDP5_LM_CURSOR_IMG_SIZE_SRC_W(width));
   840		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_SIZE(lm),
   841				MDP5_LM_CURSOR_SIZE_ROI_H(roi_h) |
   842				MDP5_LM_CURSOR_SIZE_ROI_W(roi_w));
   843		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_START_XY(lm),
   844				MDP5_LM_CURSOR_START_XY_Y_START(y) |
   845				MDP5_LM_CURSOR_START_XY_X_START(x));
   846		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_XY(lm),
   847				MDP5_LM_CURSOR_XY_SRC_Y(src_y) |
   848				MDP5_LM_CURSOR_XY_SRC_X(src_x));
   849		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_BASE_ADDR(lm),
   850				mdp5_crtc->cursor.iova);
   851	
   852		blendcfg = MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_EN;
   853		blendcfg |= MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_ALPHA_SEL(cur_alpha);
   854		mdp5_write(mdp5_kms, REG_MDP5_LM_CURSOR_BLEND_CONFIG(lm), blendcfg);
   855	}
   856	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux