1. 08 7月, 2015 1 次提交
  2. 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
  3. 24 11月, 2014 1 次提交
  4. 01 4月, 2014 1 次提交
    • H
      MIPS: Loongson 3: Add Loongson-3 SMP support · 300459d5
      Huacai Chen 提交于
      IPI registers of Loongson-3 include IPI_SET, IPI_CLEAR, IPI_STATUS,
      IPI_EN and IPI_MAILBOX_BUF. Each bit of IPI_STATUS indicate a type of
      IPI and IPI_EN indicate whether the IPI is enabled. The sender write 1
      to IPI_SET bits generate IPIs in IPI_STATUS, and receiver write 1 to
      bits of IPI_CLEAR to clear IPIs. IPI_MAILBOX_BUF are used to deliver
      more information about IPIs.
      
      Why we change code in arch/mips/loongson/common/setup.c?
      
      If without this change, when SMP configured, system cannot boot since
      it hang at printk() in cgroup_init_early(). The root cause is:
      
      console_trylock()
        \-->down_trylock(&console_sem)
          \-->raw_spin_unlock_irqrestore(&sem->lock, flags)
            \-->_raw_spin_unlock_irqrestore()(SMP/UP have different versions)
              \-->__raw_spin_unlock_irqrestore()  (following is the SMP case)
                \-->do_raw_spin_unlock()
                  \-->arch_spin_unlock()
                    \-->nudge_writes()
                      \-->mb()
                        \-->wbflush()
                          \-->__wbflush()
      
      In previous code __wbflush() is initialized in plat_mem_setup(), but
      cgroup_init_early() is called before plat_mem_setup(). Therefore, In
      this patch we make changes to avoid boot failure.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Signed-off-by: NHongliang Tao <taohl@lemote.com>
      Signed-off-by: NHua Yan <yanh@lemote.com>
      Tested-by: NAlex Smith <alex.smith@imgtec.com>
      Reviewed-by: NAlex Smith <alex.smith@imgtec.com>
      Cc: John Crispin <john@phrozen.org>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/6638Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      300459d5
  5. 01 2月, 2013 1 次提交
  6. 01 5月, 2010 1 次提交
  7. 18 9月, 2009 1 次提交