dma-debug.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * Copyright (C) 2008 Advanced Micro Devices, Inc.
  3. *
  4. * Author: Joerg Roedel <joerg.roedel@amd.com>
  5. *
  6. * This program is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License version 2 as published
  8. * by the Free Software Foundation.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program; if not, write to the Free Software
  17. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  18. */
  19. #ifndef __DMA_DEBUG_H
  20. #define __DMA_DEBUG_H
  21. #include <linux/types.h>
  22. struct device;
  23. #ifdef CONFIG_DMA_API_DEBUG
  24. extern void dma_debug_init(u32 num_entries);
  25. extern void debug_dma_map_page(struct device *dev, struct page *page,
  26. size_t offset, size_t size,
  27. int direction, dma_addr_t dma_addr,
  28. bool map_single);
  29. extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
  30. size_t size, int direction, bool map_single);
  31. #else /* CONFIG_DMA_API_DEBUG */
  32. static inline void dma_debug_init(u32 num_entries)
  33. {
  34. }
  35. static inline void debug_dma_map_page(struct device *dev, struct page *page,
  36. size_t offset, size_t size,
  37. int direction, dma_addr_t dma_addr,
  38. bool map_single)
  39. {
  40. }
  41. static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
  42. size_t size, int direction,
  43. bool map_single)
  44. {
  45. }
  46. #endif /* CONFIG_DMA_API_DEBUG */
  47. #endif /* __DMA_DEBUG_H */