All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu Zhao <yu.zhao@intel.com>
To: dwmw2@infradead.org
Cc: jbarnes@virtuousgeek.org, linux-pci@vger.kernel.org,
	iommu@lists.linux-foundation.org, kvm@vger.kernel.org,
	Yu Zhao <yu.zhao@intel.com>
Subject: [PATCH v5 0/6] ATS capability support for Intel IOMMU
Date: Mon, 18 May 2009 13:51:31 +0800	[thread overview]
Message-ID: <1242625897-1678-1-git-send-email-yu.zhao@intel.com> (raw)

This patch series implements Address Translation Service support for
the Intel IOMMU. The PCIe Endpoint that supports ATS capability can
request the DMA address translation from the IOMMU and cache the
translation itself. This can alleviate IOMMU TLB pressure and improve
the hardware performance in the I/O virtualization environment.

The ATS is one of PCI-SIG I/O Virtualization (IOV) Specifications. The
spec can be found at: http://www.pcisig.com/specifications/iov/ats/
(it requires membership).

Changelog:
v4 -> v5
  1, rebase to the latest IOMMU tree
v3 -> v4
  1, coding style fixes (Grant Grundler)
  2, support the Virtual Function ATS capability

v2 -> v3
  1, throw error message if VT-d hardware detects invalid descriptor
     on Queued Invalidation interface (David Woodhouse)
  2, avoid using pci_find_ext_capability every time when reading ATS
     Invalidate Queue Depth (Matthew Wilcox)

v1 -> v2
  added 'static' prefix to a local LIST_HEAD (Andrew Morton)

Yu Zhao (6):
  PCI: support the ATS capability
  PCI: handle Virtual Function ATS enabling
  VT-d: parse ATSR in DMA Remapping Reporting Structure
  VT-d: add device IOTLB invalidation support
  VT-d: cleanup iommu_flush_iotlb_psi and flush_unmaps
  VT-d: support the device IOTLB

 drivers/pci/dmar.c            |  189 ++++++++++++++++++++++++++++++++++++++---
 drivers/pci/intel-iommu.c     |  141 +++++++++++++++++++++++++------
 drivers/pci/iov.c             |  155 ++++++++++++++++++++++++++++++++--
 drivers/pci/pci.h             |   39 +++++++++
 include/linux/dma_remapping.h |    1 +
 include/linux/dmar.h          |    9 ++
 include/linux/intel-iommu.h   |   16 +++-
 include/linux/pci.h           |    2 +
 include/linux/pci_regs.h      |   10 ++
 9 files changed, 514 insertions(+), 48 deletions(-)

             reply	other threads:[~2009-05-18  5:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-18  5:51 Yu Zhao [this message]
2009-05-18  5:51 ` [PATCH v5 1/6] PCI: support the ATS capability Yu Zhao
2009-05-18  5:51 ` [PATCH v5 2/6] PCI: handle Virtual Function ATS enabling Yu Zhao
2009-05-18  5:51 ` [PATCH v5 3/6] VT-d: parse ATSR in DMA Remapping Reporting Structure Yu Zhao
2009-05-18  5:51 ` [PATCH v5 4/6] VT-d: add device IOTLB invalidation support Yu Zhao
2009-05-18  5:51 ` [PATCH v5 5/6] VT-d: cleanup iommu_flush_iotlb_psi and flush_unmaps Yu Zhao
2009-05-18  5:51 ` [PATCH v5 6/6] VT-d: support the device IOTLB Yu Zhao
2009-06-28 14:28   ` David Woodhouse
2009-06-29  3:07     ` Yu Zhao
2009-08-09  9:33   ` David Woodhouse
2009-08-09 10:28   ` David Woodhouse

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=1242625897-1678-1-git-send-email-yu.zhao@intel.com \
    --to=yu.zhao@intel.com \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-pci@vger.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 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.