diff mbox series

drm: fallback to dma_alloc_coherent when memory encryption is active

Message ID 20190313092052.16347-1-christian.koenig@amd.com (mailing list archive)
State New, archived
Headers show
Series drm: fallback to dma_alloc_coherent when memory encryption is active | expand

Commit Message

Christian König March 13, 2019, 9:20 a.m. UTC
We can't just map any randome page we get when memory encryption is
active.

Signed-off-by: Christian König <christian.koenig@amd.com>
---
 drivers/gpu/drm/drm_memory.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Alex Deucher March 13, 2019, 5:36 p.m. UTC | #1
On Wed, Mar 13, 2019 at 5:21 AM Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
>
> We can't just map any randome page we get when memory encryption is
> active.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/drm_memory.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c
> index 8dbcdc77f6bf..132fef8ff1b6 100644
> --- a/drivers/gpu/drm/drm_memory.c
> +++ b/drivers/gpu/drm/drm_memory.c
> @@ -168,6 +168,13 @@ bool drm_need_swiotlb(int dma_bits)
>         if (xen_pv_domain())
>                 return true;
>
> +       /*
> +        * Enforce dma_alloc_coherent when memory encryption is active as well
> +        * for the same reasons as for Xen paravirtual hosts.
> +        */
> +       if (mem_encrypt_active())
> +               return true;
> +
>         for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) {
>                 max_iomem = max(max_iomem,  tmp->end);
>         }
> --
> 2.17.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c
index 8dbcdc77f6bf..132fef8ff1b6 100644
--- a/drivers/gpu/drm/drm_memory.c
+++ b/drivers/gpu/drm/drm_memory.c
@@ -168,6 +168,13 @@  bool drm_need_swiotlb(int dma_bits)
 	if (xen_pv_domain())
 		return true;
 
+	/*
+	 * Enforce dma_alloc_coherent when memory encryption is active as well
+	 * for the same reasons as for Xen paravirtual hosts.
+	 */
+	if (mem_encrypt_active())
+		return true;
+
 	for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) {
 		max_iomem = max(max_iomem,  tmp->end);
 	}