Linux MIPS Architecture development
 help / color / mirror / Atom feed
diff for duplicates of <20180620072328.GA1675@lst.de>

diff --git a/a/1.txt b/N1/1.txt
index 1181bf2..8d10064 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -43,168 +43,3 @@ the other 0x7fffffff.
 Below is the minimal fixup that keeps things as much as it was before.
 
 ---
-From 174213f535c07774cdbbccd42c76164893729cf5 Mon Sep 17 00:00:00 2001
-From: Christoph Hellwig <hch@lst.de>
-Date: Wed, 20 Jun 2018 09:11:15 +0200
-Subject: MIPS: loongson64: use generic dma noncoherent ops
-Content-Length: 4681
-Lines: 159
-
-Provide phys_to_dma/dma_to_phys helpers, everything else is generic.
-
-Signed-off-by: Christoph Hellwig <hch@lst.de>
----
- arch/mips/Kconfig                             |  1 +
- .../asm/mach-loongson64/dma-coherence.h       | 69 -------------------
- arch/mips/loongson64/Kconfig                  |  2 -
- arch/mips/loongson64/common/Makefile          |  1 +
- arch/mips/loongson64/common/dma.c             | 18 +++++
- 5 files changed, 20 insertions(+), 71 deletions(-)
- delete mode 100644 arch/mips/include/asm/mach-loongson64/dma-coherence.h
- create mode 100644 arch/mips/loongson64/common/dma.c
-
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 326bd73bc5bf..e192e484b1b8 100644
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -1827,6 +1827,7 @@ config CPU_LOONGSON2
- 	select CPU_SUPPORTS_64BIT_KERNEL
- 	select CPU_SUPPORTS_HIGHMEM
- 	select CPU_SUPPORTS_HUGEPAGES
-+	select ARCH_HAS_PHYS_TO_DMA
- 
- config CPU_LOONGSON1
- 	bool
-diff --git a/arch/mips/include/asm/mach-loongson64/dma-coherence.h b/arch/mips/include/asm/mach-loongson64/dma-coherence.h
-deleted file mode 100644
-index 651dd2eb3ee5..000000000000
---- a/arch/mips/include/asm/mach-loongson64/dma-coherence.h
-+++ /dev/null
-@@ -1,69 +0,0 @@
--/*
-- * This file is subject to the terms and conditions of the GNU General Public
-- * License.  See the file "COPYING" in the main directory of this archive
-- * for more details.
-- *
-- * Copyright (C) 2006, 07  Ralf Baechle <ralf@linux-mips.org>
-- * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
-- * Author: Fuxin Zhang, zhangfx@lemote.com
-- *
-- */
--#ifndef __ASM_MACH_LOONGSON64_DMA_COHERENCE_H
--#define __ASM_MACH_LOONGSON64_DMA_COHERENCE_H
--
--#ifdef CONFIG_SWIOTLB
--#include <linux/swiotlb.h>
--#endif
--
--struct device;
--
--static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr,
--					  size_t size)
--{
--	return virt_to_phys(addr) | 0x80000000;
--}
--
--static inline dma_addr_t plat_map_dma_mem_page(struct device *dev,
--					       struct page *page)
--{
--	return page_to_phys(page) | 0x80000000;
--}
--
--static inline unsigned long plat_dma_addr_to_phys(struct device *dev,
--	dma_addr_t dma_addr)
--{
--#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
--	return (dma_addr > 0x8fffffff) ? dma_addr : (dma_addr & 0x0fffffff);
--#else
--	return dma_addr & 0x7fffffff;
--#endif
--}
--
--static inline void plat_unmap_dma_mem(struct device *dev, dma_addr_t dma_addr,
--	size_t size, enum dma_data_direction direction)
--{
--}
--
--static inline int plat_dma_supported(struct device *dev, u64 mask)
--{
--	/*
--	 * we fall back to GFP_DMA when the mask isn't all 1s,
--	 * so we can't guarantee allocations that must be
--	 * within a tighter range than GFP_DMA..
--	 */
--	if (mask < DMA_BIT_MASK(24))
--		return 0;
--
--	return 1;
--}
--
--static inline int plat_device_is_coherent(struct device *dev)
--{
--	return 0;
--}
--
--static inline void plat_post_dma_flush(struct device *dev)
--{
--}
--
--#endif /* __ASM_MACH_LOONGSON64_DMA_COHERENCE_H */
-diff --git a/arch/mips/loongson64/Kconfig b/arch/mips/loongson64/Kconfig
-index a785bf8da3f3..c865b4b9b775 100644
---- a/arch/mips/loongson64/Kconfig
-+++ b/arch/mips/loongson64/Kconfig
-@@ -13,7 +13,6 @@ config LEMOTE_FULOONG2E
- 	select CSRC_R4K
- 	select SYS_HAS_CPU_LOONGSON2E
- 	select DMA_NONCOHERENT
--	select MIPS_DMA_DEFAULT
- 	select BOOT_ELF32
- 	select BOARD_SCACHE
- 	select HW_HAS_PCI
-@@ -45,7 +44,6 @@ config LEMOTE_MACH2F
- 	select CS5536
- 	select CSRC_R4K if ! MIPS_EXTERNAL_TIMER
- 	select DMA_NONCOHERENT
--	select MIPS_DMA_DEFAULT
- 	select GENERIC_ISA_DMA_SUPPORT_BROKEN
- 	select HAVE_CLK
- 	select HW_HAS_PCI
-diff --git a/arch/mips/loongson64/common/Makefile b/arch/mips/loongson64/common/Makefile
-index 684624f61f5a..57ee03022941 100644
---- a/arch/mips/loongson64/common/Makefile
-+++ b/arch/mips/loongson64/common/Makefile
-@@ -6,6 +6,7 @@
- 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
-diff --git a/arch/mips/loongson64/common/dma.c b/arch/mips/loongson64/common/dma.c
-new file mode 100644
-index 000000000000..48f04126bde2
---- /dev/null
-+++ b/arch/mips/loongson64/common/dma.c
-@@ -0,0 +1,18 @@
-+// 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)
-+{
-+#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
-+}
--- 
-2.17.1
diff --git a/a/content_digest b/N1/content_digest
index 9169b3b..ecd3cf1 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -62,171 +62,6 @@
  "\n"
  "Below is the minimal fixup that keeps things as much as it was before.\n"
  "\n"
- "---\n"
- "From 174213f535c07774cdbbccd42c76164893729cf5 Mon Sep 17 00:00:00 2001\n"
- "From: Christoph Hellwig <hch@lst.de>\n"
- "Date: Wed, 20 Jun 2018 09:11:15 +0200\n"
- "Subject: MIPS: loongson64: use generic dma noncoherent ops\n"
- "Content-Length: 4681\n"
- "Lines: 159\n"
- "\n"
- "Provide phys_to_dma/dma_to_phys helpers, everything else is generic.\n"
- "\n"
- "Signed-off-by: Christoph Hellwig <hch@lst.de>\n"
- "---\n"
- " arch/mips/Kconfig                             |  1 +\n"
- " .../asm/mach-loongson64/dma-coherence.h       | 69 -------------------\n"
- " arch/mips/loongson64/Kconfig                  |  2 -\n"
- " arch/mips/loongson64/common/Makefile          |  1 +\n"
- " arch/mips/loongson64/common/dma.c             | 18 +++++\n"
- " 5 files changed, 20 insertions(+), 71 deletions(-)\n"
- " delete mode 100644 arch/mips/include/asm/mach-loongson64/dma-coherence.h\n"
- " create mode 100644 arch/mips/loongson64/common/dma.c\n"
- "\n"
- "diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig\n"
- "index 326bd73bc5bf..e192e484b1b8 100644\n"
- "--- a/arch/mips/Kconfig\n"
- "+++ b/arch/mips/Kconfig\n"
- "@@ -1827,6 +1827,7 @@ config CPU_LOONGSON2\n"
- " \tselect CPU_SUPPORTS_64BIT_KERNEL\n"
- " \tselect CPU_SUPPORTS_HIGHMEM\n"
- " \tselect CPU_SUPPORTS_HUGEPAGES\n"
- "+\tselect ARCH_HAS_PHYS_TO_DMA\n"
- " \n"
- " config CPU_LOONGSON1\n"
- " \tbool\n"
- "diff --git a/arch/mips/include/asm/mach-loongson64/dma-coherence.h b/arch/mips/include/asm/mach-loongson64/dma-coherence.h\n"
- "deleted file mode 100644\n"
- "index 651dd2eb3ee5..000000000000\n"
- "--- a/arch/mips/include/asm/mach-loongson64/dma-coherence.h\n"
- "+++ /dev/null\n"
- "@@ -1,69 +0,0 @@\n"
- "-/*\n"
- "- * This file is subject to the terms and conditions of the GNU General Public\n"
- "- * License.  See the file \"COPYING\" in the main directory of this archive\n"
- "- * for more details.\n"
- "- *\n"
- "- * Copyright (C) 2006, 07  Ralf Baechle <ralf@linux-mips.org>\n"
- "- * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology\n"
- "- * Author: Fuxin Zhang, zhangfx@lemote.com\n"
- "- *\n"
- "- */\n"
- "-#ifndef __ASM_MACH_LOONGSON64_DMA_COHERENCE_H\n"
- "-#define __ASM_MACH_LOONGSON64_DMA_COHERENCE_H\n"
- "-\n"
- "-#ifdef CONFIG_SWIOTLB\n"
- "-#include <linux/swiotlb.h>\n"
- "-#endif\n"
- "-\n"
- "-struct device;\n"
- "-\n"
- "-static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr,\n"
- "-\t\t\t\t\t  size_t size)\n"
- "-{\n"
- "-\treturn virt_to_phys(addr) | 0x80000000;\n"
- "-}\n"
- "-\n"
- "-static inline dma_addr_t plat_map_dma_mem_page(struct device *dev,\n"
- "-\t\t\t\t\t       struct page *page)\n"
- "-{\n"
- "-\treturn page_to_phys(page) | 0x80000000;\n"
- "-}\n"
- "-\n"
- "-static inline unsigned long plat_dma_addr_to_phys(struct device *dev,\n"
- "-\tdma_addr_t dma_addr)\n"
- "-{\n"
- "-#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)\n"
- "-\treturn (dma_addr > 0x8fffffff) ? dma_addr : (dma_addr & 0x0fffffff);\n"
- "-#else\n"
- "-\treturn dma_addr & 0x7fffffff;\n"
- "-#endif\n"
- "-}\n"
- "-\n"
- "-static inline void plat_unmap_dma_mem(struct device *dev, dma_addr_t dma_addr,\n"
- "-\tsize_t size, enum dma_data_direction direction)\n"
- "-{\n"
- "-}\n"
- "-\n"
- "-static inline int plat_dma_supported(struct device *dev, u64 mask)\n"
- "-{\n"
- "-\t/*\n"
- "-\t * we fall back to GFP_DMA when the mask isn't all 1s,\n"
- "-\t * so we can't guarantee allocations that must be\n"
- "-\t * within a tighter range than GFP_DMA..\n"
- "-\t */\n"
- "-\tif (mask < DMA_BIT_MASK(24))\n"
- "-\t\treturn 0;\n"
- "-\n"
- "-\treturn 1;\n"
- "-}\n"
- "-\n"
- "-static inline int plat_device_is_coherent(struct device *dev)\n"
- "-{\n"
- "-\treturn 0;\n"
- "-}\n"
- "-\n"
- "-static inline void plat_post_dma_flush(struct device *dev)\n"
- "-{\n"
- "-}\n"
- "-\n"
- "-#endif /* __ASM_MACH_LOONGSON64_DMA_COHERENCE_H */\n"
- "diff --git a/arch/mips/loongson64/Kconfig b/arch/mips/loongson64/Kconfig\n"
- "index a785bf8da3f3..c865b4b9b775 100644\n"
- "--- a/arch/mips/loongson64/Kconfig\n"
- "+++ b/arch/mips/loongson64/Kconfig\n"
- "@@ -13,7 +13,6 @@ config LEMOTE_FULOONG2E\n"
- " \tselect CSRC_R4K\n"
- " \tselect SYS_HAS_CPU_LOONGSON2E\n"
- " \tselect DMA_NONCOHERENT\n"
- "-\tselect MIPS_DMA_DEFAULT\n"
- " \tselect BOOT_ELF32\n"
- " \tselect BOARD_SCACHE\n"
- " \tselect HW_HAS_PCI\n"
- "@@ -45,7 +44,6 @@ config LEMOTE_MACH2F\n"
- " \tselect CS5536\n"
- " \tselect CSRC_R4K if ! MIPS_EXTERNAL_TIMER\n"
- " \tselect DMA_NONCOHERENT\n"
- "-\tselect MIPS_DMA_DEFAULT\n"
- " \tselect GENERIC_ISA_DMA_SUPPORT_BROKEN\n"
- " \tselect HAVE_CLK\n"
- " \tselect HW_HAS_PCI\n"
- "diff --git a/arch/mips/loongson64/common/Makefile b/arch/mips/loongson64/common/Makefile\n"
- "index 684624f61f5a..57ee03022941 100644\n"
- "--- a/arch/mips/loongson64/common/Makefile\n"
- "+++ b/arch/mips/loongson64/common/Makefile\n"
- "@@ -6,6 +6,7 @@\n"
- " obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \\\n"
- "     bonito-irq.o mem.o machtype.o platform.o serial.o\n"
- " obj-$(CONFIG_PCI) += pci.o\n"
- "+obj-$(CONFIG_CPU_LOONGSON2) += dma.o\n"
- " \n"
- " #\n"
- " # Serial port support\n"
- "diff --git a/arch/mips/loongson64/common/dma.c b/arch/mips/loongson64/common/dma.c\n"
- "new file mode 100644\n"
- "index 000000000000..48f04126bde2\n"
- "--- /dev/null\n"
- "+++ b/arch/mips/loongson64/common/dma.c\n"
- "@@ -0,0 +1,18 @@\n"
- "+// SPDX-License-Identifier: GPL-2.0\n"
- "+#include <linux/dma-direct.h>\n"
- "+\n"
- "+dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)\n"
- "+{\n"
- "+\treturn paddr | 0x80000000;\n"
- "+}\n"
- "+\n"
- "+phys_addr_t __dma_to_phys(struct device *dev, dma_addr_t dma_addr)\n"
- "+{\n"
- "+#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)\n"
- "+\tif (dma_addr > 0x8fffffff)\n"
- "+\t\treturn dma_addr;\n"
- "+\treturn dma_addr & 0x0fffffff;\n"
- "+#else\n"
- "+\treturn dma_addr & 0x7fffffff;\n"
- "+#endif\n"
- "+}\n"
- "-- \n"
- 2.17.1
+ ---
 
-afeb3d8949389e613e2f16d38520df404ca0e8fce9816cb1299b66eb58e5b664
+381b2fc69d78c4143958e0dcfad568baf3c646acf0121d319e977ecbceabaf2c

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox