Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c178d896 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "dma-mapping: fix build when !CONFIG_ARM_DMA_USE_IOMMU"

parents 07786d44 917397c9
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -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);

@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@

#ifdef __KERNEL__

#include <linux/err.h>
#include <linux/mm_types.h>
#include <linux/scatterlist.h>
#include <linux/dma-debug.h>
@@ -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);
}
+0 −20
Original line number Diff line number Diff line
@@ -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)
+1 −1
Original line number Diff line number Diff line
@@ -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;
}