Linux Audio

Check our new training course

Loading...
Note: File does not exist in v5.4.
  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
 16extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
 17				 size_t size, int direction);
 18
 19extern void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
 20			     int nents, int mapped_ents, int direction);
 21
 22extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist,
 23			       int nelems, int dir);
 24
 25extern void debug_dma_alloc_coherent(struct device *dev, size_t size,
 26				     dma_addr_t dma_addr, void *virt);
 27
 28extern void debug_dma_free_coherent(struct device *dev, size_t size,
 29				    void *virt, dma_addr_t addr);
 30
 31extern void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
 32				   size_t size, int direction,
 33				   dma_addr_t dma_addr);
 34
 35extern void debug_dma_unmap_resource(struct device *dev, dma_addr_t dma_addr,
 36				     size_t size, int direction);
 37
 38extern void debug_dma_sync_single_for_cpu(struct device *dev,
 39					  dma_addr_t dma_handle, size_t size,
 40					  int direction);
 41
 42extern void debug_dma_sync_single_for_device(struct device *dev,
 43					     dma_addr_t dma_handle,
 44					     size_t size, int direction);
 45
 46extern void debug_dma_sync_sg_for_cpu(struct device *dev,
 47				      struct scatterlist *sg,
 48				      int nelems, int direction);
 49
 50extern void debug_dma_sync_sg_for_device(struct device *dev,
 51					 struct scatterlist *sg,
 52					 int nelems, int direction);
 53#else /* CONFIG_DMA_API_DEBUG */
 54static inline void debug_dma_map_page(struct device *dev, struct page *page,
 55				      size_t offset, size_t size,
 56				      int direction, dma_addr_t dma_addr)
 57{
 58}
 59
 60static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
 61					size_t size, int direction)
 62{
 63}
 64
 65static inline void debug_dma_map_sg(struct device *dev, struct scatterlist *sg,
 66				    int nents, int mapped_ents, int direction)
 67{
 68}
 69
 70static inline void debug_dma_unmap_sg(struct device *dev,
 71				      struct scatterlist *sglist,
 72				      int nelems, int dir)
 73{
 74}
 75
 76static inline void debug_dma_alloc_coherent(struct device *dev, size_t size,
 77					    dma_addr_t dma_addr, void *virt)
 78{
 79}
 80
 81static inline void debug_dma_free_coherent(struct device *dev, size_t size,
 82					   void *virt, dma_addr_t addr)
 83{
 84}
 85
 86static inline void debug_dma_map_resource(struct device *dev, phys_addr_t addr,
 87					  size_t size, int direction,
 88					  dma_addr_t dma_addr)
 89{
 90}
 91
 92static inline void debug_dma_unmap_resource(struct device *dev,
 93					    dma_addr_t dma_addr, size_t size,
 94					    int direction)
 95{
 96}
 97
 98static inline void debug_dma_sync_single_for_cpu(struct device *dev,
 99						 dma_addr_t dma_handle,
100						 size_t size, int direction)
101{
102}
103
104static inline void debug_dma_sync_single_for_device(struct device *dev,
105						    dma_addr_t dma_handle,
106						    size_t size, int direction)
107{
108}
109
110static inline void debug_dma_sync_sg_for_cpu(struct device *dev,
111					     struct scatterlist *sg,
112					     int nelems, int direction)
113{
114}
115
116static inline void debug_dma_sync_sg_for_device(struct device *dev,
117						struct scatterlist *sg,
118						int nelems, int direction)
119{
120}
121#endif /* CONFIG_DMA_API_DEBUG */
122#endif /* _KERNEL_DMA_DEBUG_H */