This is need for powerpc for now. Hopefully we can come up with a clean generic implementation mid-term. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- include/linux/dma-noncoherent.h | 6 ++++++ kernel/dma/Kconfig | 4 ++++ kernel/dma/noncoherent.c | 1 + 3 files changed, 11 insertions(+) diff --git a/include/linux/dma-noncoherent.h b/include/linux/dma-noncoherent.h index 10b2654d549b..61394c6e56df 100644 --- a/include/linux/dma-noncoherent.h +++ b/include/linux/dma-noncoherent.h @@ -17,6 +17,12 @@ int arch_dma_mmap(struct device *dev, struct vm_area_struct *vma, #define arch_dma_mmap NULL #endif /* CONFIG_DMA_NONCOHERENT_MMAP */ +#ifdef CONFIG_DMA_NONCOHERENT_GET_REQUIRED +u64 arch_get_required_mask(struct device *dev); +#else +#define arch_get_required_mask NULL +#endif + #ifdef CONFIG_DMA_NONCOHERENT_CACHE_SYNC void arch_dma_cache_sync(struct device *dev, void *vaddr, size_t size, enum dma_data_direction direction); diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig index 9bd54304446f..b523104d6199 100644 --- a/kernel/dma/Kconfig +++ b/kernel/dma/Kconfig @@ -36,6 +36,10 @@ config DMA_NONCOHERENT_MMAP bool depends on DMA_NONCOHERENT_OPS +config DMA_NONCOHERENT_GET_REQUIRED + bool + depends on DMA_NONCOHERENT_OPS + config DMA_NONCOHERENT_CACHE_SYNC bool depends on DMA_NONCOHERENT_OPS diff --git a/kernel/dma/noncoherent.c b/kernel/dma/noncoherent.c index 79e9a757387f..cf4ffbe4a09d 100644 --- a/kernel/dma/noncoherent.c +++ b/kernel/dma/noncoherent.c @@ -98,5 +98,6 @@ const struct dma_map_ops dma_noncoherent_ops = { .dma_supported = dma_direct_supported, .mapping_error = dma_direct_mapping_error, .cache_sync = arch_dma_cache_sync, + .get_required_mask = arch_get_required_mask, }; EXPORT_SYMBOL(dma_noncoherent_ops); -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |