[intel-gvt-linux:topic/gvt-xengt 25/31] drivers/gpu/drm/i915/gvt/migrate.c:427:26: error: implicit declaration of function 'INTEL_GVT_MMIO_OFFSET'; did you mean 'INTEL_GVT_MAX_PIPE'?

kbuild test robot fengguang.wu at intel.com
Mon Dec 25 16:52:47 UTC 2017


tree:   https://github.com/intel/gvt-linux topic/gvt-xengt
head:   9cac0922ebda9b50c7c2736edd7b942d75bd4fea
commit: 5a303d32d3afa3e8d426b03a0b684bbfe50cb10f [25/31] drm/i915/gvt: Implement vGPU status save and restore through new VFIO subregion VFIO_REGION_SUBTYPE_DEVICE_STATE
config: x86_64-randconfig-s5-12252302 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        git checkout 5a303d32d3afa3e8d426b03a0b684bbfe50cb10f
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/gvt/migrate.c:29:0:
   drivers/gpu/drm/i915/gvt/migrate.c: In function 'vreg_load':
>> drivers/gpu/drm/i915/gvt/migrate.c:427:26: error: implicit declaration of function 'INTEL_GVT_MMIO_OFFSET'; did you mean 'INTEL_GVT_MAX_PIPE'? [-Werror=implicit-function-declaration]
      MIG_VREG_RESTORE(vgpu, INTEL_GVT_MMIO_OFFSET(PIPECONF(pipe)));
                             ^
   drivers/gpu/drm/i915/gvt/gvt.h:435:31: note: in definition of macro 'vgpu_vreg'
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                                  ^~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:427:3: note: in expansion of macro 'MIG_VREG_RESTORE'
      MIG_VREG_RESTORE(vgpu, INTEL_GVT_MMIO_OFFSET(PIPECONF(pipe)));
      ^~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c: In function 'vggtt_save':
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:399:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.mappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:537:24: note: in expansion of macro 'vgpu_guest_aperture_offset'
     u64 aperture_offset = vgpu_guest_aperture_offset(vgpu);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:401:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.nonmappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:539:25: note: in expansion of macro 'vgpu_guest_hidden_offset'
     u64 hidden_gm_offset = vgpu_guest_hidden_offset(vgpu);
                            ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c: In function 'vggtt_load':
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:399:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.mappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:589:29: note: in expansion of macro 'vgpu_guest_aperture_offset'
     u64 dest_aperture_offset = vgpu_guest_aperture_offset(vgpu);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:401:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.nonmappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:591:30: note: in expansion of macro 'vgpu_guest_hidden_offset'
     u64 dest_hidden_gm_offset = vgpu_guest_hidden_offset(vgpu);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:399:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.mappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:403:47: note: in expansion of macro 'vgpu_guest_aperture_offset'
    #define vgpu_guest_aperture_gmadr_base(vgpu) (vgpu_guest_aperture_offset(vgpu))
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:487:13: note: in expansion of macro 'vgpu_guest_aperture_gmadr_base'
     ((gmadr >= vgpu_guest_aperture_gmadr_base(vgpu)) && \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:495:5: note: in expansion of macro 'vgpu_gmadr_is_aperture'
      ((vgpu_gmadr_is_aperture(vgpu, gmadr) || \
        ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:623:7: note: in expansion of macro 'vgpu_gmadr_is_valid'
      if (vgpu_gmadr_is_valid(vgpu, ggtt_index << I915_GTT_PAGE_SHIFT)) {
          ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:399:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.mappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:403:47: note: in expansion of macro 'vgpu_guest_aperture_offset'
    #define vgpu_guest_aperture_gmadr_base(vgpu) (vgpu_guest_aperture_offset(vgpu))
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:405:3: note: in expansion of macro 'vgpu_guest_aperture_gmadr_base'
     (vgpu_guest_aperture_gmadr_base(vgpu) + vgpu_aperture_sz(vgpu) - 1)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:488:13: note: in expansion of macro 'vgpu_guest_aperture_gmadr_end'
      (gmadr <= vgpu_guest_aperture_gmadr_end(vgpu)))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:495:5: note: in expansion of macro 'vgpu_gmadr_is_aperture'
      ((vgpu_gmadr_is_aperture(vgpu, gmadr) || \
        ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/migrate.c:623:7: note: in expansion of macro 'vgpu_gmadr_is_valid'
      if (vgpu_gmadr_is_valid(vgpu, ggtt_index << I915_GTT_PAGE_SHIFT)) {
          ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:435:28: error: invalid operands to binary + (have 'void *' and 'i915_reg_t {aka const struct <anonymous>}')
     (*(u32 *)(vgpu->mmio.vreg + (offset)))
                               ^
   drivers/gpu/drm/i915/gvt/gvt.h:401:2: note: in expansion of macro 'vgpu_vreg'
     vgpu_vreg(vgpu, vgtif_reg(avail_rs.nonmappable_gmadr.base))
     ^~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:407:45: note: in expansion of macro 'vgpu_guest_hidden_offset'
    #define vgpu_guest_hidden_gmadr_base(vgpu) (vgpu_guest_hidden_offset(vgpu))
                                                ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:491:13: note: in expansion of macro 'vgpu_guest_hidden_gmadr_base'
     ((gmadr >= vgpu_guest_hidden_gmadr_base(vgpu)) && \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/gvt/gvt.h:496:5: note: in expansion of macro 'vgpu_gmadr_is_hidden'
       (vgpu_gmadr_is_hidden(vgpu, gmadr))))
        ^~~~~~~~~~~~~~~~~~~~

vim +427 drivers/gpu/drm/i915/gvt/migrate.c

   405	
   406	static int vreg_load(const struct gvt_migration_obj_t *obj, u32 size)
   407	{
   408		struct intel_vgpu *vgpu = (struct intel_vgpu *) obj->vgpu;
   409		void *dest = vgpu->mmio.vreg;
   410		int n_transfer = INV;
   411		struct drm_i915_private *dev_priv = vgpu->gvt->dev_priv;
   412		enum pipe pipe;
   413	
   414		if (unlikely(size != obj->region.size)) {
   415			gvt_err("migration obj size isn't match between target and image!"
   416			" memsize=%d imgsize=%d\n",
   417			obj->region.size,
   418			size);
   419			return n_transfer;
   420		} else {
   421			n_transfer = obj->region.size;
   422			memcpy(dest, obj->img + obj->offset, n_transfer);
   423		}
   424	
   425		//restore vblank emulation
   426		for (pipe = PIPE_A; pipe < I915_MAX_PIPES; ++pipe)
 > 427			MIG_VREG_RESTORE(vgpu, INTEL_GVT_MMIO_OFFSET(PIPECONF(pipe)));
   428	
   429		return n_transfer;
   430	}
   431	

---
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: 33429 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20171226/507df44c/attachment-0001.gz>


More information about the intel-gvt-dev mailing list