MIPS: Loongon64: DMA functions cleanup
authorHuacai Chen <chenhc@lemote.com>
Thu, 23 Aug 2018 05:33:10 +0000 (13:33 +0800)
committerPaul Burton <paul.burton@mips.com>
Tue, 28 Aug 2018 16:47:14 +0000 (09:47 -0700)
Split the common dma.c which shared by Loongson-2E and Loongson-2F,
since the code in 'common' directory is assumed be shared by all 64bit
Loongson platforms (but Loongson-3 doesn't use it now). By the way,
Loongson-2E and Loongson-2F have already dropped 32bit kernel support,
so CONFIG_64BIT isn't needed.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20302/
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: Huacai Chen <chenhuacai@gmail.com>
arch/mips/loongson64/common/Makefile
arch/mips/loongson64/fuloong-2e/Makefile
arch/mips/loongson64/fuloong-2e/dma.c [new file with mode: 0644]
arch/mips/loongson64/lemote-2f/Makefile
arch/mips/loongson64/lemote-2f/dma.c [moved from arch/mips/loongson64/common/dma.c with 75% similarity]

index 57ee030..684624f 100644 (file)
@@ -6,7 +6,6 @@
 obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \
     bonito-irq.o mem.o machtype.o platform.o serial.o
 obj-$(CONFIG_PCI) += pci.o
-obj-$(CONFIG_CPU_LOONGSON2) += dma.o
 
 #
 # Serial port support
index b762272..0a9a472 100644 (file)
@@ -2,4 +2,4 @@
 # Makefile for Lemote Fuloong2e mini-PC board.
 #
 
-obj-y += irq.o reset.o
+obj-y += irq.o reset.o dma.o
diff --git a/arch/mips/loongson64/fuloong-2e/dma.c b/arch/mips/loongson64/fuloong-2e/dma.c
new file mode 100644 (file)
index 0000000..e122292
--- /dev/null
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/dma-direct.h>
+
+dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)
+{
+       return paddr | 0x80000000;
+}
+
+phys_addr_t __dma_to_phys(struct device *dev, dma_addr_t dma_addr)
+{
+       return dma_addr & 0x7fffffff;
+}
index 08b8abc..b5792c3 100644 (file)
@@ -2,7 +2,7 @@
 # Makefile for lemote loongson2f family machines
 #
 
-obj-y += clock.o machtype.o irq.o reset.o ec_kb3310b.o
+obj-y += clock.o machtype.o irq.o reset.o dma.o ec_kb3310b.o
 
 #
 # Suspend Support
similarity index 75%
rename from arch/mips/loongson64/common/dma.c
rename to arch/mips/loongson64/lemote-2f/dma.c
index 48f0412..abf0e39 100644 (file)
@@ -8,11 +8,7 @@ dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)
 
 phys_addr_t __dma_to_phys(struct device *dev, dma_addr_t dma_addr)
 {
-#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
        if (dma_addr > 0x8fffffff)
                return dma_addr;
        return dma_addr & 0x0fffffff;
-#else
-       return dma_addr & 0x7fffffff;
-#endif
 }