2022-04-22 20:03:38

by Wang, Zhi A

[permalink] [raw]
Subject: [PULL v3] gvt-next

Hi folks:

Here is the PR of gvt-next. Thanks so much for the patience.

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


2022-04-25 16:29:08

by Jani Nikula

[permalink] [raw]
Subject: Re: [PULL v3] gvt-next

On Thu, 21 Apr 2022, "Wang, Zhi A" <[email protected]> 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.

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

2022-04-25 23:00:56

by Wang, Zhi A

[permalink] [raw]
Subject: Re: [PULL v3] gvt-next

On 4/25/22 12:33 PM, Jani Nikula wrote:
> On Mon, 25 Apr 2022, Jani Nikula <[email protected]> wrote:
>> On Thu, 21 Apr 2022, "Wang, Zhi A" <[email protected]> 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
>

2022-04-26 06:34:32

by Jani Nikula

[permalink] [raw]
Subject: Re: [PULL v3] gvt-next

On Mon, 25 Apr 2022, Jani Nikula <[email protected]> wrote:
> On Thu, 21 Apr 2022, "Wang, Zhi A" <[email protected]> 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