--- v19
+++ v9
@@ -1,8 +1,8 @@
-This patchset is prepared for the next 3.15 release for Linux/MIPS.
-Loongson-3 is a multi-core MIPS family CPU, it is MIPS64R2 compatible
-and has the same IMP field (0x6300) as Loongson-2. These patches make
-Linux kernel support Loongson-3 CPU and Loongson-3 based computers
-(including Laptop, Mini-ITX, All-In-One PC, etc.)
+This patchset is for git repository git://git.linux-mips.org/pub/scm/
+ralf/linux. Loongson-3 is a multi-core MIPS family CPU, it is MIPS64
+compatible and has the same IMP field (0x6300) as Loongson-2. These
+patches make Linux kernel support Loongson-3 CPU and Loongson-3 based
+computers (including Laptop, Mini-ITX, All-In-One PC, etc.)
V1 -> V2:
1, Split the first patch to two patches, one is constant definition and
@@ -60,7 +60,7 @@
3, Include swiotlb.h in arch-specific code to avoid driver modification.
4, Remove the patch "drm: Handle io prot correctly for MIPS" since it
is already in upstream code.
-5, Remove the patch "ALSA: HDA: Make hda sound card usable for Loongson"
+5, Remove the patch "ALSA: HDA: Make hda sound card usable for Loongson"
since it is already in upstream code.
6, Use LZMA compression and do some adjustment of config file to reduce
kernel size.
@@ -72,67 +72,16 @@
4, Update the default config file.
5, Sync the code to upstream.
-V9 -> V10:
-1, Rework "Introduce and use cpu_has_coherent_cache feature".
-2, Handle the case that System BIOS doesn't contain a VGA BIOS.
-3, Sync the code to upstream (mostly indentation adjustment).
-
-V10 -> V11:
-1, Remove normal labels and useless nops in inline assembler.
-2, Sync the code to upstream (Prepared for 3.12).
-
-V11 -> V12:
-1, Delete __cpuinit usage;
-2, Remove the third patch since it is contentious;
-3, Sync the code to upstream (Prepared for 3.13).
-
-V12 -> V13:
-1, Rework addrspace.h and spaces.h;
-2, Move the modification of Platform from patch 1 to patch 12;
-3, Sync the code to upstream (the mips-for-linux-next branch, for 3.13).
-
-V13 -> V14:
-1, Avoid spurious interrupt from serial port;
-2, Drop CONFIG_LOONGSON_BIGMEM and use CONFIG_SWIOTLB directly;
-3, Sync the code to upstream (the mips-for-linux-next branch, for 3.14).
-
-V14 -> V15:
-1, Fix duplicate ARCH_SPARSEMEM_ENABLE in Kconfig.
-
-V15 -> V16:
-1, Fix all coding style errors and most of warnings;
-2, Make dma address translation simple and elegant;
-3, Fix potential bugs in swiotlb code;
-4, Rename UEFI firmware interface to LEFI;
-5, Remove 32-bit kernel support temporarily;
-6, Some other small fixes (thanks to Aurelien Jarno).
-
-V16 -> V17:
-1, Kconfig adjustment;
-2, Make some functions static;
-3, Capitalize macros in smp code;
-4, Make dma-swiotlb.c more simple;
-5, Some other small fixes (thanks to Aurelien Jarno and Alex Smith).
-
-V17 -> V18:
-1, Fix two Loongson 2 breakages.
-2, Tested and Reviewed by Alex Smith.
-
-V18 -> V19:
-1, Rewrite the commit message of the dma-swiotlb patch.
-2, LEFI export the dma_mask_bits, which make it possible to support
- both 32-bit and 40-bit DMA.
-
Huacai Chen(13):
- MIPS: Loongson: Rename PRID_IMP_LOONGSON1 and PRID_IMP_LOONGSON2.
MIPS: Loongson: Add basic Loongson-3 definition.
MIPS: Loongson: Add basic Loongson-3 CPU support.
+ MIPS: Loongson: Introduce and use cpu_has_coherent_cache feature.
MIPS: Loongson 3: Add Lemote-3A machtypes definition.
- MIPS: Loongson: Add UEFI-like firmware interface (LEFI) support.
+ MIPS: Loongson: Add UEFI-like firmware interface support.
MIPS: Loongson 3: Add HT-linked PCI support.
MIPS: Loongson 3: Add IRQ init and dispatch support.
MIPS: Loongson 3: Add serial port support.
- MIPS: Loongson: Add swiotlb to support All-Memory DMA.
+ MIPS: Loongson: Add swiotlb to support big memory (>4GB).
MIPS: Loongson: Add Loongson-3 Kconfig options.
MIPS: Loongson 3: Add Loongson-3 SMP support.
MIPS: Loongson 3: Add CPU hotplug support.
@@ -140,51 +89,53 @@
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Hongliang Tao <taohl@lemote.com>
-Signed-off-by: Hua Yan <yanh@lemote.com>
+Signed-off-by: Hua Yan <yanh@lemote.com>
---
- arch/mips/Kconfig | 29 ++-
- arch/mips/configs/loongson3_defconfig | 348 ++++++++++++++++
- arch/mips/include/asm/addrspace.h | 2 +
+ arch/mips/Kconfig | 29 ++
+ arch/mips/configs/loongson3_defconfig | 329 ++++++++++++++
+ arch/mips/include/asm/addrspace.h | 6 +
arch/mips/include/asm/bootinfo.h | 24 +-
- arch/mips/include/asm/cpu-type.h | 4 +
- arch/mips/include/asm/cpu.h | 9 +-
+ arch/mips/include/asm/cacheflush.h | 6 +
+ arch/mips/include/asm/cpu-features.h | 3 +
+ arch/mips/include/asm/cpu.h | 5 +-
arch/mips/include/asm/dma-mapping.h | 5 +
- arch/mips/include/asm/mach-loongson/boot_param.h | 163 ++++++++
- .../mips/include/asm/mach-loongson/dma-coherence.h | 22 +-
- arch/mips/include/asm/mach-loongson/irq.h | 44 ++
- arch/mips/include/asm/mach-loongson/loongson.h | 28 +-
+ arch/mips/include/asm/mach-loongson/boot_param.h | 151 +++++++
+ .../asm/mach-loongson/cpu-feature-overrides.h | 6 +
+ .../mips/include/asm/mach-loongson/dma-coherence.h | 23 +
+ arch/mips/include/asm/mach-loongson/irq.h | 24 +
+ arch/mips/include/asm/mach-loongson/loongson.h | 26 +-
arch/mips/include/asm/mach-loongson/machine.h | 6 +
arch/mips/include/asm/mach-loongson/pci.h | 5 +
- arch/mips/include/asm/mach-loongson/spaces.h | 13 +
+ arch/mips/include/asm/mach-loongson/spaces.h | 15 +
arch/mips/include/asm/module.h | 2 +
- arch/mips/include/asm/pgtable-bits.h | 9 +
+ arch/mips/include/asm/pgtable-bits.h | 7 +
arch/mips/include/asm/smp.h | 1 +
- arch/mips/kernel/cpu-probe.c | 16 +-
- arch/mips/loongson/Kconfig | 47 +++
+ arch/mips/kernel/cpu-probe.c | 14 +-
+ arch/mips/loongson/Kconfig | 52 +++
arch/mips/loongson/Makefile | 6 +
arch/mips/loongson/Platform | 1 +
arch/mips/loongson/common/Makefile | 5 +
- arch/mips/loongson/common/dma-swiotlb.c | 136 ++++++
+ arch/mips/loongson/common/dma-swiotlb.c | 163 +++++++
arch/mips/loongson/common/env.c | 67 +++-
- arch/mips/loongson/common/init.c | 12 +-
- arch/mips/loongson/common/machtype.c | 4 +
+ arch/mips/loongson/common/init.c | 14 +-
+ arch/mips/loongson/common/machtype.c | 20 +-
arch/mips/loongson/common/mem.c | 42 ++
arch/mips/loongson/common/pci.c | 6 +-
- arch/mips/loongson/common/reset.c | 21 +
+ arch/mips/loongson/common/reset.c | 16 +
arch/mips/loongson/common/serial.c | 26 +-
arch/mips/loongson/common/setup.c | 8 +-
arch/mips/loongson/common/uart_base.c | 9 +-
arch/mips/loongson/loongson-3/Makefile | 6 +
- arch/mips/loongson/loongson-3/irq.c | 125 ++++++
- arch/mips/loongson/loongson-3/smp.c | 434 ++++++++++++++++++++
- arch/mips/loongson/loongson-3/smp.h | 29 ++
- arch/mips/mm/c-r4k.c | 59 +++
- arch/mips/mm/tlb-r4k.c | 5 +-
+ arch/mips/loongson/loongson-3/irq.c | 97 +++++
+ arch/mips/loongson/loongson-3/smp.c | 452 ++++++++++++++++++++
+ arch/mips/loongson/loongson-3/smp.h | 24 +
+ arch/mips/mm/c-r4k.c | 83 ++++-
+ arch/mips/mm/tlb-r4k.c | 2 +-
arch/mips/mm/tlbex.c | 1 +
arch/mips/pci/Makefile | 1 +
- arch/mips/pci/fixup-loongson3.c | 66 +++
- arch/mips/pci/ops-loongson3.c | 101 +++++
- 42 files changed, 1885 insertions(+), 62 deletions(-)
+ arch/mips/pci/fixup-loongson3.c | 65 +++
+ arch/mips/pci/ops-loongson3.c | 104 +++++
+ 44 files changed, 1890 insertions(+), 67 deletions(-)
create mode 100644 arch/mips/configs/loongson3_defconfig
create mode 100644 arch/mips/include/asm/mach-loongson/boot_param.h
create mode 100644 arch/mips/include/asm/mach-loongson/irq.h
@@ -196,5 +147,5 @@
create mode 100644 arch/mips/loongson/loongson-3/smp.h
create mode 100644 arch/mips/pci/fixup-loongson3.c
create mode 100644 arch/mips/pci/ops-loongson3.c
---
+--
1.7.7.3