ARM/dma-mapping: merge __dma_supported into arm_dma_supported
authorChristoph Hellwig <hch@lst.de>
Mon, 17 Feb 2020 11:48:59 +0000 (12:48 +0100)
committerChristoph Hellwig <hch@lst.de>
Fri, 20 Mar 2020 10:43:21 +0000 (11:43 +0100)
Merge __dma_supported into its only caller, and move the resulting
function so that it doesn't need a forward declaration.  Also mark
it static as there are no callers outside of dma-mapping.c.

Signed-off-by: Christoph Hellwig <hch@lst.de>
arch/arm/include/asm/dma-iommu.h
arch/arm/mm/dma-mapping.c

index 772f48ef84b752348408cc24a604e3cb2f797234..86405cc81385c83c633cda48947c54c97cfe03f4 100644 (file)
@@ -33,7 +33,5 @@ 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
index 87aba505554ac1e9e80a034aadbb547dff4b86cf..8a8949174b1c06f9956260938a0b89d03319787b 100644 (file)
@@ -179,6 +179,23 @@ static void arm_dma_sync_single_for_device(struct device *dev,
        __dma_page_cpu_to_dev(page, offset, size, dir);
 }
 
+/*
+ * Return whether the given device DMA address mask can be supported
+ * properly.  For example, if your device can only drive the low 24-bits
+ * during bus mastering, then you would pass 0x00ffffff as the mask
+ * to this function.
+ */
+static int arm_dma_supported(struct device *dev, u64 mask)
+{
+       unsigned long max_dma_pfn = min(max_pfn - 1, arm_dma_pfn_limit);
+
+       /*
+        * Translate the device's DMA mask to a PFN limit.  This
+        * PFN number includes the page which we can DMA to.
+        */
+       return dma_to_pfn(dev, mask) >= max_dma_pfn;
+}
+
 const struct dma_map_ops arm_dma_ops = {
        .alloc                  = arm_dma_alloc,
        .free                   = arm_dma_free,
@@ -219,19 +236,6 @@ const struct dma_map_ops arm_coherent_dma_ops = {
 };
 EXPORT_SYMBOL(arm_coherent_dma_ops);
 
-static int __dma_supported(struct device *dev, u64 mask)
-{
-       unsigned long max_dma_pfn = min(max_pfn - 1, arm_dma_pfn_limit);
-
-       /*
-        * Translate the device's DMA mask to a PFN limit.  This
-        * PFN number includes the page which we can DMA to.
-        */
-       if (dma_to_pfn(dev, mask) < max_dma_pfn)
-               return 0;
-       return 1;
-}
-
 static void __dma_clear_buffer(struct page *page, size_t size, int coherent_flag)
 {
        /*
@@ -1054,17 +1058,6 @@ void arm_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
                                            dir);
 }
 
-/*
- * Return whether the given device DMA address mask can be supported
- * properly.  For example, if your device can only drive the low 24-bits
- * during bus mastering, then you would pass 0x00ffffff as the mask
- * to this function.
- */
-int arm_dma_supported(struct device *dev, u64 mask)
-{
-       return __dma_supported(dev, mask);
-}
-
 static const struct dma_map_ops *arm_get_dma_map_ops(bool coherent)
 {
        /*