1. 29 6月, 2017 1 次提交
  2. 12 10月, 2016 1 次提交
  3. 28 5月, 2016 1 次提交
  4. 13 5月, 2016 2 次提交
    • H
      MIPS: Loongson-3: Introduce CONFIG_LOONGSON3_ENHANCEMENT · 1e820da3
      Huacai Chen 提交于
      New Loongson 3 CPU (since Loongson-3A R2, as opposed to Loongson-3A R1,
      Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as FTLB,
      L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPv2 ASE, User Local
      register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer), Fast
      TLB refill support, etc.
      
      This patch introduce a config option, CONFIG_LOONGSON3_ENHANCEMENT, to
      enable those enhancements which are not probed at run time. If you want
      a generic kernel to run on all Loongson 3 machines, please say 'N'
      here. If you want a high-performance kernel to run on new Loongson 3
      machines only, please say 'Y' here.
      
      Some additional explanations:
      1) SFB locates between core and L1 cache, it causes memory access out
         of order, so writel/outl (and other similar functions) need a I/O
         reorder barrier.
      2) Loongson 3 has a bug that di instruction can not save the irqflag,
         so arch_local_irq_save() is modified. Since CPU_MIPSR2 is selected
         by CONFIG_LOONGSON3_ENHANCEMENT, generic kernel doesn't use ei/di
         at all.
      3) CPU_HAS_PREFETCH is selected by CONFIG_LOONGSON3_ENHANCEMENT, so
         MIPS_CPU_PREFETCH (used by uasm) probing is also put in this patch.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Steven J . Hill <sjhill@realitydiluted.com>
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/12755/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      1e820da3
    • H
      MIPS: Loongson: Add Loongson-3A R2 basic support · b2edcfc8
      Huacai Chen 提交于
      Loongson-3 CPU family:
      
      Code-name       Brand-name       PRId
      Loongson-3A R1  Loongson-3A1000  0x6305
      Loongson-3A R2  Loongson-3A2000  0x6308
      Loongson-3B R1  Loongson-3B1000  0x6306
      Loongson-3B R2  Loongson-3B1500  0x6307
      
      Features of R2 revision of Loongson-3A:
      
        - Primary cache includes I-Cache, D-Cache and V-Cache (Victim Cache).
        - I-Cache, D-Cache and V-Cache are 16-way set-associative, linesize is
           64 bytes.
        - 64 entries of VTLB (classic TLB), 1024 entries of FTLB (8-way
           set-associative).
        - Supports DSP/DSPv2 instructions, UserLocal register and Read-Inhibit/
           Execute-Inhibit.
      
      [ralf@linux-mips.org: Resolved merge conflicts.]
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Steven J . Hill <sjhill@realitydiluted.com>
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/12751/
      Patchwork: https://patchwork.linux-mips.org/patch/13136/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      b2edcfc8
  5. 03 9月, 2015 1 次提交
    • A
      MIPS: Remove all the uses of custom gpio.h · 832f5dac
      Alban Bedel 提交于
      Currently CONFIG_ARCH_HAVE_CUSTOM_GPIO_H is defined for all MIPS
      machines, and each machine type provides its own gpio.h. However
      only a handful really implement the GPIO API, most just forward
      everythings to gpiolib.
      
      The Alchemy machine is notable as it provides a system to allow
      implementing the GPIO API at the board level. But it is not used by
      any board currently supported, so it can also be removed.
      
      For most machine types we can just remove the custom gpio.h, as well
      as the custom wrappers if some exists. Some of the code found in
      the wrappers must be moved to the respective GPIO driver.
      
      A few more fixes are need in some drivers as they rely on linux/gpio.h
      to provides some machine specific definitions, or used asm/gpio.h
      instead of linux/gpio.h for the gpio API.
      Signed-off-by: NAlban Bedel <albeu@free.fr>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Cc: linux-mips@linux-mips.org
      Cc: Hauke Mehrtens <hauke@hauke-m.de>
      Cc: Rafał Miłecki <zajec5@gmail.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Florian Fainelli <florian@openwrt.org>
      Cc: Manuel Lauss <manuel.lauss@gmail.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Daniel Walter <dwalter@google.com>
      Cc: Sergey Ryazanov <ryazanov.s.a@gmail.com>
      Cc: Huacai Chen <chenhc@lemote.com>
      Cc: James Hartley <james.hartley@imgtec.com>
      Cc: Andrew Bresticker <abrestic@chromium.org>
      Cc: Paul Burton <paul.burton@imgtec.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Wolfram Sang <wsa@the-dreams.de>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Varka Bhadram <varkabhadram@gmail.com>
      Cc: Masanari Iida <standby24x7@gmail.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Michael Buesch <m@bues.ch>
      Cc: abdoulaye berthe <berthe.ab@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-ide@vger.kernel.org
      Cc: linux-gpio@vger.kernel.org
      Cc: linux-input@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/10828/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      832f5dac
  6. 08 7月, 2015 1 次提交
  7. 22 6月, 2015 1 次提交
    • H
      MIPS: Loongson: Naming style cleanup and rework · 30ad29bb
      Huacai Chen 提交于
      Currently, code of Loongson-2/3 is under loongson directory and code of
      Loongson-1 is under loongson1 directory. Besides, there are Kconfig
      options such as MACH_LOONGSON and MACH_LOONGSON1. This naming style is
      very ugly and confusing. Since Loongson-2/3 are both 64-bit general-
      purpose CPU while Loongson-1 is 32-bit SoC, we rename both file names
      and Kconfig symbols from loongson/loongson1 to loongson64/loongson32.
      
      [ralf@linux-mips.org: Resolve a number of simple conflicts.]
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Cc: Kelvin Cheung <keguang.zhang@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/9790/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      30ad29bb