Inter-revision diff: patch 1

Comparing v15 (message) to v6 (message)

--- v15
+++ v6
@@ -1,20 +1,18 @@
 Add a new function, swiotlb_init_io_tlb_mem, for the io_tlb_mem struct
 initialization to make the code reusable.
 
+Note that we now also call set_memory_decrypted in swiotlb_init_with_tbl.
+
 Signed-off-by: Claire Chang <tientzu@chromium.org>
-Reviewed-by: Christoph Hellwig <hch@lst.de>
-Tested-by: Stefano Stabellini <sstabellini@kernel.org>
-Tested-by: Will Deacon <will@kernel.org>
-Acked-by: Stefano Stabellini <sstabellini@kernel.org>
 ---
- kernel/dma/swiotlb.c | 50 ++++++++++++++++++++++----------------------
- 1 file changed, 25 insertions(+), 25 deletions(-)
+ kernel/dma/swiotlb.c | 51 ++++++++++++++++++++++----------------------
+ 1 file changed, 25 insertions(+), 26 deletions(-)
 
 diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
-index 52e2ac526757..1f9b2b9e7490 100644
+index 8ca7d505d61c..d3232fc19385 100644
 --- a/kernel/dma/swiotlb.c
 +++ b/kernel/dma/swiotlb.c
-@@ -168,9 +168,28 @@ void __init swiotlb_update_mem_attributes(void)
+@@ -168,9 +168,30 @@ void __init swiotlb_update_mem_attributes(void)
  	memset(vaddr, 0, bytes);
  }
  
@@ -36,6 +34,8 @@
 +		mem->slots[i].orig_addr = INVALID_PHYS_ADDR;
 +		mem->slots[i].alloc_size = 0;
 +	}
++
++	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
 +	memset(vaddr, 0, bytes);
 +}
 +
@@ -44,7 +44,7 @@
  	struct io_tlb_mem *mem;
  	size_t alloc_size;
  
-@@ -186,16 +205,8 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
+@@ -186,16 +207,8 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
  	if (!mem)
  		panic("%s: Failed to allocate %zu bytes align=0x%lx\n",
  		      __func__, alloc_size, PAGE_SIZE);
@@ -63,17 +63,15 @@
  
  	io_tlb_default_mem = mem;
  	if (verbose)
-@@ -282,8 +293,8 @@ swiotlb_late_init_with_default_size(size_t default_size)
+@@ -282,7 +295,6 @@ swiotlb_late_init_with_default_size(size_t default_size)
  int
  swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
  {
 -	unsigned long bytes = nslabs << IO_TLB_SHIFT, i;
  	struct io_tlb_mem *mem;
-+	unsigned long bytes = nslabs << IO_TLB_SHIFT;
  
  	if (swiotlb_force == SWIOTLB_NO_FORCE)
- 		return 0;
-@@ -297,20 +308,9 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
+@@ -297,20 +309,7 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
  	if (!mem)
  		return -ENOMEM;
  
@@ -89,13 +87,12 @@
 -		mem->slots[i].alloc_size = 0;
 -	}
 -
-+	memset(mem, 0, sizeof(*mem));
- 	set_memory_decrypted((unsigned long)tlb, bytes >> PAGE_SHIFT);
+-	set_memory_decrypted((unsigned long)tlb, bytes >> PAGE_SHIFT);
 -	memset(tlb, 0, bytes);
 +	swiotlb_init_io_tlb_mem(mem, virt_to_phys(tlb), nslabs, true);
  
  	io_tlb_default_mem = mem;
  	swiotlb_print_info();
 -- 
-2.32.0.288.g62a8d224e6-goog
+2.31.1.607.g51e8a6a459-goog
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help