On 4/25/22 12:33 PM, Jani Nikula wrote: > On Mon, 25 Apr 2022, Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote: >> On Thu, 21 Apr 2022, "Wang, Zhi A" <zhi.a.wang@xxxxxxxxx> 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()? > Will do. Thanks so much for catching this. > 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 >