From mboxrd@z Thu Jan 1 00:00:00 1970 Received: with ECARTIS (v1.0.0; list linux-mips); Fri, 03 Aug 2012 09:06:43 +0200 (CEST) Received: from mail-gh0-f177.google.com ([209.85.160.177]:47200 "EHLO mail-gh0-f177.google.com" rhost-flags-OK-OK-OK-OK) by eddie.linux-mips.org with ESMTP id S1902235Ab2HCHGg (ORCPT ); Fri, 3 Aug 2012 09:06:36 +0200 Received: by ghbf11 with SMTP id f11so504498ghb.36 for ; Fri, 03 Aug 2012 00:06:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=YNByiF1Nz8lHlJEAe0sln+fkuaBvTEykwOK9zaLFD+4=; b=dUQtXkt/LbLMMkpmF1sdPe4i/9L1ATQ8cc87AUUiCTVWyT4OTXiyz684DdVEsbjFXo 509dBmt7KdP36TmDwHRBLZLZN/nUQuZ7emuDsMqtHilTQFkmtH7SLZowgdeRXno5hSJg wz+a8zLvCI2ahlI+kCETVfNTaYKBKkABWUfD1wCn2mcJJV8VniTcsCOvFCw44kseh7MB ppcr9582Y9r4xj/4Rvr4BaaJ0m2N6Plx/F2EN5TYy6QI+RphraMWREm2WKWLKaqkoo7+ OlzDeKi2vRbWpcJQ50RIyFqwoonvMcVXmMpGXgRga5fwQtmtYBMDP/mA9fAxqceCQQ1L ijLg== Received: by 10.42.61.16 with SMTP id s16mr1277546ich.7.1343977589386; Fri, 03 Aug 2012 00:06:29 -0700 (PDT) Received: from localhost.localdomain ([222.92.8.142]) by mx.google.com with ESMTPS id z3sm20852677igc.7.2012.08.03.00.06.24 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 03 Aug 2012 00:06:28 -0700 (PDT) From: Huacai Chen To: Ralf Baechle Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org, Fuxin Zhang , Zhangjin Wu , Huacai Chen , Hongliang Tao , Hua Yan Subject: [PATCH V4 00/16] MIPS: Add Loongson-3 based machines support. Date: Fri, 3 Aug 2012 15:05:55 +0800 Message-Id: <1343977571-2292-1-git-send-email-chenhc@lemote.com> X-Mailer: git-send-email 1.7.7.3 X-archive-position: 34024 X-ecartis-version: Ecartis v1.0.0 Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org X-original-sender: chenhuacai@gmail.com Precedence: bulk List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: linux-mips X-List-ID: linux-mips List-subscribe: List-owner: List-post: List-archive: X-list: linux-mips Return-Path: 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 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.) V1 -> V2: 1, Split the first patch to two patches, one is constant definition and the other is CPU probing, cache initializing, etc. 2, Remove Kconfig options in the first 9 patches and put all of them in the 10th patch. 3, Use "make savedefconfig" to generate the new default config file. 4, Rework serial port support to use PORT and PORT_M macros. 5, Fix some compile warnings. V2 -> V3: 1, Improve cache flushing code (use cpu_has_coherent_cache macro and remove #ifdef clauses). 2, Improve platform-specific code to correctly set driver's dma_mask/ coherent_dma_mask so no longer need workarounds for each driver ( SATA, graphics card, sound card, etc.) 3, Use PCI quirk to provide vgabios and loongson3_read_bios() go away. 4, Improve CPU hotplug code and split the poweroff failure related code to another patch (this issue affect all MIPS CPU, not only Loongson). 5, Some other small fixes. V3 -> V4: 1, Include swiotlb.h in radeon_ttm.c if SWIOTLB configured. 2, Remove "Reviewed-by" in patches which are added by mistake. 3, Sync the code to upstream. Huacai Chen(16): MIPS: Loongson: Add basic Loongson-3 definition. MIPS: Loongson: Add basic Loongson-3 CPU support. MIPS: Loongson 3: Add Lemote-3A machtypes definition. MIPS: Loongson: Make Loongson-3 to use BCD format for RTC. 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 big memory (>4GB). MIPS: Loongson: Add Loongson-3 Kconfig options. drm/radeon: Make radeon card usable for Loongson. ALSA: HDA: Make hda sound card usable for Loongson. MIPS: Loongson 3: Add Loongson-3 SMP support. MIPS: Loongson 3: Add CPU hotplug support. MIPS: Fix poweroff failure when HOTPLUG_CPU configured. MIPS: Loongson: Add a Loongson-3 default config file. Signed-off-by: Huacai Chen Signed-off-by: Hongliang Tao Signed-off-by: Hua Yan --- arch/mips/Kconfig | 23 + arch/mips/configs/loongson3_defconfig | 283 ++++++++++++ arch/mips/include/asm/addrspace.h | 6 + arch/mips/include/asm/bootinfo.h | 24 +- arch/mips/include/asm/cpu.h | 6 +- arch/mips/include/asm/dma-mapping.h | 5 + arch/mips/include/asm/mach-loongson/boot_param.h | 151 +++++++ .../mips/include/asm/mach-loongson/dma-coherence.h | 25 +- 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/mc146818rtc.h | 4 + arch/mips/include/asm/mach-loongson/pci.h | 5 + arch/mips/include/asm/mach-loongson/spaces.h | 15 + arch/mips/include/asm/module.h | 2 + arch/mips/include/asm/pgtable-bits.h | 7 + arch/mips/include/asm/smp.h | 1 + arch/mips/kernel/Makefile | 1 + arch/mips/kernel/cpu-probe.c | 12 +- arch/mips/kernel/process.c | 4 +- arch/mips/lib/Makefile | 1 + 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 | 159 +++++++ arch/mips/loongson/common/env.c | 67 +++- 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 | 14 + 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 | 97 +++++ arch/mips/loongson/loongson-3/smp.c | 449 ++++++++++++++++++++ arch/mips/loongson/loongson-3/smp.h | 24 + arch/mips/mm/Makefile | 1 + arch/mips/mm/c-r4k.c | 94 ++++- arch/mips/mm/dma-default.c | 13 +- arch/mips/mm/tlb-r4k.c | 2 +- arch/mips/mm/tlbex.c | 1 + arch/mips/pci/Makefile | 1 + arch/mips/pci/fixup-loongson3.c | 64 +++ arch/mips/pci/ops-loongson3.c | 104 +++++ drivers/gpu/drm/drm_vm.c | 2 +- drivers/gpu/drm/radeon/radeon_ttm.c | 4 + drivers/gpu/drm/ttm/ttm_bo_util.c | 2 +- include/drm/drm_sarea.h | 2 + include/linux/pci_ids.h | 2 + sound/pci/hda/patch_conexant.c | 52 +++- 53 files changed, 1903 insertions(+), 77 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 create mode 100644 arch/mips/include/asm/mach-loongson/spaces.h create mode 100644 arch/mips/loongson/common/dma-swiotlb.c create mode 100644 arch/mips/loongson/loongson-3/Makefile create mode 100644 arch/mips/loongson/loongson-3/irq.c create mode 100644 arch/mips/loongson/loongson-3/smp.c 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