[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