Hi Ong, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.15-rc8 next-20180116] [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/Hean-Loong-Ong/Intel-FPGA-Video-and-Image-Processing-Suite/20180117-103626 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 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=ia64 All error/warnings (new ones prefixed by >>): In file included from include/linux/cdev.h:8:0, from include/drm/drmP.h:36, from drivers/gpu/drm/ivip/intel_vip_core.c:24: drivers/gpu/drm/ivip/intel_vip_core.c: In function 'intelvipfb_enable': >> drivers/gpu/drm/ivip/intel_vip_core.c:57:33: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=] dev_info(pipe->plane.dev->dev, "Address 0x%x\n", addr); ^ include/linux/device.h:1355:51: note: in definition of macro 'dev_info' #define dev_info(dev, fmt, arg...) _dev_info(dev, fmt, ##arg) ^~~ drivers/gpu/drm/ivip/intel_vip_core.c: At top level: >> drivers/gpu/drm/ivip/intel_vip_core.c:76:15: error: 'drm_fb_cma_create' undeclared here (not in a function); did you mean 'drm_gem_cma_create'? .fb_create = drm_fb_cma_create, ^~~~~~~~~~~~~~~~~ drm_gem_cma_create drivers/gpu/drm/ivip/intel_vip_core.c: In function 'intelvipfb_pipe_prepare_fb': >> drivers/gpu/drm/ivip/intel_vip_core.c:90:9: error: implicit declaration of function 'drm_fb_cma_prepare_fb'; did you mean 'drm_fb_cma_get_gem_obj'? [-Werror=implicit-function-declaration] return drm_fb_cma_prepare_fb(&pipe->plane, plane_state); ^~~~~~~~~~~~~~~~~~~~~ drm_fb_cma_get_gem_obj cc1: some warnings being treated as errors vim +76 drivers/gpu/drm/ivip/intel_vip_core.c > 24 #include <drm/drmP.h> 25 #include <drm/drm_atomic.h> 26 #include <drm/drm_atomic_helper.h> 27 #include <drm/drm_crtc_helper.h> 28 #include <drm/drm_fb_helper.h> 29 #include <drm/drm_fb_cma_helper.h> 30 #include <drm/drm_gem_cma_helper.h> 31 #include <drm/drm_plane_helper.h> 32 #include <drm/drm_simple_kms_helper.h> 33 34 #include <linux/init.h> 35 #include <linux/kernel.h> 36 #include <linux/module.h> 37 38 #include "intel_vip_drv.h" 39 40 static void intelvipfb_enable(struct drm_simple_display_pipe *pipe, 41 struct drm_crtc_state *crtc_state) 42 { 43 /* 44 * The frameinfo variable has to correspond to the size of the VIP Suite 45 * Frame Reader register 7 which will determine the maximum size used 46 * in this frameinfo 47 */ 48 49 u32 frameinfo; 50 struct intelvipfb_priv *priv = pipe->plane.dev->dev_private; 51 void __iomem *base = priv->base; 52 struct drm_plane_state *state = pipe->plane.state; 53 dma_addr_t addr; 54 55 addr = drm_fb_cma_get_gem_addr(state->fb, state, 0); 56 > 57 dev_info(pipe->plane.dev->dev, "Address 0x%x\n", addr); 58 59 frameinfo = 60 readl(base + INTELVIPFB_FRAME_READER) & 0x00ffffff; 61 writel(frameinfo, base + INTELVIPFB_FRAME_INFO); 62 writel(addr, base + INTELVIPFB_FRAME_START); 63 /* Finally set the control register to 1 to start streaming */ 64 writel(1, base + INTELVIPFB_CONTROL); 65 } 66 67 static void intelvipfb_disable(struct drm_simple_display_pipe *pipe) 68 { 69 struct intelvipfb_priv *priv = pipe->plane.dev->dev_private; 70 void __iomem *base = priv->base; 71 /* set the control register to 0 to stop streaming */ 72 writel(0, base + INTELVIPFB_CONTROL); 73 } 74 75 static const struct drm_mode_config_funcs intelvipfb_mode_config_funcs = { > 76 .fb_create = drm_fb_cma_create, 77 .atomic_check = drm_atomic_helper_check, 78 .atomic_commit = drm_atomic_helper_commit, 79 }; 80 81 static void intelvipfb_setup_mode_config(struct drm_device *drm) 82 { 83 drm_mode_config_init(drm); 84 drm->mode_config.funcs = &intelvipfb_mode_config_funcs; 85 } 86 87 static int intelvipfb_pipe_prepare_fb(struct drm_simple_display_pipe *pipe, 88 struct drm_plane_state *plane_state) 89 { > 90 return drm_fb_cma_prepare_fb(&pipe->plane, plane_state); 91 } 92 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip