tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next-queued
head:   06a75ace46e2fdd1d93b06228df0e2dfe526cc27
commit: 06a75ace46e2fdd1d93b06228df0e2dfe526cc27 [1/1] Merge tag 
'gvt-next-2016-10-14' of https://github.com/01org/gvt-linux into 
drm-intel-next-queued
config: x86_64-randconfig-a0-10171253 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 06a75ace46e2fdd1d93b06228df0e2dfe526cc27
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/uapi/drm/drm.h:41,
                    from include/uapi/drm/i915_drm.h:30,
                    from drivers/gpu/drm/i915/i915_drv.h:33,
                    from drivers/gpu/drm/i915/gvt/handlers.c:39:
   drivers/gpu/drm/i915/gvt/handlers.c: In function 'render_mmio_to_ring_id':
   drivers/gpu/drm/i915/gvt/handlers.c:137:31: error: 
'gvt->dev_priv->engine[i]' is a pointer; did you mean to use '->'?
      if (gvt->dev_priv->engine[i].mmio_base == reg)
                                  ^
      ->
   include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu/drm/i915/gvt/handlers.c:137:3: note: in expansion of macro 'if'
      if (gvt->dev_priv->engine[i].mmio_base == reg)
      ^~
   drivers/gpu/drm/i915/gvt/handlers.c:137:31: error: 
'gvt->dev_priv->engine[i]' is a pointer; did you mean to use '->'?
      if (gvt->dev_priv->engine[i].mmio_base == reg)
                                  ^
      ->
   include/linux/compiler.h:149:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers/gpu/drm/i915/gvt/handlers.c:137:3: note: in expansion of macro 'if'
      if (gvt->dev_priv->engine[i].mmio_base == reg)
      ^~
   drivers/gpu/drm/i915/gvt/handlers.c:137:31: error: 
'gvt->dev_priv->engine[i]' is a pointer; did you mean to use '->'?
      if (gvt->dev_priv->engine[i].mmio_base == reg)
                                  ^
      ->
   include/linux/compiler.h:160:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers/gpu/drm/i915/gvt/handlers.c:137:3: note: in expansion of macro 'if'
      if (gvt->dev_priv->engine[i].mmio_base == reg)
      ^~

vim +/if +137 drivers/gpu/drm/i915/gvt/handlers.c

12d14cc4 Zhi Wang 2016-08-30   33   *    Ping Gao <ping.a.gao at intel.com>
12d14cc4 Zhi Wang 2016-08-30   34   *    Zhi Wang <zhi.a.wang at intel.com>
12d14cc4 Zhi Wang 2016-08-30   35   *
12d14cc4 Zhi Wang 2016-08-30   36  
12d14cc4 Zhi Wang 2016-08-30   37   */
12d14cc4 Zhi Wang 2016-08-30   38  
12d14cc4 Zhi Wang 2016-08-30  @39  #include "i915_drv.h"
12d14cc4 Zhi Wang 2016-08-30   40  
e39c5add Zhi Wang 2016-09-02   41  /* XXX FIXME i915 has changed PP_XXX 
definition */
e39c5add Zhi Wang 2016-09-02   42  #define PCH_PP_STATUS  _MMIO(0xc7200)
e39c5add Zhi Wang 2016-09-02   43  #define PCH_PP_CONTROL _MMIO(0xc7204)
e39c5add Zhi Wang 2016-09-02   44  #define PCH_PP_ON_DELAYS _MMIO(0xc7208)
e39c5add Zhi Wang 2016-09-02   45  #define PCH_PP_OFF_DELAYS _MMIO(0xc720c)
e39c5add Zhi Wang 2016-09-02   46  #define PCH_PP_DIVISOR _MMIO(0xc7210)
e39c5add Zhi Wang 2016-09-02   47  
12d14cc4 Zhi Wang 2016-08-30   48  /* Register contains RO bits */
12d14cc4 Zhi Wang 2016-08-30   49  #define F_RO         (1 << 0)
12d14cc4 Zhi Wang 2016-08-30   50  /* Register contains graphics address */
12d14cc4 Zhi Wang 2016-08-30   51  #define F_GMADR              (1 << 1)
12d14cc4 Zhi Wang 2016-08-30   52  /* Mode mask registers with high 16 bits as 
the mask bits */
12d14cc4 Zhi Wang 2016-08-30   53  #define F_MODE_MASK  (1 << 2)
12d14cc4 Zhi Wang 2016-08-30   54  /* This reg can be accessed by GPU commands 
*/
12d14cc4 Zhi Wang 2016-08-30   55  #define F_CMD_ACCESS (1 << 3)
12d14cc4 Zhi Wang 2016-08-30   56  /* This reg has been accessed by a VM */
12d14cc4 Zhi Wang 2016-08-30   57  #define F_ACCESSED   (1 << 4)
12d14cc4 Zhi Wang 2016-08-30   58  /* This reg has been accessed through GPU 
commands */
12d14cc4 Zhi Wang 2016-08-30   59  #define F_CMD_ACCESSED       (1 << 5)
12d14cc4 Zhi Wang 2016-08-30   60  /* This reg could be accessed by unaligned 
address */
12d14cc4 Zhi Wang 2016-08-30   61  #define F_UNALIGN    (1 << 6)
12d14cc4 Zhi Wang 2016-08-30   62  
12d14cc4 Zhi Wang 2016-08-30   63  unsigned long 
intel_gvt_get_device_type(struct intel_gvt *gvt)
12d14cc4 Zhi Wang 2016-08-30   64  {
12d14cc4 Zhi Wang 2016-08-30   65       if (IS_BROADWELL(gvt->dev_priv))
12d14cc4 Zhi Wang 2016-08-30   66               return D_BDW;
12d14cc4 Zhi Wang 2016-08-30   67       else if (IS_SKYLAKE(gvt->dev_priv))
12d14cc4 Zhi Wang 2016-08-30   68               return D_SKL;
12d14cc4 Zhi Wang 2016-08-30   69  
12d14cc4 Zhi Wang 2016-08-30   70       return 0;
12d14cc4 Zhi Wang 2016-08-30   71  }
12d14cc4 Zhi Wang 2016-08-30   72  
12d14cc4 Zhi Wang 2016-08-30   73  bool intel_gvt_match_device(struct intel_gvt 
*gvt,
12d14cc4 Zhi Wang 2016-08-30   74               unsigned long device)
12d14cc4 Zhi Wang 2016-08-30   75  {
12d14cc4 Zhi Wang 2016-08-30   76       return intel_gvt_get_device_type(gvt) & 
device;
12d14cc4 Zhi Wang 2016-08-30   77  }
12d14cc4 Zhi Wang 2016-08-30   78  
e39c5add Zhi Wang 2016-09-02   79  static void read_vreg(struct intel_vgpu 
*vgpu, unsigned int offset,
e39c5add Zhi Wang 2016-09-02   80       void *p_data, unsigned int bytes)
e39c5add Zhi Wang 2016-09-02   81  {
e39c5add Zhi Wang 2016-09-02   82       memcpy(p_data, &vgpu_vreg(vgpu, 
offset), bytes);
e39c5add Zhi Wang 2016-09-02   83  }
e39c5add Zhi Wang 2016-09-02   84  
e39c5add Zhi Wang 2016-09-02   85  static void write_vreg(struct intel_vgpu 
*vgpu, unsigned int offset,
e39c5add Zhi Wang 2016-09-02   86       void *p_data, unsigned int bytes)
e39c5add Zhi Wang 2016-09-02   87  {
e39c5add Zhi Wang 2016-09-02   88       memcpy(&vgpu_vreg(vgpu, offset), 
p_data, bytes);
e39c5add Zhi Wang 2016-09-02   89  }
e39c5add Zhi Wang 2016-09-02   90  
12d14cc4 Zhi Wang 2016-08-30   91  static int new_mmio_info(struct intel_gvt 
*gvt,
12d14cc4 Zhi Wang 2016-08-30   92               u32 offset, u32 flags, u32 size,
12d14cc4 Zhi Wang 2016-08-30   93               u32 addr_mask, u32 ro_mask, u32 
device,
12d14cc4 Zhi Wang 2016-08-30   94               void *read, void *write)
12d14cc4 Zhi Wang 2016-08-30   95  {
12d14cc4 Zhi Wang 2016-08-30   96       struct intel_gvt_mmio_info *info, *p;
12d14cc4 Zhi Wang 2016-08-30   97       u32 start, end, i;
12d14cc4 Zhi Wang 2016-08-30   98  
12d14cc4 Zhi Wang 2016-08-30   99       if (!intel_gvt_match_device(gvt, 
device))
12d14cc4 Zhi Wang 2016-08-30  100               return 0;
12d14cc4 Zhi Wang 2016-08-30  101  
12d14cc4 Zhi Wang 2016-08-30  102       if (WARN_ON(!IS_ALIGNED(offset, 4)))
12d14cc4 Zhi Wang 2016-08-30  103               return -EINVAL;
12d14cc4 Zhi Wang 2016-08-30  104  
12d14cc4 Zhi Wang 2016-08-30  105       start = offset;
12d14cc4 Zhi Wang 2016-08-30  106       end = offset + size;
12d14cc4 Zhi Wang 2016-08-30  107  
12d14cc4 Zhi Wang 2016-08-30  108       for (i = start; i < end; i += 4) {
12d14cc4 Zhi Wang 2016-08-30  109               info = kzalloc(sizeof(*info), 
GFP_KERNEL);
12d14cc4 Zhi Wang 2016-08-30  110               if (!info)
12d14cc4 Zhi Wang 2016-08-30  111                       return -ENOMEM;
12d14cc4 Zhi Wang 2016-08-30  112  
12d14cc4 Zhi Wang 2016-08-30  113               info->offset = i;
12d14cc4 Zhi Wang 2016-08-30  114               p = 
intel_gvt_find_mmio_info(gvt, info->offset);
12d14cc4 Zhi Wang 2016-08-30  115               if (p)
12d14cc4 Zhi Wang 2016-08-30  116                       gvt_err("dup mmio 
definition offset %x\n",
12d14cc4 Zhi Wang 2016-08-30  117                               info->offset);
12d14cc4 Zhi Wang 2016-08-30  118               info->size = size;
12d14cc4 Zhi Wang 2016-08-30  119               info->length = (i + 4) < end ? 
4 : (end - i);
12d14cc4 Zhi Wang 2016-08-30  120               info->addr_mask = addr_mask;
12d14cc4 Zhi Wang 2016-08-30  121               info->device = device;
e39c5add Zhi Wang 2016-09-02  122               info->read = read ? read : 
intel_vgpu_default_mmio_read;
e39c5add Zhi Wang 2016-09-02  123               info->write = write ? write : 
intel_vgpu_default_mmio_write;
12d14cc4 Zhi Wang 2016-08-30  124               
gvt->mmio.mmio_attribute[info->offset / 4] = flags;
12d14cc4 Zhi Wang 2016-08-30  125               INIT_HLIST_NODE(&info->node);
12d14cc4 Zhi Wang 2016-08-30  126               
hash_add(gvt->mmio.mmio_info_table, &info->node, info->offset);
12d14cc4 Zhi Wang 2016-08-30  127       }
12d14cc4 Zhi Wang 2016-08-30  128       return 0;
12d14cc4 Zhi Wang 2016-08-30  129  }
12d14cc4 Zhi Wang 2016-08-30  130  
28c4c6ca Zhi Wang 2016-05-01  131  static int render_mmio_to_ring_id(struct 
intel_gvt *gvt, unsigned int reg)
28c4c6ca Zhi Wang 2016-05-01  132  {
28c4c6ca Zhi Wang 2016-05-01  133       int i;
28c4c6ca Zhi Wang 2016-05-01  134  
28c4c6ca Zhi Wang 2016-05-01  135       reg &= ~GENMASK(11, 0);
28c4c6ca Zhi Wang 2016-05-01  136       for (i = 0; i < I915_NUM_ENGINES; i++) {
28c4c6ca Zhi Wang 2016-05-01 @137               if 
(gvt->dev_priv->engine[i].mmio_base == reg)
28c4c6ca Zhi Wang 2016-05-01  138                       return i;
28c4c6ca Zhi Wang 2016-05-01  139       }
28c4c6ca Zhi Wang 2016-05-01  140       return -1;

:::::: The code at line 137 was first introduced by commit
:::::: 28c4c6ca7f794b2d5ac8773d43311e95f6518415 drm/i915/gvt: vGPU workload 
submission

:::::: TO: Zhi Wang <zhi.a.wang at intel.com>
:::::: CC: Zhenyu Wang <zhenyuw at linux.intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 24421 bytes
Desc: not available
URL: 
<https://lists.freedesktop.org/archives/dri-devel/attachments/20161018/baea959d/attachment-0001.gz>

Reply via email to