debug.h (3711B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2008 Advanced Micro Devices, Inc. 4 * 5 * Author: Joerg Roedel <joerg.roedel@amd.com> 6 */ 7 8#ifndef _KERNEL_DMA_DEBUG_H 9#define _KERNEL_DMA_DEBUG_H 10 11#ifdef CONFIG_DMA_API_DEBUG 12extern void debug_dma_map_page(struct device *dev, struct page *page, 13 size_t offset, size_t size, 14 int direction, dma_addr_t dma_addr, 15 unsigned long attrs); 16 17extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr, 18 size_t size, int direction); 19 20extern void debug_dma_map_sg(struct device *dev, struct scatterlist *sg, 21 int nents, int mapped_ents, int direction, 22 unsigned long attrs); 23 24extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, 25 int nelems, int dir); 26 27extern void debug_dma_alloc_coherent(struct device *dev, size_t size, 28 dma_addr_t dma_addr, void *virt, 29 unsigned long attrs); 30 31extern void debug_dma_free_coherent(struct device *dev, size_t size, 32 void *virt, dma_addr_t addr); 33 34extern void debug_dma_map_resource(struct device *dev, phys_addr_t addr, 35 size_t size, int direction, 36 dma_addr_t dma_addr, 37 unsigned long attrs); 38 39extern void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr, 40 size_t size, int direction); 41 42extern void debug_dma_sync_single_for_cpu(struct device *dev, 43 dma_addr_t dma_handle, size_t size, 44 int direction); 45 46extern void debug_dma_sync_single_for_device(struct device *dev, 47 dma_addr_t dma_handle, 48 size_t size, int direction); 49 50extern void debug_dma_sync_sg_for_cpu(struct device *dev, 51 struct scatterlist *sg, 52 int nelems, int direction); 53 54extern void debug_dma_sync_sg_for_device(struct device *dev, 55 struct scatterlist *sg, 56 int nelems, int direction); 57#else /* CONFIG_DMA_API_DEBUG */ 58static inline void debug_dma_map_page(struct device *dev, struct page *page, 59 size_t offset, size_t size, 60 int direction, dma_addr_t dma_addr, 61 unsigned long attrs) 62{ 63} 64 65static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr, 66 size_t size, int direction) 67{ 68} 69 70static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg, 71 int nents, int mapped_ents, int direction, 72 unsigned long attrs) 73{ 74} 75 76static inline void debug_dma_unmap_sg(struct device *dev, 77 struct scatterlist *sglist, 78 int nelems, int dir) 79{ 80} 81 82static inline void debug_dma_alloc_coherent(struct device *dev, size_t size, 83 dma_addr_t dma_addr, void *virt, 84 unsigned long attrs) 85{ 86} 87 88static inline void debug_dma_free_coherent(struct device *dev, size_t size, 89 void *virt, dma_addr_t addr) 90{ 91} 92 93static inline void debug_dma_map_resource(struct device *dev, phys_addr_t addr, 94 size_t size, int direction, 95 dma_addr_t dma_addr, 96 unsigned long attrs) 97{ 98} 99 100static inline void debug_dma_unmap_resource(struct device *dev, 101 dma_addr_t dma_addr, size_t size, 102 int direction) 103{ 104} 105 106static inline void debug_dma_sync_single_for_cpu(struct device *dev, 107 dma_addr_t dma_handle, 108 size_t size, int direction) 109{ 110} 111 112static inline void debug_dma_sync_single_for_device(struct device *dev, 113 dma_addr_t dma_handle, 114 size_t size, int direction) 115{ 116} 117 118static inline void debug_dma_sync_sg_for_cpu(struct device *dev, 119 struct scatterlist *sg, 120 int nelems, int direction) 121{ 122} 123 124static inline void debug_dma_sync_sg_for_device(struct device *dev, 125 struct scatterlist *sg, 126 int nelems, int direction) 127{ 128} 129#endif /* CONFIG_DMA_API_DEBUG */ 130#endif /* _KERNEL_DMA_DEBUG_H */