x86/VT-d: Misc initialisation cleanup
diff mbox series

Message ID 20191024172731.15752-1-andrew.cooper3@citrix.com
State New
Headers show
Series
  • x86/VT-d: Misc initialisation cleanup
Related show

Commit Message

Andrew Cooper Oct. 24, 2019, 5:27 p.m. UTC
* Initialise all spinlock fields together
 * No need for an atomic set_bit() to initialise domid_bitmap
 * Avoid using partial-line printk()'s.
 * Style fixes (too many, and too few spaces)

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Juergen Gross <jgross@suse.com>

This isn't required for 4.13, but it is a couple of nice-to-have's and we're
still at the early RC phase.
---
 xen/drivers/passthrough/vtd/iommu.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

Comments

Tian, Kevin Oct. 25, 2019, 12:18 a.m. UTC | #1
> From: Andrew Cooper [mailto:andrew.cooper3@citrix.com]
> Sent: Friday, October 25, 2019 1:28 AM
> 
>  * Initialise all spinlock fields together
>  * No need for an atomic set_bit() to initialise domid_bitmap
>  * Avoid using partial-line printk()'s.
>  * Style fixes (too many, and too few spaces)
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Juergen Gross Oct. 25, 2019, 2:50 p.m. UTC | #2
On 24.10.19 19:27, Andrew Cooper wrote:
>   * Initialise all spinlock fields together
>   * No need for an atomic set_bit() to initialise domid_bitmap
>   * Avoid using partial-line printk()'s.
>   * Style fixes (too many, and too few spaces)
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Release-acked-by: Juergen Gross <jgross@suse.com>


Juergen

Patch
diff mbox series

diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 0522ecd3bc..4a759d33cd 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1145,6 +1145,8 @@  int __init iommu_alloc(struct acpi_drhd_unit *drhd)
     iommu->msi.irq = -1; /* No irq assigned yet. */
     iommu->node = NUMA_NO_NODE;
     INIT_LIST_HEAD(&iommu->ats_devices);
+    spin_lock_init(&iommu->lock);
+    spin_lock_init(&iommu->register_lock);
     spin_lock_init(&iommu->intremap.lock);
 
     iommu->drhd = drhd;
@@ -1197,21 +1199,18 @@  int __init iommu_alloc(struct acpi_drhd_unit *drhd)
     nr_dom = cap_ndoms(iommu->cap);
     iommu->domid_bitmap = xzalloc_array(unsigned long, BITS_TO_LONGS(nr_dom));
     if ( !iommu->domid_bitmap )
-        return -ENOMEM ;
+        return -ENOMEM;
 
     /*
      * if Caching mode is set, then invalid translations are tagged with
      * domain id 0, Hence reserve bit 0 for it
      */
     if ( cap_caching_mode(iommu->cap) )
-        set_bit(0, iommu->domid_bitmap);
+        __set_bit(0, iommu->domid_bitmap);
 
     iommu->domid_map = xzalloc_array(u16, nr_dom);
     if ( !iommu->domid_map )
-        return -ENOMEM ;
-
-    spin_lock_init(&iommu->lock);
-    spin_lock_init(&iommu->register_lock);
+        return -ENOMEM;
 
     return 0;
 }
@@ -2272,15 +2271,10 @@  static int __init vtd_setup(void)
     {
         iommu = drhd->iommu;
 
-        printk("Intel VT-d iommu %"PRIu32" supported page sizes: 4kB",
-               iommu->index);
-        if (cap_sps_2mb(iommu->cap))
-            printk(", 2MB");
-
-        if (cap_sps_1gb(iommu->cap))
-            printk(", 1GB");
-
-        printk(".\n");
+        printk("Intel VT-d iommu %u supported page sizes: 4kB%s%s\n",
+               iommu->index,
+               cap_sps_2mb(iommu->cap) ? ", 2MB" : "",
+               cap_sps_1gb(iommu->cap) ? ", 1GB" : "");
 
         if ( iommu_snoop && !ecap_snp_ctl(iommu->ecap) )
             iommu_snoop = 0;