Loading arch/arm/include/asm/dma-iommu.h +26 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ struct dma_iommu_mapping { struct kref kref; }; #ifdef CONFIG_ARM_DMA_USE_IOMMU struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size); Loading @@ -33,5 +35,29 @@ int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping); void arm_iommu_detach_device(struct device *dev); #else /* !CONFIG_ARM_DMA_USE_IOMMU */ static inline struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return NULL; } static inline void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping) { } static inline int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping) { return -ENODEV; } static inline void arm_iommu_detach_device(struct device *dev) { } #endif /* CONFIG_ARM_DMA_USE_IOMMU */ #endif /* __KERNEL__ */ #endif arch/arm64/include/asm/dma-iommu.h +2 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ #ifdef __KERNEL__ #include <linux/err.h> #include <linux/mm_types.h> #include <linux/scatterlist.h> #include <linux/dma-debug.h> Loading Loading @@ -35,8 +36,7 @@ void arm_iommu_detach_device(struct device *dev); #else /* !CONFIG_ARM64_DMA_USE_IOMMU */ static inline struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size, int order) arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return ERR_PTR(-ENOMEM); } Loading drivers/platform/msm/ipa/ipa_v2/ipa.c +0 −20 Original line number Diff line number Diff line Loading @@ -201,26 +201,6 @@ enum ipa_smmu_cb_type { static struct ipa_smmu_cb_ctx smmu_cb[IPA_SMMU_CB_MAX]; #if !defined(CONFIG_ARM_DMA_USE_IOMMU) && !defined(CONFIG_ARM64_DMA_USE_IOMMU) struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return NULL; } void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping) { } int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping) { return 0; } void arm_iommu_detach_device(struct device *dev) { } #endif struct iommu_domain *ipa2_get_smmu_domain(void) { if (smmu_cb[IPA_SMMU_CB_AP].valid) Loading include/linux/msm_dma_iommu_mapping.h +1 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ void msm_dma_buf_freed(void *buffer); static inline int msm_dma_map_sg_attrs(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction dir, struct dma_buf *dma_buf, int flags) struct dma_attrs *attr) { return -EINVAL; } Loading Loading
arch/arm/include/asm/dma-iommu.h +26 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ struct dma_iommu_mapping { struct kref kref; }; #ifdef CONFIG_ARM_DMA_USE_IOMMU struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size); Loading @@ -33,5 +35,29 @@ int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping); void arm_iommu_detach_device(struct device *dev); #else /* !CONFIG_ARM_DMA_USE_IOMMU */ static inline struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return NULL; } static inline void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping) { } static inline int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping) { return -ENODEV; } static inline void arm_iommu_detach_device(struct device *dev) { } #endif /* CONFIG_ARM_DMA_USE_IOMMU */ #endif /* __KERNEL__ */ #endif
arch/arm64/include/asm/dma-iommu.h +2 −2 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ #ifdef __KERNEL__ #include <linux/err.h> #include <linux/mm_types.h> #include <linux/scatterlist.h> #include <linux/dma-debug.h> Loading Loading @@ -35,8 +36,7 @@ void arm_iommu_detach_device(struct device *dev); #else /* !CONFIG_ARM64_DMA_USE_IOMMU */ static inline struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size, int order) arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return ERR_PTR(-ENOMEM); } Loading
drivers/platform/msm/ipa/ipa_v2/ipa.c +0 −20 Original line number Diff line number Diff line Loading @@ -201,26 +201,6 @@ enum ipa_smmu_cb_type { static struct ipa_smmu_cb_ctx smmu_cb[IPA_SMMU_CB_MAX]; #if !defined(CONFIG_ARM_DMA_USE_IOMMU) && !defined(CONFIG_ARM64_DMA_USE_IOMMU) struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return NULL; } void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping) { } int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping) { return 0; } void arm_iommu_detach_device(struct device *dev) { } #endif struct iommu_domain *ipa2_get_smmu_domain(void) { if (smmu_cb[IPA_SMMU_CB_AP].valid) Loading
include/linux/msm_dma_iommu_mapping.h +1 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ void msm_dma_buf_freed(void *buffer); static inline int msm_dma_map_sg_attrs(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction dir, struct dma_buf *dma_buf, int flags) struct dma_attrs *attr) { return -EINVAL; } Loading