[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v11 08/22] vfio iommu type1: Add find_iommu_grou
From: |
Dong Jia Shi |
Subject: |
Re: [Qemu-devel] [PATCH v11 08/22] vfio iommu type1: Add find_iommu_group() function |
Date: |
Thu, 10 Nov 2016 15:29:03 +0800 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
* Kirti Wankhede <address@hidden> [2016-11-05 02:40:42 +0530]:
Hi Kirti,
> Add find_iommu_group()
>
> Signed-off-by: Kirti Wankhede <address@hidden>
> Signed-off-by: Neo Jia <address@hidden>
> Change-Id: I9d372f1ebe9eb01a5a21374b8a2b03f7df73601f
> ---
> drivers/vfio/vfio_iommu_type1.c | 58
> ++++++++++++++++++++++++-----------------
> 1 file changed, 34 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
> index 653386e80e85..422c8d198abb 100644
> --- a/drivers/vfio/vfio_iommu_type1.c
> +++ b/drivers/vfio/vfio_iommu_type1.c
> @@ -748,11 +748,24 @@ static void vfio_test_domain_fgsp(struct vfio_domain
> *domain)
> __free_pages(pages, order);
> }
>
> +static struct vfio_group *find_iommu_group(struct vfio_domain *domain,
> + struct iommu_group *iommu_group)
nit: broken indentation.
> +{
> + struct vfio_group *g;
> +
> + list_for_each_entry(g, &domain->group_list, next) {
> + if (g->iommu_group == iommu_group)
> + return g;
> + }
> +
> + return NULL;
> +}
> +
> static int vfio_iommu_type1_attach_group(void *iommu_data,
> struct iommu_group *iommu_group)
> {
> struct vfio_iommu *iommu = iommu_data;
> - struct vfio_group *group, *g;
> + struct vfio_group *group;
> struct vfio_domain *domain, *d;
> struct bus_type *bus = NULL;
> int ret;
> @@ -760,10 +773,7 @@ static int vfio_iommu_type1_attach_group(void
> *iommu_data,
> mutex_lock(&iommu->lock);
>
> list_for_each_entry(d, &iommu->domain_list, next) {
> - list_for_each_entry(g, &d->group_list, next) {
> - if (g->iommu_group != iommu_group)
> - continue;
> -
> + if (find_iommu_group(d, iommu_group)) {
> mutex_unlock(&iommu->lock);
> return -EINVAL;
> }
> @@ -882,28 +892,28 @@ static void vfio_iommu_type1_detach_group(void
> *iommu_data,
>
> mutex_lock(&iommu->lock);
>
> +
nit: empty line.
> list_for_each_entry(domain, &iommu->domain_list, next) {
> - list_for_each_entry(group, &domain->group_list, next) {
> - if (group->iommu_group != iommu_group)
> - continue;
> + group = find_iommu_group(domain, iommu_group);
> + if (!group)
> + continue;
[...]
Looks good to me!
--
Dong Jia
- [Qemu-devel] [PATCH v11 05/22] vfio iommu: Added pin and unpin callback functions to vfio_iommu_driver_ops, (continued)
[Qemu-devel] [PATCH v11 06/22] vfio iommu type1: Update arguments of vfio_lock_acct, Kirti Wankhede, 2016/11/04
[Qemu-devel] [PATCH v11 07/22] vfio iommu type1: Update argument of vaddr_get_pfn(), Kirti Wankhede, 2016/11/04
[Qemu-devel] [PATCH v11 08/22] vfio iommu type1: Add find_iommu_group() function, Kirti Wankhede, 2016/11/04
- Re: [Qemu-devel] [PATCH v11 08/22] vfio iommu type1: Add find_iommu_group() function,
Dong Jia Shi <=
[Qemu-devel] [PATCH v11 09/22] vfio iommu type1: Add task structure to vfio_dma, Kirti Wankhede, 2016/11/04
Re: [Qemu-devel] [PATCH v11 09/22] vfio iommu type1: Add task structure to vfio_dma, Dong Jia Shi, 2016/11/10
[Qemu-devel] [PATCH v11 10/22] vfio iommu type1: Add support for mediated devices, Kirti Wankhede, 2016/11/04