WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] vtd: ats and queued invalidation cleanup

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] vtd: ats and queued invalidation cleanup
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 19 Jun 2009 00:55:50 -0700
Delivery-date: Fri, 19 Jun 2009 01:00:35 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1245156077 -3600
# Node ID 133c889c21a7596be60ab2a79d51b4ce9ded4521
# Parent  f2a3b71889068551ec42f1d3fe362cfab202fb40
vtd: ats and queued invalidation cleanup

Use iommu_qinval in place of qinval_enabled flag.  Use
ecap_queued_inval() for determining whether queued invalidation is
available on this vt-d engine or not.

Signed-off-by: Allen Kay <allen.m.kay@xxxxxxxxx>
---
 xen/drivers/passthrough/vtd/qinval.c  |    3 ---
 xen/drivers/passthrough/vtd/x86/ats.c |    8 +++-----
 2 files changed, 3 insertions(+), 8 deletions(-)

diff -r f2a3b7188906 -r 133c889c21a7 xen/drivers/passthrough/vtd/qinval.c
--- a/xen/drivers/passthrough/vtd/qinval.c      Tue Jun 16 13:39:00 2009 +0100
+++ b/xen/drivers/passthrough/vtd/qinval.c      Tue Jun 16 13:41:17 2009 +0100
@@ -29,8 +29,6 @@
 #include "vtd.h"
 #include "extern.h"
 
-int qinval_enabled;
-
 static void print_qi_regs(struct iommu *iommu)
 {
     u64 val;
@@ -465,7 +463,6 @@ int enable_qinval(struct iommu *iommu)
                   (sts & DMA_GSTS_QIES), sts);
     spin_unlock_irqrestore(&iommu->register_lock, flags);
 
-    qinval_enabled = 1;
     return 0;
 }
 
diff -r f2a3b7188906 -r 133c889c21a7 xen/drivers/passthrough/vtd/x86/ats.c
--- a/xen/drivers/passthrough/vtd/x86/ats.c     Tue Jun 16 13:39:00 2009 +0100
+++ b/xen/drivers/passthrough/vtd/x86/ats.c     Tue Jun 16 13:41:17 2009 +0100
@@ -87,15 +87,13 @@ int ats_device(int seg, int bus, int dev
     struct pci_dev *pdev;
     int pos = 0;
 
-    if ( !ats_enabled )
-        return 0;
-
-    if ( !qinval_enabled )
+    if ( !ats_enabled || !iommu_qinval )
         return 0;
 
     pdev = pci_get_pdev(bus, devfn);
     drhd = acpi_find_matched_drhd_unit(pdev);
-    if ( !ecap_dev_iotlb(drhd->iommu->ecap) )
+    if ( !ecap_queued_inval(drhd->iommu->ecap) ||
+         !ecap_dev_iotlb(drhd->iommu->ecap) )
         return 0;
 
     if ( !acpi_find_matched_atsr_unit(bus, devfn) )

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] vtd: ats and queued invalidation cleanup, Xen patchbot-unstable <=