Commit 64275e9f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'loongarch-7.0' of...

Merge tag 'loongarch-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson

Pull LoongArch updates from Huacai Chen:
 - Select HAVE_CMPXCHG_{LOCAL,DOUBLE}
 - Add 128-bit atomic cmpxchg support
 - Add HOTPLUG_SMT implementation
 - Wire up memfd_secret system call
 - Fix boot errors and unwind errors for KASAN
 - Use BPF prog pack allocator and add BPF arena support
 - Update dts files to add nand controllers
 - Some bug fixes and other small changes

* tag 'loongarch-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
  LoongArch: dts: loongson-2k1000: Add nand controller support
  LoongArch: dts: loongson-2k0500: Add nand controller support
  LoongArch: BPF: Implement bpf_addr_space_cast instruction
  LoongArch: BPF: Implement PROBE_MEM32 pseudo instructions
  LoongArch: BPF: Use BPF prog pack allocator
  LoongArch: Use IS_ERR_PCPU() macro for KGDB
  LoongArch: Rework KASAN initialization for PTW-enabled systems
  LoongArch: Disable instrumentation for setup_ptwalker()
  LoongArch: Remove some extern variables in source files
  LoongArch: Guard percpu handler under !CONFIG_PREEMPT_RT
  LoongArch: Handle percpu handler address for ORC unwinder
  LoongArch: Use %px to print unmodified unwinding address
  LoongArch: Prefer top-down allocation after arch_mem_init()
  LoongArch: Add HOTPLUG_SMT implementation
  LoongArch: Make cpumask_of_node() robust against NUMA_NO_NODE
  LoongArch: Wire up memfd_secret system call
  LoongArch: Replace seq_printf() with seq_puts() for simple strings
  LoongArch: Add 128-bit atomic cmpxchg support
  LoongArch: Add detection for SC.Q support
  LoongArch: Select HAVE_CMPXCHG_LOCAL in Kconfig
parents 787fe1d4 92860256
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4661,7 +4661,7 @@ Kernel parameters
	nosmt		[KNL,MIPS,PPC,EARLY] Disable symmetric multithreading (SMT).
			Equivalent to smt=1.

			[KNL,X86,PPC,S390] Disable symmetric multithreading (SMT).
			[KNL,LOONGARCH,X86,PPC,S390] Disable symmetric multithreading (SMT).
			nosmt=force: Force disable SMT, cannot be undone
				     via the sysfs control file.

+4 −0
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ config LOONGARCH
	select GENERIC_TIME_VSYSCALL
	select GPIOLIB
	select HAS_IOPORT
	select HAVE_ALIGNED_STRUCT_PAGE
	select HAVE_ARCH_AUDITSYSCALL
	select HAVE_ARCH_BITREVERSE
	select HAVE_ARCH_JUMP_LABEL
@@ -130,6 +131,8 @@ config LOONGARCH
	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
	select HAVE_ARCH_USERFAULTFD_MINOR if USERFAULTFD
	select HAVE_ASM_MODVERSIONS
	select HAVE_CMPXCHG_DOUBLE
	select HAVE_CMPXCHG_LOCAL
	select HAVE_CONTEXT_TRACKING_USER
	select HAVE_C_RECORDMCOUNT
	select HAVE_DEBUG_KMEMLEAK
@@ -183,6 +186,7 @@ config LOONGARCH
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_TIF_NOHZ
	select HAVE_VIRT_CPU_ACCOUNTING_GEN
	select HOTPLUG_SMT if HOTPLUG_CPU
	select IRQ_FORCED_THREADING
	select IRQ_LOONGARCH_CPU
	select LOCK_MM_AND_FIND_VMA
+19 −0
Original line number Diff line number Diff line
@@ -41,6 +41,25 @@ linux,cma {
	};
};

&apbdma0 {
	status = "okay";
};

&nand {
	status = "okay";

	#address-cells = <1>;
	#size-cells = <0>;
	nand@0 {
		reg = <0>;
		label = "ls2k0500-nand";
		nand-use-soft-ecc-engine;
		nand-ecc-algo = "bch";
		nand-ecc-strength = <8>;
		nand-ecc-step-size = <512>;
	};
};

&apbdma3 {
	status = "okay";
};
+11 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ clk: clock-controller@1fe10400 {
			clock-names = "ref_100m";
		};

		dma-controller@1fe10c00 {
		apbdma0: dma-controller@1fe10c00 {
			compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma";
			reg = <0 0x1fe10c00 0 0x8>;
			interrupt-parent = <&eiointc>;
@@ -172,6 +172,16 @@ eiointc: interrupt-controller@1fe11600 {
			interrupts = <3>;
		};

		nand: nand-controller@1ff58000 {
			compatible = "loongson,ls2k0500-nand-controller";
			reg = <0 0x1ff58000 0 0x24>,
			      <0 0x1ff58040 0 0x4>;
			reg-names = "nand", "nand-dma";
			dmas = <&apbdma0 0>;
			dma-names = "rxtx";
			status = "disabled";
		};

		pwm@1ff5c000 {
			compatible = "loongson,ls2k0500-pwm", "loongson,ls7a-pwm";
			reg = <0x0 0x1ff5c000 0x0 0x10>;
+22 −0
Original line number Diff line number Diff line
@@ -48,6 +48,28 @@ fan0: pwm-fan {
	};
};

&apbdma0 {
	status = "okay";
};

&nand {
	status = "okay";

	pinctrl-0 = <&nand_pins_default>;
	pinctrl-names = "default";

	#address-cells = <1>;
	#size-cells = <0>;
	nand@0 {
		reg = <0>;
		label = "ls2k1000-nand";
		nand-use-soft-ecc-engine;
		nand-ecc-algo = "bch";
		nand-ecc-strength = <8>;
		nand-ecc-step-size = <512>;
	};
};

&apbdma1 {
	status = "okay";
};
Loading