Commit 4f05e820 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'loongarch-6.10' of...

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

Pull LoongArch updates from Huacai Chen:

 - Select some options in Kconfig

 - Give a chance to build with !CONFIG_SMP

 - Switch to use built-in rustc target

 - Add new supported device nodes to dts

 - Some bug fixes and other small changes

 - Update the default config file

* tag 'loongarch-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
  LoongArch: Update Loongson-3 default config file
  LoongArch: dts: Add new supported device nodes to Loongson-2K2000
  LoongArch: dts: Add new supported device nodes to Loongson-2K0500
  LoongArch: dts: Remove "disabled" state of clock controller node
  LoongArch: rust: Switch to use built-in rustc target
  LoongArch: Fix callchain parse error with kernel tracepoint events again
  LoongArch: Give a chance to build with !CONFIG_SMP
  LoongArch: Select THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
  LoongArch: Select ARCH_WANT_DEFAULT_BPF_JIT
  LoongArch: Select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
  LoongArch: Select ARCH_HAS_FAST_MULTIPLIER
parents f33fda22 9cc1df42
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ config LOONGARCH
	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
	select ARCH_HAS_CPU_FINALIZE_INIT
	select ARCH_HAS_CURRENT_STACK_POINTER
	select ARCH_HAS_FAST_MULTIPLIER
	select ARCH_HAS_FORTIFY_SOURCE
	select ARCH_HAS_KCOV
	select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
@@ -56,6 +57,7 @@ config LOONGARCH
	select ARCH_SUPPORTS_ACPI
	select ARCH_SUPPORTS_ATOMIC_RMW
	select ARCH_SUPPORTS_HUGETLBFS
	select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
	select ARCH_SUPPORTS_LTO_CLANG
	select ARCH_SUPPORTS_LTO_CLANG_THIN
	select ARCH_SUPPORTS_NUMA_BALANCING
@@ -63,10 +65,12 @@ config LOONGARCH
	select ARCH_USE_CMPXCHG_LOCKREF
	select ARCH_USE_QUEUED_RWLOCKS
	select ARCH_USE_QUEUED_SPINLOCKS
	select ARCH_WANT_DEFAULT_BPF_JIT
	select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
	select ARCH_WANT_LD_ORPHAN_WARN
	select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
	select ARCH_WANTS_NO_INSTR
	select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
	select BUILDTIME_TABLE_SORT
	select COMMON_CLK
	select CPU_PM
@@ -174,7 +178,6 @@ config LOONGARCH
	select PCI_QUIRKS
	select PERF_USE_VMALLOC
	select RTC_LIB
	select SMP
	select SPARSE_IRQ
	select SYSCTL_ARCH_UNALIGN_ALLOW
	select SYSCTL_ARCH_UNALIGN_NO_WARN
@@ -420,6 +423,7 @@ config EFI_STUB

config SCHED_SMT
	bool "SMT scheduler support"
	depends on SMP
	default y
	help
	  Improves scheduler's performance when there are multiple
+1 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ ifdef CONFIG_OBJTOOL
KBUILD_CFLAGS			+= -fno-jump-tables
endif

KBUILD_RUSTFLAGS			+= --target=$(objtree)/scripts/target.json
KBUILD_RUSTFLAGS		+= --target=loongarch64-unknown-none-softfloat
KBUILD_RUSTFLAGS_MODULE		+= -Crelocation-model=pic

ifeq ($(CONFIG_RELOCATABLE),y)
+83 −3
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
/dts-v1/;

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/loongson,ls2k-clk.h>

/ {
	#address-cells = <2>;
@@ -19,14 +20,15 @@ cpu0: cpu@0 {
			compatible = "loongson,la264";
			device_type = "cpu";
			reg = <0x0>;
			clocks = <&cpu_clk>;
			clocks = <&clk LOONGSON2_NODE_CLK>;
		};
	};

	cpu_clk: cpu-clk {
	ref_100m: clock-ref-100m {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <500000000>;
		clock-frequency = <100000000>;
		clock-output-names = "ref_100m";
	};

	cpuintc: interrupt-controller {
@@ -35,6 +37,28 @@ cpuintc: interrupt-controller {
		interrupt-controller;
	};

	thermal-zones {
		cpu-thermal {
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
			thermal-sensors = <&tsensor 0>;

			trips {
				cpu-alert {
					temperature = <33000>;
					hysteresis = <2000>;
					type = "active";
				};

				cpu-crit {
					temperature = <85000>;
					hysteresis = <5000>;
					type = "critical";
				};
			};
		};
	};

	bus@10000000 {
		compatible = "simple-bus";
		ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x10000000>,
@@ -52,6 +76,54 @@ isa@16400000 {
			ranges = <1 0x0 0x0 0x16400000 0x4000>;
		};

		clk: clock-controller@1fe10400 {
			compatible = "loongson,ls2k0500-clk";
			reg = <0x0 0x1fe10400 0x0 0x2c>;
			#clock-cells = <1>;
			clocks = <&ref_100m>;
			clock-names = "ref_100m";
		};

		dma-controller@1fe10c00 {
			compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma";
			reg = <0 0x1fe10c00 0 0x8>;
			interrupt-parent = <&eiointc>;
			interrupts = <67>;
			clocks = <&clk LOONGSON2_APB_CLK>;
			#dma-cells = <1>;
			status = "disabled";
		};

		dma-controller@1fe10c10 {
			compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma";
			reg = <0 0x1fe10c10 0 0x8>;
			interrupt-parent = <&eiointc>;
			interrupts = <68>;
			clocks = <&clk LOONGSON2_APB_CLK>;
			#dma-cells = <1>;
			status = "disabled";
		};

		dma-controller@1fe10c20 {
			compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma";
			reg = <0 0x1fe10c20 0 0x8>;
			interrupt-parent = <&eiointc>;
			interrupts = <69>;
			clocks = <&clk LOONGSON2_APB_CLK>;
			#dma-cells = <1>;
			status = "disabled";
		};

		dma-controller@1fe10c30 {
			compatible = "loongson,ls2k0500-apbdma", "loongson,ls2k1000-apbdma";
			reg = <0 0x1fe10c30 0 0x8>;
			interrupt-parent = <&eiointc>;
			interrupts = <70>;
			clocks = <&clk LOONGSON2_APB_CLK>;
			#dma-cells = <1>;
			status = "disabled";
		};

		liointc0: interrupt-controller@1fe11400 {
			compatible = "loongson,liointc-2.0";
			reg = <0x0 0x1fe11400 0x0 0x40>,
@@ -139,6 +211,14 @@ ohci0: usb@1f058000 {
			status = "disabled";
		};

		tsensor: thermal-sensor@1fe11500 {
			compatible = "loongson,ls2k0500-thermal", "loongson,ls2k1000-thermal";
			reg = <0x0 0x1fe11500 0x0 0x30>;
			interrupt-parent = <&liointc0>;
			interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
			#thermal-sensor-cells = <1>;
		};

		uart0: serial@1ff40800 {
			compatible = "ns16550a";
			reg = <0x0 0x1ff40800 0x0 0x10>;
+0 −4
Original line number Diff line number Diff line
@@ -113,10 +113,6 @@ &uart0 {
	status = "okay";
};

&clk {
	status = "okay";
};

&rtc0 {
	status = "okay";
};
+0 −1
Original line number Diff line number Diff line
@@ -159,7 +159,6 @@ clk: clock-controller@1fe00480 {
			#clock-cells = <1>;
			clocks = <&ref_100m>;
			clock-names = "ref_100m";
			status = "disabled";
		};

		gpio0: gpio@1fe00500 {
Loading