From: Jiang Liu <jiang.liu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>,
David Woodhouse <dwmw2@infradead.org>,
Yinghai Lu <yinghai@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Dan Williams <dan.j.williams@intel.com>,
Vinod Koul <vinod.koul@intel.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
Ashok Raj <ashok.raj@intel.com>,
Yijing Wang <wangyijing@huawei.com>,
Tony Luck <tony.luck@intel.com>,
iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
linux-hotplug@vger.kernel.org, linux-kernel@vger.kernel.org,
dmaengine@vger.kernel.org
Subject: [Patch Part3 V2 00/21] Enable support of Intel DMAR device hotplug
Date: Tue, 06 May 2014 07:05:11 +0000 [thread overview]
Message-ID: <1399359932-28972-1-git-send-email-jiang.liu@linux.intel.com> (raw)
When hot plugging a descrete IOH or a physical processor with embedded
IIO, we need to handle DMAR(or IOMMU) unit in the PCIe host bridge if
DMAR is in use. This patch set tries to enhance current DMAR/IOMMU/IR
drivers to support hotplug and is based on latest mainstream kernel
v3.15-rc3-177-g0384dcae2b18.
Patch 1-13 are bugfixes and code improvement for current drivers.
Patch 14-17 enhances DMAR framework to support hotplug
Patch 18 enhances Intel interrupt remapping driver to support hotplug
Patch 19 enhances error handling in Intel IR driver
Patch 20 enhance Intel IOMMU to support hotplug
Patch 21 enhance ACPI pci_root driver to handle DMAR units
This patch set has been tested on Intel development machine.
Appreciate any comments and tests.
V1->V2:
1) enhance the way to simplify intel_unmap_sg()
2) rename dmar_device_hotplug() to dmar_device_add/remove()
3) coding style improvment
Best Regards!
Jiang Liu (21):
iommu/vt-d: match segment number when searching for dev_iotlb capable
devices
iommu/vt-d: use correct domain id to flush virtual machine domains
iommu/vt-d: introduce helper functions to improve code readability
iommu/vt-d: introduce helper functions to make code symmetric for
readability
iommu/vt-d: only dynamically allocate domain id for virtual domains
iommu/vt-d: fix possible invalid memory access caused by
free_dmar_iommu()
iommu/vt-d: avoid freeing virtual machine domain in free_dmar_iommu()
iommu/VT-d: simplify include/linux/dmar.h
iommu/vt-d: change iommu_enable/disable_translation to return void
iommu/vt-d: simplify intel_unmap_sg() and kill duplicated code
iommu/vt-d: introduce helper domain_pfn_within_range() to simplify
code
iommu/vt-d: introduce helper function iova_size() to improve code
readability
iommu/vt-d: fix bug in computing domain's iommu_snooping flag
IOMMU/vt-d: introduce helper function dmar_walk_resources()
iommu/vt-d: dynamically allocate and free seq_id for DMAR units
iommu/vt-d: implement DMAR unit hotplug framework
iommu/vt-d: search _DSM method for DMAR hotplug
iommu/vt-d: enhance intel_irq_remapping driver to support DMAR unit
hotplug
iommu/vt-d: enhance error recovery in function
intel_enable_irq_remapping()
iommu/vt-d: enhance intel-iommu driver to support DMAR unit hotplug
pci, ACPI, iommu: enhance pci_root to support DMAR device hotplug
drivers/acpi/pci_root.c | 16 +-
drivers/iommu/dmar.c | 531 +++++++++++++++++++------
drivers/iommu/intel-iommu.c | 725 +++++++++++++++++++++--------------
drivers/iommu/intel_irq_remapping.c | 233 ++++++++---
include/linux/dmar.h | 86 +++--
include/linux/iova.h | 5 +
6 files changed, 1105 insertions(+), 491 deletions(-)
--
1.7.10.4
next reply other threads:[~2014-05-06 7:05 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-06 7:05 Jiang Liu [this message]
2014-05-06 7:05 ` [Patch Part3 V2 01/21] iommu/vt-d: match segment number when searching for dev_iotlb capable devices Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 02/21] iommu/vt-d: use correct domain id to flush virtual machine domains Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 03/21] iommu/vt-d: introduce helper functions to improve code readability Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 04/21] iommu/vt-d: introduce helper functions to make code symmetric for readability Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 05/21] iommu/vt-d: only dynamically allocate domain id for virtual domains Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 06/21] iommu/vt-d: fix possible invalid memory access caused by free_dmar_iommu() Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 07/21] iommu/vt-d: avoid freeing virtual machine domain in free_dmar_iommu() Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 08/21] iommu/VT-d: simplify include/linux/dmar.h Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 09/21] iommu/vt-d: change iommu_enable/disable_translation to return void Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 10/21] iommu/vt-d: simplify intel_unmap_sg() and kill duplicated code Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 11/21] iommu/vt-d: introduce helper domain_pfn_within_range() to simplify code Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 12/21] iommu/vt-d: introduce helper function iova_size() to improve code readability Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 13/21] iommu/vt-d: fix bug in computing domain's iommu_snooping flag Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 14/21] IOMMU/vt-d: introduce helper function dmar_walk_resources() Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 15/21] iommu/vt-d: dynamically allocate and free seq_id for DMAR units Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 16/21] iommu/vt-d: implement DMAR unit hotplug framework Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 17/21] iommu/vt-d: search _DSM method for DMAR hotplug Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 18/21] iommu/vt-d: enhance intel_irq_remapping driver to support DMAR unit hotplug Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 19/21] iommu/vt-d: enhance error recovery in function intel_enable_irq_remapping() Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 20/21] iommu/vt-d: enhance intel-iommu driver to support DMAR unit hotplug Jiang Liu
2014-05-06 7:05 ` [Patch Part3 V2 21/21] pci, ACPI, iommu: enhance pci_root to support DMAR device hotplug Jiang Liu
2014-05-19 9:23 ` [Patch Part3 V2 00/21] Enable support of Intel " Joerg Roedel
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=1399359932-28972-1-git-send-email-jiang.liu@linux.intel.com \
--to=jiang.liu@linux.intel.com \
--cc=ashok.raj@intel.com \
--cc=bhelgaas@google.com \
--cc=dan.j.williams@intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=linux-hotplug@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=tony.luck@intel.com \
--cc=vinod.koul@intel.com \
--cc=wangyijing@huawei.com \
--cc=yinghai@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).