Hi Thomas, Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master] [cannot apply to v5.4-rc3 next-20191014] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/DRM-fbconv-helpers-for-converting-fbdev-drivers/20191015-152231 reproduce: # apt-get install sparse # sparse version: v0.6.1-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot <l...@intel.com> sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/drm_fbconv_helper.c:981:39: sparse: sparse: incorrect type >> in argument 1 (different address spaces) @@ expected void [noderef] >> <asn:2> *dst @@ got n:2> *dst @@ >> drivers/gpu/drm/drm_fbconv_helper.c:981:39: sparse: expected void >> [noderef] <asn:2> *dst >> drivers/gpu/drm/drm_fbconv_helper.c:981:39: sparse: got void *dst drivers/gpu/drm/drm_fbconv_helper.c:985:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> *dst @@ got n:2> *dst @@ drivers/gpu/drm/drm_fbconv_helper.c:985:51: sparse: expected void [noderef] <asn:2> *dst drivers/gpu/drm/drm_fbconv_helper.c:985:51: sparse: got void *dst drivers/gpu/drm/drm_fbconv_helper.c:990:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> *dst @@ got n:2> *dst @@ drivers/gpu/drm/drm_fbconv_helper.c:990:51: sparse: expected void [noderef] <asn:2> *dst drivers/gpu/drm/drm_fbconv_helper.c:990:51: sparse: got void *dst >> drivers/gpu/drm/drm_fbconv_helper.c:1291:21: sparse: sparse: incorrect type >> in assignment (different address spaces) @@ expected void *screen_base @@ >> got char [noderef] <asvoid *screen_base @@ >> drivers/gpu/drm/drm_fbconv_helper.c:1291:21: sparse: expected void >> *screen_base >> drivers/gpu/drm/drm_fbconv_helper.c:1291:21: sparse: got char [noderef] >> <asn:2> *screen_base >> drivers/gpu/drm/drm_fbconv_helper.c:1294:29: sparse: sparse: incorrect type >> in assignment (different address spaces) @@ expected void *screen_base @@ >> got void [noderef] <asvoid *screen_base @@ drivers/gpu/drm/drm_fbconv_helper.c:1294:29: sparse: expected void *screen_base >> drivers/gpu/drm/drm_fbconv_helper.c:1294:29: sparse: got void [noderef] >> <asn:2> * >> drivers/gpu/drm/drm_fbconv_helper.c:1318:25: sparse: sparse: incorrect type >> in argument 1 (different address spaces) @@ expected void volatile >> [noderef] <asn:2> *addr @@ got n:2> *addr @@ >> drivers/gpu/drm/drm_fbconv_helper.c:1318:25: sparse: expected void >> volatile [noderef] <asn:2> *addr >> drivers/gpu/drm/drm_fbconv_helper.c:1318:25: sparse: got void *screen_base drivers/gpu/drm/drm_fbconv_helper.c:1346:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got n:2> *addr @@ drivers/gpu/drm/drm_fbconv_helper.c:1346:38: sparse: expected void volatile [noderef] <asn:2> *addr drivers/gpu/drm/drm_fbconv_helper.c:1346:38: sparse: got void *screen_base vim +981 drivers/gpu/drm/drm_fbconv_helper.c 956 957 /** 958 * drm_fbconv_blit_rect - copy an area of pixel data from a framebuffer 959 * to the hardware buffer 960 * @dst: the on-screen hardware buffer 961 * @vaddr: the source buffer in kernel address space 962 * @fb: the framebuffer of the source buffer 963 * @rect: the area to copy 964 * Returns: 965 * 0 on success, or 966 * a negative error code otherwise. 967 * 968 * This function copies the pixel data from a DRM framebuffer to a hardware 969 * buffer; doing necessary format conversion in the process. Not all 970 * combinations of source and destination formats are currently supported. 971 */ 972 int drm_fbconv_blit_rect(void *dst, void *vaddr, struct drm_framebuffer *fb, 973 struct drm_rect *rect) 974 { 975 struct drm_device *dev = fb->dev; 976 977 if (!vaddr) 978 return 0; /* no framebuffer set for plane; no error */ 979 980 if (dev->mode_config.preferred_depth == (fb->format->cpp[0] * 8)) > 981 drm_fb_memcpy_dstclip(dst, vaddr, fb, rect); 982 983 else if (fb->format->cpp[0] == 4 && 984 dev->mode_config.preferred_depth == 16) > 985 drm_fb_xrgb8888_to_rgb565_dstclip(dst, fb->pitches[0], 986 vaddr, fb, rect, false); 987 988 else if (fb->format->cpp[0] == 4 && 989 dev->mode_config.preferred_depth == 24) > 990 drm_fb_xrgb8888_to_rgb888_dstclip(dst, fb->pitches[0], 991 vaddr, fb, rect); 992 993 else { 994 /* TODO: add the missing conversion */ 995 DRM_ERROR("fbconv: mismatching pixel formats\n"); 996 return -EINVAL; 997 } 998 999 return 0; 1000 } 1001 EXPORT_SYMBOL(drm_fbconv_blit_rect); 1002 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel