Skip to contentSkip to conversation

Linux 6.1.9

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Feb 1, 2023 Stable branch

lore
Share & tools
lore
author maintainer
#1 lore raw
In reply to Greg Kroah-Hartman
Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml +2 -2
index c46378efc123..92e899905ef8 100644
@@ -16,7 +16,7 @@ properties:
   compatible:
     items:
       - enum:
-          - renesas,i2c-r9a09g011  # RZ/V2M
+          - renesas,r9a09g011-i2c  # RZ/V2M
       - const: renesas,rzv2m-i2c
 
   reg:
@@ -66,7 +66,7 @@ examples:
     #include <dt-bindings/interrupt-controller/arm-gic.h>
 
     i2c0: i2c@a4030000 {
-        compatible = "renesas,i2c-r9a09g011", "renesas,rzv2m-i2c";
+        compatible = "renesas,r9a09g011-i2c", "renesas,rzv2m-i2c";
         reg = <0xa4030000 0x80>;
         interrupts = <GIC_SPI 232 IRQ_TYPE_EDGE_RISING>,
                      <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>;
Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml +19 -2
index 01f9d4e236e9..a7feb497eb89 100644
@@ -19,8 +19,8 @@ description: |
   additional information and example.
 
 patternProperties:
-  # 25 LDOs
-  "^LDO([1-9]|[1][0-9]|2[0-5])$":
+  # 25 LDOs, without LDO10-12
+  "^LDO([1-9]|1[3-9]|2[0-5])$":
     type: object
     $ref: regulator.yaml#
     unevaluatedProperties: false
@@ -30,6 +30,23 @@ patternProperties:
     required:
       - regulator-name
 
+  "^LDO(1[0-2])$":
+    type: object
+    $ref: regulator.yaml#
+    unevaluatedProperties: false
+    description:
+      Properties for single LDO regulator.
+
+    properties:
+      samsung,ext-control-gpios:
+        maxItems: 1
+        description:
+          LDO10, LDO11 and LDO12 can be configured to external control over
+          GPIO.
+
+    required:
+      - regulator-name
+
   # 5 bucks
   "^BUCK[1-5]$":
     type: object
Documentation/devicetree/bindings/riscv/cpus.yaml +1 -1
index 90a7cabf58fe..d4148418350c 100644
@@ -80,7 +80,7 @@ properties:
       insensitive, letters in the riscv,isa string must be all
       lowercase to simplify parsing.
     $ref: "/schemas/types.yaml#/definitions/string"
-    pattern: ^rv(?:64|32)imaf?d?q?c?b?v?k?h?(?:_[hsxz](?:[a-z])+)*$
+    pattern: ^rv(?:64|32)imaf?d?q?c?b?k?j?p?v?h?(?:[hsxz](?:[a-z])+)?(?:_[hsxz](?:[a-z])+)*$
 
   # RISC-V requires 'timebase-frequency' in /cpus, so disallow it here
   timebase-frequency: false
Documentation/devicetree/bindings/sound/everest,es8326.yaml +0 -0
old mode 100755
new mode 100644
Documentation/x86/amd-memory-encryption.rst +36 -0
index a1940ebe7be5..934310ce7258 100644
@@ -95,3 +95,39 @@ by supplying mem_encrypt=on on the kernel command line.  However, if BIOS does
 not enable SME, then Linux will not be able to activate memory encryption, even
 if configured to do so by default or the mem_encrypt=on command line parameter
 is specified.
+
+Secure Nested Paging (SNP)
+==========================
+
+SEV-SNP introduces new features (SEV_FEATURES[1:63]) which can be enabled
+by the hypervisor for security enhancements. Some of these features need
+guest side implementation to function correctly. The below table lists the
+expected guest behavior with various possible scenarios of guest/hypervisor
+SNP feature support.
+
++-----------------+---------------+---------------+------------------+
+| Feature Enabled | Guest needs   | Guest has     | Guest boot       |
+| by the HV       | implementation| implementation| behaviour        |
++=================+===============+===============+==================+
+|      No         |      No       |      No       |     Boot         |
+|                 |               |               |                  |
++-----------------+---------------+---------------+------------------+
+|      No         |      Yes      |      No       |     Boot         |
+|                 |               |               |                  |
++-----------------+---------------+---------------+------------------+
+|      No         |      Yes      |      Yes      |     Boot         |
+|                 |               |               |                  |
++-----------------+---------------+---------------+------------------+
+|      Yes        |      No       |      No       | Boot with        |
+|                 |               |               | feature enabled  |
++-----------------+---------------+---------------+------------------+
+|      Yes        |      Yes      |      No       | Graceful boot    |
+|                 |               |               | failure          |
++-----------------+---------------+---------------+------------------+
+|      Yes        |      Yes      |      Yes      | Boot with        |
+|                 |               |               | feature enabled  |
++-----------------+---------------+---------------+------------------+
+
+More details in AMD64 APM[1] Vol 2: 15.34.10 SEV_STATUS MSR
+
+[1] https://www.amd.com/system/files/TechDocs/40332.pdf
Makefile +15 -2
index 49261450039a..3778b422fa11 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 1
-SUBLEVEL = 8
+SUBLEVEL = 9
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
@@ -538,7 +538,7 @@ LDFLAGS_MODULE  =
 CFLAGS_KERNEL	=
 RUSTFLAGS_KERNEL =
 AFLAGS_KERNEL	=
-export LDFLAGS_vmlinux =
+LDFLAGS_vmlinux =
 
 # Use USERINCLUDE when you must reference the UAPI directories only.
 USERINCLUDE    := \
@@ -1232,6 +1232,18 @@ vmlinux.o modules.builtin.modinfo modules.builtin: vmlinux_o
 	@:
 
 PHONY += vmlinux
+# LDFLAGS_vmlinux in the top Makefile defines linker flags for the top vmlinux,
+# not for decompressors. LDFLAGS_vmlinux in arch/*/boot/compressed/Makefile is
+# unrelated; the decompressors just happen to have the same base name,
+# arch/*/boot/compressed/vmlinux.
+# Export LDFLAGS_vmlinux only to scripts/Makefile.vmlinux.
+#
+# _LDFLAGS_vmlinux is a workaround for the 'private export' bug:
+#   https://savannah.gnu.org/bugs/?61463
+# For Make > 4.4, the following simple code will work:
+#  vmlinux: private export LDFLAGS_vmlinux := $(LDFLAGS_vmlinux)
+vmlinux: private _LDFLAGS_vmlinux := $(LDFLAGS_vmlinux)
+vmlinux: export LDFLAGS_vmlinux = $(_LDFLAGS_vmlinux)
 vmlinux: vmlinux.o $(KBUILD_LDS) modpost
 	$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux
 
@@ -1517,6 +1529,7 @@ endif
 # *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFOBTF_MODULES
 # is an exception.
 ifdef CONFIG_DEBUG_INFO_BTF_MODULES
+KBUILD_BUILTIN := 1
 modules: vmlinux
 endif
 
arch/arm/boot/dts/imx6qdl-gw560x.dtsi +0 -1
index 4bc4371e6bae..4b81a975c979 100644
@@ -632,7 +632,6 @@ &ssi1 {
 &uart1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1>;
-	uart-has-rtscts;
 	rts-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
 	status = "okay";
 };
arch/arm/boot/dts/imx6ul-pico-dwarf.dts +1 -1
index 162dc259edc8..5a74c7f68eb6 100644
@@ -32,7 +32,7 @@ sys_mclk: clock-sys-mclk {
 };
 
 &i2c2 {
-	clock_frequency = <100000>;
+	clock-frequency = <100000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c2>;
 	status = "okay";
arch/arm/boot/dts/imx7d-pico-dwarf.dts +2 -2
index 5162fe227d1e..fdc10563f147 100644
@@ -32,7 +32,7 @@ sys_mclk: clock-sys-mclk {
 };
 
 &i2c1 {
-	clock_frequency = <100000>;
+	clock-frequency = <100000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c1>;
 	status = "okay";
@@ -52,7 +52,7 @@ pressure-sensor@60 {
 };
 
 &i2c4 {
-	clock_frequency = <100000>;
+	clock-frequency = <100000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c1>;
 	status = "okay";
arch/arm/boot/dts/imx7d-pico-nymph.dts +2 -2
index 104a85254adb..5afb1674e012 100644
@@ -43,7 +43,7 @@ sys_mclk: clock-sys-mclk {
 };
 
 &i2c1 {
-	clock_frequency = <100000>;
+	clock-frequency = <100000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c1>;
 	status = "okay";
@@ -64,7 +64,7 @@ adc@52 {
 };
 
 &i2c2 {
-	clock_frequency = <100000>;
+	clock-frequency = <100000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c2>;
 	status = "okay";
arch/arm/boot/dts/sam9x60.dtsi +1 -1
index 8f5477e307dd..37a5d96aaf64 100644
@@ -564,7 +564,7 @@ pmecc: ecc-engine@ffffe000 {
 			mpddrc: mpddrc@ffffe800 {
 				compatible = "microchip,sam9x60-ddramc", "atmel,sama5d3-ddramc";
 				reg = <0xffffe800 0x200>;
-				clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_CORE PMC_MCK>;
+				clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>;
 				clock-names = "ddrck", "mpddr";
 			};
 
arch/arm/boot/dts/stm32mp151a-prtt1l.dtsi +6 -2
index d865ab5d866b..dd23de85100c 100644
@@ -101,8 +101,12 @@ &iwdg2 {
 
 &qspi {
 	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
-	pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
+	pinctrl-0 = <&qspi_clk_pins_a
+		     &qspi_bk1_pins_a
+		     &qspi_cs1_pins_a>;
+	pinctrl-1 = <&qspi_clk_sleep_pins_a
+		     &qspi_bk1_sleep_pins_a
+		     &qspi_cs1_sleep_pins_a>;
 	reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
 	#address-cells = <1>;
 	#size-cells = <0>;
arch/arm/boot/dts/stm32mp157c-emstamp-argon.dtsi +6 -2
index 30156b7546ed..d540550f7da2 100644
@@ -391,8 +391,12 @@ &pwr_regulators {
 
 &qspi {
 	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
-	pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
+	pinctrl-0 = <&qspi_clk_pins_a
+		     &qspi_bk1_pins_a
+		     &qspi_cs1_pins_a>;
+	pinctrl-1 = <&qspi_clk_sleep_pins_a
+		     &qspi_bk1_sleep_pins_a
+		     &qspi_cs1_sleep_pins_a>;
 	reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
 	#address-cells = <1>;
 	#size-cells = <0>;
arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi +6 -2
index 238a611192e7..d3b85a8764d7 100644
@@ -428,8 +428,12 @@ &pwr_regulators {
 
 &qspi {
 	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
-	pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
+	pinctrl-0 = <&qspi_clk_pins_a
+		     &qspi_bk1_pins_a
+		     &qspi_cs1_pins_a>;
+	pinctrl-1 = <&qspi_clk_sleep_pins_a
+		     &qspi_bk1_sleep_pins_a
+		     &qspi_cs1_sleep_pins_a>;
 	reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
 	#address-cells = <1>;
 	#size-cells = <0>;
arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi +6 -2
index 134a798ad3f2..bb40fb46da81 100644
@@ -247,8 +247,12 @@ &pwr_regulators {
 
 &qspi {
 	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
-	pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
+	pinctrl-0 = <&qspi_clk_pins_a
+		     &qspi_bk1_pins_a
+		     &qspi_cs1_pins_a>;
+	pinctrl-1 = <&qspi_clk_sleep_pins_a
+		     &qspi_bk1_sleep_pins_a
+		     &qspi_cs1_sleep_pins_a>;
 	reg = <0x58003000 0x1000>, <0x70000000 0x200000>;
 	#address-cells = <1>;
 	#size-cells = <0>;
arch/arm/mach-imx/cpu-imx25.c +1 -0
index 3e63445cde06..cc86977d0a34 100644
@@ -23,6 +23,7 @@ static int mx25_read_cpu_rev(void)
 
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx25-iim");
 	iim_base = of_iomap(np, 0);
+	of_node_put(np);
 	BUG_ON(!iim_base);
 	rev = readl(iim_base + MXC_IIMSREV);
 	iounmap(iim_base);
arch/arm/mach-imx/cpu-imx27.c +1 -0
index bf70e13bbe9e..1d2893908368 100644
@@ -28,6 +28,7 @@ static int mx27_read_cpu_rev(void)
 
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx27-ccm");
 	ccm_base = of_iomap(np, 0);
+	of_node_put(np);
 	BUG_ON(!ccm_base);
 	/*
 	 * now we have access to the IO registers. As we need
arch/arm/mach-imx/cpu-imx31.c +1 -0
index b9c24b851d1a..35c544924e50 100644
@@ -39,6 +39,7 @@ static int mx31_read_cpu_rev(void)
 
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx31-iim");
 	iim_base = of_iomap(np, 0);
+	of_node_put(np);
 	BUG_ON(!iim_base);
 
 	/* read SREV register from IIM module */
arch/arm/mach-imx/cpu-imx35.c +1 -0
index 80e7d8ab9f1b..1fe75b39c2d9 100644
@@ -21,6 +21,7 @@ static int mx35_read_cpu_rev(void)
 
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx35-iim");
 	iim_base = of_iomap(np, 0);
+	of_node_put(np);
 	BUG_ON(!iim_base);
 
 	rev = imx_readl(iim_base + MXC_IIMSREV);
arch/arm/mach-imx/cpu-imx5.c +1 -0
index ad56263778f9..a67c89bf155d 100644
@@ -28,6 +28,7 @@ static u32 imx5_read_srev_reg(const char *compat)
 
 	np = of_find_compatible_node(NULL, NULL, compat);
 	iim_base = of_iomap(np, 0);
+	of_node_put(np);
 	WARN_ON(!iim_base);
 
 	srev = readl(iim_base + IIM_SREV) & 0xff;
arch/arm/mm/nommu.c +1 -1
index c1494a4dee25..53f2d8774fdb 100644
@@ -161,7 +161,7 @@ void __init paging_init(const struct machine_desc *mdesc)
 	mpu_setup();
 
 	/* allocate the zero page. */
-	zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
+	zero_page = (void *)memblock_alloc(PAGE_SIZE, PAGE_SIZE);
 	if (!zero_page)
 		panic("%s: Failed to allocate %lu bytes align=0x%lx\n",
 		      __func__, PAGE_SIZE, PAGE_SIZE);
arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi +2 -2
index 03266bd90a06..169f047fbca5 100644
@@ -120,7 +120,7 @@ &csi {
 &ecspi2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_espi2>;
-	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
+	cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
 	status = "okay";
 
 	eeprom@0 {
@@ -316,7 +316,7 @@ pinctrl_espi2: espi2grp {
 			MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK		0x82
 			MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI		0x82
 			MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO		0x82
-			MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9		0x41
+			MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13              0x41
 		>;
 	};
 
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts +1 -0
index d3ee6fc4baab..72311b55f06d 100644
@@ -759,6 +759,7 @@ &usbotg1 {
 &usbotg2 {
 	dr_mode = "host";
 	vbus-supply = <&reg_usb2_vbus>;
+	over-current-active-low;
 	status = "okay";
 };
 
arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi +1 -0
index c2a5c2f7b204..7c3f5c54f040 100644
@@ -9,6 +9,7 @@ sound_card: sound-card {
 		simple-audio-card,bitclock-master = <&dailink_master>;
 		simple-audio-card,format = "i2s";
 		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,mclk-fs = <256>;
 		simple-audio-card,name = "imx8mm-wm8904";
 		simple-audio-card,routing =
 			"Headphone Jack", "HPOUTL",
arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi +1 -0
index 73cc3fafa018..b2bcd2282170 100644
@@ -11,6 +11,7 @@ sound_card: sound-card {
 		simple-audio-card,bitclock-master = <&dailink_master>;
 		simple-audio-card,format = "i2s";
 		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,mclk-fs = <256>;
 		simple-audio-card,name = "imx8mm-nau8822";
 		simple-audio-card,routing =
 			"Headphones", "LHP",
arch/arm64/boot/dts/freescale/imx8mp-evk.dts +2 -2
index b4c1ef2559f2..126c839b45f2 100644
@@ -36,8 +36,8 @@ memory@40000000 {
 
 	pcie0_refclk: pcie0-refclk {
 		compatible = "fixed-clock";
-			#clock-cells = <0>;
-			clock-frequency = <100000000>;
+		#clock-cells = <0>;
+		clock-frequency = <100000000>;
 	};
 
 	reg_can1_stby: regulator-can1-stby {
arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi +0 -10
index 79b290a002c1..ecc4bce6db97 100644
@@ -99,7 +99,6 @@ pmic: pmic@25 {
 
 		regulators {
 			buck1: BUCK1 {
-				regulator-compatible = "BUCK1";
 				regulator-min-microvolt = <600000>;
 				regulator-max-microvolt = <2187500>;
 				regulator-boot-on;
@@ -108,7 +107,6 @@ buck1: BUCK1 {
 			};
 
 			buck2: BUCK2 {
-				regulator-compatible = "BUCK2";
 				regulator-min-microvolt = <600000>;
 				regulator-max-microvolt = <2187500>;
 				regulator-boot-on;
@@ -119,7 +117,6 @@ buck2: BUCK2 {
 			};
 
 			buck4: BUCK4 {
-				regulator-compatible = "BUCK4";
 				regulator-min-microvolt = <600000>;
 				regulator-max-microvolt = <3400000>;
 				regulator-boot-on;
@@ -127,7 +124,6 @@ buck4: BUCK4 {
 			};
 
 			buck5: BUCK5 {
-				regulator-compatible = "BUCK5";
 				regulator-min-microvolt = <600000>;
 				regulator-max-microvolt = <3400000>;
 				regulator-boot-on;
@@ -135,7 +131,6 @@ buck5: BUCK5 {
 			};
 
 			buck6: BUCK6 {
-				regulator-compatible = "BUCK6";
 				regulator-min-microvolt = <600000>;
 				regulator-max-microvolt = <3400000>;
 				regulator-boot-on;
@@ -143,7 +138,6 @@ buck6: BUCK6 {
 			};
 
 			ldo1: LDO1 {
-				regulator-compatible = "LDO1";
 				regulator-min-microvolt = <1600000>;
 				regulator-max-microvolt = <3300000>;
 				regulator-boot-on;
@@ -151,7 +145,6 @@ ldo1: LDO1 {
 			};
 
 			ldo2: LDO2 {
-				regulator-compatible = "LDO2";
 				regulator-min-microvolt = <800000>;
 				regulator-max-microvolt = <1150000>;
 				regulator-boot-on;
@@ -159,7 +152,6 @@ ldo2: LDO2 {
 			};
 
 			ldo3: LDO3 {
-				regulator-compatible = "LDO3";
 				regulator-min-microvolt = <800000>;
 				regulator-max-microvolt = <3300000>;
 				regulator-boot-on;
@@ -167,13 +159,11 @@ ldo3: LDO3 {
 			};
 
 			ldo4: LDO4 {
-				regulator-compatible = "LDO4";
 				regulator-min-microvolt = <800000>;
 				regulator-max-microvolt = <3300000>;
 			};
 
 			ldo5: LDO5 {
-				regulator-compatible = "LDO5";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <3300000>;
 				regulator-boot-on;
arch/arm64/boot/dts/freescale/imx8mp.dtsi +2 -1
index d944ecca1b3c..47fd6a0ba05a 100644
@@ -523,6 +523,7 @@ gpc: gpc@303a0000 {
 				compatible = "fsl,imx8mp-gpc";
 				reg = <0x303a0000 0x1000>;
 				interrupt-parent = <&gic>;
+				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
 				interrupt-controller;
 				#interrupt-cells = <3>;
 
@@ -589,7 +590,7 @@ pgc_mipi_phy2: power-domain@16 {
 						reg = <IMX8MP_POWER_DOMAIN_MIPI_PHY2>;
 					};
 
-					pgc_hsiomix: power-domains@17 {
+					pgc_hsiomix: power-domain@17 {
 						#power-domain-cells = <0>;
 						reg = <IMX8MP_POWER_DOMAIN_HSIOMIX>;
 						clocks = <&clk IMX8MP_CLK_HSIO_AXI>,
arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts +3 -3
index 69786c326db0..27f9a9f33134 100644
@@ -74,7 +74,7 @@ MX93_PAD_UART1_TXD__LPUART1_TX			0x31e
 
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
-			MX93_PAD_SD1_CLK__USDHC1_CLK		0x17fe
+			MX93_PAD_SD1_CLK__USDHC1_CLK		0x15fe
 			MX93_PAD_SD1_CMD__USDHC1_CMD		0x13fe
 			MX93_PAD_SD1_DATA0__USDHC1_DATA0	0x13fe
 			MX93_PAD_SD1_DATA1__USDHC1_DATA1	0x13fe
@@ -84,7 +84,7 @@ MX93_PAD_SD1_DATA4__USDHC1_DATA4	0x13fe
 			MX93_PAD_SD1_DATA5__USDHC1_DATA5	0x13fe
 			MX93_PAD_SD1_DATA6__USDHC1_DATA6	0x13fe
 			MX93_PAD_SD1_DATA7__USDHC1_DATA7	0x13fe
-			MX93_PAD_SD1_STROBE__USDHC1_STROBE	0x17fe
+			MX93_PAD_SD1_STROBE__USDHC1_STROBE	0x15fe
 		>;
 	};
 
@@ -102,7 +102,7 @@ MX93_PAD_SD2_CD_B__GPIO3_IO00		0x31e
 
 	pinctrl_usdhc2: usdhc2grp {
 		fsl,pins = <
-			MX93_PAD_SD2_CLK__USDHC2_CLK		0x17fe
+			MX93_PAD_SD2_CLK__USDHC2_CLK		0x15fe
 			MX93_PAD_SD2_CMD__USDHC2_CMD		0x13fe
 			MX93_PAD_SD2_DATA0__USDHC2_DATA0	0x13fe
 			MX93_PAD_SD2_DATA1__USDHC2_DATA1	0x13fe
arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi +1 -1
index 44ed6f963b75..8e2ac687a410 100644
@@ -97,7 +97,7 @@ uart0: serial@12000 {
 
 			uart1: serial@12100 {
 				compatible = "snps,dw-apb-uart";
-				reg = <0x11000 0x100>;
+				reg = <0x12100 0x100>;
 				reg-shift = <2>;
 				interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 				reg-io-width = <1>;
arch/arm64/boot/dts/qcom/msm8992-xiaomi-libra.dts +60 -17

102 lines not on this page · raw message

arch/arm64/boot/dts/qcom/msm8992.dtsi +0 -4
index 750643763a76..f4be09fc1b15 100644
@@ -36,10 +36,6 @@ &rpmcc {
 	compatible = "qcom,rpmcc-msm8992", "qcom,rpmcc";
 };
 
-&tcsr_mutex {
-	compatible = "qcom,sfpb-mutex";
-};
-
 &timer {
 	interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
 			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
arch/arm64/boot/dts/qcom/sc8280xp.dtsi +1 -1
index 9f2a136d5cbc..146a4285c395 100644
@@ -1173,7 +1173,7 @@ usb_0_qmpphy: phy-wrapper@88ec000 {
 			clock-names = "aux", "ref_clk_src", "ref", "com_aux";
 
 			resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
-				 <&gcc GCC_USB3_DP_PHY_PRIM_BCR>;
+				 <&gcc GCC_USB4_DP_PHY_PRIM_BCR>;
 			reset-names = "phy", "common";
 
 			power-domains = <&gcc USB30_PRIM_GDSC>;
arch/arm64/include/asm/efi.h +17 -0
index b9f3165075c9..b13c22046de5 100644
@@ -14,8 +14,16 @@
 
 #ifdef CONFIG_EFI
 extern void efi_init(void);
+
+bool efi_runtime_fixup_exception(struct pt_regs *regs, const char *msg);
 #else
 #define efi_init()
+
+static inline
+bool efi_runtime_fixup_exception(struct pt_regs *regs, const char *msg)
+{
+	return false;
+}
 #endif
 
 int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
@@ -40,8 +48,17 @@ int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md);
 })
 
 extern spinlock_t efi_rt_lock;
+extern u64 *efi_rt_stack_top;
 efi_status_t __efi_rt_asm_wrapper(void *, const char *, ...);
 
+/*
+ * efi_rt_stack_top[-1] contains the value the stack pointer had before
+ * switching to the EFI runtime stack.
+ */
+#define current_in_efi()						\
+	(!preemptible() && efi_rt_stack_top != NULL &&			\
+	 on_task_stack(current, READ_ONCE(efi_rt_stack_top[-1]), 1))
+
 #define ARCH_EFI_IRQ_FLAGS_MASK (PSR_D_BIT | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT)
 
 /*
arch/arm64/include/asm/stacktrace.h +15 -0
index 5a0edb064ea4..327cdcfcb1db 100644
@@ -104,4 +104,19 @@ static inline struct stack_info stackinfo_get_sdei_critical(void)
 #define stackinfo_get_sdei_critical()	stackinfo_get_unknown()
 #endif
 
+#ifdef CONFIG_EFI
+extern u64 *efi_rt_stack_top;
+
+static inline struct stack_info stackinfo_get_efi(void)
+{
+	unsigned long high = (u64)efi_rt_stack_top;
+	unsigned long low = high - THREAD_SIZE;
+
+	return (struct stack_info) {
+		.low = low,
+		.high = high,
+	};
+}
+#endif
+
 #endif	/* __ASM_STACKTRACE_H */
arch/arm64/kernel/efi-rt-wrapper.S +33 -5
index 2d3c4b02393e..e8ae803662cf 100644
@@ -7,7 +7,7 @@
 #include <asm/assembler.h>
 
 SYM_FUNC_START(__efi_rt_asm_wrapper)
-	stp	x29, x30, [sp, #-32]!
+	stp	x29, x30, [sp, #-112]!
 	mov	x29, sp
 
 	/*
@@ -17,11 +17,21 @@ SYM_FUNC_START(__efi_rt_asm_wrapper)
 	 */
 	stp	x1, x18, [sp, #16]
 
+	/*
+	 * Preserve all callee saved registers and preserve the stack pointer
+	 * value at the base of the EFI runtime stack so we can recover from
+	 * synchronous exceptions occurring while executing the firmware
+	 * routines.
+	 */
+	stp	x19, x20, [sp, #32]
+	stp	x21, x22, [sp, #48]
+	stp	x23, x24, [sp, #64]
+	stp	x25, x26, [sp, #80]
+	stp	x27, x28, [sp, #96]
+
 	ldr_l	x16, efi_rt_stack_top
 	mov	sp, x16
-#ifdef CONFIG_SHADOW_CALL_STACK
-	str	x18, [sp, #-16]!
-#endif
+	stp	x18, x29, [sp, #-16]!
 
 	/*
 	 * We are lucky enough that no EFI runtime services take more than
@@ -36,10 +46,13 @@ SYM_FUNC_START(__efi_rt_asm_wrapper)
 	mov	x4, x6
 	blr	x8
 
+	mov	x16, sp
 	mov	sp, x29
+	str	xzr, [x16, #8]			// clear recorded task SP value
+
 	ldp	x1, x2, [sp, #16]
 	cmp	x2, x18
-	ldp	x29, x30, [sp], #32
+	ldp	x29, x30, [sp], #112
 	b.ne	0f
 	ret
 0:
@@ -57,3 +70,18 @@ SYM_FUNC_START(__efi_rt_asm_wrapper)
 
 	b	efi_handle_corrupted_x18	// tail call
 SYM_FUNC_END(__efi_rt_asm_wrapper)
+
+SYM_CODE_START(__efi_rt_asm_recover)
+	mov	sp, x30
+
+	ldr_l	x16, efi_rt_stack_top		// clear recorded task SP value
+	str	xzr, [x16, #-8]
+
+	ldp	x19, x20, [sp, #32]
+	ldp	x21, x22, [sp, #48]
+	ldp	x23, x24, [sp, #64]
+	ldp	x25, x26, [sp, #80]
+	ldp	x27, x28, [sp, #96]
+	ldp	x29, x30, [sp], #112
+	ret
+SYM_CODE_END(__efi_rt_asm_recover)
arch/arm64/kernel/efi.c +23 -0
index 386bd81ca12b..b273900f4566 100644
@@ -11,6 +11,7 @@
 #include <linux/init.h>
 
 #include <asm/efi.h>
+#include <asm/stacktrace.h>
 
 static bool region_is_misaligned(const efi_memory_desc_t *md)
 {
@@ -149,6 +150,28 @@ DEFINE_SPINLOCK(efi_rt_lock);
 
 asmlinkage u64 *efi_rt_stack_top __ro_after_init;
 
+asmlinkage efi_status_t __efi_rt_asm_recover(void);
+
+bool efi_runtime_fixup_exception(struct pt_regs *regs, const char *msg)
+{
+	 /* Check whether the exception occurred while running the firmware */
+	if (!current_in_efi() || regs->pc >= TASK_SIZE_64)
+		return false;
+
+	pr_err(FW_BUG "Unable to handle %s in EFI runtime service\n", msg);
+	add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
+	clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
+
+	regs->regs[0]	= EFI_ABORTED;
+	regs->regs[30]	= efi_rt_stack_top[-1];
+	regs->pc	= (u64)__efi_rt_asm_recover;
+
+	if (IS_ENABLED(CONFIG_SHADOW_CALL_STACK))
+		regs->regs[18] = efi_rt_stack_top[-2];
+
+	return true;
+}
+
 /* EFI requires 8 KiB of stack space for runtime services */
 static_assert(THREAD_SIZE >= SZ_8K);
 
arch/arm64/kernel/stacktrace.c +12 -0
index 117e2c180f3c..83154303e682 100644
@@ -5,6 +5,7 @@
  * Copyright (C) 2012 ARM Ltd.
  */
 #include <linux/kernel.h>
+#include <linux/efi.h>
 #include <linux/export.h>
 #include <linux/ftrace.h>
 #include <linux/sched.h>
@@ -12,6 +13,7 @@
 #include <linux/sched/task_stack.h>
 #include <linux/stacktrace.h>
 
+#include <asm/efi.h>
 #include <asm/irq.h>
 #include <asm/stack_pointer.h>
 #include <asm/stacktrace.h>
@@ -186,6 +188,13 @@ void show_stack(struct task_struct *tsk, unsigned long *sp, const char *loglvl)
 			: stackinfo_get_unknown();		\
 	})
 
+#define STACKINFO_EFI						\
+	({							\
+		((task == current) && current_in_efi())		\
+			? stackinfo_get_efi()			\
+			: stackinfo_get_unknown();		\
+	})
+
 noinline noinstr void arch_stack_walk(stack_trace_consume_fn consume_entry,
 			      void *cookie, struct task_struct *task,
 			      struct pt_regs *regs)
@@ -199,6 +208,9 @@ noinline noinstr void arch_stack_walk(stack_trace_consume_fn consume_entry,
 #if defined(CONFIG_VMAP_STACK) && defined(CONFIG_ARM_SDE_INTERFACE)
 		STACKINFO_SDEI(normal),
 		STACKINFO_SDEI(critical),
+#endif
+#ifdef CONFIG_EFI
+		STACKINFO_EFI,
 #endif
 	};
 	struct unwind_state state = {
arch/arm64/kvm/vgic/vgic-v3.c +11 -14
index 826ff6f2a4e7..5bdada313728 100644
@@ -350,26 +350,23 @@ int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq)
  * The deactivation of the doorbell interrupt will trigger the
  * unmapping of the associated vPE.
  */
-static void unmap_all_vpes(struct vgic_dist *dist)
+static void unmap_all_vpes(struct kvm *kvm)
 {
-	struct irq_desc *desc;
+	struct vgic_dist *dist = &kvm->arch.vgic;
 	int i;
 
-	for (i = 0; i < dist->its_vm.nr_vpes; i++) {
-		desc = irq_to_desc(dist->its_vm.vpes[i]->irq);
-		irq_domain_deactivate_irq(irq_desc_get_irq_data(desc));
-	}
+	for (i = 0; i < dist->its_vm.nr_vpes; i++)
+		free_irq(dist->its_vm.vpes[i]->irq, kvm_get_vcpu(kvm, i));
 }
 
-static void map_all_vpes(struct vgic_dist *dist)
+static void map_all_vpes(struct kvm *kvm)
 {
-	struct irq_desc *desc;
+	struct vgic_dist *dist = &kvm->arch.vgic;
 	int i;
 
-	for (i = 0; i < dist->its_vm.nr_vpes; i++) {
-		desc = irq_to_desc(dist->its_vm.vpes[i]->irq);
-		irq_domain_activate_irq(irq_desc_get_irq_data(desc), false);
-	}
+	for (i = 0; i < dist->its_vm.nr_vpes; i++)
+		WARN_ON(vgic_v4_request_vpe_irq(kvm_get_vcpu(kvm, i),
+						dist->its_vm.vpes[i]->irq));
 }
 
 /**
@@ -394,7 +391,7 @@ int vgic_v3_save_pending_tables(struct kvm *kvm)
 	 * and enabling of the doorbells have already been done.
 	 */
 	if (kvm_vgic_global_state.has_gicv4_1) {
-		unmap_all_vpes(dist);
+		unmap_all_vpes(kvm);
 		vlpi_avail = true;
 	}
 
@@ -444,7 +441,7 @@ int vgic_v3_save_pending_tables(struct kvm *kvm)
 
 out:
 	if (vlpi_avail)
-		map_all_vpes(dist);
+		map_all_vpes(kvm);
 
 	return ret;
 }
arch/arm64/kvm/vgic/vgic-v4.c +6 -2
index ad06ba6c9b00..a413718be92b 100644
@@ -222,6 +222,11 @@ void vgic_v4_get_vlpi_state(struct vgic_irq *irq, bool *val)
 	*val = !!(*ptr & mask);
 }
 
+int vgic_v4_request_vpe_irq(struct kvm_vcpu *vcpu, int irq)
+{
+	return request_irq(irq, vgic_v4_doorbell_handler, 0, "vcpu", vcpu);
+}
+
 /**
  * vgic_v4_init - Initialize the GICv4 data structures
  * @kvm:	Pointer to the VM being initialized
@@ -283,8 +288,7 @@ int vgic_v4_init(struct kvm *kvm)
 			irq_flags &= ~IRQ_NOAUTOEN;
 		irq_set_status_flags(irq, irq_flags);
 
-		ret = request_irq(irq, vgic_v4_doorbell_handler,
-				  0, "vcpu", vcpu);
+		ret = vgic_v4_request_vpe_irq(vcpu, irq);
 		if (ret) {
 			kvm_err("failed to allocate vcpu IRQ%d\n", irq);
 			/*
arch/arm64/kvm/vgic/vgic.h +1 -0
index 0c8da72953f0..23e280fa0a16 100644
@@ -331,5 +331,6 @@ int vgic_v4_init(struct kvm *kvm);
 void vgic_v4_teardown(struct kvm *kvm);
 void vgic_v4_configure_vsgis(struct kvm *kvm);
 void vgic_v4_get_vlpi_state(struct vgic_irq *irq, bool *val);
+int vgic_v4_request_vpe_irq(struct kvm_vcpu *vcpu, int irq);
 
 #endif
arch/arm64/mm/fault.c +4 -0
index 74f76514a48d..3eb2825d08cf 100644
@@ -30,6 +30,7 @@
 #include <asm/bug.h>
 #include <asm/cmpxchg.h>
 #include <asm/cpufeature.h>
+#include <asm/efi.h>
 #include <asm/exception.h>
 #include <asm/daifflags.h>
 #include <asm/debug-monitors.h>
@@ -397,6 +398,9 @@ static void __do_kernel_fault(unsigned long addr, unsigned long esr,
 		msg = "paging request";
 	}
 
+	if (efi_runtime_fixup_exception(regs, msg))
+		return;
+
 	die_kernel_fault(msg, addr, esr, regs);
 }
 
arch/riscv/kernel/head.S +1 -1
index b865046e4dbb..4bf6c449d78b 100644
@@ -326,7 +326,7 @@ clear_bss_done:
 	call soc_early_init
 	tail start_kernel
 
-#if CONFIG_RISCV_BOOT_SPINWAIT
+#ifdef CONFIG_RISCV_BOOT_SPINWAIT
 .Lsecondary_start:
 	/* Set trap vector to spin forever to help debug */
 	la a3, .Lsecondary_park
arch/riscv/kernel/probes/simulate-insn.c +2 -2
index d73e96f6ed7c..a20568bd1f1a 100644
@@ -71,11 +71,11 @@ bool __kprobes simulate_jalr(u32 opcode, unsigned long addr, struct pt_regs *reg
 	u32 rd_index = (opcode >> 7) & 0x1f;
 	u32 rs1_index = (opcode >> 15) & 0x1f;
 
-	ret = rv_insn_reg_set_val(regs, rd_index, addr + 4);
+	ret = rv_insn_reg_get_val(regs, rs1_index, &base_addr);
 	if (!ret)
 		return ret;
 
-	ret = rv_insn_reg_get_val(regs, rs1_index, &base_addr);
+	ret = rv_insn_reg_set_val(regs, rd_index, addr + 4);
 	if (!ret)
 		return ret;
 
arch/riscv/kernel/smpboot.c +2 -1
index 3373df413c88..ddb2afba6d25 100644
@@ -39,7 +39,6 @@ static DECLARE_COMPLETION(cpu_running);
 
 void __init smp_prepare_boot_cpu(void)
 {
-	init_cpu_topology();
 }
 
 void __init smp_prepare_cpus(unsigned int max_cpus)
@@ -48,6 +47,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
 	int ret;
 	unsigned int curr_cpuid;
 
+	init_cpu_topology();
+
 	curr_cpuid = smp_processor_id();
 	store_cpu_topology(curr_cpuid);
 	numa_store_cpu_info(curr_cpuid);
arch/s390/include/asm/debug.h +3 -3
index 77f24262c25c..ac665b9670c5 100644
@@ -4,8 +4,8 @@
  *
  *    Copyright IBM Corp. 1999, 2020
  */
-#ifndef DEBUG_H
-#define DEBUG_H
+#ifndef _ASM_S390_DEBUG_H
+#define _ASM_S390_DEBUG_H
 
 #include <linux/string.h>
 #include <linux/spinlock.h>
@@ -487,4 +487,4 @@ void debug_register_static(debug_info_t *id, int pages_per_area, int nr_areas);
 
 #endif /* MODULE */
 
-#endif /* DEBUG_H */
+#endif /* _ASM_S390_DEBUG_H */
arch/s390/kernel/vmlinux.lds.S +2 -0
index 5ea3830af0cc..f81d96710595 100644
@@ -79,6 +79,7 @@ SECTIONS
 		_end_amode31_refs = .;
 	}
 
+	. = ALIGN(PAGE_SIZE);
 	_edata = .;		/* End of data section */
 
 	/* will be freed after init */
@@ -193,6 +194,7 @@ SECTIONS
 
 	BSS_SECTION(PAGE_SIZE, 4 * PAGE_SIZE, PAGE_SIZE)
 
+	. = ALIGN(PAGE_SIZE);
 	_end = . ;
 
 	/*
arch/s390/kvm/interrupt.c +8 -4
index ab569faf0df2..6d74acea5e85 100644
@@ -83,8 +83,9 @@ static int sca_inject_ext_call(struct kvm_vcpu *vcpu, int src_id)
 		struct esca_block *sca = vcpu->kvm->arch.sca;
 		union esca_sigp_ctrl *sigp_ctrl =
 			&(sca->cpu[vcpu->vcpu_id].sigp_ctrl);
-		union esca_sigp_ctrl new_val = {0}, old_val = *sigp_ctrl;
+		union esca_sigp_ctrl new_val = {0}, old_val;
 
+		old_val = READ_ONCE(*sigp_ctrl);
 		new_val.scn = src_id;
 		new_val.c = 1;
 		old_val.c = 0;
@@ -95,8 +96,9 @@ static int sca_inject_ext_call(struct kvm_vcpu *vcpu, int src_id)
 		struct bsca_block *sca = vcpu->kvm->arch.sca;
 		union bsca_sigp_ctrl *sigp_ctrl =
 			&(sca->cpu[vcpu->vcpu_id].sigp_ctrl);
-		union bsca_sigp_ctrl new_val = {0}, old_val = *sigp_ctrl;
+		union bsca_sigp_ctrl new_val = {0}, old_val;
 
+		old_val = READ_ONCE(*sigp_ctrl);
 		new_val.scn = src_id;
 		new_val.c = 1;
 		old_val.c = 0;
@@ -126,16 +128,18 @@ static void sca_clear_ext_call(struct kvm_vcpu *vcpu)
 		struct esca_block *sca = vcpu->kvm->arch.sca;
 		union esca_sigp_ctrl *sigp_ctrl =
 			&(sca->cpu[vcpu->vcpu_id].sigp_ctrl);
-		union esca_sigp_ctrl old = *sigp_ctrl;
+		union esca_sigp_ctrl old;
 
+		old = READ_ONCE(*sigp_ctrl);
 		expect = old.value;
 		rc = cmpxchg(&sigp_ctrl->value, old.value, 0);
 	} else {
 		struct bsca_block *sca = vcpu->kvm->arch.sca;
 		union bsca_sigp_ctrl *sigp_ctrl =
 			&(sca->cpu[vcpu->vcpu_id].sigp_ctrl);
-		union bsca_sigp_ctrl old = *sigp_ctrl;
+		union bsca_sigp_ctrl old;
 
+		old = READ_ONCE(*sigp_ctrl);
 		expect = old.value;
 		rc = cmpxchg(&sigp_ctrl->value, old.value, 0);
 	}
arch/x86/boot/compressed/ident_map_64.c +6 -0
index d4a314cc50d6..321a5011042d 100644
@@ -180,6 +180,12 @@ void initialize_identity_maps(void *rmode)
 
 	/* Load the new page-table. */
 	write_cr3(top_level_pgt);
+
+	/*
+	 * Now that the required page table mappings are established and a
+	 * GHCB can be used, check for SNP guest/HV feature compatibility.
+	 */
+	snp_check_features();
 }
 
 static pte_t *split_large_pmd(struct x86_mapping_info *info,
arch/x86/boot/compressed/misc.h +2 -0
index 62208ec04ca4..20118fb7c53b 100644
@@ -126,6 +126,7 @@ static inline void console_init(void)
 
 #ifdef CONFIG_AMD_MEM_ENCRYPT
 void sev_enable(struct boot_params *bp);
+void snp_check_features(void);
 void sev_es_shutdown_ghcb(void);
 extern bool sev_es_check_ghcb_fault(unsigned long address);
 void snp_set_page_private(unsigned long paddr);
@@ -143,6 +144,7 @@ static inline void sev_enable(struct boot_params *bp)
 	if (bp)
 		bp->cc_blob_address = 0;
 }
+static inline void snp_check_features(void) { }
 static inline void sev_es_shutdown_ghcb(void) { }
 static inline bool sev_es_check_ghcb_fault(unsigned long address)
 {
arch/x86/boot/compressed/sev.c +70 -0

82 lines not on this page · raw message

arch/x86/events/amd/core.c +1 -1
index d6f3703e4119..4386b10682ce 100644
@@ -1387,7 +1387,7 @@ static int __init amd_core_pmu_init(void)
 		 * numbered counter following it.
 		 */
 		for (i = 0; i < x86_pmu.num_counters - 1; i += 2)
-			even_ctr_mask |= 1 << i;
+			even_ctr_mask |= BIT_ULL(i);
 
 		pair_constraint = (struct event_constraint)
 				    __EVENT_CONSTRAINT(0, even_ctr_mask, 0,
arch/x86/events/intel/cstate.c +12 -9
index a2834bc93149..3019fb1926e3 100644
@@ -41,6 +41,7 @@
  *	MSR_CORE_C1_RES: CORE C1 Residency Counter
  *			 perf code: 0x00
  *			 Available model: SLM,AMT,GLM,CNL,ICX,TNT,ADL,RPL
+ *					  MTL
  *			 Scope: Core (each processor core has a MSR)
  *	MSR_CORE_C3_RESIDENCY: CORE C3 Residency Counter
  *			       perf code: 0x01
@@ -51,50 +52,50 @@
  *			       perf code: 0x02
  *			       Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW,
  *						SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX,
- *						TGL,TNT,RKL,ADL,RPL,SPR
+ *						TGL,TNT,RKL,ADL,RPL,SPR,MTL
  *			       Scope: Core
  *	MSR_CORE_C7_RESIDENCY: CORE C7 Residency Counter
  *			       perf code: 0x03
  *			       Available model: SNB,IVB,HSW,BDW,SKL,CNL,KBL,CML,
- *						ICL,TGL,RKL,ADL,RPL
+ *						ICL,TGL,RKL,ADL,RPL,MTL
  *			       Scope: Core
  *	MSR_PKG_C2_RESIDENCY:  Package C2 Residency Counter.
  *			       perf code: 0x00
  *			       Available model: SNB,IVB,HSW,BDW,SKL,KNL,GLM,CNL,
  *						KBL,CML,ICL,ICX,TGL,TNT,RKL,ADL,
- *						RPL,SPR
+ *						RPL,SPR,MTL
  *			       Scope: Package (physical package)
  *	MSR_PKG_C3_RESIDENCY:  Package C3 Residency Counter.
  *			       perf code: 0x01
  *			       Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,KNL,
  *						GLM,CNL,KBL,CML,ICL,TGL,TNT,RKL,
- *						ADL,RPL
+ *						ADL,RPL,MTL
  *			       Scope: Package (physical package)
  *	MSR_PKG_C6_RESIDENCY:  Package C6 Residency Counter.
  *			       perf code: 0x02
  *			       Available model: SLM,AMT,NHM,WSM,SNB,IVB,HSW,BDW,
  *						SKL,KNL,GLM,CNL,KBL,CML,ICL,ICX,
- *						TGL,TNT,RKL,ADL,RPL,SPR
+ *						TGL,TNT,RKL,ADL,RPL,SPR,MTL
  *			       Scope: Package (physical package)
  *	MSR_PKG_C7_RESIDENCY:  Package C7 Residency Counter.
  *			       perf code: 0x03
  *			       Available model: NHM,WSM,SNB,IVB,HSW,BDW,SKL,CNL,
- *						KBL,CML,ICL,TGL,RKL,ADL,RPL
+ *						KBL,CML,ICL,TGL,RKL,ADL,RPL,MTL
  *			       Scope: Package (physical package)
  *	MSR_PKG_C8_RESIDENCY:  Package C8 Residency Counter.
  *			       perf code: 0x04
  *			       Available model: HSW ULT,KBL,CNL,CML,ICL,TGL,RKL,
- *						ADL,RPL
+ *						ADL,RPL,MTL
  *			       Scope: Package (physical package)
  *	MSR_PKG_C9_RESIDENCY:  Package C9 Residency Counter.
  *			       perf code: 0x05
  *			       Available model: HSW ULT,KBL,CNL,CML,ICL,TGL,RKL,
- *						ADL,RPL
+ *						ADL,RPL,MTL
  *			       Scope: Package (physical package)
  *	MSR_PKG_C10_RESIDENCY: Package C10 Residency Counter.
  *			       perf code: 0x06
  *			       Available model: HSW ULT,KBL,GLM,CNL,CML,ICL,TGL,
- *						TNT,RKL,ADL,RPL
+ *						TNT,RKL,ADL,RPL,MTL
  *			       Scope: Package (physical package)
  *
  */
@@ -686,6 +687,8 @@ static const struct x86_cpu_id intel_cstates_match[] __initconst = {
 	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE,		&adl_cstates),
 	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_P,	&adl_cstates),
 	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_S,	&adl_cstates),
+	X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE,		&adl_cstates),
+	X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE_L,	&adl_cstates),
 	{ },
 };
 MODULE_DEVICE_TABLE(x86cpu, intel_cstates_match);
arch/x86/events/intel/uncore.c +1 -0
index 6f1ccc57a692..459b1aafd4d4 100644
@@ -1833,6 +1833,7 @@ static const struct x86_cpu_id intel_uncore_match[] __initconst = {
 	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_P,	&adl_uncore_init),
 	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_S,	&adl_uncore_init),
 	X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X,	&spr_uncore_init),
+	X86_MATCH_INTEL_FAM6_MODEL(EMERALDRAPIDS_X,	&spr_uncore_init),
 	X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_D,	&snr_uncore_init),
 	{},
 };
arch/x86/events/msr.c +3 -0
index ecced3a52668..c65d8906cbcf 100644
@@ -69,6 +69,7 @@ static bool test_intel(int idx, void *data)
 	case INTEL_FAM6_BROADWELL_G:
 	case INTEL_FAM6_BROADWELL_X:
 	case INTEL_FAM6_SAPPHIRERAPIDS_X:
+	case INTEL_FAM6_EMERALDRAPIDS_X:
 
 	case INTEL_FAM6_ATOM_SILVERMONT:
 	case INTEL_FAM6_ATOM_SILVERMONT_D:
@@ -107,6 +108,8 @@ static bool test_intel(int idx, void *data)
 	case INTEL_FAM6_RAPTORLAKE:
 	case INTEL_FAM6_RAPTORLAKE_P:
 	case INTEL_FAM6_RAPTORLAKE_S:
+	case INTEL_FAM6_METEORLAKE:
+	case INTEL_FAM6_METEORLAKE_L:
 		if (idx == PERF_MSR_SMI || idx == PERF_MSR_PPERF)
 			return true;
 		break;
arch/x86/include/asm/acpi.h +8 -0
index 65064d9f7fa6..8eb74cf386db 100644
@@ -14,6 +14,7 @@
 #include <asm/mmu.h>
 #include <asm/mpspec.h>
 #include <asm/x86_init.h>
+#include <asm/cpufeature.h>
 
 #ifdef CONFIG_ACPI_APEI
 # include <asm/pgtable_types.h>
@@ -63,6 +64,13 @@ extern int (*acpi_suspend_lowlevel)(void);
 /* Physical address to resume after wakeup */
 unsigned long acpi_get_wakeup_address(void);
 
+static inline bool acpi_skip_set_wakeup_address(void)
+{
+	return cpu_feature_enabled(X86_FEATURE_XENPV);
+}
+
+#define acpi_skip_set_wakeup_address acpi_skip_set_wakeup_address
+
 /*
  * Check if the CPU can handle C2 and deeper
  */
arch/x86/include/asm/msr-index.h +20 -0
index 4a2af82553e4..91447f018f6e 100644
@@ -571,6 +571,26 @@
 #define MSR_AMD64_SEV_ES_ENABLED	BIT_ULL(MSR_AMD64_SEV_ES_ENABLED_BIT)
 #define MSR_AMD64_SEV_SNP_ENABLED	BIT_ULL(MSR_AMD64_SEV_SNP_ENABLED_BIT)
 
+/* SNP feature bits enabled by the hypervisor */
+#define MSR_AMD64_SNP_VTOM			BIT_ULL(3)
+#define MSR_AMD64_SNP_REFLECT_VC		BIT_ULL(4)
+#define MSR_AMD64_SNP_RESTRICTED_INJ		BIT_ULL(5)
+#define MSR_AMD64_SNP_ALT_INJ			BIT_ULL(6)
+#define MSR_AMD64_SNP_DEBUG_SWAP		BIT_ULL(7)
+#define MSR_AMD64_SNP_PREVENT_HOST_IBS		BIT_ULL(8)
+#define MSR_AMD64_SNP_BTB_ISOLATION		BIT_ULL(9)
+#define MSR_AMD64_SNP_VMPL_SSS			BIT_ULL(10)
+#define MSR_AMD64_SNP_SECURE_TSC		BIT_ULL(11)
+#define MSR_AMD64_SNP_VMGEXIT_PARAM		BIT_ULL(12)
+#define MSR_AMD64_SNP_IBS_VIRT			BIT_ULL(14)
+#define MSR_AMD64_SNP_VMSA_REG_PROTECTION	BIT_ULL(16)
+#define MSR_AMD64_SNP_SMT_PROTECTION		BIT_ULL(17)
+
+/* SNP feature bits reserved for future use. */
+#define MSR_AMD64_SNP_RESERVED_BIT13		BIT_ULL(13)
+#define MSR_AMD64_SNP_RESERVED_BIT15		BIT_ULL(15)
+#define MSR_AMD64_SNP_RESERVED_MASK		GENMASK_ULL(63, 18)
+
 #define MSR_AMD64_VIRT_SPEC_CTRL	0xc001011f
 
 /* AMD Collaborative Processor Performance Control MSRs */
arch/x86/include/uapi/asm/svm.h +6 -0
index f69c168391aa..80e1df482337 100644
@@ -116,6 +116,12 @@
 #define SVM_VMGEXIT_AP_CREATE			1
 #define SVM_VMGEXIT_AP_DESTROY			2
 #define SVM_VMGEXIT_HV_FEATURES			0x8000fffd
+#define SVM_VMGEXIT_TERM_REQUEST		0x8000fffe
+#define SVM_VMGEXIT_TERM_REASON(reason_set, reason_code)	\
+	/* SW_EXITINFO1[3:0] */					\
+	(((((u64)reason_set) & 0xf)) |				\
+	/* SW_EXITINFO1[11:4] */				\
+	((((u64)reason_code) & 0xff) << 4))
 #define SVM_VMGEXIT_UNSUPPORTED_EVENT		0x8000ffff
 
 /* Exit code reserved for hypervisor/software use */
arch/x86/kernel/i8259.c +1 -0
index 15aefa3f3e18..f91e5e31aa4f 100644
@@ -114,6 +114,7 @@ static void make_8259A_irq(unsigned int irq)
 	disable_irq_nosync(irq);
 	io_apic_irqs &= ~(1<<irq);
 	irq_set_chip_and_handler(irq, &i8259A_chip, handle_level_irq);
+	irq_set_status_flags(irq, IRQ_LEVEL);
 	enable_irq(irq);
 	lapic_assign_legacy_vector(irq, true);
 }
arch/x86/kernel/irqinit.c +3 -1
index beb1bada1b0a..c683666876f1 100644
@@ -65,8 +65,10 @@ void __init init_ISA_irqs(void)
 
 	legacy_pic->init(0);
 
-	for (i = 0; i < nr_legacy_irqs(); i++)
+	for (i = 0; i < nr_legacy_irqs(); i++) {
 		irq_set_chip_and_handler(i, chip, handle_level_irq);
+		irq_set_status_flags(i, IRQ_LEVEL);
+	}
 }
 
 void __init init_IRQ(void)
arch/x86/kvm/vmx/vmx.c +9 -12
index 63247c57c72c..4ae248e87f5e 100644
@@ -3412,18 +3412,15 @@ static u32 vmx_segment_access_rights(struct kvm_segment *var)
 {
 	u32 ar;
 
-	if (var->unusable || !var->present)
-		ar = 1 << 16;
-	else {
-		ar = var->type & 15;
-		ar |= (var->s & 1) << 4;
-		ar |= (var->dpl & 3) << 5;
-		ar |= (var->present & 1) << 7;
-		ar |= (var->avl & 1) << 12;
-		ar |= (var->l & 1) << 13;
-		ar |= (var->db & 1) << 14;
-		ar |= (var->g & 1) << 15;
-	}
+	ar = var->type & 15;
+	ar |= (var->s & 1) << 4;
+	ar |= (var->dpl & 3) << 5;
+	ar |= (var->present & 1) << 7;
+	ar |= (var->avl & 1) << 12;
+	ar |= (var->l & 1) << 13;
+	ar |= (var->db & 1) << 14;
+	ar |= (var->g & 1) << 15;
+	ar |= (var->unusable || !var->present) << 16;
 
 	return ar;
 }
drivers/acpi/resource.c +7 -0
index 16dcd31d124f..192d1784e409 100644
@@ -432,6 +432,13 @@ static const struct dmi_system_id asus_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "S5602ZA"),
 		},
 	},
+	{
+		.ident = "Asus ExpertBook B2402CBA",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_BOARD_NAME, "B2402CBA"),
+		},
+	},
 	{
 		.ident = "Asus ExpertBook B2502",
 		.matches = {
drivers/acpi/sleep.c +5 -1
index 0b557c0d405e..4ca667251272 100644
@@ -60,13 +60,17 @@ static struct notifier_block tts_notifier = {
 	.priority	= 0,
 };
 
+#ifndef acpi_skip_set_wakeup_address
+#define acpi_skip_set_wakeup_address() false
+#endif
+
 static int acpi_sleep_prepare(u32 acpi_state)
 {
 #ifdef CONFIG_ACPI_SLEEP
 	unsigned long acpi_wakeup_address;
 
 	/* do we have a wakeup address for S2 and S3? */
-	if (acpi_state == ACPI_STATE_S3) {
+	if (acpi_state == ACPI_STATE_S3 && !acpi_skip_set_wakeup_address()) {
 		acpi_wakeup_address = acpi_get_wakeup_address();
 		if (!acpi_wakeup_address)
 			return -EFAULT;
drivers/acpi/video_detect.c +28 -21

85 lines not on this page · raw message

drivers/ata/Kconfig +1 -0
index 36833a862998..d9b305a3427f 100644
@@ -650,6 +650,7 @@ config PATA_CS5530
 config PATA_CS5535
 	tristate "CS5535 PATA support (Experimental)"
 	depends on PCI && (X86_32 || (X86_64 && COMPILE_TEST))
+	depends on !UML
 	help
 	  This option enables support for the NatSemi/AMD CS5535
 	  companion chip used with the Geode processor family.
drivers/base/property.c +12 -6
index 2a5a37fcd998..7f338cb4fb7b 100644
@@ -989,26 +989,32 @@ struct fwnode_handle *
 fwnode_graph_get_next_endpoint(const struct fwnode_handle *fwnode,
 			       struct fwnode_handle *prev)
 {
+	struct fwnode_handle *ep, *port_parent = NULL;
 	const struct fwnode_handle *parent;
-	struct fwnode_handle *ep;
 
 	/*
 	 * If this function is in a loop and the previous iteration returned
 	 * an endpoint from fwnode->secondary, then we need to use the secondary
 	 * as parent rather than @fwnode.
 	 */
-	if (prev)
-		parent = fwnode_graph_get_port_parent(prev);
-	else
+	if (prev) {
+		port_parent = fwnode_graph_get_port_parent(prev);
+		parent = port_parent;
+	} else {
 		parent = fwnode;
+	}
 	if (IS_ERR_OR_NULL(parent))
 		return NULL;
 
 	ep = fwnode_call_ptr_op(parent, graph_get_next_endpoint, prev);
 	if (ep)
-		return ep;
+		goto out_put_port_parent;
+
+	ep = fwnode_graph_get_next_endpoint(parent->secondary, NULL);
 
-	return fwnode_graph_get_next_endpoint(parent->secondary, NULL);
+out_put_port_parent:
+	fwnode_handle_put(port_parent);
+	return ep;
 }
 EXPORT_SYMBOL_GPL(fwnode_graph_get_next_endpoint);
 
drivers/base/test/test_async_driver_probe.c +1 -1
index 4d1976ca5072..929410d0dd6f 100644
@@ -145,7 +145,7 @@ static int __init test_async_probe_init(void)
 	calltime = ktime_get();
 	for_each_online_cpu(cpu) {
 		nid = cpu_to_node(cpu);
-		pdev = &sync_dev[sync_id];
+		pdev = &async_dev[async_id];
 
 		*pdev = test_platform_device_register_node("test_async_driver",
 							   async_id,
drivers/block/rnbd/rnbd-clt.c +1 -1
index 78334da74d8b..5eb8c7855970 100644
@@ -1440,7 +1440,7 @@ static struct rnbd_clt_dev *init_dev(struct rnbd_clt_session *sess,
 		goto out_alloc;
 	}
 
-	ret = ida_alloc_max(&index_ida, 1 << (MINORBITS - RNBD_PART_BITS),
+	ret = ida_alloc_max(&index_ida, (1 << (MINORBITS - RNBD_PART_BITS)) - 1,
 			    GFP_KERNEL);
 	if (ret < 0) {
 		pr_err("Failed to initialize device '%s' from session %s, allocating idr failed, err: %d\n",
drivers/block/ublk_drv.c +3 -4
index 17b677b5d3b2..e54693204630 100644
@@ -2092,13 +2092,12 @@ static void __exit ublk_exit(void)
 	struct ublk_device *ub;
 	int id;
 
-	class_destroy(ublk_chr_class);
-
-	misc_deregister(&ublk_misc);
-
 	idr_for_each_entry(&ublk_index_idr, ub, id)
 		ublk_remove(ub);
 
+	class_destroy(ublk_chr_class);
+	misc_deregister(&ublk_misc);
+
 	idr_destroy(&ublk_index_idr);
 	unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS);
 }
drivers/cpufreq/armada-37xx-cpufreq.c +1 -1
index c10fc33b29b1..b74289a95a17 100644
@@ -445,7 +445,7 @@ static int __init armada37xx_cpufreq_driver_init(void)
 		return -ENODEV;
 	}
 
-	clk = clk_get(cpu_dev, 0);
+	clk = clk_get(cpu_dev, NULL);
 	if (IS_ERR(clk)) {
 		dev_err(cpu_dev, "Cannot get clock for CPU0\n");
 		return PTR_ERR(clk);
drivers/cpufreq/cppc_cpufreq.c +6 -5
index 432dfb4e8027..022e3555407c 100644
@@ -487,7 +487,8 @@ static unsigned int get_perf_level_count(struct cpufreq_policy *policy)
 	cpu_data = policy->driver_data;
 	perf_caps = &cpu_data->perf_caps;
 	max_cap = arch_scale_cpu_capacity(cpu);
-	min_cap = div_u64(max_cap * perf_caps->lowest_perf, perf_caps->highest_perf);
+	min_cap = div_u64((u64)max_cap * perf_caps->lowest_perf,
+			  perf_caps->highest_perf);
 	if ((min_cap == 0) || (max_cap < min_cap))
 		return 0;
 	return 1 + max_cap / CPPC_EM_CAP_STEP - min_cap / CPPC_EM_CAP_STEP;
@@ -519,10 +520,10 @@ static int cppc_get_cpu_power(struct device *cpu_dev,
 	cpu_data = policy->driver_data;
 	perf_caps = &cpu_data->perf_caps;
 	max_cap = arch_scale_cpu_capacity(cpu_dev->id);
-	min_cap = div_u64(max_cap * perf_caps->lowest_perf,
-			perf_caps->highest_perf);
-
-	perf_step = CPPC_EM_CAP_STEP * perf_caps->highest_perf / max_cap;
+	min_cap = div_u64((u64)max_cap * perf_caps->lowest_perf,
+			  perf_caps->highest_perf);
+	perf_step = div_u64((u64)CPPC_EM_CAP_STEP * perf_caps->highest_perf,
+			    max_cap);
 	min_step = min_cap / CPPC_EM_CAP_STEP;
 	max_step = max_cap / CPPC_EM_CAP_STEP;
 
drivers/cpufreq/cpufreq-dt-platdev.c +2 -0
index 6ac3800db450..69a8742c0a7a 100644
@@ -135,6 +135,7 @@ static const struct of_device_id blocklist[] __initconst = {
 	{ .compatible = "nvidia,tegra30", },
 	{ .compatible = "nvidia,tegra124", },
 	{ .compatible = "nvidia,tegra210", },
+	{ .compatible = "nvidia,tegra234", },
 
 	{ .compatible = "qcom,apq8096", },
 	{ .compatible = "qcom,msm8996", },
@@ -148,6 +149,7 @@ static const struct of_device_id blocklist[] __initconst = {
 	{ .compatible = "qcom,sdm845", },
 	{ .compatible = "qcom,sm6115", },
 	{ .compatible = "qcom,sm6350", },
+	{ .compatible = "qcom,sm6375", },
 	{ .compatible = "qcom,sm8150", },
 	{ .compatible = "qcom,sm8250", },
 	{ .compatible = "qcom,sm8350", },
drivers/dma/dmaengine.c +4 -3
index c741b6431958..8a6e6b60d66f 100644
@@ -451,7 +451,8 @@ static int dma_chan_get(struct dma_chan *chan)
 	/* The channel is already in use, update client count */
 	if (chan->client_count) {
 		__module_get(owner);
-		goto out;
+		chan->client_count++;
+		return 0;
 	}
 
 	if (!try_module_get(owner))
@@ -470,11 +471,11 @@ static int dma_chan_get(struct dma_chan *chan)
 			goto err_out;
 	}
 
+	chan->client_count++;
+
 	if (!dma_has_cap(DMA_PRIVATE, chan->device->cap_mask))
 		balance_ref_count(chan);
 
-out:
-	chan->client_count++;
 	return 0;
 
 err_out:
drivers/dma/ptdma/ptdma-dev.c +4 -3
index 377da23012ac..a2bf13ff18b6 100644
@@ -71,12 +71,13 @@ static int pt_core_execute_cmd(struct ptdma_desc *desc, struct pt_cmd_queue *cmd
 	bool soc = FIELD_GET(DWORD0_SOC, desc->dw0);
 	u8 *q_desc = (u8 *)&cmd_q->qbase[cmd_q->qidx];
 	u32 tail;
+	unsigned long flags;
 
 	if (soc) {
 		desc->dw0 |= FIELD_PREP(DWORD0_IOC, desc->dw0);
 		desc->dw0 &= ~DWORD0_SOC;
 	}
-	mutex_lock(&cmd_q->q_mutex);
+	spin_lock_irqsave(&cmd_q->q_lock, flags);
 
 	/* Copy 32-byte command descriptor to hw queue. */
 	memcpy(q_desc, desc, 32);
@@ -91,7 +92,7 @@ static int pt_core_execute_cmd(struct ptdma_desc *desc, struct pt_cmd_queue *cmd
 
 	/* Turn the queue back on using our cached control register */
 	pt_start_queue(cmd_q);
-	mutex_unlock(&cmd_q->q_mutex);
+	spin_unlock_irqrestore(&cmd_q->q_lock, flags);
 
 	return 0;
 }
@@ -199,7 +200,7 @@ int pt_core_init(struct pt_device *pt)
 
 	cmd_q->pt = pt;
 	cmd_q->dma_pool = dma_pool;
-	mutex_init(&cmd_q->q_mutex);
+	spin_lock_init(&cmd_q->q_lock);
 
 	/* Page alignment satisfies our needs for N <= 128 */
 	cmd_q->qsize = Q_SIZE(Q_DESC_SIZE);
drivers/dma/ptdma/ptdma.h +1 -1
index d093c43b7d13..21b4bf895200 100644
@@ -196,7 +196,7 @@ struct pt_cmd_queue {
 	struct ptdma_desc *qbase;
 
 	/* Aligned queue start address (per requirement) */
-	struct mutex q_mutex ____cacheline_aligned;
+	spinlock_t q_lock ____cacheline_aligned;
 	unsigned int qidx;
 
 	unsigned int qsize;
drivers/dma/qcom/gpi.c +1 -0
index 3f56514bbef8..98d45ee4b4e3 100644
@@ -1756,6 +1756,7 @@ static int gpi_create_spi_tre(struct gchan *chan, struct gpi_desc *desc,
 		tre->dword[3] = u32_encode_bits(TRE_TYPE_GO, TRE_FLAGS_TYPE);
 		if (spi->cmd == SPI_RX) {
 			tre->dword[3] |= u32_encode_bits(1, TRE_FLAGS_IEOB);
+			tre->dword[3] |= u32_encode_bits(1, TRE_FLAGS_LINK);
 		} else if (spi->cmd == SPI_TX) {
 			tre->dword[3] |= u32_encode_bits(1, TRE_FLAGS_CHAIN);
 		} else { /* SPI_DUPLEX */
drivers/dma/tegra186-gpc-dma.c +1 -0
index fa9bda4a2bc6..75af3488a3ba 100644
@@ -707,6 +707,7 @@ static int tegra_dma_terminate_all(struct dma_chan *dc)
 			return err;
 		}
 
+		vchan_terminate_vdesc(&tdc->dma_desc->vd);
 		tegra_dma_disable(tdc);
 		tdc->dma_desc = NULL;
 	}
drivers/dma/ti/k3-udma.c +3 -2
index 7b5081989b3d..b86b809eb1f7 100644
@@ -761,11 +761,12 @@ static void udma_decrement_byte_counters(struct udma_chan *uc, u32 val)
 	if (uc->desc->dir == DMA_DEV_TO_MEM) {
 		udma_rchanrt_write(uc, UDMA_CHAN_RT_BCNT_REG, val);
 		udma_rchanrt_write(uc, UDMA_CHAN_RT_SBCNT_REG, val);
-		udma_rchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val);
+		if (uc->config.ep_type != PSIL_EP_NATIVE)
+			udma_rchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val);
 	} else {
 		udma_tchanrt_write(uc, UDMA_CHAN_RT_BCNT_REG, val);
 		udma_tchanrt_write(uc, UDMA_CHAN_RT_SBCNT_REG, val);
-		if (!uc->bchan)
+		if (!uc->bchan && uc->config.ep_type != PSIL_EP_NATIVE)
 			udma_tchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val);
 	}
 }
drivers/dma/xilinx/xilinx_dma.c +3 -1
index 8cd4e69dc7b4..766017570488 100644
@@ -3141,8 +3141,10 @@ static int xilinx_dma_probe(struct platform_device *pdev)
 	/* Initialize the channels */
 	for_each_child_of_node(node, child) {
 		err = xilinx_dma_child_probe(xdev, child);
-		if (err < 0)
+		if (err < 0) {
+			of_node_put(child);
 			goto error;
+		}
 	}
 
 	if (xdev->dma_config->dmatype == XDMA_TYPE_VDMA) {
drivers/edac/edac_device.c +7 -8
index 878deb4880cd..0689e1510721 100644
@@ -34,6 +34,9 @@
 static DEFINE_MUTEX(device_ctls_mutex);
 static LIST_HEAD(edac_device_list);
 
+/* Default workqueue processing interval on this instance, in msecs */
+#define DEFAULT_POLL_INTERVAL 1000
+
 #ifdef CONFIG_EDAC_DEBUG
 static void edac_device_dump_device(struct edac_device_ctl_info *edac_dev)
 {
@@ -336,7 +339,7 @@ static void edac_device_workq_function(struct work_struct *work_req)
 	 * whole one second to save timers firing all over the period
 	 * between integral seconds
 	 */
-	if (edac_dev->poll_msec == 1000)
+	if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL)
 		edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
 	else
 		edac_queue_work(&edac_dev->work, edac_dev->delay);
@@ -366,7 +369,7 @@ static void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev,
 	 * timers firing on sub-second basis, while they are happy
 	 * to fire together on the 1 second exactly
 	 */
-	if (edac_dev->poll_msec == 1000)
+	if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL)
 		edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
 	else
 		edac_queue_work(&edac_dev->work, edac_dev->delay);
@@ -400,7 +403,7 @@ void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev,
 	edac_dev->delay	    = msecs_to_jiffies(msec);
 
 	/* See comment in edac_device_workq_setup() above */
-	if (edac_dev->poll_msec == 1000)
+	if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL)
 		edac_mod_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
 	else
 		edac_mod_work(&edac_dev->work, edac_dev->delay);
@@ -442,11 +445,7 @@ int edac_device_add_device(struct edac_device_ctl_info *edac_dev)
 		/* This instance is NOW RUNNING */
 		edac_dev->op_state = OP_RUNNING_POLL;
 
-		/*
-		 * enable workq processing on this instance,
-		 * default = 1000 msec
-		 */
-		edac_device_workq_setup(edac_dev, 1000);
+		edac_device_workq_setup(edac_dev, edac_dev->poll_msec ?: DEFAULT_POLL_INTERVAL);
 	} else {
 		edac_dev->op_state = OP_RUNNING_INTERRUPT;
 	}
drivers/edac/highbank_mc_edac.c +5 -2
index 61b76ec226af..19fba258ae10 100644
@@ -174,8 +174,10 @@ static int highbank_mc_probe(struct platform_device *pdev)
 	drvdata = mci->pvt_info;
 	platform_set_drvdata(pdev, mci);
 
-	if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL))
-		return -ENOMEM;
+	if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) {
+		res = -ENOMEM;
+		goto free;
+	}
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!r) {
@@ -243,6 +245,7 @@ static int highbank_mc_probe(struct platform_device *pdev)
 	edac_mc_del_mc(&pdev->dev);
 err:
 	devres_release_group(&pdev->dev, NULL);
+free:
 	edac_mc_free(mci);
 	return res;
 }
drivers/edac/qcom_edac.c +2 -3
index 97a27e42dd61..c45519f59dc1 100644
@@ -252,7 +252,7 @@ dump_syn_reg_values(struct llcc_drv_data *drv, u32 bank, int err_type)
 static int
 dump_syn_reg(struct edac_device_ctl_info *edev_ctl, int err_type, u32 bank)
 {
-	struct llcc_drv_data *drv = edev_ctl->pvt_info;
+	struct llcc_drv_data *drv = edev_ctl->dev->platform_data;
 	int ret;
 
 	ret = dump_syn_reg_values(drv, bank, err_type);
@@ -289,7 +289,7 @@ static irqreturn_t
 llcc_ecc_irq_handler(int irq, void *edev_ctl)
 {
 	struct edac_device_ctl_info *edac_dev_ctl = edev_ctl;
-	struct llcc_drv_data *drv = edac_dev_ctl->pvt_info;
+	struct llcc_drv_data *drv = edac_dev_ctl->dev->platform_data;
 	irqreturn_t irq_rc = IRQ_NONE;
 	u32 drp_error, trp_error, i;
 	int ret;
@@ -358,7 +358,6 @@ static int qcom_llcc_edac_probe(struct platform_device *pdev)
 	edev_ctl->dev_name = dev_name(dev);
 	edev_ctl->ctl_name = "llcc";
 	edev_ctl->panic_on_ue = LLCC_ERP_PANIC_ON_UE;
-	edev_ctl->pvt_info = llcc_driv_data;
 
 	rc = edac_device_add_device(edev_ctl);
 	if (rc)
drivers/firmware/arm_scmi/shmem.c +6 -3
index 1dfe534b8518..87b4f4d35f06 100644
@@ -81,10 +81,11 @@ u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem)
 void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem,
 			  struct scmi_xfer *xfer)
 {
+	size_t len = ioread32(&shmem->length);
+
 	xfer->hdr.status = ioread32(shmem->msg_payload);
 	/* Skip the length of header and status in shmem area i.e 8 bytes */
-	xfer->rx.len = min_t(size_t, xfer->rx.len,
-			     ioread32(&shmem->length) - 8);
+	xfer->rx.len = min_t(size_t, xfer->rx.len, len > 8 ? len - 8 : 0);
 
 	/* Take a copy to the rx buffer.. */
 	memcpy_fromio(xfer->rx.buf, shmem->msg_payload + 4, xfer->rx.len);
@@ -93,8 +94,10 @@ void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem,
 void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem,
 			      size_t max_len, struct scmi_xfer *xfer)
 {
+	size_t len = ioread32(&shmem->length);
+
 	/* Skip only the length of header in shmem area i.e 4 bytes */
-	xfer->rx.len = min_t(size_t, max_len, ioread32(&shmem->length) - 4);
+	xfer->rx.len = min_t(size_t, max_len, len > 4 ? len - 4 : 0);
 
 	/* Take a copy to the rx buffer.. */
 	memcpy_fromio(xfer->rx.buf, shmem->msg_payload, xfer->rx.len);
drivers/firmware/arm_scmi/virtio.c +6 -1
index 33c9b81a55cd..1db975c08896 100644
@@ -160,7 +160,6 @@ static void scmi_vio_channel_cleanup_sync(struct scmi_vio_channel *vioch)
 	}
 
 	vioch->shutdown_done = &vioch_shutdown_done;
-	virtio_break_device(vioch->vqueue->vdev);
 	if (!vioch->is_rx && vioch->deferred_tx_wq)
 		/* Cannot be kicked anymore after this...*/
 		vioch->deferred_tx_wq = NULL;
@@ -482,6 +481,12 @@ static int virtio_chan_free(int id, void *p, void *data)
 	struct scmi_chan_info *cinfo = p;
 	struct scmi_vio_channel *vioch = cinfo->transport_info;
 
+	/*
+	 * Break device to inhibit further traffic flowing while shutting down
+	 * the channels: doing it later holding vioch->lock creates unsafe
+	 * locking dependency chains as reported by LOCKDEP.
+	 */
+	virtio_break_device(vioch->vqueue->vdev);
 	scmi_vio_channel_cleanup_sync(vioch);
 
 	scmi_free_channel(cinfo, data, id);
drivers/firmware/efi/runtime-wrappers.c +1 -0
index 60075e0e4943..1fba4e09cdcf 100644
@@ -84,6 +84,7 @@ struct efi_runtime_work efi_rts_work;
 	else								\
 		pr_err("Failed to queue work to efi_rts_wq.\n");	\
 									\
+	WARN_ON_ONCE(efi_rts_work.status == EFI_ABORTED);		\
 exit:									\
 	efi_rts_work.efi_rts_id = EFI_NONE;				\
 	efi_rts_work.status;						\
drivers/firmware/google/coreboot_table.c +7 -2
index 9ca21feb9d45..f3694d347801 100644
@@ -93,7 +93,12 @@ static int coreboot_table_populate(struct device *dev, void *ptr)
 	for (i = 0; i < header->table_entries; i++) {
 		entry = ptr_entry;
 
-		device = kzalloc(sizeof(struct device) + entry->size, GFP_KERNEL);
+		if (entry->size < sizeof(*entry)) {
+			dev_warn(dev, "coreboot table entry too small!\n");
+			return -EINVAL;
+		}
+
+		device = kzalloc(sizeof(device->dev) + entry->size, GFP_KERNEL);
 		if (!device)
 			return -ENOMEM;
 
@@ -101,7 +106,7 @@ static int coreboot_table_populate(struct device *dev, void *ptr)
 		device->dev.parent = dev;
 		device->dev.bus = &coreboot_bus_type;
 		device->dev.release = coreboot_device_release;
-		memcpy(&device->entry, ptr_entry, entry->size);
+		memcpy(device->raw, ptr_entry, entry->size);
 
 		ret = device_register(&device->dev);
 		if (ret) {
drivers/firmware/google/coreboot_table.h +1 -0
index beb778674acd..4a89277b99a3 100644
@@ -66,6 +66,7 @@ struct coreboot_device {
 		struct coreboot_table_entry entry;
 		struct lb_cbmem_ref cbmem_ref;
 		struct lb_framebuffer framebuffer;
+		DECLARE_FLEX_ARRAY(u8, raw);
 	};
 };
 
drivers/gpio/gpio-ep93xx.c +1 -1
index 2e1779709113..7edcdc575080 100644
@@ -148,7 +148,7 @@ static void ep93xx_gpio_f_irq_handler(struct irq_desc *desc)
 	 */
 	struct irq_chip *irqchip = irq_desc_get_chip(desc);
 	unsigned int irq = irq_desc_get_irq(desc);
-	int port_f_idx = ((irq + 1) & 7) ^ 4; /* {19..22,47..50} -> {0..7} */
+	int port_f_idx = (irq & 7) ^ 4; /* {20..23,48..51} -> {0..7} */
 	int gpio_irq = EP93XX_GPIO_F_IRQ_BASE + port_f_idx;
 
 	chained_irq_enter(irqchip, desc);
drivers/gpio/gpio-mxc.c +14 -2
index c871602fc5ba..853d9aa6b3b1 100644
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
+#include <linux/spinlock.h>
 #include <linux/syscore_ops.h>
 #include <linux/gpio/driver.h>
 #include <linux/of.h>
@@ -147,6 +148,7 @@ static int gpio_set_irq_type(struct irq_data *d, u32 type)
 {
 	struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d);
 	struct mxc_gpio_port *port = gc->private;
+	unsigned long flags;
 	u32 bit, val;
 	u32 gpio_idx = d->hwirq;
 	int edge;
@@ -185,6 +187,8 @@ static int gpio_set_irq_type(struct irq_data *d, u32 type)
 		return -EINVAL;
 	}
 
+	raw_spin_lock_irqsave(&port->gc.bgpio_lock, flags);
+
 	if (GPIO_EDGE_SEL >= 0) {
 		val = readl(port->base + GPIO_EDGE_SEL);
 		if (edge == GPIO_INT_BOTH_EDGES)
@@ -204,15 +208,20 @@ static int gpio_set_irq_type(struct irq_data *d, u32 type)
 
 	writel(1 << gpio_idx, port->base + GPIO_ISR);
 
-	return 0;
+	raw_spin_unlock_irqrestore(&port->gc.bgpio_lock, flags);
+
+	return port->gc.direction_input(&port->gc, gpio_idx);
 }
 
 static void mxc_flip_edge(struct mxc_gpio_port *port, u32 gpio)
 {
 	void __iomem *reg = port->base;
+	unsigned long flags;
 	u32 bit, val;
 	int edge;
 
+	raw_spin_lock_irqsave(&port->gc.bgpio_lock, flags);
+
 	reg += GPIO_ICR1 + ((gpio & 0x10) >> 2); /* lower or upper register */
 	bit = gpio & 0xf;
 	val = readl(reg);
@@ -227,9 +236,12 @@ static void mxc_flip_edge(struct mxc_gpio_port *port, u32 gpio)
 	} else {
 		pr_err("mxc: invalid configuration for GPIO %d: %x\n",
 		       gpio, edge);
-		return;
+		goto unlock;
 	}
 	writel(val | (edge << (bit << 1)), reg);
+
+unlock:
+	raw_spin_unlock_irqrestore(&port->gc.bgpio_lock, flags);
 }
 
 /* handle 32 interrupts in one status register */
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +1 -1
index 29f045079a3e..404c839683b1 100644
@@ -2130,7 +2130,7 @@ int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_device *adev, struct amdgpu_b
 	}
 
 	amdgpu_amdkfd_remove_eviction_fence(
-		bo, bo->kfd_bo->process_info->eviction_fence);
+		bo, bo->vm_bo->vm->process_info->eviction_fence);
 
 	amdgpu_bo_unreserve(bo);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +7 -3
index 99f5e38c4835..3380daf42da8 100644
@@ -586,10 +586,14 @@ void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable)
 		if (adev->gfx.gfx_off_req_count == 0 &&
 		    !adev->gfx.gfx_off_state) {
 			/* If going to s2idle, no need to wait */
-			if (adev->in_s0ix)
-				delay = GFX_OFF_NO_DELAY;
-			schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
+			if (adev->in_s0ix) {
+				if (!amdgpu_dpm_set_powergating_by_smu(adev,
+						AMD_IP_BLOCK_TYPE_GFX, true))
+					adev->gfx.gfx_off_state = true;
+			} else {
+				schedule_delayed_work(&adev->gfx.gfx_off_delay_work,
 					      delay);
+			}
 		}
 	} else {
 		if (adev->gfx.gfx_off_req_count == 0) {
drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +0 -1
index 725876b4f02e..32b0ea8757fa 100644
@@ -192,7 +192,6 @@ static int mes_v11_0_add_hw_queue(struct amdgpu_mes *mes,
 	mes_add_queue_pkt.trap_handler_addr = input->tba_addr;
 	mes_add_queue_pkt.tma_addr = input->tma_addr;
 	mes_add_queue_pkt.is_kfd_process = input->is_kfd_process;
-	mes_add_queue_pkt.trap_en = 1;
 
 	/* For KFD, gds_size is re-used for queue size (needed in MES for AQL queues) */
 	mes_add_queue_pkt.is_aql_queue = input->is_aql_queue;
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +1 -1
index ecb4c3abc629..c06ada0844ba 100644
@@ -200,7 +200,7 @@ static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
 	queue_input.wptr_addr = (uint64_t)q->properties.write_ptr;
 
 	if (q->wptr_bo) {
-		wptr_addr_off = (uint64_t)q->properties.write_ptr - (uint64_t)q->wptr_bo->kfd_bo->va;
+		wptr_addr_off = (uint64_t)q->properties.write_ptr & (PAGE_SIZE - 1);
 		queue_input.wptr_mc_addr = ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) + wptr_addr_off;
 	}
 
drivers/gpu/drm/amd/amdkfd/kfd_svm.c +9 -0
index 64fdf63093a0..63feea08904c 100644
@@ -570,6 +570,15 @@ svm_range_vram_node_new(struct amdgpu_device *adev, struct svm_range *prange,
 		goto reserve_bo_failed;
 	}
 
+	if (clear) {
+		r = amdgpu_bo_sync_wait(bo, AMDGPU_FENCE_OWNER_KFD, false);
+		if (r) {
+			pr_debug("failed %d to sync bo\n", r);
+			amdgpu_bo_unreserve(bo);
+			goto reserve_bo_failed;
+		}
+	}
+
 	r = dma_resv_reserve_fences(bo->tbo.base.resv, 1);
 	if (r) {
 		pr_debug("failed %d to reserve bo\n", r);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +24 -4
index e10f1f15c9c4..85bd1f18259c 100644
@@ -1737,10 +1737,6 @@ static void amdgpu_dm_fini(struct amdgpu_device *adev)
 		adev->dm.vblank_control_workqueue = NULL;
 	}
 
-	for (i = 0; i < adev->dm.display_indexes_num; i++) {
-		drm_encoder_cleanup(&adev->dm.mst_encoders[i].base);
-	}
-
 	amdgpu_dm_destroy_drm_device(&adev->dm);
 
 #if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
@@ -9404,6 +9400,8 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
 	bool lock_and_validation_needed = false;
 	struct dm_crtc_state *dm_old_crtc_state, *dm_new_crtc_state;
 #if defined(CONFIG_DRM_AMD_DC_DCN)
+	struct drm_dp_mst_topology_mgr *mgr;
+	struct drm_dp_mst_topology_state *mst_state;
 	struct dsc_mst_fairness_vars vars[MAX_PIPES];
 #endif
 
@@ -9652,6 +9650,28 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
 		lock_and_validation_needed = true;
 	}
 
+#if defined(CONFIG_DRM_AMD_DC_DCN)
+	/* set the slot info for each mst_state based on the link encoding format */
+	for_each_new_mst_mgr_in_state(state, mgr, mst_state, i) {
+		struct amdgpu_dm_connector *aconnector;
+		struct drm_connector *connector;
+		struct drm_connector_list_iter iter;
+		u8 link_coding_cap;
+
+		drm_connector_list_iter_begin(dev, &iter);
+		drm_for_each_connector_iter(connector, &iter) {
+			if (connector->index == mst_state->mgr->conn_base_id) {
+				aconnector = to_amdgpu_dm_connector(connector);
+				link_coding_cap = dc_link_dp_mst_decide_link_encoding_format(aconnector->dc_link);
+				drm_dp_mst_update_slots(mst_state, link_coding_cap);
+
+				break;
+			}
+		}
+		drm_connector_list_iter_end(&iter);
+	}
+#endif
+
 	/**
 	 * Streams and planes are reset when there are changes that affect
 	 * bandwidth. Anything that affects bandwidth needs to go through
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +39 -12

69 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +0 -6
index 6483ba266893..8561e9b017a2 100644
@@ -468,7 +468,6 @@ static const struct drm_connector_helper_funcs dm_dp_mst_connector_helper_funcs
 static void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder)
 {
 	drm_encoder_cleanup(encoder);
-	kfree(encoder);
 }
 
 static const struct drm_encoder_funcs amdgpu_dm_encoder_funcs = {
@@ -897,11 +896,6 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state,
 	if (IS_ERR(mst_state))
 		return PTR_ERR(mst_state);
 
-	mst_state->pbn_div = dm_mst_get_pbn_divider(dc_link);
-#if defined(CONFIG_DRM_AMD_DC_DCN)
-	drm_dp_mst_update_slots(mst_state, dc_link_dp_mst_decide_link_encoding_format(dc_link));
-#endif
-
 	/* Set up params */
 	for (i = 0; i < dc_state->stream_count; i++) {
 		struct dc_dsc_policy dsc_policy = {0};
drivers/gpu/drm/amd/display/dc/core/dc_link.c +12 -2
index d7b1ace6328a..40b9d2ce08e6 100644
@@ -3995,10 +3995,13 @@ static enum dc_status deallocate_mst_payload(struct pipe_ctx *pipe_ctx)
 	struct fixed31_32 avg_time_slots_per_mtp = dc_fixpt_from_int(0);
 	int i;
 	bool mst_mode = (link->type == dc_connection_mst_branch);
+	/* adjust for drm changes*/
+	bool update_drm_mst_state = true;
 	const struct link_hwss *link_hwss = get_link_hwss(link, &pipe_ctx->link_res);
 	const struct dc_link_settings empty_link_settings = {0};
 	DC_LOGGER_INIT(link->ctx->logger);
 
+
 	/* deallocate_mst_payload is called before disable link. When mode or
 	 * disable/enable monitor, new stream is created which is not in link
 	 * stream[] yet. For this, payload is not allocated yet, so de-alloc
@@ -4014,7 +4017,7 @@ static enum dc_status deallocate_mst_payload(struct pipe_ctx *pipe_ctx)
 				&empty_link_settings,
 				avg_time_slots_per_mtp);
 
-	if (mst_mode) {
+	if (mst_mode || update_drm_mst_state) {
 		/* when link is in mst mode, reply on mst manager to remove
 		 * payload
 		 */
@@ -4077,11 +4080,18 @@ static enum dc_status deallocate_mst_payload(struct pipe_ctx *pipe_ctx)
 			stream->ctx,
 			stream);
 
+		if (!update_drm_mst_state)
+			dm_helpers_dp_mst_send_payload_allocation(
+				stream->ctx,
+				stream,
+				false);
+	}
+
+	if (update_drm_mst_state)
 		dm_helpers_dp_mst_send_payload_allocation(
 			stream->ctx,
 			stream,
 			false);
-	}
 
 	return DC_OK;
 }
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +1 -0
index 4c20d17e7416..cf96c3f2affe 100644
@@ -145,6 +145,7 @@ static struct cmn2asic_msg_mapping smu_v13_0_0_message_map[SMU_MSG_MAX_COUNT] =
 	MSG_MAP(SetBadMemoryPagesRetiredFlagsPerChannel,
 			    PPSMC_MSG_SetBadMemoryPagesRetiredFlagsPerChannel,   0),
 	MSG_MAP(AllowGpo,			PPSMC_MSG_SetGpoAllow,           0),
+	MSG_MAP(AllowIHHostInterrupt,		PPSMC_MSG_AllowIHHostInterrupt,       0),
 };
 
 static struct cmn2asic_mapping smu_v13_0_0_clk_map[SMU_CLK_COUNT] = {
drivers/gpu/drm/display/drm_dp_mst_topology.c +3 -1
index 51a46689cda7..4ca37261584a 100644
@@ -3372,6 +3372,9 @@ void drm_dp_remove_payload(struct drm_dp_mst_topology_mgr *mgr,
 
 	mgr->payload_count--;
 	mgr->next_start_slot -= payload->time_slots;
+
+	if (payload->delete)
+		drm_dp_mst_put_port_malloc(payload->port);
 }
 EXPORT_SYMBOL(drm_dp_remove_payload);
 
@@ -4327,7 +4330,6 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_state *state,
 
 	drm_dbg_atomic(mgr->dev, "[MST PORT:%p] TU %d -> 0\n", port, payload->time_slots);
 	if (!payload->delete) {
-		drm_dp_mst_put_port_malloc(port);
 		payload->pbn = 0;
 		payload->delete = true;
 		topology_state->payload_mask &= ~BIT(payload->vcpi - 1);
drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
index 52d8800a8ab8..3659f0465a72 100644
@@ -304,6 +304,12 @@ static const struct dmi_system_id orientation_data[] = {
 		  DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"),
 		},
 		.driver_data = (void *)&lcd1200x1920_rightside_up,
+	}, {	/* Lenovo Ideapad D330-10IGL (HD) */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		  DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGL"),
+		},
+		.driver_data = (void *)&lcd800x1280_rightside_up,
 	}, {	/* Lenovo Yoga Book X90F / X91F / X91L */
 		.matches = {
 		  /* Non exact match to match all versions */
drivers/gpu/drm/drm_vma_manager.c +54 -22

96 lines not on this page · raw message

drivers/gpu/drm/i915/display/intel_dp.c +1 -3
index 78b3427471bd..b94bcceeff70 100644
@@ -5216,9 +5216,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 	intel_bios_init_panel(dev_priv, &intel_connector->panel,
 			      encoder->devdata, IS_ERR(edid) ? NULL : edid);
 
-	intel_panel_add_edid_fixed_modes(intel_connector,
-					 intel_connector->panel.vbt.drrs_type != DRRS_TYPE_NONE ||
-					 intel_vrr_is_capable(intel_connector));
+	intel_panel_add_edid_fixed_modes(intel_connector, true);
 
 	/* MSO requires information from the EDID */
 	intel_edp_mso_init(intel_dp);
drivers/gpu/drm/i915/display/intel_panel.c +4 -3
index 41cec9dc4223..f72f4646c0d7 100644
@@ -85,9 +85,10 @@ static bool is_alt_drrs_mode(const struct drm_display_mode *mode,
 static bool is_alt_fixed_mode(const struct drm_display_mode *mode,
 			      const struct drm_display_mode *preferred_mode)
 {
-	return drm_mode_match(mode, preferred_mode,
-			      DRM_MODE_MATCH_FLAGS |
-			      DRM_MODE_MATCH_3D_FLAGS) &&
+	u32 sync_flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NHSYNC |
+		DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC;
+
+	return (mode->flags & ~sync_flags) == (preferred_mode->flags & ~sync_flags) &&
 		mode->hdisplay == preferred_mode->hdisplay &&
 		mode->vdisplay == preferred_mode->vdisplay;
 }
drivers/gpu/drm/i915/gem/i915_gem_mman.c +1 -1
index 354c1d6dab84..d445e2d63c9c 100644
@@ -697,7 +697,7 @@ mmap_offset_attach(struct drm_i915_gem_object *obj,
 	GEM_BUG_ON(lookup_mmo(obj, mmap_type) != mmo);
 out:
 	if (file)
-		drm_vma_node_allow(&mmo->vma_node, file);
+		drm_vma_node_allow_once(&mmo->vma_node, file);
 	return mmo;
 
 err:
drivers/gpu/drm/i915/gem/selftests/huge_pages.c +4 -4
index c570cf780079..436598f19522 100644
@@ -1697,7 +1697,7 @@ static int igt_shrink_thp(void *arg)
 			I915_SHRINK_ACTIVE);
 	i915_vma_unpin(vma);
 	if (err)
-		goto out_put;
+		goto out_wf;
 
 	/*
 	 * Now that the pages are *unpinned* shrinking should invoke
@@ -1713,19 +1713,19 @@ static int igt_shrink_thp(void *arg)
 		pr_err("unexpected pages mismatch, should_swap=%s\n",
 		       str_yes_no(should_swap));
 		err = -EINVAL;
-		goto out_put;
+		goto out_wf;
 	}
 
 	if (should_swap == (obj->mm.page_sizes.sg || obj->mm.page_sizes.phys)) {
 		pr_err("unexpected residual page-size bits, should_swap=%s\n",
 		       str_yes_no(should_swap));
 		err = -EINVAL;
-		goto out_put;
+		goto out_wf;
 	}
 
 	err = i915_vma_pin(vma, 0, 0, flags);
 	if (err)
-		goto out_put;
+		goto out_wf;
 
 	while (n--) {
 		err = cpu_check(obj, n, 0xdeadbeaf);
drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c +1 -2
index 310fb83c527e..2990dd4d4a0d 100644
@@ -28,8 +28,7 @@ struct intel_engine_cs *intel_selftest_find_any_engine(struct intel_gt *gt)
 
 int intel_selftest_modify_policy(struct intel_engine_cs *engine,
 				 struct intel_selftest_saved_policy *saved,
-				 u32 modify_type)
-
+				 enum selftest_scheduler_modify modify_type)
 {
 	int err;
 
drivers/gpu/drm/msm/adreno/a6xx_gmu.c +9 -6
index e033d6a67a20..870252bef23f 100644
@@ -876,7 +876,8 @@ static void a6xx_gmu_rpmh_off(struct a6xx_gmu *gmu)
 #define GBIF_CLIENT_HALT_MASK             BIT(0)
 #define GBIF_ARB_HALT_MASK                BIT(1)
 
-static void a6xx_bus_clear_pending_transactions(struct adreno_gpu *adreno_gpu)
+static void a6xx_bus_clear_pending_transactions(struct adreno_gpu *adreno_gpu,
+		bool gx_off)
 {
 	struct msm_gpu *gpu = &adreno_gpu->base;
 
@@ -889,9 +890,11 @@ static void a6xx_bus_clear_pending_transactions(struct adreno_gpu *adreno_gpu)
 		return;
 	}
 
-	/* Halt the gx side of GBIF */
-	gpu_write(gpu, REG_A6XX_RBBM_GBIF_HALT, 1);
-	spin_until(gpu_read(gpu, REG_A6XX_RBBM_GBIF_HALT_ACK) & 1);
+	if (gx_off) {
+		/* Halt the gx side of GBIF */
+		gpu_write(gpu, REG_A6XX_RBBM_GBIF_HALT, 1);
+		spin_until(gpu_read(gpu, REG_A6XX_RBBM_GBIF_HALT_ACK) & 1);
+	}
 
 	/* Halt new client requests on GBIF */
 	gpu_write(gpu, REG_A6XX_GBIF_HALT, GBIF_CLIENT_HALT_MASK);
@@ -929,7 +932,7 @@ static void a6xx_gmu_force_off(struct a6xx_gmu *gmu)
 	/* Halt the gmu cm3 core */
 	gmu_write(gmu, REG_A6XX_GMU_CM3_SYSRESET, 1);
 
-	a6xx_bus_clear_pending_transactions(adreno_gpu);
+	a6xx_bus_clear_pending_transactions(adreno_gpu, true);
 
 	/* Reset GPU core blocks */
 	gpu_write(gpu, REG_A6XX_RBBM_SW_RESET_CMD, 1);
@@ -1083,7 +1086,7 @@ static void a6xx_gmu_shutdown(struct a6xx_gmu *gmu)
 			return;
 		}
 
-		a6xx_bus_clear_pending_transactions(adreno_gpu);
+		a6xx_bus_clear_pending_transactions(adreno_gpu, a6xx_gpu->hung);
 
 		/* tell the GMU we want to slumber */
 		ret = a6xx_gmu_notify_slumber(gmu);
drivers/gpu/drm/msm/adreno/a6xx_gpu.c +7 -0
index e846e629c00d..9d7fc44c1e2a 100644
@@ -1277,6 +1277,12 @@ static void a6xx_recover(struct msm_gpu *gpu)
 	if (hang_debug)
 		a6xx_dump(gpu);
 
+	/*
+	 * To handle recovery specific sequences during the rpm suspend we are
+	 * about to trigger
+	 */
+	a6xx_gpu->hung = true;
+
 	/* Halt SQE first */
 	gpu_write(gpu, REG_A6XX_CP_SQE_CNTL, 3);
 
@@ -1319,6 +1325,7 @@ static void a6xx_recover(struct msm_gpu *gpu)
 	mutex_unlock(&gpu->active_lock);
 
 	msm_gpu_hw_init(gpu);
+	a6xx_gpu->hung = false;
 }
 
 static const char *a6xx_uche_fault_block(struct msm_gpu *gpu, u32 mid)
drivers/gpu/drm/msm/adreno/a6xx_gpu.h +1 -0
index ab853f61db63..eea2e60ce3b7 100644
@@ -32,6 +32,7 @@ struct a6xx_gpu {
 	void *llc_slice;
 	void *htw_llc_slice;
 	bool have_mmu500;
+	bool hung;
 };
 
 #define to_a6xx_gpu(x) container_of(x, struct a6xx_gpu, base)
drivers/gpu/drm/msm/adreno/adreno_gpu.c +4 -0
index 5a0e8491cd3a..2e7531d2a5d6 100644
@@ -351,6 +351,8 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
 		/* Ensure string is null terminated: */
 		str[len] = '\0';
 
+		mutex_lock(&gpu->lock);
+
 		if (param == MSM_PARAM_COMM) {
 			paramp = &ctx->comm;
 		} else {
@@ -360,6 +362,8 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_file_private *ctx,
 		kfree(*paramp);
 		*paramp = str;
 
+		mutex_unlock(&gpu->lock);
+
 		return 0;
 	}
 	case MSM_PARAM_SYSPROF:
drivers/gpu/drm/msm/msm_gpu.c +2 -0
index 021f4e29b613..4f495eecc34b 100644
@@ -335,6 +335,8 @@ static void get_comm_cmdline(struct msm_gem_submit *submit, char **comm, char **
 	struct msm_file_private *ctx = submit->queue->ctx;
 	struct task_struct *task;
 
+	WARN_ON(!mutex_is_locked(&submit->gpu->lock));
+
 	/* Note that kstrdup will return NULL if argument is NULL: */
 	*comm = kstrdup(ctx->comm, GFP_KERNEL);
 	*cmd  = kstrdup(ctx->cmdline, GFP_KERNEL);
drivers/gpu/drm/msm/msm_gpu.h +10 -2
index 58a72e6b1400..a89bfdc3d7f9 100644
@@ -366,10 +366,18 @@ struct msm_file_private {
 	 */
 	int sysprof;
 
-	/** comm: Overridden task comm, see MSM_PARAM_COMM */
+	/**
+	 * comm: Overridden task comm, see MSM_PARAM_COMM
+	 *
+	 * Accessed under msm_gpu::lock
+	 */
 	char *comm;
 
-	/** cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE */
+	/**
+	 * cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE
+	 *
+	 * Accessed under msm_gpu::lock
+	 */
 	char *cmdline;
 
 	/**
drivers/gpu/drm/panfrost/Kconfig +2 -1
index 079600328be1..e6403a9d66ad 100644
@@ -3,7 +3,8 @@
 config DRM_PANFROST
 	tristate "Panfrost (DRM support for ARM Mali Midgard/Bifrost GPUs)"
 	depends on DRM
-	depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)
+	depends on ARM || ARM64 || COMPILE_TEST
+	depends on !GENERIC_ATOMIC64    # for IOMMU_IO_PGTABLE_LPAE
 	depends on MMU
 	select DRM_SCHED
 	select IOMMU_SUPPORT
drivers/gpu/drm/vc4/vc4_bo.c +2 -4
index 231add8b8e12..ce0ea446bd70 100644
@@ -179,6 +179,7 @@ static void vc4_bo_destroy(struct vc4_bo *bo)
 		bo->validated_shader = NULL;
 	}
 
+	mutex_destroy(&bo->madv_lock);
 	drm_gem_dma_free(&bo->base);
 }
 
@@ -394,7 +395,6 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
 {
 	struct vc4_dev *vc4 = to_vc4_dev(dev);
 	struct vc4_bo *bo;
-	int ret;
 
 	if (WARN_ON_ONCE(vc4->is_vc5))
 		return ERR_PTR(-ENODEV);
@@ -406,9 +406,7 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
 	bo->madv = VC4_MADV_WILLNEED;
 	refcount_set(&bo->usecnt, 0);
 
-	ret = drmm_mutex_init(dev, &bo->madv_lock);
-	if (ret)
-		return ERR_PTR(ret);
+	mutex_init(&bo->madv_lock);
 
 	mutex_lock(&vc4->bo_lock);
 	bo->label = VC4_BO_TYPE_KERNEL;
drivers/gpu/drm/vmwgfx/vmwgfx_msg_arm64.h +0 -0
old mode 100755
new mode 100644
drivers/hid/amd-sfh-hid/amd_sfh_client.c +1 -1
index ab125f79408f..1fb0f7105fb2 100644
@@ -282,7 +282,7 @@ int amd_sfh_hid_client_init(struct amd_mp2_dev *privdata)
 		}
 		rc = mp2_ops->get_rep_desc(cl_idx, cl_data->report_descr[i]);
 		if (rc)
-			return rc;
+			goto cleanup;
 		mp2_ops->start(privdata, info);
 		status = amd_sfh_wait_for_response
 				(privdata, cl_data->sensor_idx[i], SENSOR_ENABLED);
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c +1 -1
index 4da2f9f62aba..a1d6e08fab7d 100644
@@ -160,7 +160,7 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata)
 		}
 		rc = mp2_ops->get_rep_desc(cl_idx, cl_data->report_descr[i]);
 		if (rc)
-			return rc;
+			goto cleanup;
 
 		writel(0, privdata->mmio + AMD_P2C_MSG(0));
 		mp2_ops->start(privdata, info);
drivers/hid/hid-betopff.c +9 -8
index 467d789f9bc2..25ed7b9a917e 100644
@@ -60,7 +60,6 @@ static int betopff_init(struct hid_device *hid)
 	struct list_head *report_list =
 			&hid->report_enum[HID_OUTPUT_REPORT].report_list;
 	struct input_dev *dev;
-	int field_count = 0;
 	int error;
 	int i, j;
 
@@ -86,19 +85,21 @@ static int betopff_init(struct hid_device *hid)
 	 * -----------------------------------------
 	 * Do init them with default value.
 	 */
+	if (report->maxfield < 4) {
+		hid_err(hid, "not enough fields in the report: %d\n",
+				report->maxfield);
+		return -ENODEV;
+	}
 	for (i = 0; i < report->maxfield; i++) {
+		if (report->field[i]->report_count < 1) {
+			hid_err(hid, "no values in the field\n");
+			return -ENODEV;
+		}
 		for (j = 0; j < report->field[i]->report_count; j++) {
 			report->field[i]->value[j] = 0x00;
-			field_count++;
 		}
 	}
 
-	if (field_count < 4) {
-		hid_err(hid, "not enough fields in the report: %d\n",
-				field_count);
-		return -ENODEV;
-	}
-
 	betopff = kzalloc(sizeof(*betopff), GFP_KERNEL);
 	if (!betopff)
 		return -ENOMEM;
drivers/hid/hid-bigbenff.c +5 -0
index e8c5e3ac9fff..e8b16665860d 100644
@@ -344,6 +344,11 @@ static int bigben_probe(struct hid_device *hid,
 	}
 
 	report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list;
+	if (list_empty(report_list)) {
+		hid_err(hid, "no output report found\n");
+		error = -ENODEV;
+		goto error_hw_stop;
+	}
 	bigben->report = list_entry(report_list->next,
 		struct hid_report, list);
 
drivers/hid/hid-core.c +2 -2
index bd47628da6be..3e1803592bd4 100644
@@ -993,8 +993,8 @@ struct hid_report *hid_validate_values(struct hid_device *hid,
 		 * Validating on id 0 means we should examine the first
 		 * report in the list.
 		 */
-		report = list_entry(
-				hid->report_enum[type].report_list.next,
+		report = list_first_entry_or_null(
+				&hid->report_enum[type].report_list,
 				struct hid_report, list);
 	} else {
 		report = hid->report_enum[type].report_id_hash[id];
drivers/hid/hid-ids.h +0 -1
index 82713ef3aaa6..c3735848ed5d 100644
@@ -274,7 +274,6 @@
 #define USB_DEVICE_ID_CH_AXIS_295	0x001c
 
 #define USB_VENDOR_ID_CHERRY		0x046a
-#define USB_DEVICE_ID_CHERRY_MOUSE_000C	0x000c
 #define USB_DEVICE_ID_CHERRY_CYMOTION	0x0023
 #define USB_DEVICE_ID_CHERRY_CYMOTION_SOLAR	0x0027
 
drivers/hid/hid-quirks.c +0 -1
index 0e9702c7f7d6..be3ad02573de 100644
@@ -54,7 +54,6 @@ static const struct hid_device_id hid_quirks[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE), HID_QUIRK_NOGET },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS), HID_QUIRK_NOGET },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_THROTTLE), HID_QUIRK_NOGET },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_MOUSE_000C), HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K65RGB), HID_QUIRK_NO_INIT_REPORTS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K65RGB_RAPIDFIRE), HID_QUIRK_NO_INIT_REPORTS | HID_QUIRK_ALWAYS_POLL },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K70RGB), HID_QUIRK_NO_INIT_REPORTS },
drivers/hid/intel-ish-hid/ishtp/dma-if.c +10 -0
index 40554c8daca0..00046cbfd4ed 100644
@@ -104,6 +104,11 @@ void *ishtp_cl_get_dma_send_buf(struct ishtp_device *dev,
 	int required_slots = (size / DMA_SLOT_SIZE)
 		+ 1 * (size % DMA_SLOT_SIZE != 0);
 
+	if (!dev->ishtp_dma_tx_map) {
+		dev_err(dev->devc, "Fail to allocate Tx map\n");
+		return NULL;
+	}
+
 	spin_lock_irqsave(&dev->ishtp_dma_tx_lock, flags);
 	for (i = 0; i <= (dev->ishtp_dma_num_slots - required_slots); i++) {
 		free = 1;
@@ -150,6 +155,11 @@ void ishtp_cl_release_dma_acked_mem(struct ishtp_device *dev,
 		return;
 	}
 
+	if (!dev->ishtp_dma_tx_map) {
+		dev_err(dev->devc, "Fail to allocate Tx map\n");
+		return;
+	}
+
 	i = (msg_addr - dev->ishtp_host_dma_tx_buf) / DMA_SLOT_SIZE;
 	spin_lock_irqsave(&dev->ishtp_dma_tx_lock, flags);
 	for (j = 0; j < acked_slots; j++) {
drivers/i2c/busses/i2c-designware-common.c +6 -3
index c023b691441e..bceaf70f4e23 100644
@@ -351,7 +351,8 @@ u32 i2c_dw_scl_hcnt(u32 ic_clk, u32 tSYMBOL, u32 tf, int cond, int offset)
 		 *
 		 * If your hardware is free from tHD;STA issue, try this one.
 		 */
-		return DIV_ROUND_CLOSEST(ic_clk * tSYMBOL, MICRO) - 8 + offset;
+		return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * tSYMBOL, MICRO) -
+		       8 + offset;
 	else
 		/*
 		 * Conditional expression:
@@ -367,7 +368,8 @@ u32 i2c_dw_scl_hcnt(u32 ic_clk, u32 tSYMBOL, u32 tf, int cond, int offset)
 		 * The reason why we need to take into account "tf" here,
 		 * is the same as described in i2c_dw_scl_lcnt().
 		 */
-		return DIV_ROUND_CLOSEST(ic_clk * (tSYMBOL + tf), MICRO) - 3 + offset;
+		return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * (tSYMBOL + tf), MICRO) -
+		       3 + offset;
 }
 
 u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset)
@@ -383,7 +385,8 @@ u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset)
 	 * account the fall time of SCL signal (tf).  Default tf value
 	 * should be 0.3 us, for safety.
 	 */
-	return DIV_ROUND_CLOSEST(ic_clk * (tLOW + tf), MICRO) - 1 + offset;
+	return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * (tLOW + tf), MICRO) -
+	       1 + offset;
 }
 
 int i2c_dw_set_sda_hold(struct dw_i2c_dev *dev)
drivers/i2c/busses/i2c-designware-platdrv.c +2 -18
index ba043b547393..74182db03a88 100644
@@ -351,13 +351,11 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
 
 	if (dev->flags & ACCESS_NO_IRQ_SUSPEND) {
 		dev_pm_set_driver_flags(&pdev->dev,
-					DPM_FLAG_SMART_PREPARE |
-					DPM_FLAG_MAY_SKIP_RESUME);
+					DPM_FLAG_SMART_PREPARE);
 	} else {
 		dev_pm_set_driver_flags(&pdev->dev,
 					DPM_FLAG_SMART_PREPARE |
-					DPM_FLAG_SMART_SUSPEND |
-					DPM_FLAG_MAY_SKIP_RESUME);
+					DPM_FLAG_SMART_SUSPEND);
 	}
 
 	device_enable_async_suspend(&pdev->dev);
@@ -419,21 +417,8 @@ static int dw_i2c_plat_prepare(struct device *dev)
 	 */
 	return !has_acpi_companion(dev);
 }
-
-static void dw_i2c_plat_complete(struct device *dev)
-{
-	/*
-	 * The device can only be in runtime suspend at this point if it has not
-	 * been resumed throughout the ending system suspend/resume cycle, so if
-	 * the platform firmware might mess up with it, request the runtime PM
-	 * framework to resume it.
-	 */
-	if (pm_runtime_suspended(dev) && pm_resume_via_firmware())
-		pm_request_resume(dev);
-}
 #else
 #define dw_i2c_plat_prepare	NULL
-#define dw_i2c_plat_complete	NULL
 #endif
 
 #ifdef CONFIG_PM
@@ -483,7 +468,6 @@ static int __maybe_unused dw_i2c_plat_resume(struct device *dev)
 
 static const struct dev_pm_ops dw_i2c_dev_pm_ops = {
 	.prepare = dw_i2c_plat_prepare,
-	.complete = dw_i2c_plat_complete,
 	SET_LATE_SYSTEM_SLEEP_PM_OPS(dw_i2c_plat_suspend, dw_i2c_plat_resume)
 	SET_RUNTIME_PM_OPS(dw_i2c_plat_runtime_suspend, dw_i2c_plat_runtime_resume, NULL)
 };
drivers/infiniband/core/verbs.c +5 -2
index 26b021f43ba4..11b1c1603aeb 100644
@@ -2957,15 +2957,18 @@ EXPORT_SYMBOL(__rdma_block_iter_start);
 bool __rdma_block_iter_next(struct ib_block_iter *biter)
 {
 	unsigned int block_offset;
+	unsigned int sg_delta;
 
 	if (!biter->__sg_nents || !biter->__sg)
 		return false;
 
 	biter->__dma_addr = sg_dma_address(biter->__sg) + biter->__sg_advance;
 	block_offset = biter->__dma_addr & (BIT_ULL(biter->__pg_bit) - 1);
-	biter->__sg_advance += BIT_ULL(biter->__pg_bit) - block_offset;
+	sg_delta = BIT_ULL(biter->__pg_bit) - block_offset;
 
-	if (biter->__sg_advance >= sg_dma_len(biter->__sg)) {
+	if (sg_dma_len(biter->__sg) - biter->__sg_advance > sg_delta) {
+		biter->__sg_advance += sg_delta;
+	} else {
 		biter->__sg_advance = 0;
 		biter->__sg = sg_next(biter->__sg);
 		biter->__sg_nents--;
drivers/infiniband/hw/hfi1/user_exp_rcv.c +140 -60

334 lines not on this page · raw message

drivers/infiniband/hw/hfi1/user_exp_rcv.h +3 -0
index 8c53e416bf84..f8ee997d0050 100644
@@ -16,6 +16,8 @@ struct tid_pageset {
 };
 
 struct tid_user_buf {
+	struct mmu_interval_notifier notifier;
+	struct mutex cover_mutex;
 	unsigned long vaddr;
 	unsigned long length;
 	unsigned int npages;
@@ -27,6 +29,7 @@ struct tid_user_buf {
 struct tid_rb_node {
 	struct mmu_interval_notifier notifier;
 	struct hfi1_filedata *fdata;
+	struct mutex invalidate_mutex; /* covers hw removal */
 	unsigned long phys;
 	struct tid_group *grp;
 	u32 rcventry;
drivers/infiniband/sw/rxe/rxe_param.h +5 -5
index 86c7a8bf3cbb..fa41009ce8a9 100644
@@ -91,11 +91,11 @@ enum rxe_device_param {
 	RXE_MAX_SRQ			= DEFAULT_MAX_VALUE - RXE_MIN_SRQ_INDEX,
 
 	RXE_MIN_MR_INDEX		= 0x00000001,
-	RXE_MAX_MR_INDEX		= DEFAULT_MAX_VALUE,
-	RXE_MAX_MR			= DEFAULT_MAX_VALUE - RXE_MIN_MR_INDEX,
-	RXE_MIN_MW_INDEX		= 0x00010001,
-	RXE_MAX_MW_INDEX		= 0x00020000,
-	RXE_MAX_MW			= 0x00001000,
+	RXE_MAX_MR_INDEX		= DEFAULT_MAX_VALUE >> 1,
+	RXE_MAX_MR			= RXE_MAX_MR_INDEX - RXE_MIN_MR_INDEX,
+	RXE_MIN_MW_INDEX		= RXE_MAX_MR_INDEX + 1,
+	RXE_MAX_MW_INDEX		= DEFAULT_MAX_VALUE,
+	RXE_MAX_MW			= RXE_MAX_MW_INDEX - RXE_MIN_MW_INDEX,
 
 	RXE_MAX_PKT_PER_ACK		= 64,
 
drivers/infiniband/sw/rxe/rxe_pool.c +11 -11
index f50620f5a0a1..1151c0b5ccea 100644
@@ -23,16 +23,16 @@ static const struct rxe_type_info {
 		.size		= sizeof(struct rxe_ucontext),
 		.elem_offset	= offsetof(struct rxe_ucontext, elem),
 		.min_index	= 1,
-		.max_index	= UINT_MAX,
-		.max_elem	= UINT_MAX,
+		.max_index	= RXE_MAX_UCONTEXT,
+		.max_elem	= RXE_MAX_UCONTEXT,
 	},
 	[RXE_TYPE_PD] = {
 		.name		= "pd",
 		.size		= sizeof(struct rxe_pd),
 		.elem_offset	= offsetof(struct rxe_pd, elem),
 		.min_index	= 1,
-		.max_index	= UINT_MAX,
-		.max_elem	= UINT_MAX,
+		.max_index	= RXE_MAX_PD,
+		.max_elem	= RXE_MAX_PD,
 	},
 	[RXE_TYPE_AH] = {
 		.name		= "ah",
@@ -40,7 +40,7 @@ static const struct rxe_type_info {
 		.elem_offset	= offsetof(struct rxe_ah, elem),
 		.min_index	= RXE_MIN_AH_INDEX,
 		.max_index	= RXE_MAX_AH_INDEX,
-		.max_elem	= RXE_MAX_AH_INDEX - RXE_MIN_AH_INDEX + 1,
+		.max_elem	= RXE_MAX_AH,
 	},
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/input/mouse/synaptics.c +0 -1
index b0f776448a1c..fa021af8506e 100644

Lines of this file are not shown. View the raw message.

drivers/input/serio/i8042-acpipnpio.h +7 -0
index 46f8a694291e..efc61736099b 100644

Lines of this file are not shown. View the raw message.

drivers/interconnect/qcom/msm8996.c +14 -5
index c2903ae3b3bc..25a1a32bc611 100644

Lines of this file are not shown. View the raw message.

drivers/memory/atmel-sdramc.c +2 -4
index 9c49d00c2a96..ea6e9e1eaf04 100644

Lines of this file are not shown. View the raw message.

drivers/memory/mvebu-devbus.c +1 -2
index 8450638e8670..efc6c08db2b7 100644

Lines of this file are not shown. View the raw message.

drivers/memory/tegra/tegra186.c +0 -36
index 62477e592bf5..7bb73f06fad3 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/microchip/ksz9477.c +2 -2
index a6a0321a8931..a73697147053 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/microchip/ksz9477_i2c.c +1 -1
index 3763930dc6fc..aae1dadef882 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/adi/adin1110.c +1 -1
index 9d8dfe172994..ecce5f7a549f 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amd/xgbe/xgbe-dev.c +15 -8
index 3936543a74d8..4030d619e84f 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +24 -0
index 0c5c1b155683..43fdd111235a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amd/xgbe/xgbe.h +2 -0
index 71f24cb47935..7a41367c437d 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +4 -9
index 8cad15c458b3..703fc163235f 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h +1 -8
index b753032a1047..fb78fc38530d 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/tg3.c +4 -4
index 4179a12fc881..af9ea5e4371b 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/cadence/macb_main.c +1 -8
index 4f63f1ba3161..300f47ca42e3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/engleder/tsnep_main.c +9 -6
index 13d5ff4e0e02..6bf3cc11d212 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/enetc/enetc.c +2 -2
index 3a79ead5219a..e96449eedfb5 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/fec_main.c +1 -1
index f250b0df27fb..6f914180f479 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf.h +1 -1
index 0d1bab4ac1b0..2a9f1eeeb701 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_ethtool.c +5 -5
index a056e1545615..83cfc54a4706 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_main.c +42 -44

86 lines not on this page · raw message

drivers/net/ethernet/intel/iavf/iavf_virtchnl.c +1 -1
index 24a701fd140e..0752fd67c96e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/en/htb.c +2 -2
index 6dac76fa58a3..09d441ecb9f6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c +2 -3
index 1cbd2eb9d04f..f2c2c752bd1c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +3 -0
index 4c313b7424bf..c1cf3917baa4 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c +3 -15
index 4f8a24d84a86..75015d370922 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +1 -0
index 788a6ab5c463..43ba00d5e36e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/main.c +4 -4
index 00758312df06..d4db1adae3e3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/qos.c +1 -2
index 0777be24a307..8bce730b5c5b 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/qos.h +1 -1
index 125e4e47e6f7..624ce822b7f5 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/microchip/lan966x/lan966x_main.c +8 -5
index 20ee5b28f70a..569108c49cbc 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/microsoft/mana/gdma.h +3 -0
index 65c24ee49efd..48b0ab56bdb0 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/microsoft/mana/gdma_main.c +8 -1
index a6f99b4344d9..d674ebda2053 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/renesas/ravb_main.c +8 -2
index b4e0fc7f65bd..0f54849a3823 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/dwmac5.c +14 -0
index 9c2d40f853ed..413f66017219 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +4 -4
index f453b0d09366..35c8dd92d369 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +5 -0
index feb209d4b991..4bba0444c764 100644

Lines of this file are not shown. View the raw message.

drivers/net/ipa/ipa_interrupt.c +10 -0
index c269432f9c2e..a89a3e3ff81c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ipa/ipa_interrupt.h +16 -0
index f31fd9965fdc..8a1bd5b89393 100644

Lines of this file are not shown. View the raw message.

drivers/net/ipa/ipa_power.c +17 -0
index 8420f93128a2..8057be8cda80 100644

Lines of this file are not shown. View the raw message.

drivers/net/mdio/mdio-mux-meson-g12a.c +16 -7
index 4a2e94faf57e..c4542ecf5623 100644

Lines of this file are not shown. View the raw message.

drivers/net/phy/mdio_bus.c +6 -1
index 1cd604cd1fa1..16e021b477f0 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/cdc_ether.c +6 -0
index e11f70911acc..fb5f59d0d55d 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/r8152.c +1 -0
index a481a1d831e2..23da1d9dafd1 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/sr9700.c +1 -1
index 5a53e63d33a6..3164451e1010 100644

Lines of this file are not shown. View the raw message.

drivers/net/virtio_net.c +4 -2
index 86e52454b5b5..3cd15f16090f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wan/fsl_ucc_hdlc.c +4 -2
index 22edea6ca4b8..1c53b5546927 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rndis_wlan.c +6 -13
index 82a7458e01ae..bf72e5fd39cf 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/core.c +16 -9
index 1ded96d1bfd2..25ade4ce8e0a 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/fc.c +9 -11
index 20b0c29a9a34..6c3d469eed7e 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/nvme.h +7 -4
index cbda8a19409b..01d90424af53 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/pci.c +9 -16
index 115d81def567..d839689af17c 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/rdma.c +1 -2
index a55d3e8b607d..6f918e61b6ae 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/tcp.c +2 -3
index 83735c52d34a..eacd445b5333 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/loop.c +2 -2
index 08c583258e90..c864e902e91e 100644

Lines of this file are not shown. View the raw message.

drivers/perf/arm-cmn.c +6 -1
index b80a9b74662b..1deb61b22bc7 100644

Lines of this file are not shown. View the raw message.

drivers/phy/phy-can-transceiver.c +3 -2
index 95c6dbb52da7..ce511ad5d369 100644

Lines of this file are not shown. View the raw message.

drivers/phy/rockchip/phy-rockchip-inno-usb2.c +3 -1
index e6ededc51523..a0bc10aa7961 100644

Lines of this file are not shown. View the raw message.

drivers/phy/sunplus/phy-sunplus-usb2.c +3 -0
index e827b79f6d49..56de41091d63 100644

Lines of this file are not shown. View the raw message.

drivers/phy/ti/Kconfig +2 -2
index 15a3bcf32308..b905902d5750 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/pinctrl-rockchip.c +20 -11
index da974ff2d75d..5eeac92f610a 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/apple-gmux.c +18 -75

93 lines not on this page · raw message

drivers/platform/x86/asus-nb-wmi.c +15 -0
index c685a705b73d..cb15acdf14a3 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-wmi.c +15 -6
index f051b21653d6..02bf28692418 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-wmi.h +1 -0
index 65316998b898..a478ebfd34df 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/simatic-ipc.c +2 -1
index ca76076fc706..b3622419cd1a 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/thinkpad_acpi.c +6 -5
index 4e95d2243161..7fd735c67a8e 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/touchscreen_dmi.c +25 -0
index baae3120efd0..f00995390fdf 100644

Lines of this file are not shown. View the raw message.

drivers/reset/Kconfig +1 -1
index de176c2fbad9..2a52c990d4fe 100644

Lines of this file are not shown. View the raw message.

drivers/reset/reset-uniphier-glue.c +1 -3
index 146fd5d45e99..15abac9fc72c 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/hisi_sas/hisi_sas_main.c +2 -2
index 699b07abb6b0..02fa3c00dccc 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/hpsa.c +1 -1
index 4dbf51e2623a..f6da34850af9 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/scsi_transport_iscsi.c +45 -5

50 lines not on this page · raw message

drivers/soc/imx/imx8mp-blk-ctrl.c +4 -3
index 0e3b6ba22f94..0f13853901df 100644

Lines of this file are not shown. View the raw message.

drivers/soc/imx/soc-imx8m.c +2 -2
index 28144c699b0c..32ed9dc88e45 100644

Lines of this file are not shown. View the raw message.

drivers/soc/qcom/cpr.c +5 -1
index e9b854ed1bdf..144ea68e0920 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-cadence-xspi.c +4 -1
index 9e187f9c6c95..d28b8bd5b70b 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spidev.c +0 -2
index 6313e7d0cdf8..71c3db60e968 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/gov_fair_share.c +1 -5
index a4ee4661e9cc..1cfeac16e7ac 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c +22 -6
index 62c0aa5d0783..0a4eaa307156 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.h +1 -0
index 3b4971df1b33..8f9872afd0d3 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/thermal_core.c +16 -9
index 615fdda3a5de..1eae4ec719a8 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/thermal_sysfs.c +5 -6
index ec495c7dff03..bd7596125461 100644

Lines of this file are not shown. View the raw message.

drivers/ufs/core/ufshcd.c +15 -14
index b048357d21e3..fb5c9e2fc534 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/Kconfig +1 -1
index 03ededa86da1..864fef540a39 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/f_fs.c +7 -0
index 73dc10a77cde..523a961b910b 100644

Lines of this file are not shown. View the raw message.

drivers/usb/typec/ucsi/ucsi.c +21 -3
index eabe519013e7..1292241d581a 100644

Lines of this file are not shown. View the raw message.

drivers/usb/typec/ucsi/ucsi.h +1 -0
index c968474ee547..60ce9fb6e745 100644

Lines of this file are not shown. View the raw message.

drivers/vfio/vfio_iommu_type1.c +20 -11
index 23c24fe98c00..2209372f236d 100644

Lines of this file are not shown. View the raw message.

drivers/w1/w1.c +5 -1
index f2ae2e563dc5..4a2ddf730a3a 100644

Lines of this file are not shown. View the raw message.

drivers/w1/w1_int.c +2 -3
index b3e1792d9c49..3a71c5eb2f83 100644

Lines of this file are not shown. View the raw message.

drivers/xen/pvcalls-front.c +3 -1
index 1826e8e67125..9b569278788a 100644

Lines of this file are not shown. View the raw message.

fs/affs/file.c +1 -1
index cefa222f7881..8daeed31e1af 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/ctree.h +6 -0
index 9e6d48ff4597..a3febabacec0 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/space-info.c +2 -1
index f171bf875633..65c010159fb5 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/zoned.c +2 -0
index c9e2b0c85309..056f002263db 100644

Lines of this file are not shown. View the raw message.

fs/cifs/cifsencrypt.c +1 -0
index 5db73c0f792a..cbc18b4a9cb2 100644

Lines of this file are not shown. View the raw message.

fs/cifs/dfs_cache.c +23 -19

42 lines not on this page · raw message

fs/cifs/sess.c +2 -0
index 0b842a07e157..c47b254f0d1e 100644

Lines of this file are not shown. View the raw message.

fs/cifs/smb2pdu.c +1 -0
index 92f39052d311..2c9ffa921e6f 100644

Lines of this file are not shown. View the raw message.

fs/cifs/smbdirect.c +1 -0
index 90789aaa6567..8c816b25ce7c 100644

Lines of this file are not shown. View the raw message.

fs/erofs/zdata.c +6 -6
index cf4871834ebb..ee7c88c9b5af 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/connection.c +15 -2
index fd0a288af299..56be077e5d8a 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/ksmbd_netlink.h +2 -1
index ff07c67f4565..ce866ff159bf 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/ndr.c +4 -4
index 0ae8d08d85a8..4d9e0b54e3db 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/server.h +1 -0
index ac9d932f8c8a..db7278181760 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/smb2pdu.c +2 -0
index 533742ebcb37..9b16ee657b51 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/smb2pdu.h +3 -2
index 092fdd3f8750..f4baa9800f6e 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/transport_ipc.c +3 -0
index c9aca21637d5..40c721f9227e 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/transport_tcp.c +16 -1
index 4c6bd0b69979..603893fd87f5 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/filecache.c +36 -25

61 lines not on this page · raw message

fs/nfsd/nfs4proc.c +1 -0
index 30a08ec31a70..ba04ce9b9fa5 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/copy_up.c +5 -1
index f436d8847f08..91a95bfad0d1 100644

Lines of this file are not shown. View the raw message.

include/drm/drm_vma_manager.h +1 -0
index 4f8c35206f7c..6c2a2f21dbf0 100644

Lines of this file are not shown. View the raw message.

include/linux/apple-gmux.h +107 -2

109 lines not on this page · raw message

include/linux/platform_data/x86/simatic-ipc.h +2 -1
index 632320ec8f08..a48bb5240977 100644

Lines of this file are not shown. View the raw message.

include/linux/thermal.h +1 -0
index 9ecc128944a1..5e093602e8fc 100644

Lines of this file are not shown. View the raw message.

include/net/mac80211.h +0 -4
index ac2bad57933f..72b739dc6d53 100644

Lines of this file are not shown. View the raw message.

include/net/sch_generic.h +7 -0
index d5517719af4e..af4aa66aaa4e 100644

Lines of this file are not shown. View the raw message.

include/scsi/scsi_transport_iscsi.h +9 -0
index cab52b0f11d0..34c03707fb6e 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/netfilter/nf_conntrack_sctp.h +1 -1
index edc6ddab0de6..2d6f80d75ae7 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/netfilter/nfnetlink_cttimeout.h +1 -1
index 6b20fb22717b..aa805e6d4e28 100644

Lines of this file are not shown. View the raw message.

include/ufs/ufshcd.h +2 -0
index 9f28349ebcff..2bb89290da63 100644

Lines of this file are not shown. View the raw message.

io_uring/io_uring.c +21 -47

68 lines not on this page · raw message

io_uring/io_uring.h +13 -3
index 4334cd30c423..90b675c65b84 100644

Lines of this file are not shown. View the raw message.

io_uring/msg_ring.c +4 -0
index a49ccab262d5..7d5b544cfc30 100644

Lines of this file are not shown. View the raw message.

io_uring/net.c +11 -0
index bdd2b4e370b3..9046e269e5a5 100644

Lines of this file are not shown. View the raw message.

io_uring/timeout.c +5 -5
index 06200fe73a04..4c6a5666541c 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/hashtab.c +2 -2
index f39ee3e05589..c4811984fafa 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/verifier.c +3 -1
index b4d5b343c191..398a0008aff7 100644

Lines of this file are not shown. View the raw message.

kernel/kcsan/kcsan_test.c +6 -1
index dcec1b743c69..a60c561724be 100644

Lines of this file are not shown. View the raw message.

kernel/module/main.c +21 -5
index d02d39c7174e..7a627345d4fd 100644

Lines of this file are not shown. View the raw message.

kernel/sched/fair.c +23 -25

48 lines not on this page · raw message

kernel/trace/ftrace.c +22 -1
index 33236241f236..6f726ea0fde0 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace.c +2 -0
index 3076af8dbf32..546e84ae9993 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace.h +1 -0
index 5581754d9762..9e931f51328a 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events_hist.c +2 -0
index c6e406995c11..da3bfe8625d9 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_osnoise.c +2 -3
index 4300c5dc4e5d..1c07efcb3d46 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_output.c +1 -2
index 67f47ea27921..5cd4fb656306 100644

Lines of this file are not shown. View the raw message.

lib/lockref.c +0 -1
index 45e93ece8ba0..2afe4c5d8919 100644

Lines of this file are not shown. View the raw message.

lib/nlattr.c +3 -0
index b67a53e29b8f..dffd60e4065f 100644

Lines of this file are not shown. View the raw message.

mm/compaction.c +1 -0
index ca1603524bbe..8238e83385a7 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_conn.c +14 -4
index 8aab2e882958..3c3b79f2e4c0 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_event.c +4 -1
index faca701bce2a..0e2425eb6aa7 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_sync.c +4 -10
index 8d6c8cbfe1de..3eec688a88a9 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/iso.c +58 -52

110 lines not on this page · raw message

net/bluetooth/mgmt_util.h +1 -1
index 6a8b7e84293d..bdf978605d5a 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/rfcomm/sock.c +6 -1
index 21e24da4847f..4397e14ff560 100644

Lines of this file are not shown. View the raw message.

net/core/net_namespace.c +1 -1
index f64654df71a2..4c1707d0eb9b 100644

Lines of this file are not shown. View the raw message.

net/ipv4/fib_semantics.c +2 -0
index ce9ff3c62e84..3bb890a40ed7 100644

Lines of this file are not shown. View the raw message.

net/ipv4/inet_hashtables.c +15 -2
index 67f5e5440802..a5711b8f4cb1 100644

Lines of this file are not shown. View the raw message.

net/ipv4/inet_timewait_sock.c +4 -4
index 1d77d992e6e7..beed32fff484 100644

Lines of this file are not shown. View the raw message.

net/ipv4/metrics.c +2 -0
index 25ea6ac44db9..6a1427916c7d 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp.c +2 -0
index 4f2205756cfe..ec19ed722453 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_output.c +14 -1
index 60fd91bb5171..c314fdde0097 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_core.c +50 -52

102 lines not on this page · raw message

net/mac80211/agg-tx.c +0 -2
index b2e40465289d..85d2b9e4b51c 100644

Lines of this file are not shown. View the raw message.

net/mac80211/debugfs_sta.c +3 -2
index d3397c1248d3..b057253db28d 100644

Lines of this file are not shown. View the raw message.

net/mac80211/driver-ops.h +1 -1
index 81e40b0a3b16..e685c12757f4 100644

Lines of this file are not shown. View the raw message.

net/mac80211/ht.c +37 -0
index 83bc41346ae7..ae42e956eff5 100644

Lines of this file are not shown. View the raw message.

net/mac80211/ieee80211_i.h +1 -1
index de7b8a4d4bbb..a8862f2c64ec 100644

Lines of this file are not shown. View the raw message.

net/mac80211/tx.c +19 -11
index cc10ee1ff8e9..6409097a56c7 100644

Lines of this file are not shown. View the raw message.

net/mac80211/util.c +6 -14
index b512cb37aafb..ed53c51bbc32 100644

Lines of this file are not shown. View the raw message.

net/mctp/af_mctp.c +7 -3
index fc9e728b6333..45bbe3e54cc2 100644

Lines of this file are not shown. View the raw message.

net/mctp/route.c +21 -13
index f9a80b82dc51..f51a05ec7162 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_proto_sctp.c +55 -63

118 lines not on this page · raw message

net/netfilter/nf_conntrack_proto_tcp.c +15 -0
index 656631083177..3ac1af6f59fc 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_standalone.c +0 -8
index bca839ab1ae8..460294bd4b60 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_set_rbtree.c +204 -128

332 lines not on this page · raw message

net/netlink/af_netlink.c +24 -14
index a662e8a5ff84..e50671296791 100644

Lines of this file are not shown. View the raw message.

net/netrom/nr_timer.c +1 -0
index a8da88db7893..4e7c968cde2d 100644

Lines of this file are not shown. View the raw message.

net/nfc/llcp_core.c +1 -0
index 3364caabef8b..a27e1842b2a0 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_gred.c +2 -0
index a661b062cca8..872d127c9db4 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_htb.c +16 -11
index e5b4bbf3ce3d..3afac9c21a76 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_taprio.c +2 -0
index 570389f6cdd7..c322a61eaeea 100644

Lines of this file are not shown. View the raw message.

net/sctp/bind_addr.c +6 -0
index 59e653b528b1..6b95d3ba8fe1 100644

Lines of this file are not shown. View the raw message.

samples/ftrace/ftrace-direct-multi-modify.c +1 -0
index 65aa94d96f4e..6f23b1413745 100644

Lines of this file are not shown. View the raw message.

samples/ftrace/ftrace-direct-multi.c +1 -0
index 41ded7c615c7..a9a5c90fb204 100644

Lines of this file are not shown. View the raw message.

scripts/atomic/atomics.tbl +0 -0
old mode 100755
new mode 100644
scripts/tracing/ftrace-bisect.sh +26 -8
index 926701162bc8..bb4f59262bbe 100755

Lines of this file are not shown. View the raw message.

security/tomoyo/Makefile +1 -1
index cca5a3012fee..221eaadffb09 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/yc/acp6x-mach.c +14 -0
index 1f0b5527c594..0d283e41f66d 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/es8326.c +0 -0
old mode 100755
new mode 100644
sound/soc/codecs/es8326.h +0 -0
old mode 100755
new mode 100644
sound/soc/fsl/fsl-asoc-card.c +4 -4
index c836848ef0a6..8d14b5593658 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/fsl_micfil.c +8 -8
index 4b86ef82fd93..4b8fe9b8be40 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/fsl_ssi.c +2 -2
index c9e0e31d5b34..46a53551b955 100644

Lines of this file are not shown. View the raw message.

sound/soc/mediatek/Kconfig +3 -1
index 363fa4d47680..b027fba8233d 100644

Lines of this file are not shown. View the raw message.

sound/soc/mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c +21 -1
index 60fa55d0c91f..6babadb2e6fe 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/debug.c +3 -1
index d9a3ce7b69e1..ade0507328af 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/pm.c +4 -5
index df740be645e8..8722bbd7fd3d 100644

Lines of this file are not shown. View the raw message.

tools/gpio/gpio-event-mon.c +1 -0
index 6c122952c589..5dee2b98ab60 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/ctype.h +3 -0
index e3000b2992d7..6f90706d0644 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/errno.h +3 -0
index 06893d6dfb7a..9dc4919c769b 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/signal.h +3 -0
index ef47e71e2be3..137552216e46 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/stdio.h +3 -0
index a3cebc4bc3ac..96ac8afc5aee 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/stdlib.h +3 -0
index 92378c4b9660..a24000d1e822 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/string.h +7 -1
index ad97c0d522b8..fffdaf6ff467 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/sys.h +2 -0
index ce3ee03aa679..78473d34e27c 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/time.h +3 -0
index d18b7661fdd7..84655361b9ad 100644

Lines of this file are not shown. View the raw message.

tools/include/nolibc/types.h +40 -30

70 lines not on this page · raw message

tools/include/nolibc/unistd.h +3 -0
index 1c25e20ee360..1cfcd52106a4 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/prog_tests/jeq_infer_not_null.c deleted +0 -9
deleted file mode 100644
index 3add34df5767..000000000000

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/progs/jeq_infer_not_null_fail.c deleted +0 -42

42 lines not on this page · raw message

tools/testing/selftests/net/toeplitz.c +7 -5
index 90026a27eac0..9ba03164d73a 100644

Lines of this file are not shown. View the raw message.

virt/kvm/vfio.c +3 -3
index 495ceabffe88..9584eb57e0ed 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.1.9 kernel.

All users of the 6.1 kernel series must upgrade.

The updated 6.1.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/devicetree/bindings/i2c/renesas,rzv2m.yaml         |    4 
 Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml |   21 
 Documentation/devicetree/bindings/riscv/cpus.yaml                |    2 
 Documentation/x86/amd-memory-encryption.rst                      |   36 +
 Makefile                                                         |   17 
 arch/arm/boot/dts/imx6qdl-gw560x.dtsi                            |    1 
 arch/arm/boot/dts/imx6ul-pico-dwarf.dts                          |    2 
 arch/arm/boot/dts/imx7d-pico-dwarf.dts                           |    4 
 arch/arm/boot/dts/imx7d-pico-nymph.dts                           |    4 
 arch/arm/boot/dts/sam9x60.dtsi                                   |    2 
 arch/arm/boot/dts/stm32mp151a-prtt1l.dtsi                        |    8 
 arch/arm/boot/dts/stm32mp157c-emstamp-argon.dtsi                 |    8 
 arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi                     |    8 
 arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi                     |    8 
 arch/arm/mach-imx/cpu-imx25.c                                    |    1 
 arch/arm/mach-imx/cpu-imx27.c                                    |    1 
 arch/arm/mach-imx/cpu-imx31.c                                    |    1 
 arch/arm/mach-imx/cpu-imx35.c                                    |    1 
 arch/arm/mach-imx/cpu-imx5.c                                     |    1 
 arch/arm/mm/nommu.c                                              |    2 
 arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi       |    4 
 arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts           |    1 
 arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi          |    1 
 arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi             |    1 
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts                     |    4 
 arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi            |   10 
 arch/arm64/boot/dts/freescale/imx8mp.dtsi                        |    3 
 arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts                |    6 
 arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi                    |    2 
 arch/arm64/boot/dts/qcom/msm8992-xiaomi-libra.dts                |   77 +-
 arch/arm64/boot/dts/qcom/msm8992.dtsi                            |    4 
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi                           |    2 
 arch/arm64/include/asm/efi.h                                     |   17 
 arch/arm64/include/asm/stacktrace.h                              |   15 
 arch/arm64/kernel/efi-rt-wrapper.S                               |   38 -
 arch/arm64/kernel/efi.c                                          |   23 
 arch/arm64/kernel/stacktrace.c                                   |   12 
 arch/arm64/kvm/vgic/vgic-v3.c                                    |   25 
 arch/arm64/kvm/vgic/vgic-v4.c                                    |    8 
 arch/arm64/kvm/vgic/vgic.h                                       |    1 
 arch/arm64/mm/fault.c                                            |    4 
 arch/riscv/kernel/head.S                                         |    2 
 arch/riscv/kernel/probes/simulate-insn.c                         |    4 
 arch/riscv/kernel/smpboot.c                                      |    3 
 arch/s390/include/asm/debug.h                                    |    6 
 arch/s390/kernel/vmlinux.lds.S                                   |    2 
 arch/s390/kvm/interrupt.c                                        |   12 
 arch/x86/boot/compressed/ident_map_64.c                          |    6 
 arch/x86/boot/compressed/misc.h                                  |    2 
 arch/x86/boot/compressed/sev.c                                   |   70 ++
 arch/x86/events/amd/core.c                                       |    2 
 arch/x86/events/intel/cstate.c                                   |   21 
 arch/x86/events/intel/uncore.c                                   |    1 
 arch/x86/events/msr.c                                            |    3 
 arch/x86/include/asm/acpi.h                                      |    8 
 arch/x86/include/asm/msr-index.h                                 |   20 
 arch/x86/include/uapi/asm/svm.h                                  |    6 
 arch/x86/kernel/i8259.c                                          |    1 
 arch/x86/kernel/irqinit.c                                        |    4 
 arch/x86/kvm/vmx/vmx.c                                           |   21 
 drivers/acpi/resource.c                                          |    7 
 drivers/acpi/sleep.c                                             |    6 
 drivers/acpi/video_detect.c                                      |   49 -
 drivers/ata/Kconfig                                              |    1 
 drivers/base/property.c                                          |   18 
 drivers/base/test/test_async_driver_probe.c                      |    2 
 drivers/block/rnbd/rnbd-clt.c                                    |    2 
 drivers/block/ublk_drv.c                                         |    7 
 drivers/cpufreq/armada-37xx-cpufreq.c                            |    2 
 drivers/cpufreq/cppc_cpufreq.c                                   |   11 
 drivers/cpufreq/cpufreq-dt-platdev.c                             |    2 
 drivers/dma/dmaengine.c                                          |    7 
 drivers/dma/ptdma/ptdma-dev.c                                    |    7 
 drivers/dma/ptdma/ptdma.h                                        |    2 
 drivers/dma/qcom/gpi.c                                           |    1 
 drivers/dma/tegra186-gpc-dma.c                                   |    1 
 drivers/dma/ti/k3-udma.c                                         |    5 
 drivers/dma/xilinx/xilinx_dma.c                                  |    4 
 drivers/edac/edac_device.c                                       |   15 
 drivers/edac/highbank_mc_edac.c                                  |    7 
 drivers/edac/qcom_edac.c                                         |    5 
 drivers/firmware/arm_scmi/shmem.c                                |    9 
 drivers/firmware/arm_scmi/virtio.c                               |    7 
 drivers/firmware/efi/runtime-wrappers.c                          |    1 
 drivers/firmware/google/coreboot_table.c                         |    9 
 drivers/firmware/google/coreboot_table.h                         |    1 
 drivers/gpio/gpio-ep93xx.c                                       |    2 
 drivers/gpio/gpio-mxc.c                                          |   16 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c                 |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c                          |   10 
 drivers/gpu/drm/amd/amdgpu/mes_v11_0.c                           |    1 
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c            |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c                             |    9 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                |   28 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c        |   51 +
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c      |    6 
 drivers/gpu/drm/amd/display/dc/core/dc_link.c                    |   14 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c             |    1 
 drivers/gpu/drm/display/drm_dp_mst_topology.c                    |    4 
 drivers/gpu/drm/drm_panel_orientation_quirks.c                   |    6 
 drivers/gpu/drm/drm_vma_manager.c                                |   76 +-
 drivers/gpu/drm/i915/display/intel_dp.c                          |    4 
 drivers/gpu/drm/i915/display/intel_panel.c                       |    7 
 drivers/gpu/drm/i915/gem/i915_gem_mman.c                         |    2 
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c                  |    8 
 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c         |    3 
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c                            |   15 
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c                            |    7 
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h                            |    1 
 drivers/gpu/drm/msm/adreno/adreno_gpu.c                          |    4 
 drivers/gpu/drm/msm/msm_gpu.c                                    |    2 
 drivers/gpu/drm/msm/msm_gpu.h                                    |   12 
 drivers/gpu/drm/panfrost/Kconfig                                 |    3 
 drivers/gpu/drm/vc4/vc4_bo.c                                     |    6 
 drivers/hid/amd-sfh-hid/amd_sfh_client.c                         |    2 
 drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c                    |    2 
 drivers/hid/hid-betopff.c                                        |   17 
 drivers/hid/hid-bigbenff.c                                       |    5 
 drivers/hid/hid-core.c                                           |    4 
 drivers/hid/hid-ids.h                                            |    1 
 drivers/hid/hid-quirks.c                                         |    1 
 drivers/hid/intel-ish-hid/ishtp/dma-if.c                         |   10 
 drivers/i2c/busses/i2c-designware-common.c                       |    9 
 drivers/i2c/busses/i2c-designware-platdrv.c                      |   20 
 drivers/infiniband/core/verbs.c                                  |    7 
 drivers/infiniband/hw/hfi1/user_exp_rcv.c                        |  200 ++++--
 drivers/infiniband/hw/hfi1/user_exp_rcv.h                        |    3 
 drivers/infiniband/sw/rxe/rxe_param.h                            |   10 
 drivers/infiniband/sw/rxe/rxe_pool.c                             |   22 
 drivers/input/mouse/synaptics.c                                  |    1 
 drivers/input/serio/i8042-acpipnpio.h                            |    7 
 drivers/interconnect/qcom/msm8996.c                              |   19 
 drivers/memory/atmel-sdramc.c                                    |    6 
 drivers/memory/mvebu-devbus.c                                    |    3 
 drivers/memory/tegra/tegra186.c                                  |   36 -
 drivers/net/dsa/microchip/ksz9477.c                              |    4 
 drivers/net/dsa/microchip/ksz9477_i2c.c                          |    2 
 drivers/net/ethernet/adi/adin1110.c                              |    2 
 drivers/net/ethernet/amd/xgbe/xgbe-dev.c                         |   23 
 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c                        |   24 
 drivers/net/ethernet/amd/xgbe/xgbe.h                             |    2 
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c                |   13 
 drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h                    |    9 
 drivers/net/ethernet/broadcom/tg3.c                              |    8 
 drivers/net/ethernet/cadence/macb_main.c                         |    9 
 drivers/net/ethernet/engleder/tsnep_main.c                       |   15 
 drivers/net/ethernet/freescale/enetc/enetc.c                     |    4 
 drivers/net/ethernet/freescale/fec_main.c                        |    2 
 drivers/net/ethernet/intel/iavf/iavf.h                           |    2 
 drivers/net/ethernet/intel/iavf/iavf_ethtool.c                   |   10 
 drivers/net/ethernet/intel/iavf/iavf_main.c                      |   86 +-
 drivers/net/ethernet/intel/iavf/iavf_virtchnl.c                  |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en/htb.c                 |    4 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c           |    5 
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                  |    3 
 drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c                |   18 
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c                |    1 
 drivers/net/ethernet/mellanox/mlx5/core/main.c                   |    8 
 drivers/net/ethernet/mellanox/mlx5/core/qos.c                    |    3 
 drivers/net/ethernet/mellanox/mlx5/core/qos.h                    |    2 
 drivers/net/ethernet/microchip/lan966x/lan966x_main.c            |   13 
 drivers/net/ethernet/microsoft/mana/gdma.h                       |    3 
 drivers/net/ethernet/microsoft/mana/gdma_main.c                  |    9 
 drivers/net/ethernet/renesas/ravb_main.c                         |   10 
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c                     |   14 
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c             |    8 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                |    5 
 drivers/net/ipa/ipa_interrupt.c                                  |   10 
 drivers/net/ipa/ipa_interrupt.h                                  |   16 
 drivers/net/ipa/ipa_power.c                                      |   17 
 drivers/net/mdio/mdio-mux-meson-g12a.c                           |   23 
 drivers/net/phy/mdio_bus.c                                       |    7 
 drivers/net/usb/cdc_ether.c                                      |    6 
 drivers/net/usb/r8152.c                                          |    1 
 drivers/net/usb/sr9700.c                                         |    2 
 drivers/net/virtio_net.c                                         |    6 
 drivers/net/wan/fsl_ucc_hdlc.c                                   |    6 
 drivers/net/wireless/rndis_wlan.c                                |   19 
 drivers/nvme/host/core.c                                         |   25 
 drivers/nvme/host/fc.c                                           |   20 
 drivers/nvme/host/nvme.h                                         |   11 
 drivers/nvme/host/pci.c                                          |   25 
 drivers/nvme/host/rdma.c                                         |    3 
 drivers/nvme/host/tcp.c                                          |    5 
 drivers/nvme/target/loop.c                                       |    4 
 drivers/perf/arm-cmn.c                                           |    7 
 drivers/phy/phy-can-transceiver.c                                |    5 
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c                    |    4 
 drivers/phy/sunplus/phy-sunplus-usb2.c                           |    3 
 drivers/phy/ti/Kconfig                                           |    4 
 drivers/pinctrl/pinctrl-rockchip.c                               |   31 
 drivers/platform/x86/apple-gmux.c                                |   93 --
 drivers/platform/x86/asus-nb-wmi.c                               |   15 
 drivers/platform/x86/asus-wmi.c                                  |   21 
 drivers/platform/x86/asus-wmi.h                                  |    1 
 drivers/platform/x86/simatic-ipc.c                               |    3 
 drivers/platform/x86/thinkpad_acpi.c                             |   11 
 drivers/platform/x86/touchscreen_dmi.c                           |   25 
 drivers/reset/Kconfig                                            |    2 
 drivers/reset/reset-uniphier-glue.c                              |    4 
 drivers/scsi/hisi_sas/hisi_sas_main.c                            |    4 
 drivers/scsi/hpsa.c                                              |    2 
 drivers/scsi/scsi_transport_iscsi.c                              |   50 +
 drivers/soc/imx/imx8mp-blk-ctrl.c                                |    7 
 drivers/soc/imx/soc-imx8m.c                                      |    4 
 drivers/soc/qcom/cpr.c                                           |    6 
 drivers/spi/spi-cadence-xspi.c                                   |    5 
 drivers/spi/spidev.c                                             |    2 
 drivers/thermal/gov_fair_share.c                                 |    6 
 drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c     |   28 
 drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.h     |    1 
 drivers/thermal/thermal_core.c                                   |   25 
 drivers/thermal/thermal_sysfs.c                                  |   11 
 drivers/ufs/core/ufshcd.c                                        |   29 
 drivers/usb/dwc3/Kconfig                                         |    2 
 drivers/usb/gadget/function/f_fs.c                               |    7 
 drivers/usb/typec/ucsi/ucsi.c                                    |   24 
 drivers/usb/typec/ucsi/ucsi.h                                    |    1 
 drivers/vfio/vfio_iommu_type1.c                                  |   31 
 drivers/w1/w1.c                                                  |    6 
 drivers/w1/w1_int.c                                              |    5 
 drivers/xen/pvcalls-front.c                                      |    4 
 fs/affs/file.c                                                   |    2 
 fs/btrfs/ctree.h                                                 |    6 
 fs/btrfs/space-info.c                                            |    3 
 fs/btrfs/zoned.c                                                 |    2 
 fs/cifs/cifsencrypt.c                                            |    1 
 fs/cifs/dfs_cache.c                                              |   42 -
 fs/cifs/sess.c                                                   |    2 
 fs/cifs/smb2pdu.c                                                |    1 
 fs/cifs/smbdirect.c                                              |    1 
 fs/erofs/zdata.c                                                 |   12 
 fs/ksmbd/connection.c                                            |   17 
 fs/ksmbd/ksmbd_netlink.h                                         |    3 
 fs/ksmbd/ndr.c                                                   |    8 
 fs/ksmbd/server.h                                                |    1 
 fs/ksmbd/smb2pdu.c                                               |    2 
 fs/ksmbd/smb2pdu.h                                               |    5 
 fs/ksmbd/transport_ipc.c                                         |    3 
 fs/ksmbd/transport_tcp.c                                         |   17 
 fs/nfsd/filecache.c                                              |   61 +
 fs/nfsd/nfs4proc.c                                               |    1 
 fs/overlayfs/copy_up.c                                           |    6 
 include/drm/drm_vma_manager.h                                    |    1 
 include/linux/apple-gmux.h                                       |  109 +++
 include/linux/platform_data/x86/simatic-ipc.h                    |    3 
 include/linux/thermal.h                                          |    1 
 include/net/mac80211.h                                           |    4 
 include/net/sch_generic.h                                        |    7 
 include/scsi/scsi_transport_iscsi.h                              |    9 
 include/uapi/linux/netfilter/nf_conntrack_sctp.h                 |    2 
 include/uapi/linux/netfilter/nfnetlink_cttimeout.h               |    2 
 include/ufs/ufshcd.h                                             |    2 
 io_uring/io_uring.c                                              |   68 --
 io_uring/io_uring.h                                              |   16 
 io_uring/msg_ring.c                                              |    4 
 io_uring/net.c                                                   |   11 
 io_uring/timeout.c                                               |   10 
 kernel/bpf/hashtab.c                                             |    4 
 kernel/bpf/verifier.c                                            |    4 
 kernel/kcsan/kcsan_test.c                                        |    7 
 kernel/module/main.c                                             |   26 
 kernel/sched/fair.c                                              |   48 -
 kernel/trace/ftrace.c                                            |   23 
 kernel/trace/trace.c                                             |    2 
 kernel/trace/trace.h                                             |    1 
 kernel/trace/trace_events_hist.c                                 |    2 
 kernel/trace/trace_osnoise.c                                     |    5 
 kernel/trace/trace_output.c                                      |    3 
 lib/lockref.c                                                    |    1 
 lib/nlattr.c                                                     |    3 
 mm/compaction.c                                                  |    1 
 net/bluetooth/hci_conn.c                                         |   18 
 net/bluetooth/hci_event.c                                        |    5 
 net/bluetooth/hci_sync.c                                         |   14 
 net/bluetooth/iso.c                                              |  110 +--
 net/bluetooth/mgmt_util.h                                        |    2 
 net/bluetooth/rfcomm/sock.c                                      |    7 
 net/core/net_namespace.c                                         |    2 
 net/ipv4/fib_semantics.c                                         |    2 
 net/ipv4/inet_hashtables.c                                       |   17 
 net/ipv4/inet_timewait_sock.c                                    |    8 
 net/ipv4/metrics.c                                               |    2 
 net/ipv4/tcp.c                                                   |    2 
 net/ipv6/ip6_output.c                                            |   15 
 net/l2tp/l2tp_core.c                                             |  102 +--
 net/mac80211/agg-tx.c                                            |    2 
 net/mac80211/debugfs_sta.c                                       |    5 
 net/mac80211/driver-ops.h                                        |    2 
 net/mac80211/ht.c                                                |   37 +
 net/mac80211/ieee80211_i.h                                       |    2 
 net/mac80211/tx.c                                                |   30 
 net/mac80211/util.c                                              |   20 
 net/mctp/af_mctp.c                                               |   10 
 net/mctp/route.c                                                 |   34 -
 net/netfilter/nf_conntrack_proto_sctp.c                          |  118 +--
 net/netfilter/nf_conntrack_proto_tcp.c                           |   15 
 net/netfilter/nf_conntrack_standalone.c                          |    8 
 net/netfilter/nft_set_rbtree.c                                   |  332 ++++++----
 net/netlink/af_netlink.c                                         |   38 -
 net/netrom/nr_timer.c                                            |    1 
 net/nfc/llcp_core.c                                              |    1 
 net/sched/sch_gred.c                                             |    2 
 net/sched/sch_htb.c                                              |   27 
 net/sched/sch_taprio.c                                           |    2 
 net/sctp/bind_addr.c                                             |    6 
 samples/ftrace/ftrace-direct-multi-modify.c                      |    1 
 samples/ftrace/ftrace-direct-multi.c                             |    1 
 scripts/tracing/ftrace-bisect.sh                                 |   34 -
 security/tomoyo/Makefile                                         |    2 
 sound/soc/amd/yc/acp6x-mach.c                                    |   14 
 sound/soc/fsl/fsl-asoc-card.c                                    |    8 
 sound/soc/fsl/fsl_micfil.c                                       |   16 
 sound/soc/fsl/fsl_ssi.c                                          |    4 
 sound/soc/mediatek/Kconfig                                       |    4 
 sound/soc/mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c         |   22 
 sound/soc/sof/debug.c                                            |    4 
 sound/soc/sof/pm.c                                               |    9 
 tools/gpio/gpio-event-mon.c                                      |    1 
 tools/include/nolibc/ctype.h                                     |    3 
 tools/include/nolibc/errno.h                                     |    3 
 tools/include/nolibc/signal.h                                    |    3 
 tools/include/nolibc/stdio.h                                     |    3 
 tools/include/nolibc/stdlib.h                                    |    3 
 tools/include/nolibc/string.h                                    |    8 
 tools/include/nolibc/sys.h                                       |    2 
 tools/include/nolibc/time.h                                      |    3 
 tools/include/nolibc/types.h                                     |   70 +-
 tools/include/nolibc/unistd.h                                    |    3 
 tools/testing/selftests/bpf/prog_tests/jeq_infer_not_null.c      |    9 
 tools/testing/selftests/bpf/progs/jeq_infer_not_null_fail.c      |   42 -
 tools/testing/selftests/net/toeplitz.c                           |   12 
 virt/kvm/vfio.c                                                  |    6 
 333 files changed, 2822 insertions(+), 1518 deletions(-)

Adam Ford (3):
arm64: dts: imx8mm-beacon: Fix ecspi2 pinmux
arm64: dts: imx8mp: Fix missing GPC Interrupt
arm64: dts: imx8mp: Fix power-domain typo

Ahmad Fatoum (1):
net: dsa: microchip: fix probe of I2C-connected KSZ8563

Akhil P Oommen (1):
drm/msm/a6xx: Avoid gx gbit halt during rpm suspend

Akhil R (1):
dmaengine: tegra: Fix memory leak in terminate_all()

Alexander Gordeev (1):
s390: expicitly align _edata and _end symbols on page boundary

Alexander Potapenko (1):
affs: initialize fsdata in affs_truncate()

Alexander Wetzel (2):
wifi: mac80211: Proper mark iTXQs for resumption
wifi: mac80211: Fix iTXQ AMPDU fragmentation handling

Alexandru Tachici (1):
net: ethernet: adi: adin1110: Fix multicast offloading

Alexey V. Vissarionov (1):
scsi: hpsa: Fix allocation size for scsi_host_alloc()

Allen-KH Cheng (1):
ASoC: mediatek: mt8186: Add machine support for max98357a

Andre Przywara (1):
r8152: add vendor/device ID pair for Microsoft Devkit

Andrew Halaney (1):
net: stmmac: enable all safety features by default

Aniol Martí (1):
ASoC: amd: yc: Add ASUS M5402RA into DMI table

Archie Pusaka (1):
Bluetooth: hci_sync: cancel cmd_timer if hci_open failed

Ard Biesheuvel (3):
arm64: efi: Recover from synchronous exceptions occurring in firmware
arm64: efi: Avoid workqueue to check whether EFI runtime is live
arm64: efi: Account for the EFI runtime stack in stack unwinder

Arnd Bergmann (3):
drm/panfrost: fix GENERIC_ATOMIC64 dependency
usb: dwc3: fix extcon dependency
drm/i915/selftest: fix intel_selftest_modify_policy argument types

Ashish Mhetre (1):
memory: tegra: Remove clients SID override programming

Bartosz Golaszewski (1):

      spi: spidev: remove debug messages that access spidev->spi without locking

Basavaraj Natikar (1):
HID: amd_sfh: Fix warning unwind goto

Caleb Connolly (1):
net: ipa: disable ipa interrupt during suspend

Chancel Liu (1):
ASoC: fsl_micfil: Correct the number of steps on SX controls

Chen Zhongjin (1):
driver core: Fix test_async_probe_init saves device in wrong array

Chris Mi (2):
net/mlx5e: Set decap action based on attr for sample net/mlx5: E-switch, Fix switchdev mode after devlink reload

Chris Packham (1):
arm64: dts: marvell: AC5/AC5X: Fix address for UART1

Chris Wilson (1):
drm/i915/selftests: Unwind hugepages to drop wakeref on error

Christoph Hellwig (2):
nvme: simplify transport specific device attribute handling
nvme: consolidate setting the tagset flags

Christophe JAILLET (1):
PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe()

Chuang Wang (1):
tracing/osnoise: Use built-in RCU list checking

Claudiu Beznea (1):
ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60

Clément Léger (1):
net: lan966x: add missing fwnode_handle_put() for ports node

Colin Ian King (1):
perf/x86/amd: fix potential integer overflow on shift of a int

Cong Wang (2):
l2tp: convert l2tp_tunnel_list to idr
l2tp: close all race conditions in l2tp_tunnel_register()

Conor Dooley (2):
dt-bindings: riscv: fix underscore requirement for multi-letter extensions
dt-bindings: riscv: fix single letter canonical order

Cristian Marussi (3):
firmware: arm_scmi: Harden shared memory access in fetch_response
firmware: arm_scmi: Harden shared memory access in fetch_notification
firmware: arm_scmi: Fix virtio channels cleanup on shutdown

Curtis Malainey (1):
ASoC: SOF: Add FW state to debugfs

Daisuke Matsuda (2):
RDMA/rxe: Fix inaccurate constants in rxe_type_info RDMA/rxe: Prevent faulty rkey generation

Dan Carpenter (2):
thermal/core: fix error code in __thermal_cooling_device_register()
gpio: mxc: Unlock on error path in mxc_flip_edge()

Dario Binacchi (1):
ARM: imx: add missing of_node_put()

Dave Airlie (1):
amdgpu: fix build on non-DCN platforms.

David Christensen (1):
net/tg3: resolve deadlock in tg3_reset_task() during EEH

David Howells (1):

      cifs: Fix oops due to uncleared server->smbd_conn in reconnect

David Morley (1):
tcp: fix rate_app_limited to default to 1

Dean Luick (5):
IB/hfi1: Reject a zero-length user expected buffer IB/hfi1: Reserve user expected TIDs
IB/hfi1: Fix expected receive setup error exit issues IB/hfi1: Immediately remove invalid memory from hardware IB/hfi1: Remove user expected buffer invalidate race

Dmitry Torokhov (1):
Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode"

Dylan Yudaken (1):
io_uring: always prep_async for drain requests

Emanuele Ghidoli (2):
arm64: dts: verdin-imx8mm: fix dahlia audio playback
arm64: dts: verdin-imx8mm: fix dev board audio playback

Eric Dumazet (9):
net/sched: sch_taprio: fix possible use-after-free
l2tp: prevent lockdep issue in l2tp_tunnel_register()
netlink: prevent potential spectre v1 gadgets
netlink: annotate data races around nlk->portid
netlink: annotate data races around dst_portid and dst_group
netlink: annotate data races around sk_state
ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()
ipv4: prevent potential spectre v1 gadget in fib_metrics_match() net/sched: sch_taprio: do not schedule in taprio_reset()

Eric Huang (2):
drm/amdkfd: Add sync after creating vram bo drm/amdkfd: Fix NULL pointer error for GC 11.0.1 on mGPU

Eric Pilmore (1):
ptdma: pt_core_execute_cmd() should use spinlock

Esina Ekaterina (1):
net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs

Evan Quan (1):
drm/amd/pm: add missing AllowIHInterrupt message mapping for SMU13.0.0

Fabio Estevam (4):
arm64: dts: imx8mp-phycore-som: Remove invalid PMIC property
ARM: dts: imx6ul-pico-dwarf: Use 'clock-frequency'
ARM: dts: imx7d-pico: Use 'clock-frequency'
ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts'

Fabrizio Castro (1):
dt-bindings: i2c: renesas,rzv2m: Fix SoC specific string

Florian Westphal (1):
netfilter: conntrack: handle tcp challenge acks during connection reuse

Gao Xiang (1):
erofs: fix kvcalloc() misuse with __GFP_NOFAIL

Gaosheng Cui (2):
memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe()
memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe()

Geert Uytterhoeven (1):
phy: phy-can-transceiver: Skip warning if no "max-bitrate"

Gergely Risko (1):
ipv6: fix reachability confirmation with proxy_ndp

Gerhard Engleder (1):
tsnep: Fix TX queue stop/wake for multiple queues

Giulio Benetti (1):
ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment

Greg Kroah-Hartman (1):

      Linux 6.1.9

Guoqing Jiang (1):
block/rnbd-clt: fix wrong max ID in ida_alloc_max

Haibo Chen (1):
arm64: dts: imx93-11x11-evk: correct clock and strobe pad setting

Haiyang Zhang (1):
net: mana: Fix IRQ name - add PCI and queue number

Hamza Mahfooz (1):
drm/amd/display: fix issues with driver unload

Hans de Goede (8):
platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK
ACPI: video: Add backlight=native DMI quirk for HP Pavilion g6-1d80nr
ACPI: video: Add backlight=native DMI quirk for HP EliteBook 8460p
ACPI: video: Add backlight=native DMI quirk for Asus U46E platform/x86: asus-wmi: Fix kbd_dock_devid tablet-switch reporting platform/x86: apple-gmux: Move port defines to apple-gmux.h platform/x86: apple-gmux: Add apple_gmux_detect() helper
ACPI: video: Fix apple gmux detection

Harsh Jain (1):
drm/amdgpu: complete gfxoff allow signal during suspend without delay

Harshit Mogalapalli (1):
Bluetooth: Fix a buffer overflow in mgmt_mesh_add()

Heiko Carstens (1):
KVM: s390: interrupt: use READ_ONCE() before cmpxchg()

Heiner Kallweit (2):
net: mdio: validate parameter addr in mdiobus_get_phy()
net: stmmac: fix invalid call to mdiobus_get_phy()

Hendrik Borghorst (1):
KVM: x86/vmx: Do not skip segment attributes if unusable bit is set

Henning Schild (2):
platform/x86: simatic-ipc: correct name of a model platform/x86: simatic-ipc: add another model

Hui Tang (1):
reset: uniphier-glue: Fix possible null-ptr-deref

Hui Wang (1):
net: usb: cdc_ether: add support for Thales Cinterion PLS62-W modem

Ivo Borisov Shopov (1):
tools: gpio: fix -c option of gpio-event-mon

Jack Pham (1):
usb: ucsi: Ensure connector delayed work items are flushed

Jakub Kicinski (1):
net: sched: gred: prevent races when adding offloads to stats

Jason Wang (1):
virtio-net: correctly enable callback during start_xmit

Jason Xing (1):
tcp: avoid the lookup process failing to get sk in ehash table

Jayesh Choudhary (1):
dmaengine: ti: k3-udma: Do conditional decrement of UDMA_CHAN_RT_PEER_BCNT_REG

Jeff Layton (1):
nfsd: don't free files unconditionally in __nfsd_file_cache_purge

Jens Axboe (1):
io_uring/net: cache provided buffer group value for multishot receives

Jeremy Kerr (3):
net: mctp: add an explicit reference from a mctp_sk_key to sock
net: mctp: move expiry timer delete to unhash
net: mctp: mark socks as dead on unhash, prevent re-add

Jerome Brunet (1):
net: mdio-mux-meson-g12a: force internal PHY off on mux switch

Jiasheng Jiang (1):
HID: intel_ish-hid: Add check for ishtp_dma_tx_map

Jiri Kosina (1):
HID: revert CHERRY_MOUSE_000C quirk

Jisoo Jang (1):
net: nfc: Fix use-after-free in local_cleanup()

Johan Hovold (2):
arm64: dts: qcom: sc8280xp: fix primary USB-DP PHY reset
scsi: ufs: core: Fix devfreq deadlocks

Jonas Karlman (2):
pinctrl: rockchip: fix reading pull type on rk3568
pinctrl: rockchip: fix mux route data for rk3568

Jonathan Kim (1):
drm/amdgpu: remove unconditional trap enable on add gfx11 queues

Juergen Gross (1):
acpi: Fix suspend with Xen PV

Kan Liang (4):
perf/x86/cstate: Add Meteor Lake support
perf/x86/msr: Add Meteor Lake support
perf/x86/msr: Add Emerald Rapids
perf/x86/intel/uncore: Add Emerald Rapids

Kees Cook (2):
bnxt: Do not read past the end of test names
firmware: coreboot: Check size of table entry and use flex-array

Keith Busch (2):
nvme-pci: fix timeout request state check
nvme: fix passthrough csi check

Koba Ko (1):
dmaengine: Fix double increment of client_count in dma_chan_get()

Konrad Dybcio (5):
interconnect: qcom: msm8996: Provide UFS clocks to A2NoC
interconnect: qcom: msm8996: Fix regmap max_register values
arm64: dts: qcom: msm8992: Don't use sfpb mutex
arm64: dts: qcom: msm8992-libra: Fix the memory map
cpufreq: Add SM6375 to cpufreq-dt-platdev blocklist

Krzysztof Kozlowski (1):
regulator: dt-bindings: samsung,s2mps14: add lost samsung,ext-control-gpios

Kuniyuki Iwashima (1):
netrom: Fix use-after-free of a listening socket.

Kurt Kanzenbach (1):
net: stmmac: Fix queue statistics reading

Lareine Khawaly (1):
i2c: designware: use casting of u64 in clock multiplication to avoid overflow

Ley Foon Tan (1):
riscv: Move call to init_cpu_topology() to later initialization stage

Liao Chang (1):
riscv/kprobe: Fix instruction simulation of JALR

Linus Torvalds (2):
treewide: fix up files incorrectly marked executable Fix up more non-executable files marked executable

Liu Shixin (1):
dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()

Lucas Stach (2):
soc: imx: imx8mp-blk-ctrl: enable global pixclk with HDMI_TX_PHY PD
soc: imx: imx8mp-blk-ctrl: don't set power device name

Luis Gerhorst (1):
bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation

Luiz Augusto von Dentz (3):
Bluetooth: ISO: Avoid circular locking dependency
Bluetooth: ISO: Fix possible circular locking dependency
Bluetooth: hci_event: Fix Invalid wait context

Lyude Paul (1):

      drm/amdgpu/display/mst: Fix mst_state->pbn_div and slot count assignments

Manivannan Sadhasivam (2):
EDAC/device: Respect any driver-supplied workqueue polling value EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info

Maor Dickman (2):
net/mlx5: E-switch, Fix setting of reserved fields on MODIFY_SCHEDULING_ELEMENT net/mlx5e: QoS, Fix wrongfully setting parent_element_id on MODIFY_SCHEDULING_ELEMENT

Marc Zyngier (1):
KVM: arm64: GICv4.1: Fix race with doorbell on VPE activation/deactivation

Marcelo Ricardo Leitner (1):
sctp: fail if no bound addresses can be used for a given scope

Marco Felsch (1):
arm64: dts: imx8mp-evk: pcie0-refclk cosmetic cleanup

Marek Vasut (2):
gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock
gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode

Marios Makassikis (1):
ksmbd: do not sign response to session request for guest login

Mark Brown (2):
ASoC: fsl_ssi: Rename AC'97 streams to avoid collisions with AC'97 CODEC
ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets

Mark Pearson (1):
platform/x86: thinkpad_acpi: Fix profile modes on Intel platforms

Mark Rutland (1):
ftrace: Export ftrace_free_filter() to modules

Mars Chen (1):
ASoC: support machine driver with max98360

Masahiro Yamada (4):
tomoyo: fix broken dependency on *.conf.default
kbuild: export top-level LDFLAGS_vmlinux only to scripts/Makefile.vmlinux
kbuild: fix 'make modules' error when CONFIG_DEBUG_INFO_BTF_MODULES=y
riscv: fix -Wundef warning for CONFIG_RISCV_BOOT_SPINWAIT

Mateusz Guzik (1):
lockref: stop doing cpu_relax in the cmpxchg loop

Max Filippov (1):
kcsan: test: don't put the expect array on the stack

Maxime Ripard (2):
drm/vc4: bo: Fix drmm_mutex_init memory hog
drm/vc4: bo: Fix unused variable warning

Miaoqian Lin (2):
soc: imx8m: Fix incorrect check for of_clk_get_by_name() EDAC/highbank: Fix memory leak in highbank_mc_probe()

Michael Klein (1):
platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD

Michal Schmidt (1):
iavf: fix temporary deadlock and failure to set MAC address

Miklos Szeredi (2):
ovl: fix tmpfile leak
ovl: fail on invalid uid/gid mapping at copy up

Miles Chen (1):
cpufreq: armada-37xx: stop using 0 as NULL pointer

Ming Lei (1):
block: ublk: move ublk_chr_class destroying after devices are removed

Namjae Jeon (3):
ksmbd: add max connections parameter
ksmbd: downgrade ndr version error message to debug
ksmbd: limit pdu length size according to connection status

Naohiro Aota (1):
btrfs: zoned: enable metadata over-commit for non-ZNS setup

Natalia Petrova (1):
trace_events_hist: add check for return value of 'create_hist_field'

Nikita Shubin (1):
gpio: ep93xx: Fix port F hwirq numbers in handler

Niklas Schnelle (2):
s390/debug: add _ASM_S390_ prefix to header guard vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp()

Nikunj A Dadhania (1):
x86/sev: Add SEV-SNP guest feature negotiation support

Nirmoy Das (2):
drm/drm_vma_manager: Add drm_vma_node_allow_once() drm/i915: Fix a memory leak with reused mmap_offset

Oleksii Moisieiev (1):
xen/pvcalls: free active map buffer on pvcalls_front_free_map

Pablo Neira Ayuso (2):
netfilter: nft_set_rbtree: Switch to node list walk for overlap detection
netfilter: nft_set_rbtree: skip elements in transaction from garbage collection

Paolo Abeni (2):
net: fix UaF in netns ops registration error path
net: mctp: hold key reference when looking up a general key

Patrice Chotard (4):
ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp15xx-dhcor-som
ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp15xx-dhcom-som
ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp157c-emstamp-argon
ARM: dts: stm32: Fix qspi pinctrl phandle for stm32mp151a-prtt1l

Patrick Thompson (1):
drm: Add orientation quirk for Lenovo ideapad D330-10IGL

Paulo Alcantara (2):
cifs: fix potential deadlock in cache_refresh_path()
cifs: fix potential memory leaks in session setup

Pavel Begunkov (7):
io_uring/msg_ring: fix remote queue to disabled ring
io_uring: inline io_req_task_work_add()
io_uring: inline __io_req_complete_post()
io_uring: hold locks for io_req_complete_failed
io_uring: use io_req_task_complete() in timeout
io_uring: remove io_req_tw_post_queue
io_uring: inline __io_req_complete_put()

Peter Foley (1):
ata: pata_cs5535: Don't build on UML

Petr Pavlu (1):
module: Don't wait for GOING modules

Pierre Gondois (2):
cpufreq: CPPC: Add u64 casts to avoid overflowing sched/fair: Check if prev_cpu has highest spare cap in feec()

Pietro Borrello (3):
HID: check empty report_list in hid_validate_values()
HID: check empty report_list in bigben_probe()
HID: betop: check shape of output reports

Qais Yousef (1):
sched/uclamp: Fix a uninitialized variable warnings

Rafael J. Wysocki (1):

      thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type()

Rahul Rameshbabu (1):
sch_htb: Avoid grafting on htb_destroy_class_offload when destroying htb

Raju Rangoju (2):
amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent
amd-xgbe: Delay AN timeout during KR training

Rakesh Sankaranarayanan (1):
net: dsa: microchip: ksz9477: port map correction in ALU table entry register

Randy Dunlap (3):
reset: ti-sci: honor TI_SCI_PROTOCOL setting when not COMPILE_TEST
phy: ti: fix Kconfig warning and operator precedence
net: mlx5: eliminate anonymous module_init & module_exit

Ranjani Sridharan (2):
ASoC: SOF: pm: Set target state earlier
ASoC: SOF: pm: Always tear down pipelines before DSP suspend

Richard Fitzgerald (1):
i2c: designware: Fix unbalanced suspended flag

Rob Clark (1):
drm/msm/gpu: Fix potential double-free

Robert Hancock (1):
net: macb: fix PTP TX timestamp failure due to packet padding

Robin Murphy (1):
Partially revert "perf/arm-cmn: Optimise DTC counter accesses"

Ross Lagerwall (1):
nvme-fc: fix initialization order

Sasha Levin (1):
Revert "selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID"

Shang XiaoJing (2):
phy: usb: sunplus: Fix potential null-ptr-deref in sp_usb_phy_probe()
phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()

Srinivas Pandruvada (1):

      thermal: intel: int340x: Protect trip temperature from concurrent updates

Sriram Yagnaraman (2):
netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE
netfilter: conntrack: unify established states for SCTP paths

Stefan Assmann (1):
iavf: schedule watchdog immediately when changing primary MAC

Steven Rostedt (Google) (2):
tracing: Make sure trace_printk() can output as soon as it can be used ftrace/scripts: Update the instructions for ftrace-bisect.sh

Sumit Gupta (1):
cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist

Sven Schnelle (1):
nolibc: fix fd_set type

Szymon Heidrich (2):
wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
net: usb: sr9700: Handle negative len

Tamim Khan (1):
ACPI: resource: Skip IRQ override on Asus Expertbook B2402CBA

Thomas Gleixner (1):
x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL

Thomas Weißschuh (3):
platform/x86: asus-nb-wmi: Add alternate mapping for KEY_CAMERA platform/x86: asus-wmi: Add quirk wmi_ignore_fan platform/x86: asus-wmi: Ignore fan on E410MA

Tim Harvey (1):
arm64: dts: imx8mm-venice-gw7901: fix USB2 controller OC polarity

Tonghao Zhang (1):
bpf: hash map, avoid deadlock with suitable hash mask

Udipto Goswami (2):
usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait
usb: gadget: f_fs: Ensure ep0req is dequeued before free_request

Vijaya Krishna Nivarthi (1):
dmaengine: qcom: gpi: Set link_rx bit on GO TRE for rx operation

Ville Syrjälä (2):
drm/i915: Allow panel fixed modes to have differing sync polarities drm/i915: Allow alternate fixed modes always for eDP

Viresh Kumar (2):
thermal: Validate new state in cur_state_store()
thermal: core: call put_device() only after device_register() fails

Vlad Buslov (1):
net/mlx5e: Avoid false lock dependency warning on tc_ht even more

Vladimir Oltean (1):
net: enetc: avoid deadlock in enetc_tx_onestep_tstamp()

Vlastimil Babka (1):
Revert "mm/compaction: fix set skip in fast_find_migrateblock"

Warner Losh (1):
tools/nolibc: Fix S_ISxxx macros

Wayne Lin (3):
drm/display/dp_mst: Correct the kref of port. drm/amdgpu/display/mst: limit payload to be updated one by one drm/amdgpu/display/mst: update mst_mgr relevant variable when long HPD

Wei Fang (1):
net: fec: Use page_pool_put_full_page when freeing rx buffers

Wenchao Hao (1):
scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace

Werner Sembach (1):
Input: i8042 - add Clevo PCX0DX to i8042 quirk table

Willem de Bruijn (1):
selftests/net: toeplitz: fix race on tpacket_v3 block close

Willy Tarreau (2):
tools/nolibc: fix missing includes causing build issues at -O0 tools/nolibc: prevent gcc from making memset() loop over itself

Wim Van Boven (1):
ASoC: amd: yc: Add Razer Blade 14 2022 into DMI table

Witold Sadowski (1):
spi: cadence: Fix busy cycles calculation

Xingui Yang (1):
scsi: hisi_sas: Use abort task set to reset SAS disks when discovered

Xingyuan Mo (1):
NFSD: fix use-after-free in nfsd4_ssc_setup_dul()

Yang Yingliang (3):
device property: fix of node refcount leak in fwnode_graph_get_next_endpoint()
w1: fix deadloop in __w1_remove_master_device()
w1: fix WARNING after calling w1_process()

Yi Liu (1):
kvm/vfio: Fix potential deadlock on vfio group_lock

Yihang Li (1):
scsi: hisi_sas: Set a port invalid only if there are no devices attached when refreshing port id

Ying Hsu (1):
Bluetooth: Fix possible deadlock in rfcomm_sk_state_change

Yonatan Nachum (1):
RDMA/core: Fix ib block iterator counter overflow

Yoshihiro Shimoda (2):
net: ravb: Fix lack of register setting after system resumed for Gen3
net: ravb: Fix possible hang if RIS2_QFF1 happen

Zhengchao Shao (2):
Bluetooth: hci_conn: Fix memory leaks
Bluetooth: hci_sync: fix memory leak in hci_update_adv_data()

tongjian (1):

      ASoC: mediatek: mt8186: support rt5682s_max98360