DMA_REMAP is an unnecessary requirement for AMD SEV, which requires
DMA_COHERENT_POOL, so avoid selecting it when it is otherwise unnecessary.
The only other requirement for DMA coherent pools is DMA_DIRECT_REMAP, so
ensure that properly selects the config option when needed.
Fixes: 82fef0ad811f ("x86/mm: unencrypted non-blocking DMA allocations use
coherent pools")
Suggested-by: Christoph Hellwig <[email protected]>
Signed-off-by: David Rientjes <[email protected]>
---
kernel/dma/Kconfig | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -73,18 +73,18 @@ config SWIOTLB
config DMA_NONCOHERENT_MMAP
bool
+config DMA_COHERENT_POOL
+ bool
+
config DMA_REMAP
+ bool
depends on MMU
select GENERIC_ALLOCATOR
select DMA_NONCOHERENT_MMAP
- bool
-
-config DMA_COHERENT_POOL
- bool
- select DMA_REMAP
config DMA_DIRECT_REMAP
bool
+ select DMA_REMAP
select DMA_COHERENT_POOL
config DMA_CMA
Excerpts from David Rientjes's message of June 11, 2020 3:25 am:
> DMA_REMAP is an unnecessary requirement for AMD SEV, which requires
> DMA_COHERENT_POOL, so avoid selecting it when it is otherwise unnecessary.
>
> The only other requirement for DMA coherent pools is DMA_DIRECT_REMAP, so
> ensure that properly selects the config option when needed.
>
> Fixes: 82fef0ad811f ("x86/mm: unencrypted non-blocking DMA allocations use
> coherent pools")
> Suggested-by: Christoph Hellwig <[email protected]>
> Signed-off-by: David Rientjes <[email protected]>
> ---
> kernel/dma/Kconfig | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
Works for me with SME on or off with af7b480103, and with SME off in
abfbb29297. There is some regression with amdgpu and SME between those
two points, I need to check that out too. I haven't tested either before
or after with SEV (which I'm not even sure my system supports).
Regardless, this is a definite improvement.
Tested-by: Alex Xu (Hello71) <[email protected]>
Thanks,
Alex.
Thanks,
applied, and will be pushed to Linus soon.