From: Don Dutile <ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Cc: Toshi Kani <toshi.kani-VXdhtT5mjnY@public.gmane.org>,
Jiang Liu <jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
Myron Stowe <myron.stowe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
"Rafael J . Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
"Li, Zhen-Hua" <zhen-hual-VXdhtT5mjnY@public.gmane.org>,
Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>,
linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Gu Zheng <guz.fnst-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>,
Yinghai Lu <yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Jiang Liu <liuj97-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v3, part2 17/20] PCI, iommu: use hotplug-safe iterators to walk PCI buses
Date: Mon, 17 Jun 2013 16:34:34 -0400 [thread overview]
Message-ID: <51BF72DA.3050106@redhat.com> (raw)
In-Reply-To: <20130617202010.GC7877-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
On 06/17/2013 04:20 PM, Bjorn Helgaas wrote:
> On Sun, May 26, 2013 at 11:53:14PM +0800, Jiang Liu wrote:
>> Enhance iommu drviers to use hotplug-safe iterators to walk
>> PCI buses.
>>
>> Signed-off-by: Jiang Liu<jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
>> Cc: Joerg Roedel<joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
>> Cc: Ingo Molnar<mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> Cc: Donald Dutile<ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>> Cc: Hannes Reinecke<hare-l3A5Bk7waGM@public.gmane.org>
>> Cc: "Li, Zhen-Hua"<zhen-hual-VXdhtT5mjnY@public.gmane.org>
>> Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
>> Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> ---
>> drivers/iommu/amd_iommu.c | 4 +++-
>> drivers/iommu/dmar.c | 6 ++++--
>
> The AMD and Intel IOMMU drivers are very different, and I would
> split this into a patch for each.
>
+1
>> 2 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
>> index 21d02b0..eef7a7e 100644
>> --- a/drivers/iommu/amd_iommu.c
>> +++ b/drivers/iommu/amd_iommu.c
>> @@ -352,6 +352,7 @@ static int init_iommu_group(struct device *dev)
>> struct iommu_dev_data *dev_data;
>> struct iommu_group *group;
>> struct pci_dev *dma_pdev;
>> + struct pci_bus *b = NULL;
>> int ret;
>>
>> group = iommu_group_get(dev);
>> @@ -388,7 +389,7 @@ static int init_iommu_group(struct device *dev)
>> * the alias. Be careful to also test the parent device if
>> * we think the alias is the root of the group.
>> */
>> - bus = pci_find_bus(0, alias>> 8);
>> + b = bus = pci_get_bus(0, alias>> 8);
>> if (!bus)
>> goto use_group;
>>
>> @@ -408,6 +409,7 @@ static int init_iommu_group(struct device *dev)
>> dma_pdev = get_isolation_root(pci_dev_get(to_pci_dev(dev)));
>> use_pdev:
>> ret = use_pdev_iommu_group(dma_pdev, dev);
>> + pci_bus_put(b);
>> pci_dev_put(dma_pdev);
>> return ret;
>> use_group:
>> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
>> index a7967ce..7162787 100644
>> --- a/drivers/iommu/dmar.c
>> +++ b/drivers/iommu/dmar.c
>> @@ -67,12 +67,12 @@ static void __init dmar_register_drhd_unit(struct dmar_drhd_unit *drhd)
>> static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope,
>> struct pci_dev **dev, u16 segment)
>> {
>> - struct pci_bus *bus;
>> + struct pci_bus *b, *bus;
>> struct pci_dev *pdev = NULL;
>> struct acpi_dmar_pci_path *path;
>> int count;
>>
>> - bus = pci_find_bus(segment, scope->bus);
>> + b = bus = pci_get_bus(segment, scope->bus);
>> path = (struct acpi_dmar_pci_path *)(scope + 1);
>> count = (scope->length - sizeof(struct acpi_dmar_device_scope))
>> / sizeof(struct acpi_dmar_pci_path);
>> @@ -97,6 +97,8 @@ static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope,
>> count --;
>> bus = pdev->subordinate;
>> }
>> + pci_bus_put(b);
>> +
>> if (!pdev) {
>> pr_warn("Device scope device [%04x:%02x:%02x.%02x] not found\n",
>> segment, scope->bus, path->dev, path->fn);
>> --
>> 1.8.1.2
>>
WARNING: multiple messages have this Message-ID (diff)
From: Don Dutile <ddutile@redhat.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Jiang Liu <liuj97@gmail.com>, Yinghai Lu <yinghai@kernel.org>,
Jiang Liu <jiang.liu@huawei.com>,
"Rafael J . Wysocki" <rjw@sisk.pl>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Gu Zheng <guz.fnst@cn.fujitsu.com>,
Toshi Kani <toshi.kani@hp.com>,
Myron Stowe <myron.stowe@redhat.com>,
Yijing Wang <wangyijing@huawei.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
Joerg Roedel <joro@8bytes.org>, Ingo Molnar <mingo@kernel.org>,
Hannes Reinecke <hare@suse.de>, "Li, Zhen-Hua" <zhen-hual@hp.com>,
iommu@lists.linux-foundation.org
Subject: Re: [PATCH v3, part2 17/20] PCI, iommu: use hotplug-safe iterators to walk PCI buses
Date: Mon, 17 Jun 2013 16:34:34 -0400 [thread overview]
Message-ID: <51BF72DA.3050106@redhat.com> (raw)
In-Reply-To: <20130617202010.GC7877@google.com>
On 06/17/2013 04:20 PM, Bjorn Helgaas wrote:
> On Sun, May 26, 2013 at 11:53:14PM +0800, Jiang Liu wrote:
>> Enhance iommu drviers to use hotplug-safe iterators to walk
>> PCI buses.
>>
>> Signed-off-by: Jiang Liu<jiang.liu@huawei.com>
>> Cc: Joerg Roedel<joro@8bytes.org>
>> Cc: Ingo Molnar<mingo@kernel.org>
>> Cc: Donald Dutile<ddutile@redhat.com>
>> Cc: Hannes Reinecke<hare@suse.de>
>> Cc: "Li, Zhen-Hua"<zhen-hual@hp.com>
>> Cc: iommu@lists.linux-foundation.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>> drivers/iommu/amd_iommu.c | 4 +++-
>> drivers/iommu/dmar.c | 6 ++++--
>
> The AMD and Intel IOMMU drivers are very different, and I would
> split this into a patch for each.
>
+1
>> 2 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
>> index 21d02b0..eef7a7e 100644
>> --- a/drivers/iommu/amd_iommu.c
>> +++ b/drivers/iommu/amd_iommu.c
>> @@ -352,6 +352,7 @@ static int init_iommu_group(struct device *dev)
>> struct iommu_dev_data *dev_data;
>> struct iommu_group *group;
>> struct pci_dev *dma_pdev;
>> + struct pci_bus *b = NULL;
>> int ret;
>>
>> group = iommu_group_get(dev);
>> @@ -388,7 +389,7 @@ static int init_iommu_group(struct device *dev)
>> * the alias. Be careful to also test the parent device if
>> * we think the alias is the root of the group.
>> */
>> - bus = pci_find_bus(0, alias>> 8);
>> + b = bus = pci_get_bus(0, alias>> 8);
>> if (!bus)
>> goto use_group;
>>
>> @@ -408,6 +409,7 @@ static int init_iommu_group(struct device *dev)
>> dma_pdev = get_isolation_root(pci_dev_get(to_pci_dev(dev)));
>> use_pdev:
>> ret = use_pdev_iommu_group(dma_pdev, dev);
>> + pci_bus_put(b);
>> pci_dev_put(dma_pdev);
>> return ret;
>> use_group:
>> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
>> index a7967ce..7162787 100644
>> --- a/drivers/iommu/dmar.c
>> +++ b/drivers/iommu/dmar.c
>> @@ -67,12 +67,12 @@ static void __init dmar_register_drhd_unit(struct dmar_drhd_unit *drhd)
>> static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope,
>> struct pci_dev **dev, u16 segment)
>> {
>> - struct pci_bus *bus;
>> + struct pci_bus *b, *bus;
>> struct pci_dev *pdev = NULL;
>> struct acpi_dmar_pci_path *path;
>> int count;
>>
>> - bus = pci_find_bus(segment, scope->bus);
>> + b = bus = pci_get_bus(segment, scope->bus);
>> path = (struct acpi_dmar_pci_path *)(scope + 1);
>> count = (scope->length - sizeof(struct acpi_dmar_device_scope))
>> / sizeof(struct acpi_dmar_pci_path);
>> @@ -97,6 +97,8 @@ static int __init dmar_parse_one_dev_scope(struct acpi_dmar_device_scope *scope,
>> count --;
>> bus = pdev->subordinate;
>> }
>> + pci_bus_put(b);
>> +
>> if (!pdev) {
>> pr_warn("Device scope device [%04x:%02x:%02x.%02x] not found\n",
>> segment, scope->bus, path->dev, path->fn);
>> --
>> 1.8.1.2
>>
next prev parent reply other threads:[~2013-06-17 20:34 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-26 15:52 [PATCH v3, part2 00/20] Introduce hotplug-safe PCI bus iterators Jiang Liu
2013-05-26 15:52 ` [PATCH v3, part2 01/20] PCI: introduce " Jiang Liu
2013-05-28 4:22 ` Yinghai Lu
2013-05-28 15:06 ` Liu Jiang
2013-06-17 20:06 ` Bjorn Helgaas
2013-06-18 16:23 ` Jiang Liu
2013-06-20 16:18 ` Jiang Liu
2013-06-26 2:58 ` Bjorn Helgaas
2013-05-26 15:52 ` [PATCH v3, part2 02/20] PCI, core: use hotplug-safe iterators to walk PCI buses Jiang Liu
2013-05-26 15:52 ` Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 03/20] PCI, hotplug: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 04/20] PCI, IOV: hold a reference to PCI bus when creating virtual PCI devices Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 05/20] PCI, Alpha: use hotplug-safe iterators to walk PCI buses Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 06/20] PCI, FRV: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 07/20] PCI, IA64: " Jiang Liu
2013-05-26 15:53 ` Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 08/20] PCI, Microblaze: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 09/20] PCI, mn10300: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 10/20] PCI, PPC: " Jiang Liu
2013-05-26 15:53 ` Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 11/20] PCI, SPARC: " Jiang Liu
2013-05-26 15:53 ` Jiang Liu
2013-05-26 17:11 ` David Miller
2013-05-26 17:11 ` David Miller
2013-05-26 15:53 ` [PATCH v3, part2 12/20] PCI, x86: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 13/20] PCI, ACPI: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 14/20] PCI, DRM: " Jiang Liu
2013-06-17 18:08 ` Bjorn Helgaas
2013-05-26 15:53 ` [PATCH v3, part2 15/20] PCI, EDAC: use hotplug-safe PCI bus " Jiang Liu
2013-06-17 20:18 ` Bjorn Helgaas
2013-06-18 16:33 ` Jiang Liu
2013-06-26 3:00 ` Bjorn Helgaas
2013-05-26 15:53 ` [PATCH v3, part2 16/20] PCI, via-camera: use hotplug-safe " Jiang Liu
[not found] ` <1369583597-3801-1-git-send-email-jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-05-26 15:53 ` [PATCH v3, part2 17/20] PCI, iommu: " Jiang Liu
2013-05-26 15:53 ` Jiang Liu
[not found] ` <1369583597-3801-18-git-send-email-jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-06-17 20:20 ` Bjorn Helgaas
2013-06-17 20:20 ` Bjorn Helgaas
[not found] ` <20130617202010.GC7877-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-06-17 20:34 ` Don Dutile [this message]
2013-06-17 20:34 ` Don Dutile
[not found] ` <51BF72DA.3050106-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-18 16:34 ` Jiang Liu
2013-06-18 16:34 ` Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 18/20] PCI, eeepc-laptop: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 19/20] PCI, asus-wmi: " Jiang Liu
2013-05-26 15:53 ` [PATCH v3, part2 20/20] PCI, ARM: use hotplug-safe PCI bus " Jiang Liu
2013-05-26 15:53 ` Jiang Liu
2013-06-17 18:24 ` Bjorn Helgaas
2013-06-17 18:24 ` Bjorn Helgaas
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=51BF72DA.3050106@redhat.com \
--to=ddutile-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=guz.fnst-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
--cc=hare-l3A5Bk7waGM@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=jiang.liu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=liuj97-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=myron.stowe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=rjw-KKrjLPT3xs0@public.gmane.org \
--cc=toshi.kani-VXdhtT5mjnY@public.gmane.org \
--cc=yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=zhen-hual-VXdhtT5mjnY@public.gmane.org \
/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.