Commit 418a7a7e authored by Christoph Hellwig's avatar Christoph Hellwig
Browse files

arm: remove arch specific dma_supported implementation



And instead wire it up as method for all the dma_map_ops instances.

Note that the code seems a little fishy for dmabounce and iommu, but
for now I'd like to preserve the existing behavior 1:1.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 19ad53e4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -473,6 +473,7 @@ static const struct dma_map_ops dmabounce_ops = {
	.sync_sg_for_device	= arm_dma_sync_sg_for_device,
	.set_dma_mask		= dmabounce_set_mask,
	.mapping_error		= dmabounce_mapping_error,
	.dma_supported		= arm_dma_supported,
};

static int dmabounce_init_pool(struct dmabounce_pool *pool, struct device *dev,
+2 −0
Original line number Diff line number Diff line
@@ -35,5 +35,7 @@ int arm_iommu_attach_device(struct device *dev,
					struct dma_iommu_mapping *mapping);
void arm_iommu_detach_device(struct device *dev);

int arm_dma_supported(struct device *dev, u64 mask);

#endif /* __KERNEL__ */
#endif
+0 −3
Original line number Diff line number Diff line
@@ -20,9 +20,6 @@ static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
	return &arm_dma_ops;
}

#define HAVE_ARCH_DMA_SUPPORTED 1
extern int dma_supported(struct device *dev, u64 mask);

#ifdef __arch_page_to_dma
#error Please update to __arch_pfn_to_dma
#endif
+5 −2
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ const struct dma_map_ops arm_dma_ops = {
	.sync_sg_for_cpu	= arm_dma_sync_sg_for_cpu,
	.sync_sg_for_device	= arm_dma_sync_sg_for_device,
	.mapping_error		= arm_dma_mapping_error,
	.dma_supported		= arm_dma_supported,
};
EXPORT_SYMBOL(arm_dma_ops);

@@ -218,6 +219,7 @@ const struct dma_map_ops arm_coherent_dma_ops = {
	.map_page		= arm_coherent_dma_map_page,
	.map_sg			= arm_dma_map_sg,
	.mapping_error		= arm_dma_mapping_error,
	.dma_supported		= arm_dma_supported,
};
EXPORT_SYMBOL(arm_coherent_dma_ops);

@@ -1184,11 +1186,10 @@ void arm_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
 * during bus mastering, then you would pass 0x00ffffff as the mask
 * to this function.
 */
int dma_supported(struct device *dev, u64 mask)
int arm_dma_supported(struct device *dev, u64 mask)
{
	return __dma_supported(dev, mask, false);
}
EXPORT_SYMBOL(dma_supported);

#define PREALLOC_DMA_DEBUG_ENTRIES	4096

@@ -2149,6 +2150,7 @@ const struct dma_map_ops iommu_ops = {
	.unmap_resource		= arm_iommu_unmap_resource,

	.mapping_error		= arm_dma_mapping_error,
	.dma_supported		= arm_dma_supported,
};

const struct dma_map_ops iommu_coherent_ops = {
@@ -2167,6 +2169,7 @@ const struct dma_map_ops iommu_coherent_ops = {
	.unmap_resource	= arm_iommu_unmap_resource,

	.mapping_error		= arm_dma_mapping_error,
	.dma_supported		= arm_dma_supported,
};

/**