linux-next: manual merge of the drm-intel-fixes tree with the vfio-fixes tree
Jani Nikula
jani.nikula at linux.intel.com
Tue Jan 3 09:17:19 UTC 2017
On Tue, 03 Jan 2017, Stephen Rothwell <sfr at canb.auug.org.au> wrote:
> Hi all,
>
> Today's linux-next merge of the drm-intel-fixes tree got a conflict in:
>
> drivers/gpu/drm/i915/gvt/kvmgt.c
>
> between commit:
>
> 99e3123e3d72 ("vfio-mdev: Make mdev_device private and abstract interfaces")
>
> from the vfio-fixes tree and commit:
>
> 364fb6b789ff ("drm/i915/gvt/kvmgt: prevent double-release of vgpu")
>
> from the drm-intel-fixes tree.
Hi Stephen, while GVT-g is part of i915, it has its own mailing list and
maintainers, listed under "INTEL GVT-g DRIVERS (Intel GPU
Virtualization)" in MAINTAINERS. Please include them wrt linux-next
conflicts in drivers/gpu/drm/i915/gvt/. Added now.
Thanks,
Jani.
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc drivers/gpu/drm/i915/gvt/kvmgt.c
> index f8021a01df63,934963970288..000000000000
> --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> @@@ -497,10 -500,19 +500,19 @@@ static int intel_vgpu_open(struct mdev_
> goto undo_iommu;
> }
>
> - return kvmgt_guest_init(mdev);
> + ret = kvmgt_guest_init(mdev);
> + if (ret)
> + goto undo_group;
> +
> + atomic_set(&vgpu->vdev.released, 0);
> + return ret;
> +
> + undo_group:
> + vfio_unregister_notifier(&mdev->dev, VFIO_GROUP_NOTIFY,
> + &vgpu->vdev.group_notifier);
>
> undo_iommu:
> - vfio_unregister_notifier(&mdev->dev, VFIO_IOMMU_NOTIFY,
> + vfio_unregister_notifier(mdev_dev(mdev), VFIO_IOMMU_NOTIFY,
> &vgpu->vdev.iommu_notifier);
> out:
> return ret;
> @@@ -513,10 -526,16 +526,16 @@@ static void __intel_vgpu_release(struc
> if (!handle_valid(vgpu->handle))
> return;
>
> - vfio_unregister_notifier(mdev_dev(vgpu->vdev.mdev), VFIO_IOMMU_NOTIFY,
> + if (atomic_cmpxchg(&vgpu->vdev.released, 0, 1))
> + return;
> +
> - ret = vfio_unregister_notifier(&vgpu->vdev.mdev->dev, VFIO_IOMMU_NOTIFY,
> ++ ret = vfio_unregister_notifier(mdev_dev(vgpu->vdev.mdev), VFIO_IOMMU_NOTIFY,
> &vgpu->vdev.iommu_notifier);
> - vfio_unregister_notifier(mdev_dev(vgpu->vdev.mdev), VFIO_GROUP_NOTIFY,
> + WARN(ret, "vfio_unregister_notifier for iommu failed: %d\n", ret);
> +
> - ret = vfio_unregister_notifier(&vgpu->vdev.mdev->dev, VFIO_GROUP_NOTIFY,
> ++ ret = vfio_unregister_notifier(mdev_dev(vgpu->vdev.mdev), VFIO_GROUP_NOTIFY,
> &vgpu->vdev.group_notifier);
> + WARN(ret, "vfio_unregister_notifier for group failed: %d\n", ret);
>
> info = (struct kvmgt_guest_info *)vgpu->handle;
> kvmgt_guest_exit(info);
>
--
Jani Nikula, Intel Open Source Technology Center
More information about the dri-devel
mailing list