iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
To: x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Cc: Tom Lendacky <thomas.lendacky-5C7GfCeVMHo@public.gmane.org>,
	Konrad Rzeszutek Wilk
	<konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Muli Ben-Yehuda <mulix-BzGcCpaT2IbYtjvyW6yDsg@public.gmane.org>,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Subject: [PATCH 11/14] swiotlb: remove swiotlb_set_mem_attributes
Date: Wed, 14 Mar 2018 18:52:10 +0100	[thread overview]
Message-ID: <20180314175213.20256-12-hch@lst.de> (raw)
In-Reply-To: <20180314175213.20256-1-hch-jcswGhMUV9g@public.gmane.org>

Now that set_memory_decrypted is always available we can just call it
directly.

Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
---
 arch/x86/include/asm/mem_encrypt.h |  2 --
 arch/x86/mm/mem_encrypt.c          |  9 ---------
 lib/swiotlb.c                      | 12 ++++++------
 3 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/arch/x86/include/asm/mem_encrypt.h b/arch/x86/include/asm/mem_encrypt.h
index 22c5f3e6f820..9da0b63c8fc7 100644
--- a/arch/x86/include/asm/mem_encrypt.h
+++ b/arch/x86/include/asm/mem_encrypt.h
@@ -48,8 +48,6 @@ int __init early_set_memory_encrypted(unsigned long vaddr, unsigned long size);
 /* Architecture __weak replacement functions */
 void __init mem_encrypt_init(void);
 
-void swiotlb_set_mem_attributes(void *vaddr, unsigned long size);
-
 bool sme_active(void);
 bool sev_active(void);
 
diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c
index 66beedc8fe3d..d3b80d5f9828 100644
--- a/arch/x86/mm/mem_encrypt.c
+++ b/arch/x86/mm/mem_encrypt.c
@@ -446,15 +446,6 @@ void __init mem_encrypt_init(void)
 			     : "Secure Memory Encryption (SME)");
 }
 
-void swiotlb_set_mem_attributes(void *vaddr, unsigned long size)
-{
-	WARN(PAGE_ALIGN(size) != size,
-	     "size is not page-aligned (%#lx)\n", size);
-
-	/* Make the SWIOTLB buffer area decrypted */
-	set_memory_decrypted((unsigned long)vaddr, size >> PAGE_SHIFT);
-}
-
 struct sme_populate_pgd_data {
 	void	*pgtable_area;
 	pgd_t	*pgd;
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index c43ec2271469..005d1d87bb2e 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -31,6 +31,7 @@
 #include <linux/gfp.h>
 #include <linux/scatterlist.h>
 #include <linux/mem_encrypt.h>
+#include <linux/set_memory.h>
 
 #include <asm/io.h>
 #include <asm/dma.h>
@@ -156,8 +157,6 @@ unsigned long swiotlb_size_or_default(void)
 	return size ? size : (IO_TLB_DEFAULT_SIZE);
 }
 
-void __weak swiotlb_set_mem_attributes(void *vaddr, unsigned long size) { }
-
 /* For swiotlb, clear memory encryption mask from dma addresses */
 static dma_addr_t swiotlb_phys_to_dma(struct device *hwdev,
 				      phys_addr_t address)
@@ -209,12 +208,12 @@ void __init swiotlb_update_mem_attributes(void)
 
 	vaddr = phys_to_virt(io_tlb_start);
 	bytes = PAGE_ALIGN(io_tlb_nslabs << IO_TLB_SHIFT);
-	swiotlb_set_mem_attributes(vaddr, bytes);
+	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
 	memset(vaddr, 0, bytes);
 
 	vaddr = phys_to_virt(io_tlb_overflow_buffer);
 	bytes = PAGE_ALIGN(io_tlb_overflow);
-	swiotlb_set_mem_attributes(vaddr, bytes);
+	set_memory_decrypted((unsigned long)vaddr, bytes >> PAGE_SHIFT);
 	memset(vaddr, 0, bytes);
 }
 
@@ -355,7 +354,7 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 	io_tlb_start = virt_to_phys(tlb);
 	io_tlb_end = io_tlb_start + bytes;
 
-	swiotlb_set_mem_attributes(tlb, bytes);
+	set_memory_decrypted((unsigned long)tlb, bytes >> PAGE_SHIFT);
 	memset(tlb, 0, bytes);
 
 	/*
@@ -366,7 +365,8 @@ swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs)
 	if (!v_overflow_buffer)
 		goto cleanup2;
 
-	swiotlb_set_mem_attributes(v_overflow_buffer, io_tlb_overflow);
+	set_memory_decrypted((unsigned long)v_overflow_buffer,
+			io_tlb_overflow >> PAGE_SHIFT);
 	memset(v_overflow_buffer, 0, io_tlb_overflow);
 	io_tlb_overflow_buffer = virt_to_phys(v_overflow_buffer);
 
-- 
2.14.2

  parent reply	other threads:[~2018-03-14 17:52 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-14 17:51 use generic dma-direct and swiotlb code for x86 V2 Christoph Hellwig
     [not found] ` <20180314175213.20256-1-hch-jcswGhMUV9g@public.gmane.org>
2018-03-14 17:52   ` [PATCH 01/14] x86: remove X86_PPRO_FENCE Christoph Hellwig
2018-03-14 17:52   ` [PATCH 02/14] x86: remove dma_alloc_coherent_mask Christoph Hellwig
2018-03-14 17:52   ` [PATCH 03/14] x86: use dma-direct Christoph Hellwig
     [not found]     ` <20180314175213.20256-4-hch-jcswGhMUV9g@public.gmane.org>
2018-03-15  8:56       ` Thomas Gleixner
2018-03-15 11:53         ` Christoph Hellwig
2018-03-15 12:53           ` Thomas Gleixner
     [not found]             ` <alpine.DEB.2.21.1803151352170.1525-ecDvlHI5BZPZikZi3RtOZ1XZhhPuCNm+@public.gmane.org>
2018-03-15 13:40               ` Christoph Hellwig
     [not found]                 ` <20180315134028.GA18074-jcswGhMUV9g@public.gmane.org>
2018-03-15 13:45                   ` Thomas Gleixner
2018-03-14 17:52   ` [PATCH 04/14] x86: use generic swiotlb_ops Christoph Hellwig
     [not found]     ` <20180314175213.20256-5-hch-jcswGhMUV9g@public.gmane.org>
2018-03-15  9:00       ` Thomas Gleixner
     [not found]         ` <alpine.DEB.2.21.1803150956300.1525-ecDvlHI5BZPZikZi3RtOZ1XZhhPuCNm+@public.gmane.org>
2018-03-15 11:54           ` Christoph Hellwig
     [not found]             ` <20180315115426.GB16210-jcswGhMUV9g@public.gmane.org>
2018-03-15 12:52               ` Thomas Gleixner
     [not found]                 ` <alpine.DEB.2.21.1803151351280.1525-ecDvlHI5BZPZikZi3RtOZ1XZhhPuCNm+@public.gmane.org>
2018-03-15 13:35                   ` Christoph Hellwig
     [not found]                     ` <20180315133530.GA17956-jcswGhMUV9g@public.gmane.org>
2018-03-15 13:48                       ` Thomas Gleixner
2018-03-14 17:52   ` [PATCH 05/14] x86/amd_gart: look at coherent_dma_mask instead of GFP_DMA Christoph Hellwig
     [not found]     ` <20180314175213.20256-6-hch-jcswGhMUV9g@public.gmane.org>
2018-03-15 17:47       ` Konrad Rzeszutek Wilk
2018-03-14 17:52   ` [PATCH 06/14] x86/amd_gart: use dma_direct_{alloc,free} Christoph Hellwig
2018-03-14 17:52   ` [PATCH 07/14] iommu/amd_iommu: " Christoph Hellwig
     [not found]     ` <20180314175213.20256-8-hch-jcswGhMUV9g@public.gmane.org>
2018-03-15 15:30       ` Joerg Roedel
2018-03-14 17:52   ` [PATCH 08/14] iommu/intel-iommu: cleanup intel_{alloc,free}_coherent Christoph Hellwig
2018-03-14 17:52   ` [PATCH 09/14] x86: remove dma_alloc_coherent_gfp_flags Christoph Hellwig
2018-03-14 17:52   ` [PATCH 10/14] set_memory.h: provide set_memory_{en,de}crypted stubs Christoph Hellwig
     [not found]     ` <20180314175213.20256-11-hch-jcswGhMUV9g@public.gmane.org>
2018-03-15 17:50       ` Konrad Rzeszutek Wilk
2018-03-14 17:52   ` Christoph Hellwig [this message]
     [not found]     ` <20180314175213.20256-12-hch-jcswGhMUV9g@public.gmane.org>
2018-03-15 17:51       ` [PATCH 11/14] swiotlb: remove swiotlb_set_mem_attributes Konrad Rzeszutek Wilk
     [not found]         ` <20180315175159.GR13391-he5eyhs8q0BAdwtm4QZOy9BPR1lH4CV8@public.gmane.org>
2018-03-15 17:54           ` Konrad Rzeszutek Wilk
2018-03-14 17:52   ` [PATCH 12/14] dma-direct: handle the memory encryption bit in common code Christoph Hellwig
2018-03-14 17:52   ` [PATCH 13/14] dma-direct: handle force decryption for dma coherent buffers " Christoph Hellwig
2018-03-14 17:52   ` [PATCH 14/14] swiotlb: remove swiotlb_{alloc,free}_coherent Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2018-03-19 10:38 use generic dma-direct and swiotlb code for x86 V3 Christoph Hellwig
     [not found] ` <20180319103826.12853-1-hch-jcswGhMUV9g@public.gmane.org>
2018-03-19 10:38   ` [PATCH 11/14] swiotlb: remove swiotlb_set_mem_attributes Christoph Hellwig
     [not found]     ` <20180319103826.12853-12-hch-jcswGhMUV9g@public.gmane.org>
2018-03-19 14:41       ` Tom Lendacky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180314175213.20256-12-hch@lst.de \
    --to=hch-jcswghmuv9g@public.gmane.org \
    --cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mulix-BzGcCpaT2IbYtjvyW6yDsg@public.gmane.org \
    --cc=thomas.lendacky-5C7GfCeVMHo@public.gmane.org \
    --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).