]> xenbits.xensource.com Git - xen.git/commitdiff
AMD/IOMMU: Clean up the allocation helpers
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 20 Sep 2018 15:37:42 +0000 (16:37 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 14 Feb 2020 18:01:52 +0000 (18:01 +0000)
Conform to style, drop unnecessary local variables, and avoid opencoding
clear_domain_page().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Paul Durrant <pdurrant@amazon.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/drivers/passthrough/amd/iommu.h

index 2297ac8e73e51f95261dc4ecc038edeef85fc1ef..5dfa0d88d5c9a304be7f6c591b54e3457f407266 100644 (file)
@@ -341,34 +341,28 @@ static inline unsigned long region_to_pages(unsigned long addr, unsigned long si
     return (PAGE_ALIGN(addr + size) - (addr & PAGE_MASK)) >> PAGE_SHIFT;
 }
 
-static inline struct page_infoalloc_amd_iommu_pgtable(void)
+static inline struct page_info *alloc_amd_iommu_pgtable(void)
 {
-    struct page_info *pg;
-    void *vaddr;
-
-    pg = alloc_domheap_page(NULL, 0);
-    if ( pg == NULL )
-        return 0;
-    vaddr = __map_domain_page(pg);
-    memset(vaddr, 0, PAGE_SIZE);
-    unmap_domain_page(vaddr);
+    struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+    if ( pg )
+        clear_domain_page(page_to_mfn(pg));
+
     return pg;
 }
 
 static inline void free_amd_iommu_pgtable(struct page_info *pg)
 {
-    if ( pg != 0 )
+    if ( pg )
         free_domheap_page(pg);
 }
 
-static inline void* __alloc_amd_iommu_tables(int order)
+static inline void *__alloc_amd_iommu_tables(unsigned int order)
 {
-    void *buf;
-    buf = alloc_xenheap_pages(order, 0);
-    return buf;
+    return alloc_xenheap_pages(order, 0);
 }
 
-static inline void __free_amd_iommu_tables(void *table, int order)
+static inline void __free_amd_iommu_tables(void *table, unsigned int order)
 {
     free_xenheap_pages(table, order);
 }