An error occurred fetching the project authors.
  1. 30 Oct, 2020 1 commit
    • Arnd Bergmann's avatar
      timekeeping: default GENERIC_CLOCKEVENTS to enabled · 0774a6ed
      Arnd Bergmann authored
      Almost all machines use GENERIC_CLOCKEVENTS, so it feels wrong to
      require each one to select that symbol manually.
      
      Instead, enable it whenever CONFIG_LEGACY_TIMER_TICK is disabled as
      a simplification. It should be possible to select both
      GENERIC_CLOCKEVENTS and LEGACY_TIMER_TICK from an architecture now
      and decide at runtime between the two.
      
      For the clockevents arch-support.txt file, this means that additional
      architectures are marked as TODO when they have at least one machine
      that still uses LEGACY_TIMER_TICK, rather than being marked 'ok' when
      at least one machine has been converted. This means that both m68k and
      arm (for riscpc) revert to TODO.
      
      At this point, we could just always enable CONFIG_GENERIC_CLOCKEVENTS
      rather than leaving it off when not needed. I built an m68k
      defconfig kernel (using gcc-10.1.0) and found that this would add
      around 5.5KB in kernel image size:
      
         text	   data	    bss	    dec	    hex	filename
      3861936	1092236	 196656	5150828	 4e986c	obj-m68k/vmlinux-no-clockevent
      3866201	1093832	 196184	5156217	 4ead79	obj-m68k/vmlinux-clockevent
      
      On Arm (MACH_RPC), that difference appears to be twice as large,
      around 11KB on top of an 6MB vmlinux.
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      0774a6ed
  2. 13 Oct, 2020 2 commits
  3. 12 Oct, 2020 1 commit
    • Tiezhu Yang's avatar
      MIPS: Loongson64: Select SMP in Kconfig to avoid build error · 1062fc45
      Tiezhu Yang authored
      In the current code, CONFIG_SMP can be set as N by user on the Loongson
      platform, then there exists the following build error under !CONFIG_SMP:
      
        CC      arch/mips/kernel/asm-offsets.s
      In file included from ./include/linux/gfp.h:9:0,
                       from ./include/linux/xarray.h:14,
                       from ./include/linux/radix-tree.h:18,
                       from ./include/linux/fs.h:15,
                       from ./include/linux/compat.h:17,
                       from arch/mips/kernel/asm-offsets.c:12:
      ./include/linux/topology.h: In function 'numa_node_id':
      ./include/linux/topology.h:119:2: error: implicit declaration of function 'cpu_logical_map' [-Werror=implicit-function-declaration]
        return cpu_to_node(raw_smp_processor_id());
        ^
      cc1: some warnings being treated as errors
      scripts/Makefile.build:117: recipe for target 'arch/mips/kernel/asm-offsets.s' failed
      make[1]: *** [arch/mips/kernel/asm-offsets.s] Error 1
      
      Select SMP in Kconfig to avoid the above build error and then remove
      CONFIG_SMP=y in loongson3_defconfig.
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      1062fc45
  4. 08 Oct, 2020 1 commit
  5. 28 Sep, 2020 1 commit
  6. 27 Sep, 2020 1 commit
  7. 25 Sep, 2020 1 commit
  8. 18 Sep, 2020 4 commits
  9. 16 Sep, 2020 1 commit
    • Thomas Gleixner's avatar
      PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable · 077ee78e
      Thomas Gleixner authored
      The arch_.*_msi_irq[s] fallbacks are compiled in whether an architecture
      requires them or not. Architectures which are fully utilizing hierarchical
      irq domains should never call into that code.
      
      It's not only architectures which depend on that by implementing one or
      more of the weak functions, there is also a bunch of drivers which relies
      on the weak functions which invoke msi_controller::setup_irq[s] and
      msi_controller::teardown_irq.
      
      Make the architectures and drivers which rely on them select them in Kconfig
      and if not selected replace them by stub functions which emit a warning and
      fail the PCI/MSI interrupt allocation.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Link: https://lore.kernel.org/r/20200826112333.992429909@linutronix.de
      077ee78e
  10. 15 Sep, 2020 1 commit
  11. 09 Sep, 2020 1 commit
  12. 07 Sep, 2020 7 commits
  13. 03 Sep, 2020 2 commits
  14. 24 Aug, 2020 1 commit
  15. 05 Aug, 2020 1 commit
    • Mike Rapoport's avatar
      MIPS: SGI-IP27: always enable NUMA in Kconfig · 6c86a302
      Mike Rapoport authored
      When a configuration has NUMA disabled and SGI_IP27 enabled, the build
      fails:
      
        CC      kernel/bounds.s
        CC      arch/mips/kernel/asm-offsets.s
      In file included from arch/mips/include/asm/topology.h:11,
                       from include/linux/topology.h:36,
                       from include/linux/gfp.h:9,
                       from include/linux/slab.h:15,
                       from include/linux/crypto.h:19,
                       from include/crypto/hash.h:11,
                       from include/linux/uio.h:10,
                       from include/linux/socket.h:8,
                       from include/linux/compat.h:15,
                       from arch/mips/kernel/asm-offsets.c:12:
      include/linux/topology.h: In function 'numa_node_id':
      arch/mips/include/asm/mach-ip27/topology.h:16:27: error: implicit declaration of function 'cputonasid'; did you mean 'cpu_vpe_id'? [-Werror=implicit-function-declaration]
       #define cpu_to_node(cpu) (cputonasid(cpu))
                                 ^~~~~~~~~~
      include/linux/topology.h:119:9: note: in expansion of macro 'cpu_to_node'
        return cpu_to_node(raw_smp_processor_id());
               ^~~~~~~~~~~
      include/linux/topology.h: In function 'cpu_cpu_mask':
      arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data' [-Werror=implicit-function-declaration]
            &hub_data(node)->h_cpus)
             ^~~~~~~~
      include/linux/topology.h:210:9: note: in expansion of macro 'cpumask_of_node'
        return cpumask_of_node(cpu_to_node(cpu));
               ^~~~~~~~~~~~~~~
      arch/mips/include/asm/mach-ip27/topology.h:19:21: error: invalid type argument of '->' (have 'int')
            &hub_data(node)->h_cpus)
                           ^~
      include/linux/topology.h:210:9: note: in expansion of macro 'cpumask_of_node'
        return cpumask_of_node(cpu_to_node(cpu));
               ^~~~~~~~~~~~~~~
      
      Before switch from discontigmem to sparsemem, there always was
      CONFIG_NEED_MULTIPLE_NODES=y because it was selected by DISCONTIGMEM.
      Without DISCONTIGMEM it is possible to have SPARSEMEM without NUMA for
      SGI_IP27 and as many things there rely on custom node definition, the
      build breaks.
      
      As Thomas noted "... there are right now too many places in IP27 code,
      which assumes NUMA enabled", the simplest solution would be to always
      enable NUMA for SGI-IP27 builds.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Fixes: 397dc00e ("mips: sgi-ip27: switch from DISCONTIGMEM to SPARSEMEM")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      6c86a302
  16. 04 Aug, 2020 1 commit
  17. 28 Jul, 2020 1 commit
    • Paul Cercueil's avatar
      MIPS: Remove legacy MIPS_MACHINE option · a4aec0f3
      Paul Cercueil authored
      The CONFIG_MIPS_MACHINE option is dead code that hasn't been used in
      years. The Kconfig option is not selected anywhere, and the
      <asm/mips_machine.h> is not included anywhere either.
      
      To make things worse, for years it co-existed with a separate MIPS
      machine implementation as <asm/machine.h>. The two defined the
      'mips_machine' structure with different fields, and the 'MIPS_MACHINE'
      macro with different parameters. The two used the same memory area
      (defined by the linker script) to store data, and you could totally use
      the two at the same time for all kinds of funny results.
      Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      a4aec0f3
  18. 24 Jul, 2020 1 commit
  19. 19 Jul, 2020 1 commit
  20. 16 Jul, 2020 1 commit
  21. 10 Jul, 2020 1 commit
  22. 04 Jul, 2020 1 commit
  23. 13 Jun, 2020 1 commit
    • Masahiro Yamada's avatar
      treewide: replace '---help---' in Kconfig files with 'help' · a7f7f624
      Masahiro Yamada authored
      Since commit 84af7a61 ("checkpatch: kconfig: prefer 'help' over
      '---help---'"), the number of '---help---' has been gradually
      decreasing, but there are still more than 2400 instances.
      
      This commit finishes the conversion. While I touched the lines,
      I also fixed the indentation.
      
      There are a variety of indentation styles found.
      
        a) 4 spaces + '---help---'
        b) 7 spaces + '---help---'
        c) 8 spaces + '---help---'
        d) 1 space + 1 tab + '---help---'
        e) 1 tab + '---help---'    (correct indentation)
        f) 1 tab + 1 space + '---help---'
        g) 1 tab + 2 spaces + '---help---'
      
      In order to convert all of them to 1 tab + 'help', I ran the
      following commend:
      
        $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      a7f7f624
  24. 04 Jun, 2020 2 commits
    • Huacai Chen's avatar
      KVM: MIPS: Enable KVM support for Loongson-3 · 0f78355c
      Huacai Chen authored
      This patch enable KVM support for Loongson-3 by selecting HAVE_KVM, but
      only enable KVM/VZ on Loongson-3A R4+ (because VZ of early processors
      are incomplete). Besides, Loongson-3 support SMP guests, so we clear the
      linked load bit of LLAddr in kvm_vz_vcpu_load() if the guest has more
      than one VCPUs.
      Acked-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      Reviewed-by: default avatarAleksandar Markovic <aleksandar.qemu.devel@gmail.com>
      Signed-off-by: default avatarHuacai Chen <chenhc@lemote.com>
      Co-developed-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Message-Id: <1590220602-3547-15-git-send-email-chenhc@lemote.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      0f78355c
    • Mike Rapoport's avatar
      mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option · 3f08a302
      Mike Rapoport authored
      CONFIG_HAVE_MEMBLOCK_NODE_MAP is used to differentiate initialization of
      nodes and zones structures between the systems that have region to node
      mapping in memblock and those that don't.
      
      Currently all the NUMA architectures enable this option and for the
      non-NUMA systems we can presume that all the memory belongs to node 0 and
      therefore the compile time configuration option is not required.
      
      The remaining few architectures that use DISCONTIGMEM without NUMA are
      easily updated to use memblock_add_node() instead of memblock_add() and
      thus have proper correspondence of memblock regions to NUMA nodes.
      
      Still, free_area_init_node() must have a backward compatible version
      because its semantics with and without CONFIG_HAVE_MEMBLOCK_NODE_MAP is
      different.  Once all the architectures will use the new semantics, the
      entire compatibility layer can be dropped.
      
      To avoid addition of extra run time memory to store node id for
      architectures that keep memblock but have only a single node, the node id
      field of the memblock_region is guarded by CONFIG_NEED_MULTIPLE_NODES and
      the corresponding accessors presume that in those cases it is always 0.
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Tested-by: Hoan Tran <hoan@os.amperecomputing.com>	[arm64]
      Acked-by: Catalin Marinas <catalin.marinas@arm.com>	[arm64]
      Cc: Baoquan He <bhe@redhat.com>
      Cc: Brian Cain <bcain@codeaurora.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Ley Foon Tan <ley.foon.tan@intel.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Nick Hu <nickhu@andestech.com>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Stafford Horne <shorne@gmail.com>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Link: http://lkml.kernel.org/r/20200412194859.12663-4-rppt@kernel.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3f08a302
  25. 27 May, 2020 2 commits
  26. 24 May, 2020 1 commit
    • WANG Xuerui's avatar
      MIPS: emulate CPUCFG instruction on older Loongson64 cores · ec7a9318
      WANG Xuerui authored
      CPUCFG is the instruction for querying processor characteristics on
      newer Loongson processors, much like CPUID of x86. Since the instruction
      is supposedly designed to provide a unified way to do feature detection
      (without having to, for example, parse /proc/cpuinfo which is too
      heavyweight), it is important to provide compatibility for older cores
      without native support. Fortunately, most of the fields can be
      synthesized without changes to semantics. Performance is not really big
      a concern, because feature detection logic is not expected to be
      invoked very often in typical userland applications.
      
      The instruction can't be emulated on LOONGSON_2EF cores, according to
      FlyGoat's experiments. Because the LWC2 opcode is assigned to other
      valid instructions on 2E and 2F, no RI exception is raised for us to
      intercept. So compatibility is only extended back furthest to
      Loongson-3A1000. Loongson-2K is covered too, as it is basically a remix
      of various blocks from the 3A/3B models from a kernel perspective.
      
      This is lightly based on Loongson's work on their Linux 3.10 fork, for
      being the authority on the right feature flags to fill in, where things
      aren't otherwise discoverable.
      Signed-off-by: default avatarWANG Xuerui <git@xen0n.name>
      Reviewed-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Cc: Huacai Chen <chenhc@lemote.com>
      Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
      Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      ec7a9318
  27. 22 May, 2020 1 commit
    • Serge Semin's avatar
      mips: csrc-r4k: Mark R4K timer as unstable if CPU freq changes · 38586428
      Serge Semin authored
      Commit 07d69579 ("MIPS: Don't register r4k sched clock when CPUFREQ
      enabled") disabled the r4k-clock usage for scheduler ticks counting due
      to the scheduler being non-tolerant for unstable clocks sources. For the
      same reason the clock should be used in the system clocksource framework
      with care. As soon as CPU frequency changes the clocksource framework
      should be notified about this by marking the R4K timer being unstable
      (which it really is, since the ticks rate has been changed synchronously
      with the CPU frequency).
      Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
      Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: Paul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: devicetree@vger.kernel.org
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      38586428