Hi Stefan, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on v4.16-rc4] [also build test WARNING on next-20180316] [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/Stefan-Schake/drm-vc4-Atomic-color-management-support/20180318-120701 config: sh-allmodconfig (attached as .config) compiler: sh4-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 make.cross ARCH=sh All warnings (new ones prefixed by >>): drivers/gpu/drm/vc4/vc4_crtc.c: In function 'vc4_crtc_update_gamma_lut': drivers/gpu/drm/vc4/vc4_crtc.c:305:30: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] struct drm_color_lut *lut = crtc->state->gamma_lut->data; ^~~~ drivers/gpu/drm/vc4/vc4_crtc.c: In function 'vc4_crtc_update_ctm': drivers/gpu/drm/vc4/vc4_crtc.c:340:30: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] struct drm_color_ctm *ctm = crtc->state->ctm->data; ^~~~ In file included from include/linux/fb.h:17:0, from include/drm/drm_crtc.h:31, from include/drm/drm_atomic.h:31, from drivers/gpu/drm/vc4/vc4_crtc.c:35: drivers/gpu/drm/vc4/vc4_crtc.c:342:12: error: 'SCALER_OLEDCOEF2' undeclared (first use in this function); did you mean 'SCALER_DISPCTRL2'? HVS_WRITE(SCALER_OLEDCOEF2, ^ arch/sh/include/asm/io.h:31:71: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:342:12: note: each undeclared identifier is reported only once for each function it appears in HVS_WRITE(SCALER_OLEDCOEF2, ^ arch/sh/include/asm/io.h:31:71: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:344:5: error: 'SCALER_OLEDCOEF2_R_TO_R_SHIFT' undeclared (first use in this function); did you mean 'SCALER_CSC0_COEF_CR_OFS_SHIFT'? SCALER_OLEDCOEF2_R_TO_R) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:343:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[0]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:344:5: error: 'SCALER_OLEDCOEF2_R_TO_R_MASK' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_R_SHIFT'? SCALER_OLEDCOEF2_R_TO_R) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_regs.h:19:3: note: in expansion of macro 'WARN_ON' WARN_ON((fieldval & ~field##_MASK) != 0); \ ^~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:343:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[0]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:346:5: error: 'SCALER_OLEDCOEF2_R_TO_G_SHIFT' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_R_SHIFT'? SCALER_OLEDCOEF2_R_TO_G) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:345:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[3]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:346:5: error: 'SCALER_OLEDCOEF2_R_TO_G_MASK' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_R_MASK'? SCALER_OLEDCOEF2_R_TO_G) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_regs.h:19:3: note: in expansion of macro 'WARN_ON' WARN_ON((fieldval & ~field##_MASK) != 0); \ ^~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:345:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[3]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:348:5: error: 'SCALER_OLEDCOEF2_R_TO_B_SHIFT' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_G_SHIFT'? SCALER_OLEDCOEF2_R_TO_B)); ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:347:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[6]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:348:5: error: 'SCALER_OLEDCOEF2_R_TO_B_MASK' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_G_MASK'? SCALER_OLEDCOEF2_R_TO_B)); ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ >> drivers/gpu/drm/vc4/vc4_crtc.c:342:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF2, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_regs.h:19:3: note: in expansion of macro 'WARN_ON' WARN_ON((fieldval & ~field##_MASK) != 0); \ ^~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:347:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[6]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:349:12: error: 'SCALER_OLEDCOEF1' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2'? HVS_WRITE(SCALER_OLEDCOEF1, ^ arch/sh/include/asm/io.h:31:71: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:349:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF1, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:351:5: error: 'SCALER_OLEDCOEF1_G_TO_R_SHIFT' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_R_SHIFT'? SCALER_OLEDCOEF1_G_TO_R) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:349:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF1, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:350:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[1]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:351:5: error: 'SCALER_OLEDCOEF1_G_TO_R_MASK' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF2_R_TO_R_MASK'? SCALER_OLEDCOEF1_G_TO_R) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:349:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF1, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_regs.h:19:3: note: in expansion of macro 'WARN_ON' WARN_ON((fieldval & ~field##_MASK) != 0); \ ^~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:350:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[1]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:353:5: error: 'SCALER_OLEDCOEF1_G_TO_G_SHIFT' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF1_G_TO_R_SHIFT'? SCALER_OLEDCOEF1_G_TO_G) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ >> drivers/gpu/drm/vc4/vc4_drv.h:301:32: note: in expansion of macro 'writel' #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) ^~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:349:2: note: in expansion of macro 'HVS_WRITE' HVS_WRITE(SCALER_OLEDCOEF1, ^~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:352:5: note: in expansion of macro 'VC4_SET_FIELD' VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[4]), ^~~~~~~~~~~~~ drivers/gpu/drm/vc4/vc4_crtc.c:353:5: error: 'SCALER_OLEDCOEF1_G_TO_G_MASK' undeclared (first use in this function); did you mean 'SCALER_OLEDCOEF1_G_TO_R_MASK'? SCALER_OLEDCOEF1_G_TO_G) | ^ arch/sh/include/asm/io.h:31:77: note: in definition of macro '__raw_writel' #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) ^ arch/sh/include/asm/io.h:46:62: note: in expansion of macro 'ioswabl' #define writel_relaxed(v,c) ((void)__raw_writel((__force u32)ioswabl(v),c)) ^~~~~~~ arch/sh/include/asm/io.h:56:32: note: in expansion of macro 'writel_relaxed' #define writel(v,a) ({ wmb(); writel_relaxed((v),(a)); }) ^~~~~~~~~~~~~~ vim +/HVS_WRITE +342 drivers/gpu/drm/vc4/vc4_crtc.c 333 334 static void 335 vc4_crtc_update_ctm(struct drm_crtc *crtc) 336 { 337 struct drm_device *dev = crtc->dev; 338 struct vc4_dev *vc4 = to_vc4_dev(dev); 339 struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); 340 struct drm_color_ctm *ctm = crtc->state->ctm->data; 341 > 342 HVS_WRITE(SCALER_OLEDCOEF2, 343 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[0]), 344 SCALER_OLEDCOEF2_R_TO_R) | 345 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[3]), 346 SCALER_OLEDCOEF2_R_TO_G) | 347 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[6]), 348 SCALER_OLEDCOEF2_R_TO_B)); 349 HVS_WRITE(SCALER_OLEDCOEF1, 350 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[1]), 351 SCALER_OLEDCOEF1_G_TO_R) | 352 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[4]), 353 SCALER_OLEDCOEF1_G_TO_G) | 354 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[7]), 355 SCALER_OLEDCOEF1_G_TO_B)); 356 HVS_WRITE(SCALER_OLEDCOEF0, 357 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[2]), 358 SCALER_OLEDCOEF0_B_TO_R) | 359 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[5]), 360 SCALER_OLEDCOEF0_B_TO_G) | 361 VC4_SET_FIELD(vc4_crtc_s31_32_to_s0_9(ctm->matrix[8]), 362 SCALER_OLEDCOEF0_B_TO_B)); 363 364 /* Channel is 0-based but for DISPFIFO, 0 means disabled. */ 365 HVS_WRITE(SCALER_OLEDOFFS, VC4_SET_FIELD(vc4_crtc->channel + 1, 366 SCALER_OLEDOFFS_DISPFIFO)); 367 } 368 --- 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