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

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

Reply via email to