iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth
authorBjorn Helgaas <bhelgaas@google.com>
Mon, 20 Jul 2015 14:10:36 +0000 (09:10 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 20 Jul 2015 16:49:46 +0000 (11:49 -0500)
commitfb0cc3aa552642631c3a4e83deae2b5c1a1ef4fa
tree28dd67267311d5550cf322101ce8524c4982995d
parentbc0195aad0daa2ad5b0d76cce22b167bc3435590
iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth

We check the ATS state (enabled/disabled) and fetch the PCI ATS Invalidate
Queue Depth in performance-sensitive paths.  It's easy to cache these,
which removes dependencies on PCI.

Remember the ATS enabled state.  When enabling, read the queue depth once
and cache it in the device_domain_info struct.  This is similar to what
amd_iommu.c does.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Joerg Roedel <jroedel@suse.de>
Acked-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c