device.h 652 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Arch specific extensions to struct device
  3. *
  4. * This file is released under the GPLv2
  5. */
  6. #ifndef _ASM_POWERPC_DEVICE_H
  7. #define _ASM_POWERPC_DEVICE_H
  8. struct dma_map_ops;
  9. struct device_node;
  10. struct dev_archdata {
  11. /* DMA operations on that device */
  12. struct dma_map_ops *dma_ops;
  13. /*
  14. * When an iommu is in use, dma_data is used as a ptr to the base of the
  15. * iommu_table. Otherwise, it is a simple numerical offset.
  16. */
  17. union {
  18. dma_addr_t dma_offset;
  19. void *iommu_table_base;
  20. } dma_data;
  21. #ifdef CONFIG_SWIOTLB
  22. dma_addr_t max_direct_dma_addr;
  23. #endif
  24. };
  25. struct pdev_archdata {
  26. u64 dma_mask;
  27. };
  28. #endif /* _ASM_POWERPC_DEVICE_H */