Given a existing mapping with 'current' direction, and a 'wanted' direction for using that mapping, check if 'wanted' is satisfied by 'current'.
current accepts DMA_BIDIRECTIONAL DMA_BIDIRECTIONAL, DMA_TO_DEVICE, DMA_FROM_DEVICE, DMA_NONE DMA_TO_DEVICE DMA_TO_DEVICE, DMA_NONE DMA_FROM_DEVICE DMA_FROM_DEVICE, DMA_NONE DMA_NONE DMA_NONE This macro is useful for checking if a DMA mapping can be reused. Signed-off-by: Leonardo Bras <leobra...@gmail.com> --- include/linux/dma-direction.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/dma-direction.h b/include/linux/dma-direction.h index 9c96e30e6a0b..caf3943a21f4 100644 --- a/include/linux/dma-direction.h +++ b/include/linux/dma-direction.h @@ -9,4 +9,7 @@ enum dma_data_direction { DMA_NONE = 3, }; +/* Checks if wanted direction is satisfied by current mapping direction*/ +#define DMA_DIR_COMPAT(current, wanted) (((current) & ~(wanted)) == 0) + #endif -- 2.25.4