All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
To: Kevin Tian <kevin.tian@intel.com>,
	Zhenyu Wang <zhenyuw@linux.intel.com>,
	Zhi Wang <zhi.a.wang@intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Eric Farman <farman@linux.ibm.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Vineeth Vijayan <vneethv@linux.ibm.com>,
	"Peter Oberparleiter" <oberpar@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Tony Krowiak <akrowiak@linux.ibm.com>,
	Jason Herne <jjherne@linux.ibm.com>,
	Harald Freudenberger <freude@linux.ibm.com>,
	Diana Craciun <diana.craciun@oss.nxp.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	liulongfang <liulongfang@huawei.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	"Yishai Hadas" <yishaih@nvidia.com>,
	Eric Auger <eric.auger@redhat.com>,
	"Kirti Wankhede" <kwankhede@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Abhishek Sahu <abhsahu@nvidia.com>,
	"intel-gvt-dev@lists.freedesktop.org" 
	<intel-gvt-dev@lists.freedesktop.org>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Cc: Yi Liu <yi.l.liu@intel.com>
Subject: RE: [PATCH 04/15] vfio/hisi_acc: Use the new device life cycle helpers
Date: Wed, 31 Aug 2022 07:36:02 +0000	[thread overview]
Message-ID: <fcbcc84a6c1148fa943576522cb906ce@huawei.com> (raw)
In-Reply-To: <20220827171037.30297-5-kevin.tian@intel.com>



> -----Original Message-----
> From: Kevin Tian [mailto:kevin.tian@intel.com]
> Sent: 27 August 2022 18:10
> To: Zhenyu Wang <zhenyuw@linux.intel.com>; Zhi Wang
> <zhi.a.wang@intel.com>; Jani Nikula <jani.nikula@linux.intel.com>; Joonas
> Lahtinen <joonas.lahtinen@linux.intel.com>; Rodrigo Vivi
> <rodrigo.vivi@intel.com>; Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>;
> David Airlie <airlied@linux.ie>; Daniel Vetter <daniel@ffwll.ch>; Eric Farman
> <farman@linux.ibm.com>; Matthew Rosato <mjrosato@linux.ibm.com>;
> Halil Pasic <pasic@linux.ibm.com>; Vineeth Vijayan
> <vneethv@linux.ibm.com>; Peter Oberparleiter <oberpar@linux.ibm.com>;
> Heiko Carstens <hca@linux.ibm.com>; Vasily Gorbik <gor@linux.ibm.com>;
> Alexander Gordeev <agordeev@linux.ibm.com>; Christian Borntraeger
> <borntraeger@linux.ibm.com>; Sven Schnelle <svens@linux.ibm.com>; Tony
> Krowiak <akrowiak@linux.ibm.com>; Jason Herne <jjherne@linux.ibm.com>;
> Harald Freudenberger <freude@linux.ibm.com>; Diana Craciun
> <diana.craciun@oss.nxp.com>; Alex Williamson
> <alex.williamson@redhat.com>; Cornelia Huck <cohuck@redhat.com>;
> liulongfang <liulongfang@huawei.com>; Shameerali Kolothum Thodi
> <shameerali.kolothum.thodi@huawei.com>; Jason Gunthorpe
> <jgg@ziepe.ca>; Yishai Hadas <yishaih@nvidia.com>; Kevin Tian
> <kevin.tian@intel.com>; Eric Auger <eric.auger@redhat.com>; Kirti
> Wankhede <kwankhede@nvidia.com>; Leon Romanovsky <leon@kernel.org>;
> Abhishek Sahu <abhsahu@nvidia.com>; intel-gvt-dev@lists.freedesktop.org;
> intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
> linux-kernel@vger.kernel.org; linux-s390@vger.kernel.org;
> kvm@vger.kernel.org
> Cc: Yi Liu <yi.l.liu@intel.com>
> Subject: [PATCH 04/15] vfio/hisi_acc: Use the new device life cycle helpers
> 
> From: Yi Liu <yi.l.liu@intel.com>
> 
> Tidy up @probe so all migration specific initialization logic is moved
> to migration specific @init callback.
> 
> Remove vfio_pci_core_{un}init_device() given no user now.

This looks fine to me and the probe() is indeed much cleaner now.

Reviewed-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

Thanks,
Shameer
 
> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
> Signed-off-by: Kevin Tian <kevin.tian@intel.com>
> ---
>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 80 +++++++++----------
>  drivers/vfio/pci/vfio_pci_core.c              | 30 -------
>  include/linux/vfio_pci_core.h                 |  4 -
>  3 files changed, 37 insertions(+), 77 deletions(-)
> 
> diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> index ea762e28c1cc..f06f9a799128 100644
> --- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> +++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> @@ -1213,8 +1213,28 @@ static const struct vfio_migration_ops
> hisi_acc_vfio_pci_migrn_state_ops = {
>  	.migration_get_state = hisi_acc_vfio_pci_get_device_state,
>  };
> 
> +int hisi_acc_vfio_pci_migrn_init_dev(struct vfio_device *core_vdev)
> +{
> +	struct hisi_acc_vf_core_device *hisi_acc_vdev =
> container_of(core_vdev,
> +			struct hisi_acc_vf_core_device, core_device.vdev);
> +	struct pci_dev *pdev = to_pci_dev(core_vdev->dev);
> +	struct hisi_qm *pf_qm = hisi_acc_get_pf_qm(pdev);
> +
> +	hisi_acc_vdev->vf_id = pci_iov_vf_id(pdev) + 1;
> +	hisi_acc_vdev->pf_qm = pf_qm;
> +	hisi_acc_vdev->vf_dev = pdev;
> +	mutex_init(&hisi_acc_vdev->state_mutex);
> +
> +	core_vdev->migration_flags = VFIO_MIGRATION_STOP_COPY;
> +	core_vdev->mig_ops = &hisi_acc_vfio_pci_migrn_state_ops;
> +
> +	return vfio_pci_core_init_dev(core_vdev);
> +}
> +
>  static const struct vfio_device_ops hisi_acc_vfio_pci_migrn_ops = {
>  	.name = "hisi-acc-vfio-pci-migration",
> +	.init = hisi_acc_vfio_pci_migrn_init_dev,
> +	.release = vfio_pci_core_release_dev,
>  	.open_device = hisi_acc_vfio_pci_open_device,
>  	.close_device = hisi_acc_vfio_pci_close_device,
>  	.ioctl = hisi_acc_vfio_pci_ioctl,
> @@ -1228,6 +1248,8 @@ static const struct vfio_device_ops
> hisi_acc_vfio_pci_migrn_ops = {
> 
>  static const struct vfio_device_ops hisi_acc_vfio_pci_ops = {
>  	.name = "hisi-acc-vfio-pci",
> +	.init = vfio_pci_core_init_dev,
> +	.release = vfio_pci_core_release_dev,
>  	.open_device = hisi_acc_vfio_pci_open_device,
>  	.close_device = vfio_pci_core_close_device,
>  	.ioctl = vfio_pci_core_ioctl,
> @@ -1239,63 +1261,36 @@ static const struct vfio_device_ops
> hisi_acc_vfio_pci_ops = {
>  	.match = vfio_pci_core_match,
>  };
> 
> -static int
> -hisi_acc_vfio_pci_migrn_init(struct hisi_acc_vf_core_device *hisi_acc_vdev,
> -			     struct pci_dev *pdev, struct hisi_qm *pf_qm)
> -{
> -	int vf_id;
> -
> -	vf_id = pci_iov_vf_id(pdev);
> -	if (vf_id < 0)
> -		return vf_id;
> -
> -	hisi_acc_vdev->vf_id = vf_id + 1;
> -	hisi_acc_vdev->core_device.vdev.migration_flags =
> -					VFIO_MIGRATION_STOP_COPY;
> -	hisi_acc_vdev->pf_qm = pf_qm;
> -	hisi_acc_vdev->vf_dev = pdev;
> -	mutex_init(&hisi_acc_vdev->state_mutex);
> -
> -	return 0;
> -}
> -
>  static int hisi_acc_vfio_pci_probe(struct pci_dev *pdev, const struct
> pci_device_id *id)
>  {
>  	struct hisi_acc_vf_core_device *hisi_acc_vdev;
> +	const struct vfio_device_ops *ops = &hisi_acc_vfio_pci_ops;
>  	struct hisi_qm *pf_qm;
> +	int vf_id;
>  	int ret;
> 
> -	hisi_acc_vdev = kzalloc(sizeof(*hisi_acc_vdev), GFP_KERNEL);
> -	if (!hisi_acc_vdev)
> -		return -ENOMEM;
> -
>  	pf_qm = hisi_acc_get_pf_qm(pdev);
>  	if (pf_qm && pf_qm->ver >= QM_HW_V3) {
> -		ret = hisi_acc_vfio_pci_migrn_init(hisi_acc_vdev, pdev, pf_qm);
> -		if (!ret) {
> -			vfio_pci_core_init_device(&hisi_acc_vdev->core_device, pdev,
> -						  &hisi_acc_vfio_pci_migrn_ops);
> -			hisi_acc_vdev->core_device.vdev.mig_ops =
> -					&hisi_acc_vfio_pci_migrn_state_ops;
> -		} else {
> +		vf_id = pci_iov_vf_id(pdev);
> +		if (vf_id >= 0)
> +			ops = &hisi_acc_vfio_pci_migrn_ops;
> +		else
>  			pci_warn(pdev, "migration support failed, continue with
> generic interface\n");
> -			vfio_pci_core_init_device(&hisi_acc_vdev->core_device, pdev,
> -						  &hisi_acc_vfio_pci_ops);
> -		}
> -	} else {
> -		vfio_pci_core_init_device(&hisi_acc_vdev->core_device, pdev,
> -					  &hisi_acc_vfio_pci_ops);
>  	}
> 
> +	hisi_acc_vdev = vfio_alloc_device(hisi_acc_vf_core_device,
> +					  core_device.vdev, &pdev->dev, ops);
> +	if (IS_ERR(hisi_acc_vdev))
> +		return PTR_ERR(hisi_acc_vdev);
> +
>  	dev_set_drvdata(&pdev->dev, &hisi_acc_vdev->core_device);
>  	ret = vfio_pci_core_register_device(&hisi_acc_vdev->core_device);
>  	if (ret)
> -		goto out_free;
> +		goto out_put_vdev;
>  	return 0;
> 
> -out_free:
> -	vfio_pci_core_uninit_device(&hisi_acc_vdev->core_device);
> -	kfree(hisi_acc_vdev);
> +out_put_vdev:
> +	vfio_put_device(&hisi_acc_vdev->core_device.vdev);
>  	return ret;
>  }
> 
> @@ -1304,8 +1299,7 @@ static void hisi_acc_vfio_pci_remove(struct
> pci_dev *pdev)
>  	struct hisi_acc_vf_core_device *hisi_acc_vdev =
> hssi_acc_drvdata(pdev);
> 
>  	vfio_pci_core_unregister_device(&hisi_acc_vdev->core_device);
> -	vfio_pci_core_uninit_device(&hisi_acc_vdev->core_device);
> -	kfree(hisi_acc_vdev);
> +	vfio_put_device(&hisi_acc_vdev->core_device.vdev);
>  }
> 
>  static const struct pci_device_id hisi_acc_vfio_pci_table[] = {
> diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
> index 708b61d1b364..f29d780e327e 100644
> --- a/drivers/vfio/pci/vfio_pci_core.c
> +++ b/drivers/vfio/pci/vfio_pci_core.c
> @@ -1860,36 +1860,6 @@ void vfio_pci_core_release_dev(struct
> vfio_device *core_vdev)
>  }
>  EXPORT_SYMBOL_GPL(vfio_pci_core_release_dev);
> 
> -void vfio_pci_core_init_device(struct vfio_pci_core_device *vdev,
> -			       struct pci_dev *pdev,
> -			       const struct vfio_device_ops *vfio_pci_ops)
> -{
> -	vfio_init_group_dev(&vdev->vdev, &pdev->dev, vfio_pci_ops);
> -	vdev->pdev = pdev;
> -	vdev->irq_type = VFIO_PCI_NUM_IRQS;
> -	mutex_init(&vdev->igate);
> -	spin_lock_init(&vdev->irqlock);
> -	mutex_init(&vdev->ioeventfds_lock);
> -	INIT_LIST_HEAD(&vdev->dummy_resources_list);
> -	INIT_LIST_HEAD(&vdev->ioeventfds_list);
> -	mutex_init(&vdev->vma_lock);
> -	INIT_LIST_HEAD(&vdev->vma_list);
> -	INIT_LIST_HEAD(&vdev->sriov_pfs_item);
> -	init_rwsem(&vdev->memory_lock);
> -}
> -EXPORT_SYMBOL_GPL(vfio_pci_core_init_device);
> -
> -void vfio_pci_core_uninit_device(struct vfio_pci_core_device *vdev)
> -{
> -	mutex_destroy(&vdev->igate);
> -	mutex_destroy(&vdev->ioeventfds_lock);
> -	mutex_destroy(&vdev->vma_lock);
> -	vfio_uninit_group_dev(&vdev->vdev);
> -	kfree(vdev->region);
> -	kfree(vdev->pm_save);
> -}
> -EXPORT_SYMBOL_GPL(vfio_pci_core_uninit_device);
> -
>  int vfio_pci_core_register_device(struct vfio_pci_core_device *vdev)
>  {
>  	struct pci_dev *pdev = vdev->pdev;
> diff --git a/include/linux/vfio_pci_core.h b/include/linux/vfio_pci_core.h
> index 98c8c66e2400..9f10ff34b2ba 100644
> --- a/include/linux/vfio_pci_core.h
> +++ b/include/linux/vfio_pci_core.h
> @@ -230,13 +230,9 @@ static inline void vfio_pci_zdev_close_device(struct
> vfio_pci_core_device *vdev)
>  void vfio_pci_core_set_params(bool nointxmask, bool is_disable_vga,
>  			      bool is_disable_idle_d3);
>  void vfio_pci_core_close_device(struct vfio_device *core_vdev);
> -void vfio_pci_core_init_device(struct vfio_pci_core_device *vdev,
> -			       struct pci_dev *pdev,
> -			       const struct vfio_device_ops *vfio_pci_ops);
>  int vfio_pci_core_init_dev(struct vfio_device *core_vdev);
>  void vfio_pci_core_release_dev(struct vfio_device *core_vdev);
>  int vfio_pci_core_register_device(struct vfio_pci_core_device *vdev);
> -void vfio_pci_core_uninit_device(struct vfio_pci_core_device *vdev);
>  void vfio_pci_core_unregister_device(struct vfio_pci_core_device *vdev);
>  extern const struct pci_error_handlers vfio_pci_core_err_handlers;
>  int vfio_pci_core_sriov_configure(struct vfio_pci_core_device *vdev,
> --
> 2.21.3


  reply	other threads:[~2022-08-31  7:36 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-27 17:10 [Intel-gfx] [PATCH 00/15] Tidy up vfio_device life cycle Kevin Tian
2022-08-27 17:10 ` Kevin Tian
2022-08-27 10:09 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2022-08-27 10:29 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-08-27 17:10 ` [Intel-gfx] [PATCH 01/15] vfio: Add helpers for unifying " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-30 13:42   ` [Intel-gfx] " Anthony Krowiak
2022-08-30 13:42     ` Anthony Krowiak
2022-08-30 15:10     ` Jason Gunthorpe
2022-08-30 15:10       ` Jason Gunthorpe
2022-08-30 19:43       ` [Intel-gfx] " Anthony Krowiak
2022-08-30 19:43         ` Anthony Krowiak
2022-08-30 19:43         ` Anthony Krowiak
2022-08-31  6:03       ` [Intel-gfx] " Tian, Kevin
2022-08-31  6:03         ` Tian, Kevin
2022-08-31  6:03         ` Tian, Kevin
2022-08-27 17:10 ` [Intel-gfx] [PATCH 02/15] vfio/pci: Use the new device life cycle helpers Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 03/15] vfio/mlx5: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 04/15] vfio/hisi_acc: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-31  7:36   ` Shameerali Kolothum Thodi [this message]
2022-08-27 17:10 ` [Intel-gfx] [PATCH 05/15] vfio/mdpy: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 06/15] vfio/mtty: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 07/15] vfio/mbochs: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 08/15] drm/i915/gvt: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 09/15] vfio/ap: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-30 13:43   ` [Intel-gfx] " Anthony Krowiak
2022-08-30 13:43     ` Anthony Krowiak
2022-08-27 17:10 ` [Intel-gfx] [PATCH 10/15] vfio/fsl-mc: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-31  0:22   ` Jason Gunthorpe
2022-08-31  0:22     ` Jason Gunthorpe
2022-08-31  6:14     ` [Intel-gfx] " Tian, Kevin
2022-08-31  6:14       ` Tian, Kevin
2022-08-31  6:14       ` Tian, Kevin
2022-08-27 17:10 ` [Intel-gfx] [PATCH 11/15] vfio/platform: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 12/15] vfio/amba: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 11:29   ` [Intel-gfx] " kernel test robot
2022-08-27 17:10 ` [Intel-gfx] [PATCH 13/15] vfio/ccw: " Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 10:39   ` [Intel-gfx] " Tian, Kevin
2022-08-27 10:39     ` Tian, Kevin
2022-08-27 17:10 ` [Intel-gfx] [PATCH 14/15] vfio: Rename vfio_device_put() and vfio_device_try_get() Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-27 17:10 ` [Intel-gfx] [PATCH 15/15] vfio: Add struct device to vfio_device Kevin Tian
2022-08-27 17:10   ` Kevin Tian
2022-08-30 22:18   ` [Intel-gfx] " Alex Williamson
2022-08-30 22:18     ` Alex Williamson
2022-08-30 22:18     ` Alex Williamson
2022-08-30 23:53     ` Jason Gunthorpe
2022-08-30 23:53       ` Jason Gunthorpe
2022-08-31  6:10       ` [Intel-gfx] " Tian, Kevin
2022-08-31  6:10         ` Tian, Kevin
2022-08-31  6:10         ` Tian, Kevin
2022-08-31 17:15         ` [Intel-gfx] " Alex Williamson
2022-08-31 17:15           ` Alex Williamson
2022-08-31 17:15           ` Alex Williamson
2022-09-01  0:46           ` [Intel-gfx] " Tian, Kevin
2022-09-01  0:46             ` Tian, Kevin
2022-09-01  0:46             ` Tian, Kevin
2022-09-01  2:05             ` [Intel-gfx] " Alex Williamson
2022-09-01  2:05               ` Alex Williamson
2022-09-01  2:05               ` Alex Williamson
2022-08-31  0:32   ` Jason Gunthorpe
2022-08-31  0:32     ` Jason Gunthorpe
2022-08-31  6:14     ` [Intel-gfx] " Tian, Kevin
2022-08-31  6:14       ` Tian, Kevin
2022-08-31  6:14       ` Tian, Kevin
2022-08-27 22:41 ` [Intel-gfx] [PATCH 00/15] Tidy up vfio_device life cycle Tian, Kevin
2022-08-27 22:41   ` Tian, Kevin
2022-08-30 18:55 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for " Patchwork
2022-08-31  0:34 ` [Intel-gfx] [PATCH 00/15] " Jason Gunthorpe
2022-08-31  0:34   ` Jason Gunthorpe
2022-08-31  0:34   ` Jason Gunthorpe
2022-08-31  6:14   ` [Intel-gfx] " Tian, Kevin
2022-08-31  6:14     ` Tian, Kevin
2022-08-31  6:14     ` Tian, Kevin
2022-08-31  6:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Tidy up vfio_device life cycle (rev2) Patchwork
2022-08-31  6:36 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-08-31  6:48 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-08-31 16:46 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fcbcc84a6c1148fa943576522cb906ce@huawei.com \
    --to=shameerali.kolothum.thodi@huawei.com \
    --cc=abhsahu@nvidia.com \
    --cc=agordeev@linux.ibm.com \
    --cc=airlied@linux.ie \
    --cc=akrowiak@linux.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=daniel@ffwll.ch \
    --cc=diana.craciun@oss.nxp.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=eric.auger@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=freude@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-gvt-dev@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=jjherne@linux.ibm.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=liulongfang@huawei.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=oberpar@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=svens@linux.ibm.com \
    --cc=tvrtko.ursulin@linux.intel.com \
    --cc=vneethv@linux.ibm.com \
    --cc=yi.l.liu@intel.com \
    --cc=yishaih@nvidia.com \
    --cc=zhenyuw@linux.intel.com \
    --cc=zhi.a.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.