[Intel-gfx] [PULL v3] gvt-next

Jani Nikula jani.nikula at linux.intel.com
Mon Apr 25 12:33:40 UTC 2022


On Mon, 25 Apr 2022, Jani Nikula <jani.nikula at linux.intel.com> wrote:
> On Thu, 21 Apr 2022, "Wang, Zhi A" <zhi.a.wang at intel.com> wrote:
>> Hi folks:
>>
>> Here is the PR of gvt-next. Thanks so much for the patience.
>
> Thanks, pulled to drm-intel-next, applied the below fix for the silent
> conflict on top, and pushed out. Should show up in linux-next shortly.

Aww crap, this breaks debug builds.

ERROR: modpost: "intel_runtime_pm_put" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
ERROR: modpost: "i915_fence_ops" [drivers/gpu/drm/i915/kvmgt.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:134: modules-only.symvers] Error 1
make[1]: *** Deleting file 'modules-only.symvers'
make: *** [Makefile:1749: modules] Error 2

The first is triggered with CONFIG_DRM_I915_DEBUG_RUNTIME_PM=y, the
latter with CONFIG_DRM_I915_DEBUG_GEM=y.

Please add the proper fix on top of the topic branch, and send an
additional pull request. Looks like exports will do it.

On that note, I'm wondering about the use of
EXPORT_SYMBOL_NS_GPL(). It's between two MIT licensed modules after
all. Maybe just EXPORT_SYMBOL_NS()?

BR,
Jani.


>
> BR,
> Jani.
>
>>
>> Mostly it includes the patch bundle of GVT-g re-factor patches for adapting the GVT-g with the
>> new MDEV interfaces:
>>
>> - Separating the MMIO table from GVT-g. (Zhi)
>> - GVT-g re-factor. (Christoph)
>> - GVT-g mdev API cleanup. (Jason)
>> - GVT-g trace/makefile cleanup. (Jani)
>>
>> Thanks so much for making this happen.
>>
>> This PR has been tested as following and no problem shows up:
>>
>> $dim update-branches
>> $dim apply-pull drm-intel-next < this_email.eml
>>
>> When merging this pull to drm-intel-next, please include the following code in the merge commit:
>>
>> diff --git a/drivers/gpu/drm/i915/intel_gvt_mmio_table.c b/drivers/gpu/drm/i915/intel_gvt_mmio_table.c
>> index 03a7fcd0f904..72dac1718f3e 100644
>> --- a/drivers/gpu/drm/i915/intel_gvt_mmio_table.c
>> +++ b/drivers/gpu/drm/i915/intel_gvt_mmio_table.c
>> @@ -3,6 +3,7 @@
>>   * Copyright © 2020 Intel Corporation
>>   */
>>  
>> +#include "display/intel_dmc_regs.h"
>>  #include "display/vlv_dsi_pll_regs.h"
>>  #include "gt/intel_gt_regs.h"
>>  #include "gvt/gvt.h"
>>
>>
>> The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
>>
>>   Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
>>
>> are available in the Git repository at:
>>
>>   https://github.com/intel/gvt-linux tags/gvt-next-2022-04-21-for-christoph
>>
>> for you to fetch changes up to 2917f53113be3b7a0f374e02cebe6d6b749366b5:
>>
>>   vfio/mdev: Remove mdev drvdata (2022-04-21 07:36:56 -0400)
>>
>> ----------------------------------------------------------------
>> gvt-next-2022-04-21-for-christoph
>>
>> - Separating the MMIO table from GVT-g. (Zhi)
>> - GVT-g re-factor. (Christoph)
>> - GVT-g mdev API cleanup. (Jason)
>> - GVT-g trace/makefile cleanup. (Jani)
>>
>> ----------------------------------------------------------------
>> Christoph Hellwig (27):
>>       drm/i915/gvt: remove module refcounting in intel_gvt_{,un}register_hypervisor
>>       drm/i915/gvt: remove enum hypervisor_type
>>       drm/i915/gvt: rename intel_vgpu_ops to intel_vgpu_mdev_ops
>>       drm/i915/gvt: move the gvt code into kvmgt.ko
>>       drm/i915/gvt: remove intel_gvt_ops
>>       drm/i915/gvt: remove the map_gfn_to_mfn and set_trap_area ops
>>       drm/i915/gvt: remove the unused from_virt_to_mfn op
>>       drm/i915/gvt: merge struct kvmgt_vdev into struct intel_vgpu
>>       drm/i915/gvt: merge struct kvmgt_guest_info into strut intel_vgpu
>>       drm/i915/gvt: remove vgpu->handle
>>       drm/i915/gvt: devirtualize ->{read,write}_gpa
>>       drm/i915/gvt: devirtualize ->{get,put}_vfio_device
>>       drm/i915/gvt: devirtualize ->set_edid and ->set_opregion
>>       drm/i915/gvt: devirtualize ->detach_vgpu
>>       drm/i915/gvt: devirtualize ->inject_msi
>>       drm/i915/gvt: devirtualize ->is_valid_gfn
>>       drm/i915/gvt: devirtualize ->gfn_to_mfn
>>       drm/i915/gvt: devirtualize ->{enable,disable}_page_track
>>       drm/i915/gvt: devirtualize ->dma_{,un}map_guest_page
>>       drm/i915/gvt: devirtualize dma_pin_guest_page
>>       drm/i915/gvt: remove struct intel_gvt_mpt
>>       drm/i915/gvt: remove the extra vfio_device refcounting for dmabufs
>>       drm/i915/gvt: streamline intel_vgpu_create
>>       drm/i915/gvt: pass a struct intel_vgpu to the vfio read/write helpers
>>       drm/i915/gvt: remove kvmgt_guest_{init,exit}
>>       drm/i915/gvt: convert to use vfio_register_emulated_iommu_dev
>>       drm/i915/gvt: merge gvt.c into kvmgvt.c
>>
>> Jani Nikula (2):
>>       drm/i915/gvt: fix trace TRACE_INCLUDE_PATH
>>       drm/i915/gvt: better align the Makefile with i915 Makefile
>>
>> Jason Gunthorpe (5):
>>       vfio/mdev: Remove vfio_mdev.c
>>       vfio/mdev: Remove mdev_parent_ops dev_attr_groups
>>       vfio/mdev: Remove mdev_parent_ops
>>       vfio/mdev: Use the driver core to create the 'remove' file
>>       vfio/mdev: Remove mdev drvdata
>>
>> Zhi Wang (3):
>>       i915/gvt: Separate the MMIO tracking table from GVT-g
>>       i915/gvt: Save the initial HW state snapshot in i915
>>       i915/gvt: Use the initial HW state snapshot saved in i915
>>
>>  Documentation/driver-api/vfio-mediated-device.rst |   27 +-
>>  drivers/gpu/drm/i915/Kconfig                      |   36 +-
>>  drivers/gpu/drm/i915/Makefile                     |    8 +-
>>  drivers/gpu/drm/i915/gvt/Makefile                 |   30 +-
>>  drivers/gpu/drm/i915/gvt/cfg_space.c              |   89 +-
>>  drivers/gpu/drm/i915/gvt/cmd_parser.c             |    4 +-
>>  drivers/gpu/drm/i915/gvt/dmabuf.c                 |   36 +-
>>  drivers/gpu/drm/i915/gvt/execlist.c               |   12 +-
>>  drivers/gpu/drm/i915/gvt/firmware.c               |   25 +-
>>  drivers/gpu/drm/i915/gvt/gtt.c                    |   55 +-
>>  drivers/gpu/drm/i915/gvt/gvt.c                    |  340 ------
>>  drivers/gpu/drm/i915/gvt/gvt.h                    |  128 +-
>>  drivers/gpu/drm/i915/gvt/handlers.c               | 1033 +++--------------
>>  drivers/gpu/drm/i915/gvt/hypercall.h              |   82 --
>>  drivers/gpu/drm/i915/gvt/interrupt.c              |   40 +-
>>  drivers/gpu/drm/i915/gvt/kvmgt.c                  | 1097 +++++++++--------
>>  drivers/gpu/drm/i915/gvt/mmio.c                   |    4 +-
>>  drivers/gpu/drm/i915/gvt/mmio.h                   |    1 -
>>  drivers/gpu/drm/i915/gvt/mpt.h                    |  400 -------
>>  drivers/gpu/drm/i915/gvt/opregion.c               |  148 +--
>>  drivers/gpu/drm/i915/gvt/page_track.c             |    8 +-
>>  drivers/gpu/drm/i915/gvt/reg.h                    |    9 +-
>>  drivers/gpu/drm/i915/gvt/scheduler.c              |   37 +-
>>  drivers/gpu/drm/i915/gvt/trace.h                  |    2 +-
>>  drivers/gpu/drm/i915/gvt/vgpu.c                   |   22 +-
>>  drivers/gpu/drm/i915/i915_driver.c                |    7 -
>>  drivers/gpu/drm/i915/i915_drv.h                   |    3 +
>>  drivers/gpu/drm/i915/intel_gvt.c                  |  248 +++-
>>  drivers/gpu/drm/i915/intel_gvt.h                  |   32 +-
>>  drivers/gpu/drm/i915/intel_gvt_mmio_table.c       | 1291 +++++++++++++++++++++
>>  drivers/s390/cio/vfio_ccw_ops.c                   |    7 +-
>>  drivers/s390/crypto/vfio_ap_ops.c                 |    9 +-
>>  drivers/vfio/mdev/Makefile                        |    2 +-
>>  drivers/vfio/mdev/mdev_core.c                     |   52 +-
>>  drivers/vfio/mdev/mdev_driver.c                   |   10 -
>>  drivers/vfio/mdev/mdev_private.h                  |    6 +-
>>  drivers/vfio/mdev/mdev_sysfs.c                    |   37 +-
>>  drivers/vfio/mdev/vfio_mdev.c                     |  152 ---
>>  include/linux/mdev.h                              |   82 +-
>>  samples/vfio-mdev/mbochs.c                        |    9 +-
>>  samples/vfio-mdev/mdpy.c                          |    9 +-
>>  samples/vfio-mdev/mtty.c                          |   39 +-
>>  42 files changed, 2530 insertions(+), 3138 deletions(-)
>>  delete mode 100644 drivers/gpu/drm/i915/gvt/gvt.c
>>  delete mode 100644 drivers/gpu/drm/i915/gvt/hypercall.h
>>  delete mode 100644 drivers/gpu/drm/i915/gvt/mpt.h
>>  create mode 100644 drivers/gpu/drm/i915/intel_gvt_mmio_table.c
>>  delete mode 100644 drivers/vfio/mdev/vfio_mdev.c

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list