Skip to contentSkip to conversation

Linux 6.0.10

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Nov 26, 2022 Stable branch

lore
Share & tools
lore
author maintainer
#1 lore raw
In reply to Greg Kroah-Hartman
Documentation/driver-api/miscellaneous.rst +2 -3
index 304ffb146cf9..4a5104a368ac 100644
@@ -16,12 +16,11 @@ Parallel Port Devices
 16x50 UART Driver
 =================
 
-.. kernel-doc:: drivers/tty/serial/serial_core.c
-   :export:
-
 .. kernel-doc:: drivers/tty/serial/8250/8250_core.c
    :export:
 
+See serial/driver.rst for related APIs.
+
 Pulse-Width Modulation (PWM)
 ============================
 
Documentation/process/code-of-conduct-interpretation.rst +1 -1
index 4f8a06b00f60..43da2cc2e3b9 100644
@@ -51,7 +51,7 @@ the Technical Advisory Board (TAB) or other maintainers if you're
 uncertain how to handle situations that come up.  It will not be
 considered a violation report unless you want it to be.  If you are
 uncertain about approaching the TAB or any other maintainers, please
-reach out to our conflict mediator, Joanna Lee <[email protected]>.
+reach out to our conflict mediator, Joanna Lee <[email protected]>.
 
 In the end, "be kind to each other" is really what the end goal is for
 everybody.  We know everyone is human and we all fail at times, but the
Makefile +1 -1
index a234f16783ed..4f7da26fef78 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 0
-SUBLEVEL = 9
+SUBLEVEL = 10
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm/boot/dts/imx7s.dtsi +2 -2
index 29148285f9fc..1dc3bfac30b6 100644
@@ -1270,10 +1270,10 @@ dma_apbh: dma-apbh@33000000 {
 			clocks = <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>;
 		};
 
-		gpmi: nand-controller@33002000{
+		gpmi: nand-controller@33002000 {
 			compatible = "fsl,imx7d-gpmi-nand";
 			#address-cells = <1>;
-			#size-cells = <1>;
+			#size-cells = <0>;
 			reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
 			reg-names = "gpmi-nand", "bch";
 			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
arch/arm/boot/dts/sama7g5-pinfunc.h +1 -1
index 4eb30445d205..6e87f0d4b8fc 100644
@@ -261,7 +261,7 @@
 #define PIN_PB2__FLEXCOM6_IO0		PINMUX_PIN(PIN_PB2, 2, 1)
 #define PIN_PB2__ADTRG			PINMUX_PIN(PIN_PB2, 3, 1)
 #define PIN_PB2__A20			PINMUX_PIN(PIN_PB2, 4, 1)
-#define PIN_PB2__FLEXCOM11_IO0		PINMUX_PIN(PIN_PB2, 6, 3)
+#define PIN_PB2__FLEXCOM11_IO1		PINMUX_PIN(PIN_PB2, 6, 3)
 #define PIN_PB3				35
 #define PIN_PB3__GPIO			PINMUX_PIN(PIN_PB3, 0, 0)
 #define PIN_PB3__RF1			PINMUX_PIN(PIN_PB3, 1, 1)
arch/arm/mach-at91/pm_suspend.S +6 -1
index ffed4d949042..e4904faf1753 100644
@@ -169,10 +169,15 @@ sr_ena_2:
 	cmp	tmp1, #UDDRC_STAT_SELFREF_TYPE_SW
 	bne	sr_ena_2
 
-	/* Put DDR PHY's DLL in bypass mode for non-backup modes. */
+	/* Disable DX DLLs for non-backup modes. */
 	cmp	r7, #AT91_PM_BACKUP
 	beq	sr_ena_3
 
+	/* Do not soft reset the AC DLL. */
+	ldr	tmp1, [r3, DDR3PHY_ACDLLCR]
+	bic	tmp1, tmp1, DDR3PHY_ACDLLCR_DLLSRST
+	str	tmp1, [r3, DDR3PHY_ACDLLCR]
+
 	/* Disable DX DLLs. */
 	ldr	tmp1, [r3, #DDR3PHY_DX0DLLCR]
 	orr	tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts +26 -6
index 7e0aeb2db305..a0aeac619929 100644
@@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc {
 		off-on-delay-us = <12000>;
 	};
 
-	extcon_usbotg1: extcon-usbotg1 {
-		compatible = "linux,extcon-usb-gpio";
+	connector {
+		compatible = "gpio-usb-b-connector", "usb-b-connector";
+		type = "micro";
+		label = "X19";
 		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_usb1_extcon>;
-		id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+		pinctrl-0 = <&pinctrl_usb1_connector>;
+		id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				usb_dr_connector: endpoint {
+					remote-endpoint = <&usb1_drd_sw>;
+				};
+			};
+		};
 	};
 };
 
@@ -105,13 +119,19 @@ &usbotg1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_usbotg1>;
 	dr_mode = "otg";
-	extcon = <&extcon_usbotg1>;
 	srp-disable;
 	hnp-disable;
 	adp-disable;
 	power-active-high;
 	over-current-active-low;
+	usb-role-switch;
 	status = "okay";
+
+	port {
+		usb1_drd_sw: endpoint {
+			remote-endpoint = <&usb_dr_connector>;
+		};
+	};
 };
 
 &usbotg2 {
@@ -231,7 +251,7 @@ pinctrl_usbotg1: usbotg1grp {
 			   <MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x84>;
 	};
 
-	pinctrl_usb1_extcon: usb1-extcongrp {
+	pinctrl_usb1_connector: usb1-connectorgrp {
 		fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10		0x1c0>;
 	};
 
arch/arm64/boot/dts/freescale/imx8mm.dtsi +2 -2
index dabd94dc30c4..50ef92915c67 100644
@@ -1244,10 +1244,10 @@ dma_apbh: dma-controller@33000000 {
 			clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
 		};
 
-		gpmi: nand-controller@33002000{
+		gpmi: nand-controller@33002000 {
 			compatible = "fsl,imx8mm-gpmi-nand", "fsl,imx7d-gpmi-nand";
 			#address-cells = <1>;
-			#size-cells = <1>;
+			#size-cells = <0>;
 			reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
 			reg-names = "gpmi-nand", "bch";
 			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
arch/arm64/boot/dts/freescale/imx8mn.dtsi +1 -1
index ad0b99adf691..67b554ba690c 100644
@@ -1102,7 +1102,7 @@ dma_apbh: dma-controller@33000000 {
 		gpmi: nand-controller@33002000 {
 			compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand";
 			#address-cells = <1>;
-			#size-cells = <1>;
+			#size-cells = <0>;
 			reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
 			reg-names = "gpmi-nand", "bch";
 			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
arch/arm64/boot/dts/freescale/imx93-pinfunc.h +0 -0
old mode 100755
new mode 100644
arch/arm64/boot/dts/qcom/ipq8074.dtsi +1 -1
index b9bf43215ada..79351c6157ea 100644
@@ -668,7 +668,7 @@ watchdog: watchdog@b017000 {
 
 		apcs_glb: mailbox@b111000 {
 			compatible = "qcom,ipq8074-apcs-apps-global";
-			reg = <0x0b111000 0x6000>;
+			reg = <0x0b111000 0x1000>;
 
 			#clock-cells = <1>;
 			#mbox-cells = <1>;
arch/arm64/boot/dts/qcom/sa8155p-adp.dts +12 -1
index ba547ca9fc6b..ddb9cb182152 100644
@@ -43,7 +43,6 @@ vreg_s4a_1p8: smps4 {
 
 		regulator-always-on;
 		regulator-boot-on;
-		regulator-allow-set-load;
 
 		vin-supply = <&vreg_3p3>;
 	};
@@ -137,6 +136,9 @@ vreg_l5a_0p88: ldo5 {
 			regulator-max-microvolt = <880000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l7a_1p8: ldo7 {
@@ -152,6 +154,9 @@ vreg_l10a_2p96: ldo10 {
 			regulator-max-microvolt = <2960000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l11a_0p8: ldo11 {
@@ -258,6 +263,9 @@ vreg_l5c_1p2: ldo5 {
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l7c_1p8: ldo7 {
@@ -273,6 +281,9 @@ vreg_l8c_1p2: ldo8 {
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l10c_3p3: ldo10 {
arch/arm64/boot/dts/qcom/sa8295p-adp.dts +12 -0
index ca5f5ad32ce5..5b16ac76fefb 100644
@@ -83,6 +83,9 @@ vreg_l3c: ldo3 {
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l4c: ldo4 {
@@ -98,6 +101,9 @@ vreg_l6c: ldo6 {
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l7c: ldo7 {
@@ -113,6 +119,9 @@ vreg_l10c: ldo10 {
 			regulator-max-microvolt = <2504000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l17c: ldo17 {
@@ -121,6 +130,9 @@ vreg_l17c: ldo17 {
 			regulator-max-microvolt = <2504000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 	};
 
arch/arm64/boot/dts/qcom/sc7280.dtsi +2 -1
index 51ed691075ad..b3c3844f97a0 100644
@@ -2177,7 +2177,8 @@ lpasscc: lpasscc@3000000 {
 
 		lpass_audiocc: clock-controller@3300000 {
 			compatible = "qcom,sc7280-lpassaudiocc";
-			reg = <0 0x03300000 0 0x30000>;
+			reg = <0 0x03300000 0 0x30000>,
+			      <0 0x032a9000 0 0x1000>;
 			clocks = <&rpmhcc RPMH_CXO_CLK>,
 			       <&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>;
 			clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src";
arch/arm64/boot/dts/qcom/sc8280xp-crd.dts +6 -0
index 6792e88b2c6c..a3796502d425 100644
@@ -124,6 +124,9 @@ vreg_l7c: ldo7 {
 			regulator-max-microvolt = <2504000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l13c: ldo13 {
@@ -146,6 +149,9 @@ vreg_l3d: ldo3 {
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l4d: ldo4 {
arch/arm64/boot/dts/qcom/sc8280xp.dtsi +8 -28
index 49ea8b5612fc..6d82dea3675b 100644
@@ -885,13 +885,13 @@ ufs_mem_hc: ufs@1d84000 {
 
 		ufs_mem_phy: phy@1d87000 {
 			compatible = "qcom,sc8280xp-qmp-ufs-phy";
-			reg = <0 0x01d87000 0 0xe10>;
+			reg = <0 0x01d87000 0 0x1c8>;
 			#address-cells = <2>;
 			#size-cells = <2>;
 			ranges;
 			clock-names = "ref",
 				      "ref_aux";
-			clocks = <&rpmhcc RPMH_CXO_CLK>,
+			clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>,
 				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
 
 			resets = <&ufs_mem_hc 0>;
@@ -953,13 +953,13 @@ ufs_card_hc: ufs@1da4000 {
 
 		ufs_card_phy: phy@1da7000 {
 			compatible = "qcom,sc8280xp-qmp-ufs-phy";
-			reg = <0 0x01da7000 0 0xe10>;
+			reg = <0 0x01da7000 0 0x1c8>;
 			#address-cells = <2>;
 			#size-cells = <2>;
 			ranges;
 			clock-names = "ref",
 				      "ref_aux";
-			clocks = <&gcc GCC_UFS_1_CARD_CLKREF_CLK>,
+			clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>,
 				 <&gcc GCC_UFS_CARD_PHY_AUX_CLK>;
 
 			resets = <&ufs_card_hc 0>;
@@ -1181,26 +1181,16 @@ usb_0_qmpphy: phy-wrapper@88ec000 {
 			usb_0_ssphy: usb3-phy@88eb400 {
 				reg = <0 0x088eb400 0 0x100>,
 				      <0 0x088eb600 0 0x3ec>,
-				      <0 0x088ec400 0 0x1f0>,
+				      <0 0x088ec400 0 0x364>,
 				      <0 0x088eba00 0 0x100>,
 				      <0 0x088ebc00 0 0x3ec>,
-				      <0 0x088ec700 0 0x64>;
+				      <0 0x088ec200 0 0x18>;
 				#phy-cells = <0>;
 				#clock-cells = <0>;
 				clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
 				clock-names = "pipe0";
 				clock-output-names = "usb0_phy_pipe_clk_src";
 			};
-
-			usb_0_dpphy: dp-phy@88ed200 {
-				reg = <0 0x088ed200 0 0x200>,
-				      <0 0x088ed400 0 0x200>,
-				      <0 0x088eda00 0 0x200>,
-				      <0 0x088ea600 0 0x200>,
-				      <0 0x088ea800 0 0x200>;
-				#clock-cells = <1>;
-				#phy-cells = <0>;
-			};
 		};
 
 		usb_1_hsphy: phy@8902000 {
@@ -1242,8 +1232,8 @@ usb_1_qmpphy: phy-wrapper@8904000 {
 
 			usb_1_ssphy: usb3-phy@8903400 {
 				reg = <0 0x08903400 0 0x100>,
-				      <0 0x08903c00 0 0x3ec>,
-				      <0 0x08904400 0 0x1f0>,
+				      <0 0x08903600 0 0x3ec>,
+				      <0 0x08904400 0 0x364>,
 				      <0 0x08903a00 0 0x100>,
 				      <0 0x08903c00 0 0x3ec>,
 				      <0 0x08904200 0 0x18>;
@@ -1253,16 +1243,6 @@ usb_1_ssphy: usb3-phy@8903400 {
 				clock-names = "pipe0";
 				clock-output-names = "usb1_phy_pipe_clk_src";
 			};
-
-			usb_1_dpphy: dp-phy@8904200 {
-				reg = <0 0x08904200 0 0x200>,
-				      <0 0x08904400 0 0x200>,
-				      <0 0x08904a00 0 0x200>,
-				      <0 0x08904600 0 0x200>,
-				      <0 0x08904800 0 0x200>;
-				#clock-cells = <1>;
-				#phy-cells = <0>;
-			};
 		};
 
 		system-cache-controller@9200000 {
arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi +6 -0
index 014fe3a31548..fb6e5a140c9f 100644
@@ -348,6 +348,9 @@ vreg_l6c_2p9: ldo6 {
 			regulator-max-microvolt = <2960000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l7c_3p0: ldo7 {
@@ -367,6 +370,9 @@ vreg_l9c_2p9: ldo9 {
 			regulator-max-microvolt = <2960000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l10c_3p3: ldo10 {
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi +6 -0
index 549e0a2aa9fe..5428aab3058d 100644
@@ -317,6 +317,9 @@ vreg_l6c_2p9: ldo6 {
 			regulator-max-microvolt = <2960000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l7c_2p85: ldo7 {
@@ -339,6 +342,9 @@ vreg_l9c_2p9: ldo9 {
 			regulator-max-microvolt = <2960000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l10c_3p3: ldo10 {
arch/arm64/boot/dts/qcom/sm8250.dtsi +1 -0
index bc773e210023..052b4dbc1ee4 100644
@@ -334,6 +334,7 @@ CLUSTER_SLEEP_0: cluster-sleep-0 {
 				exit-latency-us = <6562>;
 				min-residency-us = <9987>;
 				local-timer-stop;
+				status = "disabled";
 			};
 		};
 	};
arch/arm64/boot/dts/qcom/sm8350-hdk.dts +12 -0
index 0fcf5bd88fc7..69ae6503c2f6 100644
@@ -107,6 +107,9 @@ vreg_l5b_0p88: ldo5 {
 			regulator-max-microvolt = <888000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l6b_1p2: ldo6 {
@@ -115,6 +118,9 @@ vreg_l6b_1p2: ldo6 {
 			regulator-max-microvolt = <1208000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l7b_2p96: ldo7 {
@@ -123,6 +129,9 @@ vreg_l7b_2p96: ldo7 {
 			regulator-max-microvolt = <2504000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 
 		vreg_l9b_1p2: ldo9 {
@@ -131,6 +140,9 @@ vreg_l9b_1p2: ldo9 {
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 			regulator-allow-set-load;
+			regulator-allowed-modes =
+			    <RPMH_REGULATOR_MODE_LPM
+			     RPMH_REGULATOR_MODE_HPM>;
 		};
 	};
 
arch/arm64/include/asm/cputype.h +1 -1
index abc418650fec..65e53ef5a396 100644
@@ -41,7 +41,7 @@
 	(((midr) & MIDR_IMPLEMENTOR_MASK) >> MIDR_IMPLEMENTOR_SHIFT)
 
 #define MIDR_CPU_MODEL(imp, partnum) \
-	(((imp)			<< MIDR_IMPLEMENTOR_SHIFT) | \
+	((_AT(u32, imp)		<< MIDR_IMPLEMENTOR_SHIFT) | \
 	(0xf			<< MIDR_ARCHITECTURE_SHIFT) | \
 	((partnum)		<< MIDR_PARTNUM_SHIFT))
 
arch/arm64/include/asm/pgtable.h +2 -2
index b5df82aa99e6..d78e69293d12 100644
@@ -863,12 +863,12 @@ static inline bool pte_user_accessible_page(pte_t pte)
 
 static inline bool pmd_user_accessible_page(pmd_t pmd)
 {
-	return pmd_present(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));
+	return pmd_leaf(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));
 }
 
 static inline bool pud_user_accessible_page(pud_t pud)
 {
-	return pud_present(pud) && pud_user(pud);
+	return pud_leaf(pud) && pud_user(pud);
 }
 #endif
 
arch/arm64/mm/mmu.c +2 -6
index eb489302c28a..e8de94dd5a60 100644
@@ -539,7 +539,7 @@ static void __init map_mem(pgd_t *pgdp)
 	 */
 	BUILD_BUG_ON(pgd_index(direct_map_end - 1) == pgd_index(direct_map_end));
 
-	if (can_set_direct_map() || IS_ENABLED(CONFIG_KFENCE))
+	if (can_set_direct_map())
 		flags |= NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
 
 	/*
@@ -1551,11 +1551,7 @@ int arch_add_memory(int nid, u64 start, u64 size,
 
 	VM_BUG_ON(!mhp_range_allowed(start, size, true));
 
-	/*
-	 * KFENCE requires linear map to be mapped at page granularity, so that
-	 * it is possible to protect/unprotect single pages in the KFENCE pool.
-	 */
-	if (can_set_direct_map() || IS_ENABLED(CONFIG_KFENCE))
+	if (can_set_direct_map())
 		flags |= NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
 
 	__create_pgd_mapping(swapper_pg_dir, start, __phys_to_virt(start),
arch/arm64/mm/pageattr.c +9 -2
index 64e985eaa52d..5922178d7a06 100644
@@ -21,7 +21,13 @@ bool rodata_full __ro_after_init = IS_ENABLED(CONFIG_RODATA_FULL_DEFAULT_ENABLED
 
 bool can_set_direct_map(void)
 {
-	return rodata_full || debug_pagealloc_enabled();
+	/*
+	 * rodata_full, DEBUG_PAGEALLOC and KFENCE require linear map to be
+	 * mapped at page granularity, so that it is possible to
+	 * protect/unprotect single pages.
+	 */
+	return (rodata_enabled && rodata_full) || debug_pagealloc_enabled() ||
+		IS_ENABLED(CONFIG_KFENCE);
 }
 
 static int change_page_range(pte_t *ptep, unsigned long addr, void *data)
@@ -96,7 +102,8 @@ static int change_memory_common(unsigned long addr, int numpages,
 	 * If we are manipulating read-only permissions, apply the same
 	 * change to the linear mapping of the pages that back this VM area.
 	 */
-	if (rodata_full && (pgprot_val(set_mask) == PTE_RDONLY ||
+	if (rodata_enabled &&
+	    rodata_full && (pgprot_val(set_mask) == PTE_RDONLY ||
 			    pgprot_val(clear_mask) == PTE_RDONLY)) {
 		for (i = 0; i < area->nr_pages; i++) {
 			__change_memory_common((u64)page_address(area->pages[i]),
arch/mips/kernel/relocate_kernel.S +5 -10
index cfde14b48fd8..f5b2ef979b43 100644
@@ -145,8 +145,7 @@ LEAF(kexec_smp_wait)
  * kexec_args[0..3] are used to prepare register values.
  */
 
-kexec_args:
-	EXPORT(kexec_args)
+EXPORT(kexec_args)
 arg0:	PTR_WD		0x0
 arg1:	PTR_WD		0x0
 arg2:	PTR_WD		0x0
@@ -159,8 +158,7 @@ arg3:	PTR_WD		0x0
  * their registers a0-a3. secondary_kexec_args[0..3] are used
  * to prepare register values.
  */
-secondary_kexec_args:
-	EXPORT(secondary_kexec_args)
+EXPORT(secondary_kexec_args)
 s_arg0: PTR_WD		0x0
 s_arg1: PTR_WD		0x0
 s_arg2: PTR_WD		0x0
@@ -171,19 +169,16 @@ kexec_flag:
 
 #endif
 
-kexec_start_address:
-	EXPORT(kexec_start_address)
+EXPORT(kexec_start_address)
 	PTR_WD		0x0
 	.size		kexec_start_address, PTRSIZE
 
-kexec_indirection_page:
-	EXPORT(kexec_indirection_page)
+EXPORT(kexec_indirection_page)
 	PTR_WD		0
 	.size		kexec_indirection_page, PTRSIZE
 
 relocate_new_kernel_end:
 
-relocate_new_kernel_size:
-	EXPORT(relocate_new_kernel_size)
+EXPORT(relocate_new_kernel_size)
 	PTR_WD		relocate_new_kernel_end - relocate_new_kernel
 	.size		relocate_new_kernel_size, PTRSIZE
arch/mips/loongson64/reset.c +10 -0
index 758d5d26aaaa..e420800043b0 100644
@@ -16,6 +16,7 @@
 #include <asm/bootinfo.h>
 #include <asm/idle.h>
 #include <asm/reboot.h>
+#include <asm/bug.h>
 
 #include <loongson.h>
 #include <boot_param.h>
@@ -159,8 +160,17 @@ static int __init mips_reboot_setup(void)
 
 #ifdef CONFIG_KEXEC
 	kexec_argv = kmalloc(KEXEC_ARGV_SIZE, GFP_KERNEL);
+	if (WARN_ON(!kexec_argv))
+		return -ENOMEM;
+
 	kdump_argv = kmalloc(KEXEC_ARGV_SIZE, GFP_KERNEL);
+	if (WARN_ON(!kdump_argv))
+		return -ENOMEM;
+
 	kexec_envp = kmalloc(KEXEC_ENVP_SIZE, GFP_KERNEL);
+	if (WARN_ON(!kexec_envp))
+		return -ENOMEM;
+
 	fw_arg1 = KEXEC_ARGV_ADDR;
 	memcpy(kexec_envp, (void *)fw_arg2, KEXEC_ENVP_SIZE);
 
arch/powerpc/Kconfig +1 -1
index cbe7bb029aec..c1d36a22de30 100644
@@ -284,7 +284,7 @@ config PPC
 	#
 
 config PPC_LONG_DOUBLE_128
-	depends on PPC64
+	depends on PPC64 && ALTIVEC
 	def_bool $(success,test "$(shell,echo __LONG_DOUBLE_128__ | $(CC) -E -P -)" = 1)
 
 config PPC_BARRIER_NOSPEC
arch/s390/include/asm/processor.h +10 -1
index bd66f8e34949..00f45d8f1efa 100644
@@ -202,7 +202,16 @@ unsigned long __get_wchan(struct task_struct *p);
 /* Has task runtime instrumentation enabled ? */
 #define is_ri_task(tsk) (!!(tsk)->thread.ri_cb)
 
-register unsigned long current_stack_pointer asm("r15");
+/* avoid using global register due to gcc bug in versions < 8.4 */
+#define current_stack_pointer (__current_stack_pointer())
+
+static __always_inline unsigned long __current_stack_pointer(void)
+{
+	unsigned long sp;
+
+	asm volatile("lgr %0,15" : "=d" (sp));
+	return sp;
+}
 
 static __always_inline unsigned short stap(void)
 {
arch/x86/events/amd/core.c +2 -3
index 9ac3718410ce..7e39c47d7759 100644
@@ -896,8 +896,7 @@ static int amd_pmu_handle_irq(struct pt_regs *regs)
 	pmu_enabled = cpuc->enabled;
 	cpuc->enabled = 0;
 
-	/* stop everything (includes BRS) */
-	amd_pmu_disable_all();
+	amd_brs_disable_all();
 
 	/* Drain BRS is in use (could be inactive) */
 	if (cpuc->lbr_users)
@@ -908,7 +907,7 @@ static int amd_pmu_handle_irq(struct pt_regs *regs)
 
 	cpuc->enabled = pmu_enabled;
 	if (pmu_enabled)
-		amd_pmu_enable_all(0);
+		amd_brs_enable_all();
 
 	return amd_pmu_adjust_nmi_window(handled);
 }
arch/x86/events/amd/uncore.c +1 -0
index d568afc705d2..83f15fe411b3 100644
@@ -553,6 +553,7 @@ static void uncore_clean_online(void)
 
 	hlist_for_each_entry_safe(uncore, n, &uncore_unused_list, node) {
 		hlist_del(&uncore->node);
+		kfree(uncore->events);
 		kfree(uncore);
 	}
 }
arch/x86/events/intel/pt.c +9 -0
index 82ef87e9a897..42a55794004a 100644
@@ -1263,6 +1263,15 @@ static int pt_buffer_try_single(struct pt_buffer *buf, int nr_pages)
 	if (1 << order != nr_pages)
 		goto out;
 
+	/*
+	 * Some processors cannot always support single range for more than
+	 * 4KB - refer errata TGL052, ADL037 and RPL017. Future processors might
+	 * also be affected, so for now rather than trying to keep track of
+	 * which ones, just disable it for all.
+	 */
+	if (nr_pages > 1)
+		goto out;
+
 	buf->single = true;
 	buf->nr_pages = nr_pages;
 	ret = 0;
arch/x86/include/asm/intel-family.h +10 -1
index 5d75fe229342..347707d459c6 100644
@@ -107,6 +107,11 @@
 
 #define INTEL_FAM6_SAPPHIRERAPIDS_X	0x8F	/* Golden Cove */
 
+#define INTEL_FAM6_EMERALDRAPIDS_X	0xCF
+
+#define INTEL_FAM6_GRANITERAPIDS_X	0xAD
+#define INTEL_FAM6_GRANITERAPIDS_D	0xAE
+
 #define INTEL_FAM6_ALDERLAKE		0x97	/* Golden Cove / Gracemont */
 #define INTEL_FAM6_ALDERLAKE_L		0x9A	/* Golden Cove / Gracemont */
 #define INTEL_FAM6_ALDERLAKE_N		0xBE
@@ -118,7 +123,7 @@
 #define INTEL_FAM6_METEORLAKE		0xAC
 #define INTEL_FAM6_METEORLAKE_L		0xAA
 
-/* "Small Core" Processors (Atom) */
+/* "Small Core" Processors (Atom/E-Core) */
 
 #define INTEL_FAM6_ATOM_BONNELL		0x1C /* Diamondville, Pineview */
 #define INTEL_FAM6_ATOM_BONNELL_MID	0x26 /* Silverthorne, Lincroft */
@@ -145,6 +150,10 @@
 #define INTEL_FAM6_ATOM_TREMONT		0x96 /* Elkhart Lake */
 #define INTEL_FAM6_ATOM_TREMONT_L	0x9C /* Jasper Lake */
 
+#define INTEL_FAM6_SIERRAFOREST_X	0xAF
+
+#define INTEL_FAM6_GRANDRIDGE		0xB6
+
 /* Xeon Phi */
 
 #define INTEL_FAM6_XEON_PHI_KNL		0x57 /* Knights Landing */
arch/x86/kernel/cpu/bugs.c +3 -10
index da7c361f47e0..6ec0b7ce7453 100644
@@ -196,22 +196,15 @@ void __init check_bugs(void)
 }
 
 /*
- * NOTE: This function is *only* called for SVM.  VMX spec_ctrl handling is
- * done in vmenter.S.
+ * NOTE: This function is *only* called for SVM, since Intel uses
+ * MSR_IA32_SPEC_CTRL for SSBD.
  */
 void
 x86_virt_spec_ctrl(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl, bool setguest)
 {
-	u64 msrval, guestval = guest_spec_ctrl, hostval = spec_ctrl_current();
+	u64 guestval, hostval;
 	struct thread_info *ti = current_thread_info();
 
-	if (static_cpu_has(X86_FEATURE_MSR_SPEC_CTRL)) {
-		if (hostval != guestval) {
-			msrval = setguest ? guestval : hostval;
-			wrmsrl(MSR_IA32_SPEC_CTRL, msrval);
-		}
-	}
-
 	/*
 	 * If SSBD is not handled in MSR_SPEC_CTRL on AMD, update
 	 * MSR_AMD64_L2_CFG or MSR_VIRT_SPEC_CTRL if supported.
arch/x86/kernel/cpu/sgx/ioctl.c +3 -0
index ebe79d60619f..da8b8ea6b063 100644
@@ -356,6 +356,9 @@ static int sgx_validate_offset_length(struct sgx_encl *encl,
 	if (!length || !IS_ALIGNED(length, PAGE_SIZE))
 		return -EINVAL;
 
+	if (offset + length < offset)
+		return -EINVAL;
+
 	if (offset + length - PAGE_SIZE >= encl->size)
 		return -EINVAL;
 
arch/x86/kernel/fpu/core.c +1 -1
index 3b28c5b25e12..d00db56a8868 100644
@@ -605,9 +605,9 @@ int fpu_clone(struct task_struct *dst, unsigned long clone_flags, bool minimal)
 	if (test_thread_flag(TIF_NEED_FPU_LOAD))
 		fpregs_restore_userregs();
 	save_fpregs_to_fpstate(dst_fpu);
+	fpregs_unlock();
 	if (!(clone_flags & CLONE_THREAD))
 		fpu_inherit_perms(dst_fpu);
-	fpregs_unlock();
 
 	/*
 	 * Children never inherit PASID state.
arch/x86/kvm/kvm-asm-offsets.c +2 -0
index f83e88b85bf2..24a710d37323 100644
@@ -16,8 +16,10 @@ static void __used common(void)
 		BLANK();
 		OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs);
 		OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb);
+		OFFSET(SVM_spec_ctrl, vcpu_svm, spec_ctrl);
 		OFFSET(SVM_vmcb01, vcpu_svm, vmcb01);
 		OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa);
+		OFFSET(SD_save_area_pa, svm_cpu_data, save_area_pa);
 	}
 
 	if (IS_ENABLED(CONFIG_KVM_INTEL)) {
arch/x86/kvm/svm/sev.c +2 -2
index c9c9bd453a97..efaaef2b7ae1 100644
@@ -196,7 +196,7 @@ static void sev_asid_free(struct kvm_sev_info *sev)
 	__set_bit(sev->asid, sev_reclaim_asid_bitmap);
 
 	for_each_possible_cpu(cpu) {
-		sd = per_cpu(svm_data, cpu);
+		sd = per_cpu_ptr(&svm_data, cpu);
 		sd->sev_vmcbs[sev->asid] = NULL;
 	}
 
@@ -2600,7 +2600,7 @@ void sev_es_unmap_ghcb(struct vcpu_svm *svm)
 
 void pre_sev_run(struct vcpu_svm *svm, int cpu)
 {
-	struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
+	struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu);
 	int asid = sev_get_asid(svm->vcpu.kvm);
 
 	/* Assign the asid allocated with this SEV guest */
arch/x86/kvm/svm/svm.c +34 -57

202 lines not on this page · raw message

arch/x86/kvm/svm/svm.h +5 -5
index 7ff1879e73c5..ea3049b978ea 100644
@@ -281,8 +281,6 @@ struct vcpu_svm {
 };
 
 struct svm_cpu_data {
-	int cpu;
-
 	u64 asid_generation;
 	u32 max_asid;
 	u32 next_asid;
@@ -290,13 +288,15 @@ struct svm_cpu_data {
 	struct kvm_ldttss_desc *tss_desc;
 
 	struct page *save_area;
+	unsigned long save_area_pa;
+
 	struct vmcb *current_vmcb;
 
 	/* index = sev_asid, value = vmcb pointer */
 	struct vmcb **sev_vmcbs;
 };
 
-DECLARE_PER_CPU(struct svm_cpu_data *, svm_data);
+DECLARE_PER_CPU(struct svm_cpu_data, svm_data);
 
 void recalc_intercepts(struct vcpu_svm *svm);
 
@@ -683,7 +683,7 @@ void sev_es_unmap_ghcb(struct vcpu_svm *svm);
 
 /* vmenter.S */
 
-void __svm_sev_es_vcpu_run(struct vcpu_svm *svm);
-void __svm_vcpu_run(struct vcpu_svm *svm);
+void __svm_sev_es_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted);
+void __svm_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted);
 
 #endif
arch/x86/kvm/svm/svm_ops.h +0 -5
index 9430d6437c9f..36c8af87a707 100644
@@ -61,9 +61,4 @@ static __always_inline void vmsave(unsigned long pa)
 	svm_asm1(vmsave, "a" (pa), "memory");
 }
 
-static __always_inline void vmload(unsigned long pa)
-{
-	svm_asm1(vmload, "a" (pa), "memory");
-}
-
 #endif /* __KVM_X86_SVM_OPS_H */
arch/x86/kvm/svm/vmenter.S +133 -3

226 lines not on this page · raw message

arch/x86/kvm/xen.c +4 -3
index cecf8299b187..9a1950879fc4 100644
@@ -1667,18 +1667,18 @@ static int kvm_xen_eventfd_assign(struct kvm *kvm,
 	case EVTCHNSTAT_ipi:
 		/* IPI  must map back to the same port# */
 		if (data->u.evtchn.deliver.port.port != data->u.evtchn.send_port)
-			goto out; /* -EINVAL */
+			goto out_noeventfd; /* -EINVAL */
 		break;
 
 	case EVTCHNSTAT_interdomain:
 		if (data->u.evtchn.deliver.port.port) {
 			if (data->u.evtchn.deliver.port.port >= max_evtchn_port(kvm))
-				goto out; /* -EINVAL */
+				goto out_noeventfd; /* -EINVAL */
 		} else {
 			eventfd = eventfd_ctx_fdget(data->u.evtchn.deliver.eventfd.fd);
 			if (IS_ERR(eventfd)) {
 				ret = PTR_ERR(eventfd);
-				goto out;
+				goto out_noeventfd;
 			}
 		}
 		break;
@@ -1718,6 +1718,7 @@ static int kvm_xen_eventfd_assign(struct kvm *kvm,
 out:
 	if (eventfd)
 		eventfd_ctx_put(eventfd);
+out_noeventfd:
 	kfree(evtchnfd);
 	return ret;
 }
block/blk-cgroup.c +1 -1
index 869af9d72bcf..c8f0c865bf4e 100644
@@ -1251,7 +1251,7 @@ static int blkcg_css_online(struct cgroup_subsys_state *css)
 	 * parent so that offline always happens towards the root.
 	 */
 	if (parent)
-		blkcg_pin_online(css);
+		blkcg_pin_online(&parent->css);
 	return 0;
 }
 
block/blk-core.c +0 -1
index 651057c4146b..2fbdf17f2206 100644
@@ -426,7 +426,6 @@ struct request_queue *blk_alloc_queue(int node_id, bool alloc_srcu)
 				PERCPU_REF_INIT_ATOMIC, GFP_KERNEL))
 		goto fail_stats;
 
-	blk_queue_dma_alignment(q, 511);
 	blk_set_default_limits(&q->limits);
 	q->nr_requests = BLKDEV_DEFAULT_RQ;
 
block/blk-mq.c +1 -0
index edf41959a705..4402e4ecb8b1 100644
@@ -1183,6 +1183,7 @@ static void blk_add_rq_to_plug(struct blk_plug *plug, struct request *rq)
 		   (!blk_queue_nomerges(rq->q) &&
 		    blk_rq_bytes(last) >= BLK_PLUG_FLUSH_SIZE)) {
 		blk_mq_flush_plug_list(plug, false);
+		last = NULL;
 		trace_block_plug(rq->q);
 	}
 
block/blk-settings.c +5 -3
index 8bb9eef5310e..4949ed3ce7c9 100644
@@ -57,6 +57,7 @@ void blk_set_default_limits(struct queue_limits *lim)
 	lim->misaligned = 0;
 	lim->zoned = BLK_ZONED_NONE;
 	lim->zone_write_granularity = 0;
+	lim->dma_alignment = 511;
 }
 EXPORT_SYMBOL(blk_set_default_limits);
 
@@ -600,6 +601,7 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
 
 	t->io_min = max(t->io_min, b->io_min);
 	t->io_opt = lcm_not_zero(t->io_opt, b->io_opt);
+	t->dma_alignment = max(t->dma_alignment, b->dma_alignment);
 
 	/* Set non-power-of-2 compatible chunk_sectors boundary */
 	if (b->chunk_sectors)
@@ -773,7 +775,7 @@ EXPORT_SYMBOL(blk_queue_virt_boundary);
  **/
 void blk_queue_dma_alignment(struct request_queue *q, int mask)
 {
-	q->dma_alignment = mask;
+	q->limits.dma_alignment = mask;
 }
 EXPORT_SYMBOL(blk_queue_dma_alignment);
 
@@ -795,8 +797,8 @@ void blk_queue_update_dma_alignment(struct request_queue *q, int mask)
 {
 	BUG_ON(mask > PAGE_SIZE);
 
-	if (mask > q->dma_alignment)
-		q->dma_alignment = mask;
+	if (mask > q->limits.dma_alignment)
+		q->limits.dma_alignment = mask;
 }
 EXPORT_SYMBOL(blk_queue_update_dma_alignment);
 
block/sed-opal.c +28 -4
index 9700197000f2..55cd37e868c0 100644
@@ -88,8 +88,8 @@ struct opal_dev {
 	u64 lowest_lba;
 
 	size_t pos;
-	u8 cmd[IO_BUFFER_LENGTH];
-	u8 resp[IO_BUFFER_LENGTH];
+	u8 *cmd;
+	u8 *resp;
 
 	struct parsed_resp parsed;
 	size_t prev_d_len;
@@ -2134,6 +2134,8 @@ void free_opal_dev(struct opal_dev *dev)
 		return;
 
 	clean_opal_dev(dev);
+	kfree(dev->resp);
+	kfree(dev->cmd);
 	kfree(dev);
 }
 EXPORT_SYMBOL(free_opal_dev);
@@ -2146,17 +2148,39 @@ struct opal_dev *init_opal_dev(void *data, sec_send_recv *send_recv)
 	if (!dev)
 		return NULL;
 
+	/*
+	 * Presumably DMA-able buffers must be cache-aligned. Kmalloc makes
+	 * sure the allocated buffer is DMA-safe in that regard.
+	 */
+	dev->cmd = kmalloc(IO_BUFFER_LENGTH, GFP_KERNEL);
+	if (!dev->cmd)
+		goto err_free_dev;
+
+	dev->resp = kmalloc(IO_BUFFER_LENGTH, GFP_KERNEL);
+	if (!dev->resp)
+		goto err_free_cmd;
+
 	INIT_LIST_HEAD(&dev->unlk_lst);
 	mutex_init(&dev->dev_lock);
 	dev->data = data;
 	dev->send_recv = send_recv;
 	if (check_opal_support(dev) != 0) {
 		pr_debug("Opal is not supported on this device\n");
-		kfree(dev);
-		return NULL;
+		goto err_free_resp;
 	}
 
 	return dev;
+
+err_free_resp:
+	kfree(dev->resp);
+
+err_free_cmd:
+	kfree(dev->cmd);
+
+err_free_dev:
+	kfree(dev);
+
+	return NULL;
 }
 EXPORT_SYMBOL(init_opal_dev);
 
drivers/accessibility/speakup/main.c +1 -1
index f52265293482..73db0cb44fc7 100644
@@ -1778,7 +1778,7 @@ static void speakup_con_update(struct vc_data *vc)
 {
 	unsigned long flags;
 
-	if (!speakup_console[vc->vc_num] || spk_parked)
+	if (!speakup_console[vc->vc_num] || spk_parked || !synth)
 		return;
 	if (!spin_trylock_irqsave(&speakup_info.spinlock, flags))
 		/* Speakup output, discard */
drivers/accessibility/speakup/utils.h +1 -1
index 4bf2ee8ac246..4ce9a12f7664 100644
@@ -54,7 +54,7 @@ static inline int oops(const char *msg, const char *info)
 
 static inline struct st_key *hash_name(char *name)
 {
-	u_char *pn = (u_char *)name;
+	unsigned char *pn = (unsigned char *)name;
 	int hash = 0;
 
 	while (*pn) {
drivers/acpi/scan.c +1 -0
index 42cec8120f18..adfeb5770efd 100644
@@ -796,6 +796,7 @@ static bool acpi_info_matches_ids(struct acpi_device_info *info,
 static const char * const acpi_ignore_dep_ids[] = {
 	"PNP0D80", /* Windows-compatible System Power Management Controller */
 	"INT33BD", /* Intel Baytrail Mailbox Device */
+	"LATT2021", /* Lattice FW Update Client Driver */
 	NULL
 };
 
drivers/acpi/x86/utils.c +6 -0
index d7cdd8406c84..950a93922ca8 100644
@@ -219,6 +219,12 @@ static const struct dmi_system_id force_storage_d3_dmi[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 14 7425 2-in-1"),
 		}
 	},
+	{
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 16 5625"),
+		}
+	},
 	{}
 };
 
drivers/ata/libata-scsi.c +10 -0
index b0e442a75690..d86e32b71efa 100644
@@ -3966,9 +3966,19 @@ static inline ata_xlat_func_t ata_get_xlat_func(struct ata_device *dev, u8 cmd)
 
 int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev)
 {
+	struct ata_port *ap = dev->link->ap;
 	u8 scsi_op = scmd->cmnd[0];
 	ata_xlat_func_t xlat_func;
 
+	/*
+	 * scsi_queue_rq() will defer commands if scsi_host_in_recovery().
+	 * However, this check is done without holding the ap->lock (a libata
+	 * specific lock), so we can have received an error irq since then,
+	 * therefore we must check if EH is pending, while holding ap->lock.
+	 */
+	if (ap->pflags & (ATA_PFLAG_EH_PENDING | ATA_PFLAG_EH_IN_PROGRESS))
+		return SCSI_MLQUEUE_DEVICE_BUSY;
+
 	if (unlikely(!scmd->cmd_len))
 		goto bad_cdb_len;
 
drivers/ata/libata-transport.c +15 -4
index a7e9a75410a3..e4fb9d1b9b39 100644
@@ -301,7 +301,9 @@ int ata_tport_add(struct device *parent,
 	pm_runtime_enable(dev);
 	pm_runtime_forbid(dev);
 
-	transport_add_device(dev);
+	error = transport_add_device(dev);
+	if (error)
+		goto tport_transport_add_err;
 	transport_configure_device(dev);
 
 	error = ata_tlink_add(&ap->link);
@@ -312,12 +314,12 @@ int ata_tport_add(struct device *parent,
 
  tport_link_err:
 	transport_remove_device(dev);
+ tport_transport_add_err:
 	device_del(dev);
 
  tport_err:
 	transport_destroy_device(dev);
 	put_device(dev);
-	ata_host_put(ap->host);
 	return error;
 }
 
@@ -456,7 +458,9 @@ int ata_tlink_add(struct ata_link *link)
 		goto tlink_err;
 	}
 
-	transport_add_device(dev);
+	error = transport_add_device(dev);
+	if (error)
+		goto tlink_transport_err;
 	transport_configure_device(dev);
 
 	ata_for_each_dev(ata_dev, link, ALL) {
@@ -471,6 +475,7 @@ int ata_tlink_add(struct ata_link *link)
 		ata_tdev_delete(ata_dev);
 	}
 	transport_remove_device(dev);
+  tlink_transport_err:
 	device_del(dev);
   tlink_err:
 	transport_destroy_device(dev);
@@ -708,7 +713,13 @@ static int ata_tdev_add(struct ata_device *ata_dev)
 		return error;
 	}
 
-	transport_add_device(dev);
+	error = transport_add_device(dev);
+	if (error) {
+		device_del(dev);
+		ata_tdev_free(ata_dev);
+		return error;
+	}
+
 	transport_configure_device(dev);
 	return 0;
 }
drivers/block/drbd/drbd_main.c +2 -2
index f3e4db16fd07..8532b839a343 100644
@@ -2672,7 +2672,7 @@ static int init_submitter(struct drbd_device *device)
 enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsigned int minor)
 {
 	struct drbd_resource *resource = adm_ctx->resource;
-	struct drbd_connection *connection;
+	struct drbd_connection *connection, *n;
 	struct drbd_device *device;
 	struct drbd_peer_device *peer_device, *tmp_peer_device;
 	struct gendisk *disk;
@@ -2789,7 +2789,7 @@ enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsig
 	return NO_ERROR;
 
 out_idr_remove_from_resource:
-	for_each_connection(connection, resource) {
+	for_each_connection_safe(connection, n, resource) {
 		peer_device = idr_remove(&connection->peer_devices, vnr);
 		if (peer_device)
 			kref_put(&connection->kref, drbd_destroy_connection);
drivers/cxl/core/mbox.c +1 -1
index 16176b9278b4..0c90f13870a4 100644
@@ -174,7 +174,7 @@ int cxl_mbox_send_cmd(struct cxl_dev_state *cxlds, u16 opcode, void *in,
 	};
 	int rc;
 
-	if (out_size > cxlds->payload_size)
+	if (in_size > cxlds->payload_size || out_size > cxlds->payload_size)
 		return -E2BIG;
 
 	rc = cxlds->mbox_send(cxlds, &mbox_cmd);
drivers/cxl/pmem.c +1 -1
index faade12279f0..e0646097a3d4 100644
@@ -151,7 +151,7 @@ static int cxl_pmem_set_config_data(struct cxl_dev_state *cxlds,
 		return -EINVAL;
 
 	/* 4-byte status follows the input data in the payload */
-	if (struct_size(cmd, in_buf, cmd->in_length) + 4 > buf_len)
+	if (size_add(struct_size(cmd, in_buf, cmd->in_length), 4) > buf_len)
 		return -EINVAL;
 
 	set_lsa =
drivers/firmware/arm_scmi/bus.c +11 -0
index d4e23101448a..35bb70724d44 100644
@@ -216,9 +216,20 @@ void scmi_device_destroy(struct scmi_device *scmi_dev)
 	device_unregister(&scmi_dev->dev);
 }
 
+void scmi_device_link_add(struct device *consumer, struct device *supplier)
+{
+	struct device_link *link;
+
+	link = device_link_add(consumer, supplier, DL_FLAG_AUTOREMOVE_CONSUMER);
+
+	WARN_ON(!link);
+}
+
 void scmi_set_handle(struct scmi_device *scmi_dev)
 {
 	scmi_dev->handle = scmi_handle_get(&scmi_dev->dev);
+	if (scmi_dev->handle)
+		scmi_device_link_add(&scmi_dev->dev, scmi_dev->handle->dev);
 }
 
 int scmi_protocol_register(const struct scmi_protocol *proto)
drivers/firmware/arm_scmi/common.h +4 -1
index 61aba7447c32..a1c0154c31c6 100644
@@ -97,6 +97,7 @@ static inline void unpack_scmi_header(u32 msg_hdr, struct scmi_msg_hdr *hdr)
 struct scmi_revision_info *
 scmi_revision_area_get(const struct scmi_protocol_handle *ph);
 int scmi_handle_put(const struct scmi_handle *handle);
+void scmi_device_link_add(struct device *consumer, struct device *supplier);
 struct scmi_handle *scmi_handle_get(struct device *dev);
 void scmi_set_handle(struct scmi_device *scmi_dev);
 void scmi_setup_protocol_implemented(const struct scmi_protocol_handle *ph,
@@ -117,6 +118,7 @@ void scmi_protocol_release(const struct scmi_handle *handle, u8 protocol_id);
  *
  * @dev: Reference to device in the SCMI hierarchy corresponding to this
  *	 channel
+ * @rx_timeout_ms: The configured RX timeout in milliseconds.
  * @handle: Pointer to SCMI entity handle
  * @no_completion_irq: Flag to indicate that this channel has no completion
  *		       interrupt mechanism for synchronous commands.
@@ -126,6 +128,7 @@ void scmi_protocol_release(const struct scmi_handle *handle, u8 protocol_id);
  */
 struct scmi_chan_info {
 	struct device *dev;
+	unsigned int rx_timeout_ms;
 	struct scmi_handle *handle;
 	bool no_completion_irq;
 	void *transport_info;
@@ -232,7 +235,7 @@ void scmi_free_channel(struct scmi_chan_info *cinfo, struct idr *idr, int id);
 struct scmi_shared_mem;
 
 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem,
-		      struct scmi_xfer *xfer);
+		      struct scmi_xfer *xfer, struct scmi_chan_info *cinfo);
 u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem);
 void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem,
 			  struct scmi_xfer *xfer);
drivers/firmware/arm_scmi/driver.c +20 -12
index 9022f5ee29aa..f818d00bb2c6 100644
@@ -2013,6 +2013,7 @@ static int scmi_chan_setup(struct scmi_info *info, struct device *dev,
 		return -ENOMEM;
 
 	cinfo->dev = dev;
+	cinfo->rx_timeout_ms = info->desc->max_rx_timeout_ms;
 
 	ret = info->desc->ops->chan_setup(cinfo, info->dev, tx);
 	if (ret)
@@ -2277,10 +2278,16 @@ int scmi_protocol_device_request(const struct scmi_device_id *id_table)
 			sdev = scmi_get_protocol_device(child, info,
 							id_table->protocol_id,
 							id_table->name);
-			/* Set handle if not already set: device existed */
-			if (sdev && !sdev->handle)
-				sdev->handle =
-					scmi_handle_get_from_info_unlocked(info);
+			if (sdev) {
+				/* Set handle if not already set: device existed */
+				if (!sdev->handle)
+					sdev->handle =
+						scmi_handle_get_from_info_unlocked(info);
+				/* Relink consumer and suppliers */
+				if (sdev->handle)
+					scmi_device_link_add(&sdev->dev,
+							     sdev->handle->dev);
+			}
 		} else {
 			dev_err(info->dev,
 				"Failed. SCMI protocol %d not active.\n",
@@ -2479,20 +2486,17 @@ void scmi_free_channel(struct scmi_chan_info *cinfo, struct idr *idr, int id)
 
 static int scmi_remove(struct platform_device *pdev)
 {
-	int ret = 0, id;
+	int ret, id;
 	struct scmi_info *info = platform_get_drvdata(pdev);
 	struct device_node *child;
 
 	mutex_lock(&scmi_list_mutex);
 	if (info->users)
-		ret = -EBUSY;
-	else
-		list_del(&info->node);
+		dev_warn(&pdev->dev,
+			 "Still active SCMI users will be forcibly unbound.\n");
+	list_del(&info->node);
 	mutex_unlock(&scmi_list_mutex);
 
-	if (ret)
-		return ret;
-
 	scmi_notification_exit(&info->handle);
 
 	mutex_lock(&info->protocols_mtx);
@@ -2504,7 +2508,11 @@ static int scmi_remove(struct platform_device *pdev)
 	idr_destroy(&info->active_protocols);
 
 	/* Safe to free channels since no more users */
-	return scmi_cleanup_txrx_channels(info);
+	ret = scmi_cleanup_txrx_channels(info);
+	if (ret)
+		dev_warn(&pdev->dev, "Failed to cleanup SCMI channels.\n");
+
+	return 0;
 }
 
 static ssize_t protocol_version_show(struct device *dev,
drivers/firmware/arm_scmi/mailbox.c +1 -1
index 08ff4d110beb..1e40cb035044 100644
@@ -36,7 +36,7 @@ static void tx_prepare(struct mbox_client *cl, void *m)
 {
 	struct scmi_mailbox *smbox = client_to_scmi_mailbox(cl);
 
-	shmem_tx_prepare(smbox->shmem, m);
+	shmem_tx_prepare(smbox->shmem, m, smbox->cinfo);
 }
 
 static void rx_callback(struct mbox_client *cl, void *m)
drivers/firmware/arm_scmi/optee.c +1 -1
index f42dad997ac9..2a7aeab40e54 100644
@@ -498,7 +498,7 @@ static int scmi_optee_send_message(struct scmi_chan_info *cinfo,
 		msg_tx_prepare(channel->req.msg, xfer);
 		ret = invoke_process_msg_channel(channel, msg_command_size(xfer));
 	} else {
-		shmem_tx_prepare(channel->req.shmem, xfer);
+		shmem_tx_prepare(channel->req.shmem, xfer, cinfo);
 		ret = invoke_process_smt_channel(channel);
 	}
 
drivers/firmware/arm_scmi/shmem.c +27 -4
index 0e3eaea5d852..1dfe534b8518 100644
@@ -5,10 +5,13 @@
  * Copyright (C) 2019 ARM Ltd.
  */
 
+#include <linux/ktime.h>
 #include <linux/io.h>
 #include <linux/processor.h>
 #include <linux/types.h>
 
+#include <asm-generic/bug.h>
+
 #include "common.h"
 
 /*
@@ -30,16 +33,36 @@ struct scmi_shared_mem {
 };
 
 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem,
-		      struct scmi_xfer *xfer)
+		      struct scmi_xfer *xfer, struct scmi_chan_info *cinfo)
 {
+	ktime_t stop;
+
 	/*
 	 * Ideally channel must be free by now unless OS timeout last
 	 * request and platform continued to process the same, wait
 	 * until it releases the shared memory, otherwise we may endup
-	 * overwriting its response with new message payload or vice-versa
+	 * overwriting its response with new message payload or vice-versa.
+	 * Giving up anyway after twice the expected channel timeout so as
+	 * not to bail-out on intermittent issues where the platform is
+	 * occasionally a bit slower to answer.
+	 *
+	 * Note that after a timeout is detected we bail-out and carry on but
+	 * the transport functionality is probably permanently compromised:
+	 * this is just to ease debugging and avoid complete hangs on boot
+	 * due to a misbehaving SCMI firmware.
 	 */
-	spin_until_cond(ioread32(&shmem->channel_status) &
-			SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE);
+	stop = ktime_add_ms(ktime_get(), 2 * cinfo->rx_timeout_ms);
+	spin_until_cond((ioread32(&shmem->channel_status) &
+			 SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) ||
+			 ktime_after(ktime_get(), stop));
+	if (!(ioread32(&shmem->channel_status) &
+	      SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE)) {
+		WARN_ON_ONCE(1);
+		dev_err(cinfo->dev,
+			"Timeout waiting for a free TX channel !\n");
+		return;
+	}
+
 	/* Mark channel busy + clear error */
 	iowrite32(0x0, &shmem->channel_status);
 	iowrite32(xfer->hdr.poll_completion ? 0 : SCMI_SHMEM_FLAG_INTR_ENABLED,
drivers/firmware/arm_scmi/smc.c +1 -1
index 745acfdd0b3d..87a7b13cf868 100644
@@ -188,7 +188,7 @@ static int smc_send_message(struct scmi_chan_info *cinfo,
 	 */
 	smc_channel_lock_acquire(scmi_info, xfer);
 
-	shmem_tx_prepare(scmi_info->shmem, xfer);
+	shmem_tx_prepare(scmi_info->shmem, xfer, cinfo);
 
 	arm_smccc_1_1_invoke(scmi_info->func_id, 0, 0, 0, 0, 0, 0, 0, &res);
 
drivers/firmware/google/coreboot_table.c +29 -8
index c52bcaa9def6..9ca21feb9d45 100644
@@ -149,12 +149,8 @@ static int coreboot_table_probe(struct platform_device *pdev)
 	if (!ptr)
 		return -ENOMEM;
 
-	ret = bus_register(&coreboot_bus_type);
-	if (!ret) {
-		ret = coreboot_table_populate(dev, ptr);
-		if (ret)
-			bus_unregister(&coreboot_bus_type);
-	}
+	ret = coreboot_table_populate(dev, ptr);
+
 	memunmap(ptr);
 
 	return ret;
@@ -169,7 +165,6 @@ static int __cb_dev_unregister(struct device *dev, void *dummy)
 static int coreboot_table_remove(struct platform_device *pdev)
 {
 	bus_for_each_dev(&coreboot_bus_type, NULL, NULL, __cb_dev_unregister);
-	bus_unregister(&coreboot_bus_type);
 	return 0;
 }
 
@@ -199,6 +194,32 @@ static struct platform_driver coreboot_table_driver = {
 		.of_match_table = of_match_ptr(coreboot_of_match),
 	},
 };
-module_platform_driver(coreboot_table_driver);
+
+static int __init coreboot_table_driver_init(void)
+{
+	int ret;
+
+	ret = bus_register(&coreboot_bus_type);
+	if (ret)
+		return ret;
+
+	ret = platform_driver_register(&coreboot_table_driver);
+	if (ret) {
+		bus_unregister(&coreboot_bus_type);
+		return ret;
+	}
+
+	return 0;
+}
+
+static void __exit coreboot_table_driver_exit(void)
+{
+	platform_driver_unregister(&coreboot_table_driver);
+	bus_unregister(&coreboot_bus_type);
+}
+
+module_init(coreboot_table_driver_init);
+module_exit(coreboot_table_driver_exit);
+
 MODULE_AUTHOR("Google, Inc.");
 MODULE_LICENSE("GPL");
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +10 -5
index 9170aeaad93e..e0c960cc1d2e 100644
@@ -4055,15 +4055,18 @@ void amdgpu_device_fini_sw(struct amdgpu_device *adev)
  * at suspend time.
  *
  */
-static void amdgpu_device_evict_resources(struct amdgpu_device *adev)
+static int amdgpu_device_evict_resources(struct amdgpu_device *adev)
 {
+	int ret;
+
 	/* No need to evict vram on APUs for suspend to ram or s2idle */
 	if ((adev->in_s3 || adev->in_s0ix) && (adev->flags & AMD_IS_APU))
-		return;
+		return 0;
 
-	if (amdgpu_ttm_evict_resources(adev, TTM_PL_VRAM))
+	ret = amdgpu_ttm_evict_resources(adev, TTM_PL_VRAM);
+	if (ret)
 		DRM_WARN("evicting device resources failed\n");
-
+	return ret;
 }
 
 /*
@@ -4113,7 +4116,9 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
 	if (!adev->in_s0ix)
 		amdgpu_amdkfd_suspend(adev, adev->in_runpm);
 
-	amdgpu_device_evict_resources(adev);
+	r = amdgpu_device_evict_resources(adev);
+	if (r)
+		return r;
 
 	amdgpu_fence_driver_hw_fini(adev);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c +2 -0
index 576849e95296..f69827aefb57 100644
@@ -500,6 +500,8 @@ static int amdgpu_vkms_sw_init(void *handle)
 
 	adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
 
+	adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
+
 	r = amdgpu_display_modeset_create_props(adev);
 	if (r)
 		return r;
drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +8 -1
index 2dd827472d6e..3bff0ae15e64 100644
@@ -96,7 +96,14 @@ static int mes_v11_0_submit_pkt_and_poll_completion(struct amdgpu_mes *mes,
 	struct amdgpu_device *adev = mes->adev;
 	struct amdgpu_ring *ring = &mes->ring;
 	unsigned long flags;
+	signed long timeout = adev->usec_timeout;
 
+	if (amdgpu_emu_mode) {
+		timeout *= 100;
+	} else if (amdgpu_sriov_vf(adev)) {
+		/* Worst case in sriov where all other 15 VF timeout, each VF needs about 600ms */
+		timeout = 15 * 600 * 1000;
+	}
 	BUG_ON(size % 4 != 0);
 
 	spin_lock_irqsave(&mes->ring_lock, flags);
@@ -116,7 +123,7 @@ static int mes_v11_0_submit_pkt_and_poll_completion(struct amdgpu_mes *mes,
 	DRM_DEBUG("MES msg=%d was emitted\n", x_pkt->header.opcode);
 
 	r = amdgpu_fence_wait_polling(ring, ring->fence_drv.sync_seq,
-		      adev->usec_timeout * (amdgpu_emu_mode ? 100 : 1));
+		      timeout);
 	if (r < 1) {
 		DRM_ERROR("MES failed to response msg=%d\n",
 			  x_pkt->header.opcode);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +29 -6
index 3be70848b202..7f8eb09b0b7c 100644
@@ -146,6 +146,14 @@ MODULE_FIRMWARE(FIRMWARE_NAVI12_DMCU);
 /* Number of bytes in PSP footer for firmware. */
 #define PSP_FOOTER_BYTES 0x100
 
+/*
+ * DMUB Async to Sync Mechanism Status
+ */
+#define DMUB_ASYNC_TO_SYNC_ACCESS_FAIL 1
+#define DMUB_ASYNC_TO_SYNC_ACCESS_TIMEOUT 2
+#define DMUB_ASYNC_TO_SYNC_ACCESS_SUCCESS 3
+#define DMUB_ASYNC_TO_SYNC_ACCESS_INVALID 4
+
 /**
  * DOC: overview
  *
@@ -1549,6 +1557,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
 
 	adev->dm.dc->debug.visual_confirm = amdgpu_dc_visual_confirm;
 
+	/* TODO: Remove after DP2 receiver gets proper support of Cable ID feature */
+	adev->dm.dc->debug.ignore_cable_id = true;
+
 	r = dm_dmub_hw_init(adev);
 	if (r) {
 		DRM_ERROR("DMUB interface failed to initialize: status=%d\n", r);
@@ -1634,12 +1645,6 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
 		}
 	}
 
-	if (amdgpu_dm_initialize_drm_device(adev)) {
-		DRM_ERROR(
-		"amdgpu: failed to initialize sw for display support.\n");
-		goto error;
-	}
-
 	/* Enable outbox notification only after IRQ handlers are registered and DMUB is alive.
 	 * It is expected that DMUB will resend any pending notifications at this point, for
 	 * example HPD from DPIA.
@@ -1647,6 +1652,12 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
 	if (dc_is_dmub_outbox_supported(adev->dm.dc))
 		dc_enable_dmub_outbox(adev->dm.dc);
 
+	if (amdgpu_dm_initialize_drm_device(adev)) {
+		DRM_ERROR(
+		"amdgpu: failed to initialize sw for display support.\n");
+		goto error;
+	}
+
 	/* create fake encoders for MST */
 	dm_dp_create_fake_mst_encoders(adev);
 
@@ -10146,6 +10157,8 @@ static int amdgpu_dm_set_dmub_async_sync_status(bool is_cmd_aux,
 			*operation_result = AUX_RET_ERROR_TIMEOUT;
 		} else if (status_type == DMUB_ASYNC_TO_SYNC_ACCESS_FAIL) {
 			*operation_result = AUX_RET_ERROR_ENGINE_ACQUIRE;
+		} else if (status_type == DMUB_ASYNC_TO_SYNC_ACCESS_INVALID) {
+			*operation_result = AUX_RET_ERROR_INVALID_REPLY;
 		} else {
 			*operation_result = AUX_RET_ERROR_UNKNOWN;
 		}
@@ -10193,6 +10206,16 @@ int amdgpu_dm_process_dmub_aux_transfer_sync(bool is_cmd_aux, struct dc_context
 			payload->reply[0] = adev->dm.dmub_notify->aux_reply.command;
 			if (!payload->write && adev->dm.dmub_notify->aux_reply.length &&
 			    payload->reply[0] == AUX_TRANSACTION_REPLY_AUX_ACK) {
+
+				if (payload->length != adev->dm.dmub_notify->aux_reply.length) {
+					DRM_WARN("invalid read from DPIA AUX %x(%d) got length %d!\n",
+							payload->address, payload->length,
+							adev->dm.dmub_notify->aux_reply.length);
+					return amdgpu_dm_set_dmub_async_sync_status(is_cmd_aux, ctx,
+							DMUB_ASYNC_TO_SYNC_ACCESS_INVALID,
+							(uint32_t *)operation_result);
+				}
+
 				memcpy(payload->data, adev->dm.dmub_notify->aux_reply.data,
 				       adev->dm.dmub_notify->aux_reply.length);
 			}
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +0 -6
index 90b306a1dd68..4f2228d742f4 100644
@@ -50,12 +50,6 @@
 
 #define AMDGPU_DMUB_NOTIFICATION_MAX 5
 
-/*
- * DMUB Async to Sync Mechanism Status
- */
-#define DMUB_ASYNC_TO_SYNC_ACCESS_FAIL 1
-#define DMUB_ASYNC_TO_SYNC_ACCESS_TIMEOUT 2
-#define DMUB_ASYNC_TO_SYNC_ACCESS_SUCCESS 3
 /*
 #include "include/amdgpu_dal_power_if.h"
 #include "amdgpu_dm_irq.h"
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c +8 -2
index 594fe8a4d02b..64dd02970292 100644
@@ -412,7 +412,7 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
 {
 	struct amdgpu_crtc *acrtc = NULL;
 	struct drm_plane *cursor_plane;
-
+	bool is_dcn;
 	int res = -ENOMEM;
 
 	cursor_plane = kzalloc(sizeof(*cursor_plane), GFP_KERNEL);
@@ -450,8 +450,14 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
 	acrtc->otg_inst = -1;
 
 	dm->adev->mode_info.crtcs[crtc_index] = acrtc;
-	drm_crtc_enable_color_mgmt(&acrtc->base, MAX_COLOR_LUT_ENTRIES,
+
+	/* Don't enable DRM CRTC degamma property for DCE since it doesn't
+	 * support programmable degamma anywhere.
+	 */
+	is_dcn = dm->adev->dm.dc->caps.color.dpp.dcn_arch;
+	drm_crtc_enable_color_mgmt(&acrtc->base, is_dcn ? MAX_COLOR_LUT_ENTRIES : 0,
 				   true, MAX_COLOR_LUT_ENTRIES);
+
 	drm_mode_crtc_set_gamma_size(&acrtc->base, MAX_COLOR_LEGACY_LUT_ENTRIES);
 
 	return 0;
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c +30 -0
index 09fbb7ad5362..de3a1f3fd4f1 100644
@@ -2392,6 +2392,26 @@ static enum bp_result get_vram_info_v25(
 	return result;
 }
 
+static enum bp_result get_vram_info_v30(
+	struct bios_parser *bp,
+	struct dc_vram_info *info)
+{
+	struct atom_vram_info_header_v3_0 *info_v30;
+	enum bp_result result = BP_RESULT_OK;
+
+	info_v30 = GET_IMAGE(struct atom_vram_info_header_v3_0,
+						DATA_TABLES(vram_info));
+
+	if (info_v30 == NULL)
+		return BP_RESULT_BADBIOSTABLE;
+
+	info->num_chans = info_v30->channel_num;
+	info->dram_channel_width_bytes = (1 << info_v30->channel_width) / 8;
+
+	return result;
+}
+
+
 /*
  * get_integrated_info_v11
  *
@@ -3025,6 +3045,16 @@ static enum bp_result bios_parser_get_vram_info(
 			}
 			break;
 
+		case 3:
+			switch (revision.minor) {
+			case 0:
+				result = get_vram_info_v30(bp, info);
+				break;
+			default:
+				break;
+			}
+			break;
+
 		default:
 			return result;
 		}
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c +1 -11
index 598ce872a8d7..0f30df523fdf 100644
@@ -1262,16 +1262,6 @@ void dcn20_pipe_control_lock(
 					lock,
 					&hw_locks,
 					&inst_flags);
-	} else if (pipe->stream && pipe->stream->mall_stream_config.type == SUBVP_MAIN) {
-		union dmub_inbox0_cmd_lock_hw hw_lock_cmd = { 0 };
-		hw_lock_cmd.bits.command_code = DMUB_INBOX0_CMD__HW_LOCK;
-		hw_lock_cmd.bits.hw_lock_client = HW_LOCK_CLIENT_DRIVER;
-		hw_lock_cmd.bits.lock_pipe = 1;
-		hw_lock_cmd.bits.otg_inst = pipe->stream_res.tg->inst;
-		hw_lock_cmd.bits.lock = lock;
-		if (!lock)
-			hw_lock_cmd.bits.should_release = 1;
-		dmub_hw_lock_mgr_inbox0_cmd(dc->ctx->dmub_srv, hw_lock_cmd);
 	} else if (pipe->plane_state != NULL && pipe->plane_state->triplebuffer_flips) {
 		if (lock)
 			pipe->stream_res.tg->funcs->triplebuffer_lock(pipe->stream_res.tg);
@@ -1848,7 +1838,7 @@ void dcn20_post_unlock_program_front_end(
 
 			for (j = 0; j < TIMEOUT_FOR_PIPE_ENABLE_MS*1000
 					&& hubp->funcs->hubp_is_flip_pending(hubp); j++)
-				mdelay(1);
+				udelay(1);
 		}
 	}
 
drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c +1 -0
index 84e1486f3d51..39a57bcd7866 100644
@@ -87,6 +87,7 @@ static struct hubp_funcs dcn31_hubp_funcs = {
 	.hubp_init = hubp3_init,
 	.set_unbounded_requesting = hubp31_set_unbounded_requesting,
 	.hubp_soft_reset = hubp31_soft_reset,
+	.hubp_set_flip_int = hubp1_set_flip_int,
 	.hubp_in_blank = hubp1_in_blank,
 	.program_extended_blank = hubp31_program_extended_blank,
 };
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_optc.c +1 -1
index 38aa28ec6b13..9c95ad145420 100644
@@ -237,7 +237,7 @@ static struct timing_generator_funcs dcn314_tg_funcs = {
 		.clear_optc_underflow = optc1_clear_optc_underflow,
 		.setup_global_swap_lock = NULL,
 		.get_crc = optc1_get_crc,
-		.configure_crc = optc2_configure_crc,
+		.configure_crc = optc1_configure_crc,
 		.set_dsc_config = optc3_set_dsc_config,
 		.get_dsc_status = optc2_get_dsc_status,
 		.set_dwb_source = NULL,
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c +1 -1
index 1f195c5b3377..13cd1f2e50ca 100644
@@ -187,7 +187,7 @@ bool dcn32_all_pipes_have_stream_and_plane(struct dc *dc,
 		struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
 
 		if (!pipe->stream)
-			return false;
+			continue;
 
 		if (!pipe->plane_state)
 			return false;
drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c +1 -0
index d34e0f1314d9..bc4f48ea8d4c 100644
@@ -1228,6 +1228,7 @@ int dcn20_populate_dml_pipes_from_context(
 		pipes[pipe_cnt].pipe.src.dcc = false;
 		pipes[pipe_cnt].pipe.src.dcc_rate = 1;
 		pipes[pipe_cnt].pipe.dest.synchronized_vblank_all_planes = synchronized_vblank;
+		pipes[pipe_cnt].pipe.dest.synchronize_timings = synchronized_vblank;
 		pipes[pipe_cnt].pipe.dest.hblank_start = timing->h_total - timing->h_front_porch;
 		pipes[pipe_cnt].pipe.dest.hblank_end = pipes[pipe_cnt].pipe.dest.hblank_start
 				- timing->h_addressable
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c +5 -2
index 52525833a99b..bea380407151 100644
@@ -364,7 +364,8 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
 	for (k = 0; k < mode_lib->vba.NumberOfActiveSurfaces; ++k) {
 		v->DSCDelay[k] = dml32_DSCDelayRequirement(mode_lib->vba.DSCEnabled[k],
 				mode_lib->vba.ODMCombineEnabled[k], mode_lib->vba.DSCInputBitPerComponent[k],
-				mode_lib->vba.OutputBpp[k], mode_lib->vba.HActive[k], mode_lib->vba.HTotal[k],
+				mode_lib->vba.OutputBppPerState[mode_lib->vba.VoltageLevel][k],
+				mode_lib->vba.HActive[k], mode_lib->vba.HTotal[k],
 				mode_lib->vba.NumberOfDSCSlices[k], mode_lib->vba.OutputFormat[k],
 				mode_lib->vba.Output[k], mode_lib->vba.PixelClock[k],
 				mode_lib->vba.PixelClockBackEnd[k]);
@@ -717,6 +718,8 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
 
 	do {
 		MaxTotalRDBandwidth = 0;
+		DestinationLineTimesForPrefetchLessThan2 = false;
+		VRatioPrefetchMoreThanMax = false;
 #ifdef __DML_VBA_DEBUG__
 		dml_print("DML::%s: Start loop: VStartup = %d\n", __func__, mode_lib->vba.VStartupLines);
 #endif
@@ -1627,7 +1630,7 @@ static void mode_support_configuration(struct vba_vars_st *v,
 				&& !mode_lib->vba.MSOOrODMSplitWithNonDPLink
 				&& !mode_lib->vba.NotEnoughLanesForMSO
 				&& mode_lib->vba.LinkCapacitySupport[i] == true && !mode_lib->vba.P2IWith420
-				&& !mode_lib->vba.DSCOnlyIfNecessaryWithBPP
+				//&& !mode_lib->vba.DSCOnlyIfNecessaryWithBPP
 				&& !mode_lib->vba.DSC422NativeNotSupported
 				&& !mode_lib->vba.MPCCombineMethodIncompatible
 				&& mode_lib->vba.ODMCombine2To1SupportCheckOK[i] == true
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c +1 -1
index 365d290bba99..67af8f4df8b8 100644
@@ -1746,7 +1746,7 @@ unsigned int dml32_DSCDelayRequirement(bool DSCEnabled,
 		}
 
 		DSCDelayRequirement_val = DSCDelayRequirement_val + (HTotal - HActive) *
-				dml_ceil(DSCDelayRequirement_val / HActive, 1);
+				dml_ceil((double)DSCDelayRequirement_val / HActive, 1);
 
 		DSCDelayRequirement_val = DSCDelayRequirement_val * PixelClock / PixelClockBackEnd;
 
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_rq_dlg_calc_32.c +2 -2
index a1276f6b9581..395ae8761980 100644
@@ -291,8 +291,8 @@ void dml32_rq_dlg_get_dlg_reg(struct display_mode_lib *mode_lib,
 
 	dml_print("DML_DLG: %s: vready_after_vcount0 = %d\n", __func__, dlg_regs->vready_after_vcount0);
 
-	dst_x_after_scaler = get_dst_x_after_scaler(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
-	dst_y_after_scaler = get_dst_y_after_scaler(mode_lib, e2e_pipe_param, num_pipes, pipe_idx);
+	dst_x_after_scaler = dml_ceil(get_dst_x_after_scaler(mode_lib, e2e_pipe_param, num_pipes, pipe_idx), 1);
+	dst_y_after_scaler = dml_ceil(get_dst_y_after_scaler(mode_lib, e2e_pipe_param, num_pipes, pipe_idx), 1);
 
 	// do some adjustment on the dst_after scaler to account for odm combine mode
 	dml_print("DML_DLG: %s: input dst_x_after_scaler   = %d\n", __func__, dst_x_after_scaler);
drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c +1 -1
index 503e7d984ff0..cb34ac0af349 100644
@@ -624,7 +624,7 @@ static void fetch_pipe_params(struct display_mode_lib *mode_lib)
 		mode_lib->vba.skip_dio_check[mode_lib->vba.NumberOfActivePlanes] =
 				dout->is_virtual;
 
-		if (!dout->dsc_enable)
+		if (dout->dsc_enable)
 			mode_lib->vba.ForcedOutputLinkBPP[mode_lib->vba.NumberOfActivePlanes] = dout->output_bpp;
 		else
 			mode_lib->vba.ForcedOutputLinkBPP[mode_lib->vba.NumberOfActivePlanes] = 0.0;
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +11 -12
index 7510d470b864..2347f7bb73d7 100644
@@ -1131,22 +1131,21 @@ static int smu_smc_hw_setup(struct smu_context *smu)
 	uint64_t features_supported;
 	int ret = 0;
 
-	if (adev->in_suspend && smu_is_dpm_running(smu)) {
-		dev_info(adev->dev, "dpm has been enabled\n");
-		/* this is needed specifically */
-		switch (adev->ip_versions[MP1_HWIP][0]) {
-		case IP_VERSION(11, 0, 7):
-		case IP_VERSION(11, 0, 11):
-		case IP_VERSION(11, 5, 0):
-		case IP_VERSION(11, 0, 12):
+	switch (adev->ip_versions[MP1_HWIP][0]) {
+	case IP_VERSION(11, 0, 7):
+	case IP_VERSION(11, 0, 11):
+	case IP_VERSION(11, 5, 0):
+	case IP_VERSION(11, 0, 12):
+		if (adev->in_suspend && smu_is_dpm_running(smu)) {
+			dev_info(adev->dev, "dpm has been enabled\n");
 			ret = smu_system_features_control(smu, true);
 			if (ret)
 				dev_err(adev->dev, "Failed system features control!\n");
-			break;
-		default:
-			break;
+			return ret;
 		}
-		return ret;
+		break;
+	default:
+		break;
 	}
 
 	ret = smu_init_display_count(smu, 0);
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +8 -0
index b81c657c7386..d63cf9e3676d 100644
@@ -1372,6 +1372,14 @@ enum smu_cmn2asic_mapping_type {
 	CMN2ASIC_MAPPING_WORKLOAD,
 };
 
+enum smu_baco_seq {
+	BACO_SEQ_BACO = 0,
+	BACO_SEQ_MSR,
+	BACO_SEQ_BAMACO,
+	BACO_SEQ_ULPS,
+	BACO_SEQ_COUNT,
+};
+
 #define MSG_MAP(msg, index, valid_in_vf) \
 	[SMU_MSG_##msg] = {1, (index), (valid_in_vf)}
 
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v11_0.h +1 -9
index a9215494dcdd..d466db6f0ad4 100644
@@ -147,14 +147,6 @@ struct smu_11_5_power_context {
 	uint32_t	max_fast_ppt_limit;
 };
 
-enum smu_v11_0_baco_seq {
-	BACO_SEQ_BACO = 0,
-	BACO_SEQ_MSR,
-	BACO_SEQ_BAMACO,
-	BACO_SEQ_ULPS,
-	BACO_SEQ_COUNT,
-};
-
 #if defined(SWSMU_CODE_LAYER_L2) || defined(SWSMU_CODE_LAYER_L3)
 
 int smu_v11_0_init_microcode(struct smu_context *smu);
@@ -257,7 +249,7 @@ int smu_v11_0_baco_enter(struct smu_context *smu);
 int smu_v11_0_baco_exit(struct smu_context *smu);
 
 int smu_v11_0_baco_set_armd3_sequence(struct smu_context *smu,
-				      enum smu_v11_0_baco_seq baco_seq);
+				      enum smu_baco_seq baco_seq);
 
 int smu_v11_0_mode1_reset(struct smu_context *smu);
 
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h +3 -8
index f75b9688f512..3e29fe4cc4ae 100644
@@ -123,14 +123,6 @@ struct smu_13_0_power_context {
 	enum smu_13_0_power_state power_state;
 };
 
-enum smu_v13_0_baco_seq {
-	BACO_SEQ_BACO = 0,
-	BACO_SEQ_MSR,
-	BACO_SEQ_BAMACO,
-	BACO_SEQ_ULPS,
-	BACO_SEQ_COUNT,
-};
-
 #if defined(SWSMU_CODE_LAYER_L2) || defined(SWSMU_CODE_LAYER_L3)
 
 int smu_v13_0_init_microcode(struct smu_context *smu);
@@ -217,6 +209,9 @@ int smu_v13_0_set_azalia_d3_pme(struct smu_context *smu);
 int smu_v13_0_get_max_sustainable_clocks_by_dc(struct smu_context *smu,
 					       struct pp_smu_nv_clock_table *max_clocks);
 
+int smu_v13_0_baco_set_armd3_sequence(struct smu_context *smu,
+				      enum smu_baco_seq baco_seq);
+
 bool smu_v13_0_baco_is_support(struct smu_context *smu);
 
 enum smu_baco_state smu_v13_0_baco_get_state(struct smu_context *smu);
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +1 -1
index dccbd9f70723..70b560737687 100644
@@ -1576,7 +1576,7 @@ int smu_v11_0_set_azalia_d3_pme(struct smu_context *smu)
 }
 
 int smu_v11_0_baco_set_armd3_sequence(struct smu_context *smu,
-				      enum smu_v11_0_baco_seq baco_seq)
+				      enum smu_baco_seq baco_seq)
 {
 	return smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_ArmD3, baco_seq, NULL);
 }
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +9 -0
index 750d8da84fac..33710dcf1eb1 100644
@@ -2219,6 +2219,15 @@ int smu_v13_0_gfx_ulv_control(struct smu_context *smu,
 	return ret;
 }
 
+int smu_v13_0_baco_set_armd3_sequence(struct smu_context *smu,
+				      enum smu_baco_seq baco_seq)
+{
+	return smu_cmn_send_smc_msg_with_param(smu,
+					       SMU_MSG_ArmD3,
+					       baco_seq,
+					       NULL);
+}
+
 bool smu_v13_0_baco_is_support(struct smu_context *smu)
 {
 	struct smu_baco_context *smu_baco = &smu->smu_baco;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +28 -2
index 29529328152d..f0121d171630 100644
@@ -120,6 +120,7 @@ static struct cmn2asic_msg_mapping smu_v13_0_0_message_map[SMU_MSG_MAX_COUNT] =
 	MSG_MAP(Mode1Reset,			PPSMC_MSG_Mode1Reset,                  0),
 	MSG_MAP(PrepareMp1ForUnload,		PPSMC_MSG_PrepareMp1ForUnload,         0),
 	MSG_MAP(DFCstateControl,		PPSMC_MSG_SetExternalClientDfCstateAllow, 0),
+	MSG_MAP(ArmD3,				PPSMC_MSG_ArmD3,                       0),
 };
 
 static struct cmn2asic_mapping smu_v13_0_0_clk_map[SMU_CLK_COUNT] = {
@@ -1566,6 +1567,31 @@ static int smu_v13_0_0_set_power_profile_mode(struct smu_context *smu,
 					       NULL);
 }
 
+static int smu_v13_0_0_baco_enter(struct smu_context *smu)
+{
+	struct smu_baco_context *smu_baco = &smu->smu_baco;
+	struct amdgpu_device *adev = smu->adev;
+
+	if (adev->in_runpm && smu_cmn_is_audio_func_enabled(adev))
+		return smu_v13_0_baco_set_armd3_sequence(smu,
+				smu_baco->maco_support ? BACO_SEQ_BAMACO : BACO_SEQ_BACO);
+	else
+		return smu_v13_0_baco_enter(smu);
+}
+
+static int smu_v13_0_0_baco_exit(struct smu_context *smu)
+{
+	struct amdgpu_device *adev = smu->adev;
+
+	if (adev->in_runpm && smu_cmn_is_audio_func_enabled(adev)) {
+		/* Wait for PMFW handling for the Dstate change */
+		usleep_range(10000, 11000);
+		return smu_v13_0_baco_set_armd3_sequence(smu, BACO_SEQ_ULPS);
+	} else {
+		return smu_v13_0_baco_exit(smu);
+	}
+}
+
 static bool smu_v13_0_0_is_mode1_reset_supported(struct smu_context *smu)
 {
 	struct amdgpu_device *adev = smu->adev;
@@ -1827,8 +1853,8 @@ static const struct pptable_funcs smu_v13_0_0_ppt_funcs = {
 	.baco_is_support = smu_v13_0_baco_is_support,
 	.baco_get_state = smu_v13_0_baco_get_state,
 	.baco_set_state = smu_v13_0_baco_set_state,
-	.baco_enter = smu_v13_0_baco_enter,
-	.baco_exit = smu_v13_0_baco_exit,
+	.baco_enter = smu_v13_0_0_baco_enter,
+	.baco_exit = smu_v13_0_0_baco_exit,
 	.mode1_reset_is_support = smu_v13_0_0_is_mode1_reset_supported,
 	.mode1_reset = smu_v13_0_mode1_reset,
 	.set_mp1_state = smu_v13_0_0_set_mp1_state,
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c +28 -2
index c4102cfb734c..d74debc584f8 100644
@@ -122,6 +122,7 @@ static struct cmn2asic_msg_mapping smu_v13_0_7_message_map[SMU_MSG_MAX_COUNT] =
 	MSG_MAP(PrepareMp1ForUnload,		PPSMC_MSG_PrepareMp1ForUnload,         0),
 	MSG_MAP(SetMGpuFanBoostLimitRpm,	PPSMC_MSG_SetMGpuFanBoostLimitRpm,     0),
 	MSG_MAP(DFCstateControl,		PPSMC_MSG_SetExternalClientDfCstateAllow, 0),
+	MSG_MAP(ArmD3,				PPSMC_MSG_ArmD3,                       0),
 };
 
 static struct cmn2asic_mapping smu_v13_0_7_clk_map[SMU_CLK_COUNT] = {
@@ -1578,6 +1579,31 @@ static int smu_v13_0_7_set_mp1_state(struct smu_context *smu,
 	return ret;
 }
 
+static int smu_v13_0_7_baco_enter(struct smu_context *smu)
+{
+	struct smu_baco_context *smu_baco = &smu->smu_baco;
+	struct amdgpu_device *adev = smu->adev;
+
+	if (adev->in_runpm && smu_cmn_is_audio_func_enabled(adev))
+		return smu_v13_0_baco_set_armd3_sequence(smu,
+				smu_baco->maco_support ? BACO_SEQ_BAMACO : BACO_SEQ_BACO);
+	else
+		return smu_v13_0_baco_enter(smu);
+}
+
+static int smu_v13_0_7_baco_exit(struct smu_context *smu)
+{
+	struct amdgpu_device *adev = smu->adev;
+
+	if (adev->in_runpm && smu_cmn_is_audio_func_enabled(adev)) {
+		/* Wait for PMFW handling for the Dstate change */
+		usleep_range(10000, 11000);
+		return smu_v13_0_baco_set_armd3_sequence(smu, BACO_SEQ_ULPS);
+	} else {
+		return smu_v13_0_baco_exit(smu);
+	}
+}
+
 static bool smu_v13_0_7_is_mode1_reset_supported(struct smu_context *smu)
 {
 	struct amdgpu_device *adev = smu->adev;
@@ -1655,8 +1681,8 @@ static const struct pptable_funcs smu_v13_0_7_ppt_funcs = {
 	.baco_is_support = smu_v13_0_baco_is_support,
 	.baco_get_state = smu_v13_0_baco_get_state,
 	.baco_set_state = smu_v13_0_baco_set_state,
-	.baco_enter = smu_v13_0_baco_enter,
-	.baco_exit = smu_v13_0_baco_exit,
+	.baco_enter = smu_v13_0_7_baco_enter,
+	.baco_exit = smu_v13_0_7_baco_exit,
 	.mode1_reset_is_support = smu_v13_0_7_is_mode1_reset_supported,
 	.mode1_reset = smu_v13_0_mode1_reset,
 	.set_mp1_state = smu_v13_0_7_set_mp1_state,
drivers/gpu/drm/display/drm_dp_dual_mode_helper.c +29 -22

91 lines not on this page · raw message

drivers/gpu/drm/drm_drv.c +1 -1
index 8214a0b1ab7f..203bf8d6c34c 100644
@@ -615,7 +615,7 @@ static int drm_dev_init(struct drm_device *dev,
 	mutex_init(&dev->clientlist_mutex);
 	mutex_init(&dev->master_mutex);
 
-	ret = drmm_add_action(dev, drm_dev_init_release, NULL);
+	ret = drmm_add_action_or_reset(dev, drm_dev_init_release, NULL);
 	if (ret)
 		return ret;
 
drivers/gpu/drm/drm_internal.h +2 -1
index 7bb98e6a446d..5ea5e260118c 100644
@@ -104,7 +104,8 @@ static inline void drm_vblank_flush_worker(struct drm_vblank_crtc *vblank)
 
 static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank)
 {
-	kthread_destroy_worker(vblank->worker);
+	if (vblank->worker)
+		kthread_destroy_worker(vblank->worker);
 }
 
 int drm_vblank_worker_init(struct drm_vblank_crtc *vblank);
drivers/gpu/drm/imx/imx-tve.c +3 -2
index 6b34fac3f73a..ab4d1c878fda 100644
@@ -218,8 +218,9 @@ static int imx_tve_connector_get_modes(struct drm_connector *connector)
 	return ret;
 }
 
-static int imx_tve_connector_mode_valid(struct drm_connector *connector,
-					struct drm_display_mode *mode)
+static enum drm_mode_status
+imx_tve_connector_mode_valid(struct drm_connector *connector,
+			     struct drm_display_mode *mode)
 {
 	struct imx_tve *tve = con_to_tve(connector);
 	unsigned long rate;
drivers/gpu/drm/lima/lima_devfreq.c +9 -6
index 011be7ff51e1..bc8fb4e38d0a 100644
@@ -112,11 +112,6 @@ int lima_devfreq_init(struct lima_device *ldev)
 	unsigned long cur_freq;
 	int ret;
 	const char *regulator_names[] = { "mali", NULL };
-	const char *clk_names[] = { "core", NULL };
-	struct dev_pm_opp_config config = {
-		.regulator_names = regulator_names,
-		.clk_names = clk_names,
-	};
 
 	if (!device_property_present(dev, "operating-points-v2"))
 		/* Optional, continue without devfreq */
@@ -124,7 +119,15 @@ int lima_devfreq_init(struct lima_device *ldev)
 
 	spin_lock_init(&ldevfreq->lock);
 
-	ret = devm_pm_opp_set_config(dev, &config);
+	/*
+	 * clkname is set separately so it is not affected by the optional
+	 * regulator setting which may return error.
+	 */
+	ret = devm_pm_opp_set_clkname(dev, "core");
+	if (ret)
+		return ret;
+
+	ret = devm_pm_opp_set_regulators(dev, regulator_names);
 	if (ret) {
 		/* Continue if the optional regulator is missing */
 		if (ret != -ENODEV)
drivers/gpu/drm/msm/adreno/adreno_device.c +9 -1
index 24b489b6129a..628806423f7d 100644
@@ -679,6 +679,9 @@ static int adreno_system_suspend(struct device *dev)
 	struct msm_gpu *gpu = dev_to_gpu(dev);
 	int remaining, ret;
 
+	if (!gpu)
+		return 0;
+
 	suspend_scheduler(gpu);
 
 	remaining = wait_event_timeout(gpu->retire_event,
@@ -700,7 +703,12 @@ static int adreno_system_suspend(struct device *dev)
 
 static int adreno_system_resume(struct device *dev)
 {
-	resume_scheduler(dev_to_gpu(dev));
+	struct msm_gpu *gpu = dev_to_gpu(dev);
+
+	if (!gpu)
+		return 0;
+
+	resume_scheduler(gpu);
 	return pm_runtime_force_resume(dev);
 }
 
drivers/gpu/drm/msm/msm_gpu.c +2 -0
index c2bfcf3f1f40..01aae792ffa9 100644
@@ -993,4 +993,6 @@ void msm_gpu_cleanup(struct msm_gpu *gpu)
 	}
 
 	msm_devfreq_cleanup(gpu);
+
+	platform_set_drvdata(gpu->pdev, NULL);
 }
drivers/gpu/drm/msm/msm_gpu.h +4 -0
index 4d935fedd2ac..fd22cf4041af 100644
@@ -282,6 +282,10 @@ struct msm_gpu {
 static inline struct msm_gpu *dev_to_gpu(struct device *dev)
 {
 	struct adreno_smmu_priv *adreno_smmu = dev_get_drvdata(dev);
+
+	if (!adreno_smmu)
+		return NULL;
+
 	return container_of(adreno_smmu, struct msm_gpu, adreno_smmu);
 }
 
drivers/gpu/drm/panel/panel-simple.c +2 -0
index 1e716c23019a..eb938bfb0573 100644
@@ -2505,6 +2505,7 @@ static const struct display_timing logictechno_lt161010_2nh_timing = {
 static const struct panel_desc logictechno_lt161010_2nh = {
 	.timings = &logictechno_lt161010_2nh_timing,
 	.num_timings = 1,
+	.bpc = 6,
 	.size = {
 		.width = 154,
 		.height = 86,
@@ -2534,6 +2535,7 @@ static const struct display_timing logictechno_lt170410_2whc_timing = {
 static const struct panel_desc logictechno_lt170410_2whc = {
 	.timings = &logictechno_lt170410_2whc_timing,
 	.num_timings = 1,
+	.bpc = 8,
 	.size = {
 		.width = 217,
 		.height = 136,
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +8 -2
index f9aa8b96c695..1fc04019dfd8 100644
@@ -878,10 +878,14 @@ static void vop2_crtc_atomic_disable(struct drm_crtc *crtc,
 {
 	struct vop2_video_port *vp = to_vop2_video_port(crtc);
 	struct vop2 *vop2 = vp->vop2;
+	struct drm_crtc_state *old_crtc_state;
 	int ret;
 
 	vop2_lock(vop2);
 
+	old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc);
+	drm_atomic_helper_disable_planes_on_crtc(old_crtc_state, false);
+
 	drm_crtc_vblank_off(crtc);
 
 	/*
@@ -997,13 +1001,15 @@ static int vop2_plane_atomic_check(struct drm_plane *plane,
 static void vop2_plane_atomic_disable(struct drm_plane *plane,
 				      struct drm_atomic_state *state)
 {
-	struct drm_plane_state *old_pstate = drm_atomic_get_old_plane_state(state, plane);
+	struct drm_plane_state *old_pstate = NULL;
 	struct vop2_win *win = to_vop2_win(plane);
 	struct vop2 *vop2 = win->vop2;
 
 	drm_dbg(vop2->drm, "%s disable\n", win->data->name);
 
-	if (!old_pstate->crtc)
+	if (state)
+		old_pstate = drm_atomic_get_old_plane_state(state, plane);
+	if (old_pstate && !old_pstate->crtc)
 		return;
 
 	vop2_win_disable(win);
drivers/gpu/drm/scheduler/sched_entity.c +5 -1
index 6b25b2f4f5a3..7ef1a086a6fb 100644
@@ -207,6 +207,7 @@ static void drm_sched_entity_kill_jobs_cb(struct dma_fence *f,
 	struct drm_sched_job *job = container_of(cb, struct drm_sched_job,
 						 finish_cb);
 
+	dma_fence_put(f);
 	INIT_WORK(&job->work, drm_sched_entity_kill_jobs_work);
 	schedule_work(&job->work);
 }
@@ -234,8 +235,10 @@ static void drm_sched_entity_kill_jobs(struct drm_sched_entity *entity)
 		struct drm_sched_fence *s_fence = job->s_fence;
 
 		/* Wait for all dependencies to avoid data corruptions */
-		while ((f = drm_sched_job_dependency(job, entity)))
+		while ((f = drm_sched_job_dependency(job, entity))) {
 			dma_fence_wait(f, false);
+			dma_fence_put(f);
+		}
 
 		drm_sched_fence_scheduled(s_fence);
 		dma_fence_set_error(&s_fence->finished, -ESRCH);
@@ -250,6 +253,7 @@ static void drm_sched_entity_kill_jobs(struct drm_sched_entity *entity)
 			continue;
 		}
 
+		dma_fence_get(entity->last_scheduled);
 		r = dma_fence_add_callback(entity->last_scheduled,
 					   &job->finish_cb,
 					   drm_sched_entity_kill_jobs_cb);
drivers/gpu/drm/vc4/vc4_kms.c +4 -4
index b45dcdfd7306..a3678178b022 100644
@@ -198,8 +198,8 @@ vc4_hvs_get_new_global_state(struct drm_atomic_state *state)
 	struct drm_private_state *priv_state;
 
 	priv_state = drm_atomic_get_new_private_obj_state(state, &vc4->hvs_channels);
-	if (IS_ERR(priv_state))
-		return ERR_CAST(priv_state);
+	if (!priv_state)
+		return ERR_PTR(-EINVAL);
 
 	return to_vc4_hvs_state(priv_state);
 }
@@ -211,8 +211,8 @@ vc4_hvs_get_old_global_state(struct drm_atomic_state *state)
 	struct drm_private_state *priv_state;
 
 	priv_state = drm_atomic_get_old_private_obj_state(state, &vc4->hvs_channels);
-	if (IS_ERR(priv_state))
-		return ERR_CAST(priv_state);
+	if (!priv_state)
+		return ERR_PTR(-EINVAL);
 
 	return to_vc4_hvs_state(priv_state);
 }
drivers/i2c/busses/i2c-i801.c +1 -0
index a176296f4fff..e46561e095c6 100644
@@ -1243,6 +1243,7 @@ static const struct {
 	 */
 	{ "Latitude 5480",      0x29 },
 	{ "Vostro V131",        0x1d },
+	{ "Vostro 5568",        0x29 },
 };
 
 static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv)
drivers/i2c/busses/i2c-tegra.c +10 -6
index 031c78ac42e6..a24cc413c89b 100644
@@ -284,6 +284,7 @@ struct tegra_i2c_dev {
 	struct dma_chan *tx_dma_chan;
 	struct dma_chan *rx_dma_chan;
 	unsigned int dma_buf_size;
+	struct device *dma_dev;
 	dma_addr_t dma_phys;
 	void *dma_buf;
 
@@ -420,7 +421,7 @@ static int tegra_i2c_dma_submit(struct tegra_i2c_dev *i2c_dev, size_t len)
 static void tegra_i2c_release_dma(struct tegra_i2c_dev *i2c_dev)
 {
 	if (i2c_dev->dma_buf) {
-		dma_free_coherent(i2c_dev->dev, i2c_dev->dma_buf_size,
+		dma_free_coherent(i2c_dev->dma_dev, i2c_dev->dma_buf_size,
 				  i2c_dev->dma_buf, i2c_dev->dma_phys);
 		i2c_dev->dma_buf = NULL;
 	}
@@ -467,10 +468,13 @@ static int tegra_i2c_init_dma(struct tegra_i2c_dev *i2c_dev)
 
 	i2c_dev->tx_dma_chan = chan;
 
+	WARN_ON(i2c_dev->tx_dma_chan->device != i2c_dev->rx_dma_chan->device);
+	i2c_dev->dma_dev = chan->device->dev;
+
 	i2c_dev->dma_buf_size = i2c_dev->hw->quirks->max_write_len +
 				I2C_PACKET_HEADER_SIZE;
 
-	dma_buf = dma_alloc_coherent(i2c_dev->dev, i2c_dev->dma_buf_size,
+	dma_buf = dma_alloc_coherent(i2c_dev->dma_dev, i2c_dev->dma_buf_size,
 				     &dma_phys, GFP_KERNEL | __GFP_NOWARN);
 	if (!dma_buf) {
 		dev_err(i2c_dev->dev, "failed to allocate DMA buffer\n");
@@ -1267,7 +1271,7 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
 
 	if (i2c_dev->dma_mode) {
 		if (i2c_dev->msg_read) {
-			dma_sync_single_for_device(i2c_dev->dev,
+			dma_sync_single_for_device(i2c_dev->dma_dev,
 						   i2c_dev->dma_phys,
 						   xfer_size, DMA_FROM_DEVICE);
 
@@ -1275,7 +1279,7 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
 			if (err)
 				return err;
 		} else {
-			dma_sync_single_for_cpu(i2c_dev->dev,
+			dma_sync_single_for_cpu(i2c_dev->dma_dev,
 						i2c_dev->dma_phys,
 						xfer_size, DMA_TO_DEVICE);
 		}
@@ -1288,7 +1292,7 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
 			memcpy(i2c_dev->dma_buf + I2C_PACKET_HEADER_SIZE,
 			       msg->buf, msg->len);
 
-			dma_sync_single_for_device(i2c_dev->dev,
+			dma_sync_single_for_device(i2c_dev->dma_dev,
 						   i2c_dev->dma_phys,
 						   xfer_size, DMA_TO_DEVICE);
 
@@ -1339,7 +1343,7 @@ static int tegra_i2c_xfer_msg(struct tegra_i2c_dev *i2c_dev,
 		}
 
 		if (i2c_dev->msg_read && i2c_dev->msg_err == I2C_ERR_NONE) {
-			dma_sync_single_for_cpu(i2c_dev->dev,
+			dma_sync_single_for_cpu(i2c_dev->dma_dev,
 						i2c_dev->dma_phys,
 						xfer_size, DMA_FROM_DEVICE);
 
drivers/iio/accel/bma400_core.c +12 -12
index c31bdd9b168e..29c9fa99c2bd 100644
@@ -737,18 +737,6 @@ static int bma400_init(struct bma400_data *data)
 	unsigned int val;
 	int ret;
 
-	/* Try to read chip_id register. It must return 0x90. */
-	ret = regmap_read(data->regmap, BMA400_CHIP_ID_REG, &val);
-	if (ret) {
-		dev_err(data->dev, "Failed to read chip id register\n");
-		return ret;
-	}
-
-	if (val != BMA400_ID_REG_VAL) {
-		dev_err(data->dev, "Chip ID mismatch\n");
-		return -ENODEV;
-	}
-
 	data->regulators[BMA400_VDD_REGULATOR].supply = "vdd";
 	data->regulators[BMA400_VDDIO_REGULATOR].supply = "vddio";
 	ret = devm_regulator_bulk_get(data->dev,
@@ -774,6 +762,18 @@ static int bma400_init(struct bma400_data *data)
 	if (ret)
 		return ret;
 
+	/* Try to read chip_id register. It must return 0x90. */
+	ret = regmap_read(data->regmap, BMA400_CHIP_ID_REG, &val);
+	if (ret) {
+		dev_err(data->dev, "Failed to read chip id register\n");
+		return ret;
+	}
+
+	if (val != BMA400_ID_REG_VAL) {
+		dev_err(data->dev, "Chip ID mismatch\n");
+		return -ENODEV;
+	}
+
 	ret = bma400_get_power_mode(data);
 	if (ret) {
 		dev_err(data->dev, "Failed to get the initial power-mode\n");
drivers/iio/adc/at91_adc.c +3 -1
index 532daaa6f943..366e252ebeb0 100644
@@ -634,8 +634,10 @@ static struct iio_trigger *at91_adc_allocate_trigger(struct iio_dev *idev,
 	trig->ops = &at91_adc_trigger_ops;
 
 	ret = iio_trigger_register(trig);
-	if (ret)
+	if (ret) {
+		iio_trigger_free(trig);
 		return NULL;
+	}
 
 	return trig;
 }
drivers/iio/adc/mp2629_adc.c +3 -2
index 30a31f185d08..88e947f300cf 100644
@@ -57,7 +57,8 @@ static struct iio_map mp2629_adc_maps[] = {
 	MP2629_MAP(SYSTEM_VOLT, "system-volt"),
 	MP2629_MAP(INPUT_VOLT, "input-volt"),
 	MP2629_MAP(BATT_CURRENT, "batt-current"),
-	MP2629_MAP(INPUT_CURRENT, "input-current")
+	MP2629_MAP(INPUT_CURRENT, "input-current"),
+	{ }
 };
 
 static int mp2629_read_raw(struct iio_dev *indio_dev,
@@ -74,7 +75,7 @@ static int mp2629_read_raw(struct iio_dev *indio_dev,
 		if (ret)
 			return ret;
 
-		if (chan->address == MP2629_INPUT_VOLT)
+		if (chan->channel == MP2629_INPUT_VOLT)
 			rval &= GENMASK(6, 0);
 		*val = rval;
 		return IIO_VAL_INT;
drivers/iio/pressure/ms5611.h +4 -8
index cbc9349c342a..550b75b7186f 100644
@@ -25,13 +25,6 @@ enum {
 	MS5607,
 };
 
-struct ms5611_chip_info {
-	u16 prom[MS5611_PROM_WORDS_NB];
-
-	int (*temp_and_pressure_compensate)(struct ms5611_chip_info *chip_info,
-					    s32 *temp, s32 *pressure);
-};
-
 /*
  * OverSampling Rate descriptor.
  * Warning: cmd MUST be kept aligned on a word boundary (see
@@ -50,12 +43,15 @@ struct ms5611_state {
 	const struct ms5611_osr *pressure_osr;
 	const struct ms5611_osr *temp_osr;
 
+	u16 prom[MS5611_PROM_WORDS_NB];
+
 	int (*reset)(struct ms5611_state *st);
 	int (*read_prom_word)(struct ms5611_state *st, int index, u16 *word);
 	int (*read_adc_temp_and_pressure)(struct ms5611_state *st,
 					  s32 *temp, s32 *pressure);
 
-	struct ms5611_chip_info *chip_info;
+	int (*compensate_temp_and_pressure)(struct ms5611_state *st, s32 *temp,
+					  s32 *pressure);
 	struct regulator *vdd;
 };
 
drivers/iio/pressure/ms5611_core.c +27 -24

101 lines not on this page · raw message

drivers/iio/pressure/ms5611_spi.c +1 -1
index 432e912096f4..a0a7205c9c3a 100644
@@ -91,7 +91,7 @@ static int ms5611_spi_probe(struct spi_device *spi)
 	spi_set_drvdata(spi, indio_dev);
 
 	spi->mode = SPI_MODE_0;
-	spi->max_speed_hz = 20000000;
+	spi->max_speed_hz = min(spi->max_speed_hz, 20000000U);
 	spi->bits_per_word = 8;
 	ret = spi_setup(spi);
 	if (ret < 0)
drivers/iio/trigger/iio-trig-sysfs.c +5 -1
index d6c5e9644738..6b05eed41612 100644
@@ -203,9 +203,13 @@ static int iio_sysfs_trigger_remove(int id)
 
 static int __init iio_sysfs_trig_init(void)
 {
+	int ret;
 	device_initialize(&iio_sysfs_trig_dev);
 	dev_set_name(&iio_sysfs_trig_dev, "iio_sysfs_trigger");
-	return device_add(&iio_sysfs_trig_dev);
+	ret = device_add(&iio_sysfs_trig_dev);
+	if (ret)
+		put_device(&iio_sysfs_trig_dev);
+	return ret;
 }
 module_init(iio_sysfs_trig_init);
 
drivers/infiniband/hw/efa/efa_main.c +3 -1
index 94b94cca4870..15ee92081118 100644
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
 /*
- * Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All rights reserved.
+ * Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -14,10 +14,12 @@
 
 #define PCI_DEV_ID_EFA0_VF 0xefa0
 #define PCI_DEV_ID_EFA1_VF 0xefa1
+#define PCI_DEV_ID_EFA2_VF 0xefa2
 
 static const struct pci_device_id efa_pci_tbl[] = {
 	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA0_VF) },
 	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA1_VF) },
+	{ PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA2_VF) },
 	{ }
 };
 
drivers/input/joystick/iforce/iforce-main.c +4 -4
index b86de1312512..84b87526b7ba 100644
@@ -273,22 +273,22 @@ int iforce_init_device(struct device *parent, u16 bustype,
  * Get device info.
  */
 
-	if (!iforce_get_id_packet(iforce, 'M', buf, &len) || len < 3)
+	if (!iforce_get_id_packet(iforce, 'M', buf, &len) && len >= 3)
 		input_dev->id.vendor = get_unaligned_le16(buf + 1);
 	else
 		dev_warn(&iforce->dev->dev, "Device does not respond to id packet M\n");
 
-	if (!iforce_get_id_packet(iforce, 'P', buf, &len) || len < 3)
+	if (!iforce_get_id_packet(iforce, 'P', buf, &len) && len >= 3)
 		input_dev->id.product = get_unaligned_le16(buf + 1);
 	else
 		dev_warn(&iforce->dev->dev, "Device does not respond to id packet P\n");
 
-	if (!iforce_get_id_packet(iforce, 'B', buf, &len) || len < 3)
+	if (!iforce_get_id_packet(iforce, 'B', buf, &len) && len >= 3)
 		iforce->device_memory.end = get_unaligned_le16(buf + 1);
 	else
 		dev_warn(&iforce->dev->dev, "Device does not respond to id packet B\n");
 
-	if (!iforce_get_id_packet(iforce, 'N', buf, &len) || len < 2)
+	if (!iforce_get_id_packet(iforce, 'N', buf, &len) && len >= 2)
 		ff_effects = buf[1];
 	else
 		dev_warn(&iforce->dev->dev, "Device does not respond to id packet N\n");
drivers/input/serio/i8042.c +0 -4
index 3fc0a89cc785..f132d6dfc25e 100644
@@ -1543,8 +1543,6 @@ static int i8042_probe(struct platform_device *dev)
 {
 	int error;
 
-	i8042_platform_device = dev;
-
 	if (i8042_reset == I8042_RESET_ALWAYS) {
 		error = i8042_controller_selftest();
 		if (error)
@@ -1582,7 +1580,6 @@ static int i8042_probe(struct platform_device *dev)
 	i8042_free_aux_ports();	/* in case KBD failed but AUX not */
 	i8042_free_irqs();
 	i8042_controller_reset(false);
-	i8042_platform_device = NULL;
 
 	return error;
 }
@@ -1592,7 +1589,6 @@ static int i8042_remove(struct platform_device *dev)
 	i8042_unregister_ports();
 	i8042_free_irqs();
 	i8042_controller_reset(false);
-	i8042_platform_device = NULL;
 
 	return 0;
 }
drivers/iommu/intel/iommu.c +3 -5
index ecc0b05b2796..e47700674978 100644
@@ -954,11 +954,9 @@ static struct dma_pte *pfn_to_dma_pte(struct dmar_domain *domain,
 
 			domain_flush_cache(domain, tmp_page, VTD_PAGE_SIZE);
 			pteval = ((uint64_t)virt_to_dma_pfn(tmp_page) << VTD_PAGE_SHIFT) | DMA_PTE_READ | DMA_PTE_WRITE;
-			if (domain_use_first_level(domain)) {
-				pteval |= DMA_FL_PTE_XD | DMA_FL_PTE_US;
-				if (iommu_is_dma_domain(&domain->domain))
-					pteval |= DMA_FL_PTE_ACCESS;
-			}
+			if (domain_use_first_level(domain))
+				pteval |= DMA_FL_PTE_XD | DMA_FL_PTE_US | DMA_FL_PTE_ACCESS;
+
 			if (cmpxchg64(&pte->val, 0ULL, pteval))
 				/* Someone else set it while we were thinking; use theirs. */
 				free_pgtable_page(tmp_page);
drivers/iommu/intel/pasid.c +3 -2
index c5e7e8b020a5..12584c7981ac 100644
@@ -652,7 +652,7 @@ int intel_pasid_setup_second_level(struct intel_iommu *iommu,
 	 * Since it is a second level only translation setup, we should
 	 * set SRE bit as well (addresses are expected to be GPAs).
 	 */
-	if (pasid != PASID_RID2PASID)
+	if (pasid != PASID_RID2PASID && ecap_srs(iommu->ecap))
 		pasid_set_sre(pte);
 	pasid_set_present(pte);
 	spin_unlock(&iommu->lock);
@@ -695,7 +695,8 @@ int intel_pasid_setup_pass_through(struct intel_iommu *iommu,
 	 * We should set SRE bit as well since the addresses are expected
 	 * to be GPAs.
 	 */
-	pasid_set_sre(pte);
+	if (ecap_srs(iommu->ecap))
+		pasid_set_sre(pte);
 	pasid_set_present(pte);
 	spin_unlock(&iommu->lock);
 
drivers/isdn/mISDN/core.c +1 -1
index 7ea0100f218a..90ee56d07a6e 100644
@@ -222,7 +222,7 @@ mISDN_register_device(struct mISDNdevice *dev,
 
 	err = get_free_devid();
 	if (err < 0)
-		goto error1;
+		return err;
 	dev->id = err;
 
 	device_initialize(&dev->dev);
drivers/isdn/mISDN/dsp_pipeline.c +2 -1
index c3b2c99b5cd5..cfbcd9e973c2 100644
@@ -77,6 +77,7 @@ int mISDN_dsp_element_register(struct mISDN_dsp_element *elem)
 	if (!entry)
 		return -ENOMEM;
 
+	INIT_LIST_HEAD(&entry->list);
 	entry->elem = elem;
 
 	entry->dev.class = elements_class;
@@ -107,7 +108,7 @@ int mISDN_dsp_element_register(struct mISDN_dsp_element *elem)
 	device_unregister(&entry->dev);
 	return ret;
 err1:
-	kfree(entry);
+	put_device(&entry->dev);
 	return ret;
 }
 EXPORT_SYMBOL(mISDN_dsp_element_register);
drivers/md/dm-bufio.c +2 -0
index 9c5ef818ca36..bb786c39545e 100644
@@ -1858,6 +1858,8 @@ struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsign
 	dm_io_client_destroy(c->dm_io);
 bad_dm_io:
 	mutex_destroy(&c->lock);
+	if (c->no_sleep)
+		static_branch_dec(&no_sleep_enabled);
 	kfree(c);
 bad_client:
 	return ERR_PTR(r);
drivers/md/dm-crypt.c +1 -0
index 159c6806c19b..2653516bcdef 100644
@@ -3630,6 +3630,7 @@ static void crypt_io_hints(struct dm_target *ti, struct queue_limits *limits)
 	limits->physical_block_size =
 		max_t(unsigned, limits->physical_block_size, cc->sector_size);
 	limits->io_min = max_t(unsigned, limits->io_min, cc->sector_size);
+	limits->dma_alignment = limits->logical_block_size - 1;
 }
 
 static struct target_type crypt_target = {
drivers/md/dm-ioctl.c +2 -2
index 98976aaa9db9..9cd410d8fbeb 100644
@@ -655,7 +655,7 @@ static void list_version_get_needed(struct target_type *tt, void *needed_param)
     size_t *needed = needed_param;
 
     *needed += sizeof(struct dm_target_versions);
-    *needed += strlen(tt->name);
+    *needed += strlen(tt->name) + 1;
     *needed += ALIGN_MASK;
 }
 
@@ -720,7 +720,7 @@ static int __list_versions(struct dm_ioctl *param, size_t param_size, const char
 	iter_info.old_vers = NULL;
 	iter_info.vers = vers;
 	iter_info.flags = 0;
-	iter_info.end = (char *)vers+len;
+	iter_info.end = (char *)vers + needed;
 
 	/*
 	 * Now loop through filling out the names & versions.
drivers/misc/vmw_vmci/vmci_queue_pair.c +2 -0
index 8f2de1893245..8f970fe9bb6e 100644
@@ -854,6 +854,7 @@ static int qp_notify_peer_local(bool attach, struct vmci_handle handle)
 	u32 context_id = vmci_get_context_id();
 	struct vmci_event_qp ev;
 
+	memset(&ev, 0, sizeof(ev));
 	ev.msg.hdr.dst = vmci_make_handle(context_id, VMCI_EVENT_HANDLER);
 	ev.msg.hdr.src = vmci_make_handle(VMCI_HYPERVISOR_CONTEXT_ID,
 					  VMCI_CONTEXT_RESOURCE_ID);
@@ -1467,6 +1468,7 @@ static int qp_notify_peer(bool attach,
 	 * kernel.
 	 */
 
+	memset(&ev, 0, sizeof(ev));
 	ev.msg.hdr.dst = vmci_make_handle(peer_id, VMCI_EVENT_HANDLER);
 	ev.msg.hdr.src = vmci_make_handle(VMCI_HYPERVISOR_CONTEXT_ID,
 					  VMCI_CONTEXT_RESOURCE_ID);
drivers/mmc/core/core.c +7 -1
index ef53a2578824..3d9649325725 100644
@@ -1134,7 +1134,13 @@ u32 mmc_select_voltage(struct mmc_host *host, u32 ocr)
 		mmc_power_cycle(host, ocr);
 	} else {
 		bit = fls(ocr) - 1;
-		ocr &= 3 << bit;
+		/*
+		 * The bit variable represents the highest voltage bit set in
+		 * the OCR register.
+		 * To keep a range of 2 values (e.g. 3.2V/3.3V and 3.3V/3.4V),
+		 * we must shift the mask '3' with (bit - 1).
+		 */
+		ocr &= 3 << (bit - 1);
 		if (bit != host->ios.vdd)
 			dev_warn(mmc_dev(host), "exceeding card's volts\n");
 	}
drivers/mmc/host/sdhci-pci-core.c +2 -0
index b6f4bd3d93cd..c55a77a10c63 100644
@@ -1728,6 +1728,8 @@ static int amd_probe(struct sdhci_pci_chip *chip)
 		}
 	}
 
+	pci_dev_put(smbus_dev);
+
 	if (gen == AMD_CHIPSET_BEFORE_ML || gen == AMD_CHIPSET_CZ)
 		chip->quirks2 |= SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD;
 
drivers/mmc/host/sdhci-pci-o2micro.c +7 -0
index 0d4d343dbb77..7a7cce6bc44d 100644
@@ -32,6 +32,7 @@
 #define O2_SD_CAPS		0xE0
 #define O2_SD_ADMA1		0xE2
 #define O2_SD_ADMA2		0xE7
+#define O2_SD_MISC_CTRL2	0xF0
 #define O2_SD_INF_MOD		0xF1
 #define O2_SD_MISC_CTRL4	0xFC
 #define O2_SD_MISC_CTRL		0x1C0
@@ -874,6 +875,12 @@ static int sdhci_pci_o2_probe(struct sdhci_pci_chip *chip)
 		/* Set Tuning Windows to 5 */
 		pci_write_config_byte(chip->pdev,
 				O2_SD_TUNING_CTRL, 0x55);
+		//Adjust 1st and 2nd CD debounce time
+		pci_read_config_dword(chip->pdev, O2_SD_MISC_CTRL2, &scratch_32);
+		scratch_32 &= 0xFFE7FFFF;
+		scratch_32 |= 0x00180000;
+		pci_write_config_dword(chip->pdev, O2_SD_MISC_CTRL2, scratch_32);
+		pci_write_config_dword(chip->pdev, O2_SD_DETECT_SETTING, 1);
 		/* Lock WP */
 		ret = pci_read_config_byte(chip->pdev,
 					   O2_SD_LOCK_WP, &scratch);
drivers/mtd/nand/onenand/Kconfig +1 -0
index 34d9a7a82ad4..c94bf483541e 100644
@@ -26,6 +26,7 @@ config MTD_ONENAND_OMAP2
 	tristate "OneNAND on OMAP2/OMAP3 support"
 	depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM)
 	depends on OF || COMPILE_TEST
[… more lines in the raw message]

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

drivers/mtd/nand/raw/qcom_nandc.c +7 -5
index 8f80019a9f01..198a44794d2d 100644

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

drivers/net/ethernet/amazon/ena/ena_netdev.c +7 -1
index 6a356a6cee15..41c821348476 100644

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

drivers/net/ethernet/atheros/ag71xx.c +2 -1
index e461f4764066..e23d8734d4e4 100644

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

drivers/net/ethernet/broadcom/bgmac.c +0 -1
index 93580484a3f4..91c054eef701 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +53 -9

62 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt.h +1 -0
index b1b17f911300..d5fa43cfe524 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c +2 -1
index b01d42928a53..132442f16fe6 100644

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

drivers/net/ethernet/cavium/liquidio/lio_main.c +26 -8
index bee35ce60171..bf6a72143040 100644

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

drivers/net/ethernet/hisilicon/hns3/hnae3.h +0 -1
index 94f80e1c4020..bf7daab88689 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c +0 -20
index e23729ac3bb8..ae2736549526 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h +0 -2
index 946d166a452d..92af3d2980d3 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +95 -72

167 lines not on this page · raw message

drivers/net/ethernet/hisilicon/hns3/hns3_enet.h +1 -0
index 4a3253692dcc..408635d11a24 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +7 -4
index fae79764dc44..7e8a60f2401c 100644

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

drivers/net/ethernet/huawei/hinic/hinic_main.c +8 -1
index c23ee2ddbce3..1a6534c35ef3 100644

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

drivers/net/ethernet/marvell/octeon_ep/octep_main.c +11 -5
index 97f080c66dd4..8a6a81bcec5c 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +2 -0
index 4efccd942fb8..1290b2d3eae6 100644

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

drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c +3 -0
index fea42542be28..06811c60d598 100644

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

drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c +3 -0
index 6b0febcb7fa9..01f3a3a41cdb 100644

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

drivers/net/ethernet/microchip/sparx5/sparx5_main.c +3 -0
index 01be7bd84181..30815c0e3f76 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +3 -3
index b1b1b648e40c..b19bff0db1fd 100644

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

drivers/net/ethernet/pensando/ionic/ionic_main.c +7 -1
index 56f93b030551..5456c2b15d9b 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +3 -0
index bc060ef558d3..02827829463f 100644

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

drivers/net/macvlan.c +3 -3
index 9983d37ee87d..0a0c4d0ffc19 100644

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

drivers/net/mctp/mctp-i2c.c +32 -15

47 lines not on this page · raw message

drivers/net/mhi_net.c +2 -0
index 0b1b6f650104..0b9d37979133 100644

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

drivers/net/netdevsim/dev.c +1 -0
index b17e4e94a060..38562ed833da 100644

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

drivers/net/phy/dp83867.c +7 -0
index 417527f8bbf5..7446d5c6c714 100644

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

drivers/net/phy/marvell.c +9 -7
index a714150f5e8c..7c292a3d83d4 100644

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

drivers/net/thunderbolt.c +14 -5
index ab3f04562980..8391f8303499 100644

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

drivers/net/usb/smsc95xx.c +42 -4

46 lines not on this page · raw message

drivers/nvme/host/ioctl.c +6 -0
index d3281f87cd6e..a48a79ed5c4c 100644

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

drivers/nvme/host/nvme.h +13 -3
index a0bf9560cf67..70555022cb44 100644

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

drivers/nvme/host/pci.c +4 -0
index 554468ea5a2a..1a6423e94eb3 100644

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

drivers/nvme/target/auth.c +2 -0
index c4113b43dbfe..4dcddcf95279 100644

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

drivers/nvme/target/configfs.c +1 -0
index 2bcd60758919..7f52d9dac443 100644

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

drivers/parport/parport_pc.c +1 -1
index eda4ded4d5e5..925be41eeebe 100644

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

drivers/pinctrl/devicetree.c +2 -0
index ef898ee8ca6b..6e0a40962f38 100644

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

drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c +3 -0
index e1ae3beb9f72..b7921b59eb7b 100644

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

drivers/pinctrl/pinctrl-rockchip.c +40 -0
index c84bd0e1ce5a..f4d2b64c0670 100644

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

drivers/platform/surface/aggregator/ssh_packet_layer.c +20 -4
index 6748fe4ac5d5..def8d7ac541f 100644

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

drivers/platform/x86/amd/pmc.c +1 -2
index 6ccb9b38483c..a838197f8896 100644

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

drivers/platform/x86/intel/pmc/core.c +2 -0
index a1fe1e0dcf4a..17ec5825d13d 100644

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

drivers/platform/x86/intel/pmc/pltdrv.c +9 -0
index 15ca8afdd973..ddfba38c2104 100644

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

drivers/platform/x86/thinkpad_acpi.c +3 -1
index 2dbb9fc011a7..353507d18e11 100644

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

drivers/s390/block/dcssblk.c +1 -0
index 5187705bd0f3..d961f80c0e36 100644

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

drivers/s390/scsi/zfcp_fsf.c +1 -1
index 19223b075568..ab3ea529cca7 100644

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

drivers/scsi/scsi_debug.c +5 -1
index b8a76b89f85a..95f940f5c996 100644

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

drivers/scsi/scsi_transport_sas.c +9 -4
index 2f88c61216ee..74b99f2b0b74 100644

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

drivers/siox/siox-core.c +2 -0
index 7c4f32d76966..561408583b2b 100644

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

drivers/slimbus/Kconfig +1 -1
index 1235b7dc8496..e25d280a68ee 100644

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

drivers/slimbus/stream.c +4 -4
index 75f87b3d8b95..73a2aa362957 100644

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

drivers/soc/imx/soc-imx8m.c +11 -0
index cc57a384d74d..28144c699b0c 100644

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

drivers/spi/spi-intel.c +1 -1
index 3f6db482b6c7..a1dbd71bf83e 100644

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

drivers/spi/spi-stm32.c +1 -0
index 6fe617b445a5..3c2fa2e2f94a 100644

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

drivers/spi/spi-tegra210-quad.c +5 -0
index c89592b21ffc..904972606bd4 100644

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

drivers/target/loopback/tcm_loop.c +2 -1
index 4407b56aa6d1..139031ccb700 100644

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

drivers/tty/n_gsm.c +1 -1
index 01c112e2e214..2a0de70e0be4 100644

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

drivers/tty/serial/8250/8250_lpss.c +13 -4
index 4ba43bef9933..93643fe6fd9c 100644

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

drivers/tty/serial/8250/8250_omap.c +26 -19

45 lines not on this page · raw message

drivers/tty/serial/8250/8250_port.c +5 -2
index 2030a92ac66e..ca7415360f10 100644

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

drivers/tty/serial/fsl_lpuart.c +49 -27

76 lines not on this page · raw message

drivers/tty/serial/imx.c +1 -0
index 278b4033a3cc..57e3fda979ea 100644

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

drivers/usb/cdns3/host.c +28 -28

56 lines not on this page · raw message

drivers/usb/chipidea/otg_fsm.c +2 -0
index 61b157b9c662..a78584624288 100644

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

drivers/usb/core/quirks.c +3 -0
index 0722d2131305..079e183cf3bf 100644

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

drivers/usb/dwc3/core.c +10 -0
index d03e1a9c144c..038140b1de37 100644

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

drivers/usb/dwc3/host.c +0 -10
index a7154fe8206d..f6f13e7f1ba1 100644

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

drivers/usb/host/bcma-hcd.c +6 -4
index 2df52f75f6b3..7558cc4d90cc 100644

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

drivers/usb/serial/option.c +17 -2
index 697683e3fbff..c3b7f1d98e78 100644

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

drivers/usb/typec/mux/intel_pmc_mux.c +13 -2
index a8e273fe204a..795829ffe776 100644

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

drivers/usb/typec/tipd/core.c +3 -3
index dfbba5ae9487..92e35e62e78c 100644

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

drivers/vfio/vfio_main.c +29 -21

50 lines not on this page · raw message

drivers/xen/pcpu.c +1 -1
index 47aa3a1ccaf5..fd3a644b0855 100644

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

fs/btrfs/raid56.c +4 -2
index 2feb5c20641a..a21b9e085d1b 100644

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

fs/btrfs/tests/qgroup-tests.c +4 -12
index 843dd3d3adbe..63676ea19f29 100644

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

fs/buffer.c +2 -2
index 55e762a58eb6..e1198f4b28c8 100644

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

fs/ceph/snap.c +2 -1
index 864cdaa0d2bd..e4151852184e 100644

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

fs/cifs/connect.c +11 -3
index c2c36451a883..317ca1be9c4c 100644

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

fs/cifs/ioctl.c +2 -2
index b6e6e5d6c8dd..baccda02deab 100644

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

fs/cifs/misc.c +5 -1
index 87f60f736731..35085fa86636 100644

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

fs/cifs/smb2misc.c +10 -2
index d73e5672aac4..3bcd3ac65dc1 100644

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

fs/cifs/smb2ops.c +9 -1
index 14376437187a..b724bf42b540 100644

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

fs/cifs/smb2transport.c +5 -1
index 4640fc4a8b13..da85cfd7803b 100644

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

fs/erofs/fscache.c +93 -133

226 lines not on this page · raw message

fs/gfs2/ops_fstype.c +11 -6
index 549879929c84..c7e2e6238366 100644

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

fs/hugetlbfs/inode.c +15 -17
index f7a5b5124d8a..fbcfa6bfee80 100644

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

fs/namei.c +1 -1
index 53b4bc094db2..076ae96ca0b1 100644

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

fs/netfs/buffered_read.c +13 -7
index 0ce535852151..7679a68e8193 100644

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

fs/netfs/io.c +3 -0
index 428925899282..e374767d1b68 100644

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

fs/nfs/nfs4proc.c +4 -2
index 3ed14a2a84a4..313e9145b6c9 100644

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

fs/nfsd/nfs4state.c +1 -0
index 0bc36472f8b7..ddb2bf078fda 100644

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

fs/ntfs/attrib.c +24 -4
index 52615e6090e1..a3865bc4a0c6 100644

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

fs/ntfs/inode.c +7 -0
index db0f1995aedd..08c659332e26 100644

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

include/linux/blkdev.h +8 -7
index 84b13fdd34a7..79624711fda7 100644

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

include/linux/bpf.h +4 -0
index 80fc8a88c610..73662fbabd78 100644

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

include/linux/hugetlb.h +1 -1
index 67c88b82fc32..53db3648207a 100644

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

include/linux/io_uring.h +3 -0
index 4a2f6cc5a492..ad88c4fa1113 100644

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

include/linux/ring_buffer.h +1 -1
index 2504df9a0453..3c7d295746f6 100644

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

include/linux/trace.h +2 -2
index b5e16e438448..80ffda871749 100644

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

include/linux/wireless.h +9 -1
index 2d1b54556eff..e6e34d74dda0 100644

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

include/net/ip.h +1 -1
index 1c979fd1904c..1eca38ac6c67 100644

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

include/net/ipv6.h +1 -1
index de9dcc5652c4..59125562c1a4 100644

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

include/soc/at91/sama7-ddr.h +4 -1
index 6ce3bd22f6c6..5ad7ac2e3a7c 100644

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

include/uapi/linux/ip.h +4 -2
index 961ec16a26b8..874a92349bf5 100644

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

include/uapi/linux/ipv6.h +4 -2
index 03cdbe798fe3..81f4243bebb1 100644

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

io_uring/io_uring.c +9 -3
index d29f397f095e..adf73d162521 100644

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

io_uring/io_uring.h +2 -2
index 5121b20a9193..1b552d213763 100644

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

io_uring/net.c +9 -14
index 7804ac77745b..8205cfecd647 100644

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

io_uring/poll.c +29 -12

41 lines not on this page · raw message

kernel/bpf/percpu_freelist.c +11 -12
index 00b874c8e889..2ffb741eee8d 100644

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

kernel/bpf/syscall.c +11 -0
index 22e7a805c672..0e758911d963 100644

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

kernel/bpf/trampoline.c +2 -13
index ad76940b02cc..41b67eb83ab3 100644

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

kernel/bpf/verifier.c +9 -5
index 69fb46fdf763..b781075dd510 100644

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

kernel/events/core.c +19 -6
index 072ab26269c0..bec18d81b116 100644

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

kernel/kprobes.c +7 -1
index 917b92ae2382..6d2a8623ec7b 100644

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

kernel/rseq.c +17 -2
index bda8175f8f99..d38ab944105d 100644

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

kernel/trace/bpf_trace.c +6 -0
index b1daf7c9b895..ec4b81007796 100644

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

kernel/trace/ftrace.c +3 -2
index 8cc9eb60c3c2..9e6231f4a04f 100644

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

kernel/trace/kprobe_event_gen_test.c +32 -16

48 lines not on this page · raw message

kernel/trace/rethook.c +3 -1
index c69d82273ce7..32c3dfdb4d6a 100644

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

kernel/trace/ring_buffer.c +50 -21

71 lines not on this page · raw message

kernel/trace/synth_event_gen_test.c +6 -10
index 0b15e975d2c2..8d77526892f4 100644

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

kernel/trace/trace.c +7 -5
index cc65887b31bd..7132e21e90d6 100644

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

kernel/trace/trace_eprobe.c +3 -0
index 860f5fb9514d..3b055aaee89a 100644

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

kernel/trace/trace_events_synth.c +2 -3
index e310052dc83c..29fbfb27c2b2 100644

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

mm/filemap.c +1 -1
index 15800334147b..ada25b9f45ad 100644

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

mm/hugetlb.c +8 -4
index ecc197d24efb..dbb558e71e9e 100644

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

mm/maccess.c +1 -1
index 5f4d240f67ec..074f6b086671 100644

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

mm/memory-failure.c +4 -1
index e7ac570dda75..4d302f6b02fc 100644

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

net/9p/trans_fd.c +29 -16

45 lines not on this page · raw message

net/bluetooth/l2cap_core.c +1 -1
index 4df3d0ed6c80..9c24947aa41e 100644

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

net/bpf/test_run.c +1 -0
index d11209367dd0..b422238f9f86 100644

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

net/bridge/br_vlan.c +14 -3
index 6e53dc991409..9ffd40b8270c 100644

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

net/caif/chnl_net.c +0 -3
index 4d63ef13a1fd..f35fc87c453a 100644

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

net/dsa/dsa2.c +10 -0
index e537655e442b..befa954b0a47 100644

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

net/dsa/dsa_priv.h +1 -0
index d9722e49864b..acea875c05e5 100644

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

net/dsa/master.c +1 -2
index 2851e44c4cf0..46b1f0455a7b 100644

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

net/dsa/port.c +16 -0
index a8895ee3cd60..9ac87063cca8 100644

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

net/ipv4/tcp_cdg.c +2 -0
index ddc7ba0554bd..112f28f93693 100644

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

net/kcm/kcmsock.c +7 -53

60 lines not on this page · raw message

net/netfilter/ipset/ip_set_core.c +5 -3
index 16ae92054baa..6b31746f9be3 100644

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

net/netlink/af_netlink.c +5 -3
index 0cd91f813a3b..d8d3ed2096a3 100644

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

net/sctp/outqueue.c +8 -5
index e213aaf45d67..20831079fb09 100644

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

net/sunrpc/auth_gss/auth_gss.c +1 -1
index a31a27816cc0..7bb247c51e2f 100644

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

net/wireless/wext-core.c +10 -7
index 76a80a41615b..fe8765c4075d 100644

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

net/x25/x25_dev.c +1 -1
index 5259ef8f5242..748d8630ab58 100644

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

sound/pci/hda/patch_realtek.c +2 -0
index b7cccbef401c..bf58e98c7a69 100644

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

sound/soc/amd/yc/acp6x-mach.c +21 -0
index 2cb50d5cf1a9..6c0f1de10429 100644

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

sound/soc/codecs/jz4725b.c +19 -15
index 5201a8f6d7b6..71ea576f7e67 100644

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

sound/soc/codecs/mt6660.c +4 -4
index 45e0df13afb9..b8369eeccc30 100644

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

sound/soc/codecs/rt1019.c +11 -9
index b66bfecbb879..49f527c61a7a 100644

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

sound/soc/codecs/rt1019.h +6 -0
index 64df831eeb72..48ba15efb48d 100644

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

sound/soc/codecs/rt1308-sdw.h +2 -0
index 6668e19d85d4..b5f231f708cb 100644

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

sound/soc/codecs/rt5514-spi.c +8 -7
index 1a25a3787935..362663abcb89 100644

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

sound/soc/codecs/rt5677-spi.c +10 -9
index 8f3993a4c1cc..d25703dd7499 100644

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

sound/soc/codecs/rt5682s.c +13 -2
index eb47e7cd485a..95fe993d59cb 100644

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

sound/soc/codecs/rt5682s.h +1 -0
index 7353831c73dd..b660a311b6c2 100644

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

sound/soc/codecs/tas2764.c +6 -13
index 39902f77a2e0..6c87c3cf5ef7 100644

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

sound/soc/codecs/tas2770.c +6 -14
index b6765235a4b3..8557759acb1f 100644

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

sound/soc/codecs/tas2780.c +6 -13
index a6db6f0e5431..afdf0c863aa1 100644

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

sound/soc/codecs/wm5102.c +3 -3
index c09c9ac51b3e..af7d324e3352 100644

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

sound/soc/codecs/wm5110.c +3 -3
index fc634c995834..f3f4a10bf0f7 100644

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

sound/soc/codecs/wm8962.c +52 -2

54 lines not on this page · raw message

sound/soc/codecs/wm8997.c +3 -3
index 77136a521605..210ad662fc26 100644

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

sound/soc/fsl/fsl_asrc.c +1 -1
index aa5edf32d988..d90adb6ee43d 100644

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

sound/soc/fsl/fsl_esai.c +1 -1
index 5c21fc490fce..17fefd27ec90 100644

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

sound/soc/fsl/fsl_sai.c +1 -1
index d430eece1d6b..887063f9cbea 100644

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

sound/soc/intel/boards/sof_rt5682.c +12 -0
index 045965312245..30c53dca342e 100644

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

sound/soc/intel/boards/sof_sdw.c +11 -0
index 2ff30b40a1e4..ee9857dc3135 100644

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

sound/soc/soc-core.c +15 -2
index e824ff1a9fc0..3d057784cbd5 100644

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

sound/soc/soc-utils.c +1 -1
index 70c380c0ac7b..d1308904e6e0 100644

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

sound/soc/sof/topology.c +10 -10
index 9273a70fec25..e1b7f07de7fc 100644

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

sound/usb/midi.c +1 -3
index bbff0923d264..2839f6b6f09b 100644

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

tools/testing/cxl/test/cxl.c +2 -2
index a072b2d3e726..133e4c73d370 100644

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

tools/testing/selftests/bpf/test_progs.c +1 -1
index 3561c97701f2..a07b8ae64bf8 100644

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

tools/testing/selftests/bpf/test_verifier.c +1 -1
index f9d553fbf68a..ce97a9262698 100644

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

tools/testing/selftests/futex/functional/Makefile +2 -4
index 732149011692..5a0e0df8de9b 100644

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

tools/testing/selftests/intel_pstate/Makefile +3 -3
index 39f0fa2a8fd6..05d66ef50c97 100644

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

tools/testing/selftests/kexec/Makefile +3 -3
index 806a150648c3..67fe7a46cb62 100644

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

tools/testing/selftests/pidfd/pidfd_wait.c +10 -0
index 070c1c876df1..c3e2a3041f55 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.0.10 kernel.

All users of the 6.0 kernel series must upgrade.

The updated 6.0.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.0.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/driver-api/miscellaneous.rst                          |    5 
 Documentation/process/code-of-conduct-interpretation.rst            |    2 
 Makefile                                                            |    2 
 arch/arm/boot/dts/imx7s.dtsi                                        |    4 
 arch/arm/boot/dts/sama7g5-pinfunc.h                                 |    2 
 arch/arm/mach-at91/pm_suspend.S                                     |    7 
 arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts           |   32 +
 arch/arm64/boot/dts/freescale/imx8mm.dtsi                           |    4 
 arch/arm64/boot/dts/freescale/imx8mn.dtsi                           |    2 
 arch/arm64/boot/dts/qcom/ipq8074.dtsi                               |    2 
 arch/arm64/boot/dts/qcom/sa8155p-adp.dts                            |   13 
 arch/arm64/boot/dts/qcom/sa8295p-adp.dts                            |   12 
 arch/arm64/boot/dts/qcom/sc7280.dtsi                                |    3 
 arch/arm64/boot/dts/qcom/sc8280xp-crd.dts                           |    6 
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi                              |   36 -
 arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi             |    6 
 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi                |    6 
 arch/arm64/boot/dts/qcom/sm8250.dtsi                                |    1 
 arch/arm64/boot/dts/qcom/sm8350-hdk.dts                             |   12 
 arch/arm64/include/asm/cputype.h                                    |    2 
 arch/arm64/include/asm/pgtable.h                                    |    4 
 arch/arm64/mm/mmu.c                                                 |    8 
 arch/arm64/mm/pageattr.c                                            |   11 
 arch/mips/kernel/relocate_kernel.S                                  |   15 
 arch/mips/loongson64/reset.c                                        |   10 
 arch/powerpc/Kconfig                                                |    2 
 arch/s390/include/asm/processor.h                                   |   11 
 arch/x86/events/amd/core.c                                          |    5 
 arch/x86/events/amd/uncore.c                                        |    1 
 arch/x86/events/intel/pt.c                                          |    9 
 arch/x86/include/asm/intel-family.h                                 |   11 
 arch/x86/kernel/cpu/bugs.c                                          |   13 
 arch/x86/kernel/cpu/sgx/ioctl.c                                     |    3 
 arch/x86/kernel/fpu/core.c                                          |    2 
 arch/x86/kvm/kvm-asm-offsets.c                                      |    2 
 arch/x86/kvm/svm/sev.c                                              |    4 
 arch/x86/kvm/svm/svm.c                                              |   91 +---
 arch/x86/kvm/svm/svm.h                                              |   10 
 arch/x86/kvm/svm/svm_ops.h                                          |    5 
 arch/x86/kvm/svm/vmenter.S                                          |  136 +++++-
 arch/x86/kvm/xen.c                                                  |    7 
 block/blk-cgroup.c                                                  |    2 
 block/blk-core.c                                                    |    1 
 block/blk-mq.c                                                      |    1 
 block/blk-settings.c                                                |    8 
 block/sed-opal.c                                                    |   32 +
 drivers/accessibility/speakup/main.c                                |    2 
 drivers/accessibility/speakup/utils.h                               |    2 
 drivers/acpi/scan.c                                                 |    1 
 drivers/acpi/x86/utils.c                                            |    6 
 drivers/ata/libata-scsi.c                                           |   10 
 drivers/ata/libata-transport.c                                      |   19 
 drivers/block/drbd/drbd_main.c                                      |    4 
 drivers/cxl/core/mbox.c                                             |    2 
 drivers/cxl/pmem.c                                                  |    2 
 drivers/firmware/arm_scmi/bus.c                                     |   11 
 drivers/firmware/arm_scmi/common.h                                  |    5 
 drivers/firmware/arm_scmi/driver.c                                  |   32 -
 drivers/firmware/arm_scmi/mailbox.c                                 |    2 
 drivers/firmware/arm_scmi/optee.c                                   |    2 
 drivers/firmware/arm_scmi/shmem.c                                   |   31 +
 drivers/firmware/arm_scmi/smc.c                                     |    2 
 drivers/firmware/google/coreboot_table.c                            |   37 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                          |   15 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c                            |    2 
 drivers/gpu/drm/amd/amdgpu/mes_v11_0.c                              |    9 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                   |   35 +
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h                   |    6 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c              |   10 
 drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c                  |   30 +
 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c                  |   12 
 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c                   |    1 
 drivers/gpu/drm/amd/display/dc/dcn314/dcn314_optc.c                 |    2 
 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c       |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn20/dcn20_fpu.c                |    1 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c      |    7 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_rq_dlg_calc_32.c   |    4 
 drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c               |    2 
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c                           |   23 -
 drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h                       |    8 
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_v11_0.h                        |   10 
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h                        |   11 
 drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c                      |    2 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c                      |    9 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c                |   30 +
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c                |   30 +
 drivers/gpu/drm/display/drm_dp_dual_mode_helper.c                   |   51 +-
 drivers/gpu/drm/drm_drv.c                                           |    2 
 drivers/gpu/drm/drm_internal.h                                      |    3 
 drivers/gpu/drm/imx/imx-tve.c                                       |    5 
 drivers/gpu/drm/lima/lima_devfreq.c                                 |   15 
 drivers/gpu/drm/msm/adreno/adreno_device.c                          |   10 
 drivers/gpu/drm/msm/msm_gpu.c                                       |    2 
 drivers/gpu/drm/msm/msm_gpu.h                                       |    4 
 drivers/gpu/drm/panel/panel-simple.c                                |    2 
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c                        |   10 
 drivers/gpu/drm/scheduler/sched_entity.c                            |    6 
 drivers/gpu/drm/vc4/vc4_kms.c                                       |    8 
 drivers/i2c/busses/i2c-i801.c                                       |    1 
 drivers/i2c/busses/i2c-tegra.c                                      |   16 
 drivers/iio/accel/bma400_core.c                                     |   24 -
 drivers/iio/adc/at91_adc.c                                          |    4 
 drivers/iio/adc/mp2629_adc.c                                        |    5 
 drivers/iio/pressure/ms5611.h                                       |   12 
 drivers/iio/pressure/ms5611_core.c                                  |   51 +-
 drivers/iio/pressure/ms5611_spi.c                                   |    2 
 drivers/iio/trigger/iio-trig-sysfs.c                                |    6 
 drivers/infiniband/hw/efa/efa_main.c                                |    4 
 drivers/input/joystick/iforce/iforce-main.c                         |    8 
 drivers/input/serio/i8042.c                                         |    4 
 drivers/iommu/intel/iommu.c                                         |    8 
 drivers/iommu/intel/pasid.c                                         |    5 
 drivers/isdn/mISDN/core.c                                           |    2 
 drivers/isdn/mISDN/dsp_pipeline.c                                   |    3 
 drivers/md/dm-bufio.c                                               |    2 
 drivers/md/dm-crypt.c                                               |    1 
 drivers/md/dm-ioctl.c                                               |    4 
 drivers/misc/vmw_vmci/vmci_queue_pair.c                             |    2 
 drivers/mmc/core/core.c                                             |    8 
 drivers/mmc/host/sdhci-pci-core.c                                   |    2 
 drivers/mmc/host/sdhci-pci-o2micro.c                                |    7 
 drivers/mtd/nand/onenand/Kconfig                                    |    1 
 drivers/mtd/nand/raw/qcom_nandc.c                                   |   12 
 drivers/net/ethernet/amazon/ena/ena_netdev.c                        |    8 
 drivers/net/ethernet/atheros/ag71xx.c                               |    3 
 drivers/net/ethernet/broadcom/bgmac.c                               |    1 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                           |   62 ++
 drivers/net/ethernet/broadcom/bnxt/bnxt.h                           |    1 
 drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c                      |    3 
 drivers/net/ethernet/cavium/liquidio/lio_main.c                     |   34 +
 drivers/net/ethernet/hisilicon/hns3/hnae3.h                         |    1 
 drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c    |   20 
 drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h    |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c                     |  167 ++++---
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.h                     |    1 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c             |   11 
 drivers/net/ethernet/huawei/hinic/hinic_main.c                      |    9 
 drivers/net/ethernet/marvell/octeon_ep/octep_main.c                 |   16 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c            |    2 
 drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c            |    3 
 drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c              |    3 
 drivers/net/ethernet/microchip/sparx5/sparx5_main.c                 |    3 
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c                |    6 
 drivers/net/ethernet/pensando/ionic/ionic_main.c                    |    8 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                   |    3 
 drivers/net/macvlan.c                                               |    6 
 drivers/net/mctp/mctp-i2c.c                                         |   47 +-
 drivers/net/mhi_net.c                                               |    2 
 drivers/net/netdevsim/dev.c                                         |    1 
 drivers/net/phy/dp83867.c                                           |    7 
 drivers/net/phy/marvell.c                                           |   16 
 drivers/net/thunderbolt.c                                           |   19 
 drivers/net/usb/smsc95xx.c                                          |   46 +-
 drivers/nvme/host/ioctl.c                                           |    6 
 drivers/nvme/host/nvme.h                                            |   16 
 drivers/nvme/host/pci.c                                             |    4 
 drivers/nvme/target/auth.c                                          |    2 
 drivers/nvme/target/configfs.c                                      |    1 
 drivers/parport/parport_pc.c                                        |    2 
 drivers/pinctrl/devicetree.c                                        |    2 
 drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c                    |    3 
 drivers/pinctrl/pinctrl-rockchip.c                                  |   40 +
 drivers/platform/surface/aggregator/ssh_packet_layer.c              |   24 -
 drivers/platform/x86/amd/pmc.c                                      |    3 
 drivers/platform/x86/intel/pmc/core.c                               |    2 
 drivers/platform/x86/intel/pmc/pltdrv.c                             |    9 
 drivers/platform/x86/thinkpad_acpi.c                                |    4 
 drivers/s390/block/dcssblk.c                                        |    1 
 drivers/s390/scsi/zfcp_fsf.c                                        |    2 
 drivers/scsi/scsi_debug.c                                           |    6 
 drivers/scsi/scsi_transport_sas.c                                   |   13 
 drivers/siox/siox-core.c                                            |    2 
 drivers/slimbus/Kconfig                                             |    2 
 drivers/slimbus/stream.c                                            |    8 
 drivers/soc/imx/soc-imx8m.c                                         |   11 
 drivers/spi/spi-intel.c                                             |    2 
 drivers/spi/spi-stm32.c                                             |    1 
 drivers/spi/spi-tegra210-quad.c                                     |    5 
 drivers/target/loopback/tcm_loop.c                                  |    3 
 drivers/tty/n_gsm.c                                                 |    2 
 drivers/tty/serial/8250/8250_lpss.c                                 |   17 
 drivers/tty/serial/8250/8250_omap.c                                 |   45 +
 drivers/tty/serial/8250/8250_port.c                                 |    7 
 drivers/tty/serial/fsl_lpuart.c                                     |   76 ++-
 drivers/tty/serial/imx.c                                            |    1 
 drivers/usb/cdns3/host.c                                            |   56 +-
 drivers/usb/chipidea/otg_fsm.c                                      |    2 
 drivers/usb/core/quirks.c                                           |    3 
 drivers/usb/dwc3/core.c                                             |   10 
 drivers/usb/dwc3/host.c                                             |   10 
 drivers/usb/host/bcma-hcd.c                                         |   10 
 drivers/usb/serial/option.c                                         |   19 
 drivers/usb/typec/mux/intel_pmc_mux.c                               |   15 
 drivers/usb/typec/tipd/core.c                                       |    6 
 drivers/vfio/vfio_main.c                                            |   50 +-
 drivers/xen/pcpu.c                                                  |    2 
 fs/btrfs/raid56.c                                                   |    6 
 fs/btrfs/tests/qgroup-tests.c                                       |   16 
 fs/buffer.c                                                         |    4 
 fs/ceph/snap.c                                                      |    3 
 fs/cifs/connect.c                                                   |   14 
 fs/cifs/ioctl.c                                                     |    4 
 fs/cifs/misc.c                                                      |    6 
 fs/cifs/smb2misc.c                                                  |   12 
 fs/cifs/smb2ops.c                                                   |   10 
 fs/cifs/smb2transport.c                                             |    6 
 fs/erofs/fscache.c                                                  |  226 ++++------
 fs/gfs2/ops_fstype.c                                                |   17 
 fs/hugetlbfs/inode.c                                                |   32 -
 fs/namei.c                                                          |    2 
 fs/netfs/buffered_read.c                                            |   20 
 fs/netfs/io.c                                                       |    3 
 fs/nfs/nfs4proc.c                                                   |    6 
 fs/nfsd/nfs4state.c                                                 |    1 
 fs/ntfs/attrib.c                                                    |   28 +
 fs/ntfs/inode.c                                                     |    7 
 include/linux/blkdev.h                                              |   15 
 include/linux/bpf.h                                                 |    4 
 include/linux/hugetlb.h                                             |    2 
 include/linux/io_uring.h                                            |    3 
 include/linux/ring_buffer.h                                         |    2 
 include/linux/trace.h                                               |    4 
 include/linux/wireless.h                                            |   10 
 include/net/ip.h                                                    |    2 
 include/net/ipv6.h                                                  |    2 
 include/soc/at91/sama7-ddr.h                                        |    5 
 include/uapi/linux/ip.h                                             |    6 
 include/uapi/linux/ipv6.h                                           |    6 
 io_uring/io_uring.c                                                 |   12 
 io_uring/io_uring.h                                                 |    4 
 io_uring/net.c                                                      |   23 -
 io_uring/poll.c                                                     |   41 +
 kernel/bpf/percpu_freelist.c                                        |   23 -
 kernel/bpf/syscall.c                                                |   11 
 kernel/bpf/trampoline.c                                             |   15 
 kernel/bpf/verifier.c                                               |   14 
 kernel/events/core.c                                                |   25 -
 kernel/kprobes.c                                                    |    8 
 kernel/rseq.c                                                       |   19 
 kernel/trace/bpf_trace.c                                            |    6 
 kernel/trace/ftrace.c                                               |    5 
 kernel/trace/kprobe_event_gen_test.c                                |   48 +-
 kernel/trace/rethook.c                                              |    4 
 kernel/trace/ring_buffer.c                                          |   71 ++-
 kernel/trace/synth_event_gen_test.c                                 |   16 
 kernel/trace/trace.c                                                |   12 
 kernel/trace/trace_eprobe.c                                         |    3 
 kernel/trace/trace_events_synth.c                                   |    5 
 mm/filemap.c                                                        |    2 
 mm/hugetlb.c                                                        |   12 
 mm/maccess.c                                                        |    2 
 mm/memory-failure.c                                                 |    5 
 net/9p/trans_fd.c                                                   |   45 +
 net/bluetooth/l2cap_core.c                                          |    2 
 net/bpf/test_run.c                                                  |    1 
 net/bridge/br_vlan.c                                                |   17 
 net/caif/chnl_net.c                                                 |    3 
 net/dsa/dsa2.c                                                      |   10 
 net/dsa/dsa_priv.h                                                  |    1 
 net/dsa/master.c                                                    |    3 
 net/dsa/port.c                                                      |   16 
 net/ipv4/tcp_cdg.c                                                  |    2 
 net/kcm/kcmsock.c                                                   |   60 --
 net/netfilter/ipset/ip_set_core.c                                   |    8 
 net/netlink/af_netlink.c                                            |    8 
 net/sctp/outqueue.c                                                 |   13 
 net/sunrpc/auth_gss/auth_gss.c                                      |    2 
 net/wireless/wext-core.c                                            |   17 
 net/x25/x25_dev.c                                                   |    2 
 sound/pci/hda/patch_realtek.c                                       |    2 
 sound/soc/amd/yc/acp6x-mach.c                                       |   21 
 sound/soc/codecs/jz4725b.c                                          |   34 -
 sound/soc/codecs/mt6660.c                                           |    8 
 sound/soc/codecs/rt1019.c                                           |   20 
 sound/soc/codecs/rt1019.h                                           |    6 
 sound/soc/codecs/rt1308-sdw.h                                       |    2 
 sound/soc/codecs/rt5514-spi.c                                       |   15 
 sound/soc/codecs/rt5677-spi.c                                       |   19 
 sound/soc/codecs/rt5682s.c                                          |   15 
 sound/soc/codecs/rt5682s.h                                          |    1 
 sound/soc/codecs/tas2764.c                                          |   19 
 sound/soc/codecs/tas2770.c                                          |   20 
 sound/soc/codecs/tas2780.c                                          |   19 
 sound/soc/codecs/wm5102.c                                           |    6 
 sound/soc/codecs/wm5110.c                                           |    6 
 sound/soc/codecs/wm8962.c                                           |   54 ++
 sound/soc/codecs/wm8997.c                                           |    6 
 sound/soc/fsl/fsl_asrc.c                                            |    2 
 sound/soc/fsl/fsl_esai.c                                            |    2 
 sound/soc/fsl/fsl_sai.c                                             |    2 
 sound/soc/intel/boards/sof_rt5682.c                                 |   12 
 sound/soc/intel/boards/sof_sdw.c                                    |   11 
 sound/soc/soc-core.c                                                |   17 
 sound/soc/soc-utils.c                                               |    2 
 sound/soc/sof/topology.c                                            |   20 
 sound/usb/midi.c                                                    |    4 
 tools/testing/cxl/test/cxl.c                                        |    4 
 tools/testing/selftests/bpf/test_progs.c                            |    2 
 tools/testing/selftests/bpf/test_verifier.c                         |    2 
 tools/testing/selftests/futex/functional/Makefile                   |    6 
 tools/testing/selftests/intel_pstate/Makefile                       |    6 
 tools/testing/selftests/kexec/Makefile                              |    6 
 tools/testing/selftests/pidfd/pidfd_wait.c                          |   10 
 304 files changed, 2491 insertions(+), 1294 deletions(-)

Aashish Sharma (1):
tracing: Fix warning on variable 'struct trace_array'

Adrian Hunter (1):
perf/x86/intel/pt: Fix sampling using single range output

Aishwarya Kothari (1):
drm/panel: simple: set bpc field for logic technologies displays

Akhil P Oommen (1):
drm/msm/gpu: Fix crash during system suspend after unbind

Akira Yokosawa (1):
docs/driver-api/miscellaneous: Remove kernel-doc of serial_core.c

Al Viro (1):
block: blk_add_rq_to_plug(): clear stale 'last' after flush

Alban Crequy (1):
maccess: Fix writing offset in case of fault in strncpy_from_kernel_nofault()

Alexander Potapenko (2):
misc/vmw_vmci: fix an infoleak in vmci_host_do_receive_datagram()
mm: fs: initialize fsdata passed to write_begin/write_end interface

Alexander Stein (1):
arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR

Alexandru Tachici (1):
net: usb: smsc95xx: fix external PHY reset

Alvin Lee (2):
drm/amd/display: Don't return false if no stream drm/amd/display: Enable timing sync on DCN32

Aminuddin Jamaluddin (1):
net: phy: marvell: add sleep time after enabling the loopback bit

Amit Cohen (1):
mlxsw: Avoid warnings when not offloaded FDB entry with IPv6 is removed

Anastasia Belova (2):
cifs: add check for returning value of SMB2_close_init
cifs: add check for returning value of SMB2_set_info_init

Andreas Gruenbacher (1):
gfs2: Switch from strlcpy to strscpy

Andrew Price (1):
gfs2: Check sb_bsize_shift after reading superblock

AngeloGioacchino Del Regno (1):
pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE

Ard Biesheuvel (1):
arm64: fix rodata=full again

Baisong Zhong (1):
bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb()

Bean Huo (1):
nvme-pci: add NVME_QUIRK_BOGUS_NID for Micron Nitro

Benjamin Block (1):
scsi: zfcp: Fix double free of FSF request when qdio send fails

Benjamin Coddington (1):
NFSv4: Retry LOCK on OLD_STATEID during delegation return

Benoît Monin (1):
USB: serial: option: add Sierra Wireless EM9191

Borys Popławski (1):
x86/sgx: Add overflow check in sgx_validate_offset_length()

Brian Masney (1):

      arm64: dts: qcom: sc8280xp: correct ref clock for ufs_mem_phy

Brian Norris (1):
firmware: coreboot: Register bus in module init

Chen Jun (1):
Input: i8042 - fix leaking of platform device on module removal

Chen Zhongjin (2):
ASoC: core: Fix use-after-free in snd_soc_exit()
ASoC: soc-utils: Remove __exit for snd_soc_util_exit()

Chevron Li (1):
mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce timeout

Chris Mason (1):
blk-cgroup: properly pin the parent in blkcg_css_online

Christian König (1):
drm/scheduler: fix fence ref counting

Christian Marangi (1):
mtd: rawnand: qcom: handle ret from parse with codeword_fixup

Chuang Wang (1):
net: macvlan: Use built-in RCU list checking

Chuck Lever (1):
SUNRPC: Fix crasher in gss_unwrap_resp_integ()

Claudiu Beznea (1):
ARM: at91: pm: avoid soft resetting AC DLL

Colin Ian King (1):

      ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> "Route"

Cong Wang (1):
kcm: close race conditions on sk_receive_queue

Cristian Marussi (2):
firmware: arm_scmi: Cleanup the core driver removal callback
firmware: arm_scmi: Make tx_prepare time out eventually

D Scott Phillips (1):
arm64: Fix bit-shifting UB in the MIDR_CPU_MODEL() macro

Dan Carpenter (1):
drbd: use after free in drbd_create_device()

Dan Williams (1):
tools/testing/cxl: Fix some error exits

Daniil Tatianin (1):
ring_buffer: Do not deactivate non-existant pages

David Howells (2):
netfs: Fix missing xas_retry() calls in xarray iteration
netfs: Fix dodgy maths

Davide Tronchin (3):
USB: serial: option: remove old LARA-R6 PID
USB: serial: option: add u-blox LARA-R6 00B modem
USB: serial: option: add u-blox LARA-L6 modem

Derek Fang (2):
ASoC: rt5682s: Fix the TDM Tx settings
ASoC: rt1019: Fix the TDM settings

Dillon Varone (1):
drm/amd/display: Fix prefetch calculations for dcn32

Dominique Martinet (2):
9p: trans_fd/p9_conn_cancel: drop client lock earlier net/9p: use a dedicated spinlock for trans_fd

Douglas Anderson (6):
arm64: dts: qcom: sa8155p-adp: Specify which LDO modes are allowed
arm64: dts: qcom: sa8295p-adp: Specify which LDO modes are allowed
arm64: dts: qcom: sc8280xp-crd: Specify which LDO modes are allowed
arm64: dts: qcom: sm8150-xperia-kumano: Specify which LDO modes are allowed
arm64: dts: qcom: sm8250-xperia-edo: Specify which LDO modes are allowed
arm64: dts: qcom: sm8350-hdk: Specify which LDO modes are allowed

Duoming Zhou (2):
tty: n_gsm: fix sleep-in-atomic-context bug in gsm_control_send
usb: chipidea: fix deadlock in ci_otg_del_timer

Dylan Yudaken (1):
io_uring: calculate CQEs from the user visible value

Eiichi Tsukata (1):
KVM: x86/xen: Fix eventfd error handling in kvm_xen_eventfd_assign()

Emil Flink (1):
ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro

Eric Dumazet (3):
macvlan: enforce a consistent minimal mtu
tcp: cdg: allow tcp_cdg_release() to be called multiple times
kcm: avoid potential race in kcm_tx_work

Erico Nunes (1):
drm/lima: Fix opp clkname setting in case of missing regulator

Evan Quan (3):
drm/amd/pm: enable runpm support over BACO for SMU13.0.7 drm/amd/pm: enable runpm support over BACO for SMU13.0.0 drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround

Fangzhi Zuo (1):
drm/amd/display: Ignore Cable ID Feature

Filipe Manana (1):
btrfs: remove pointless and double ulist frees in error paths of qgroup tests

Gaosheng Cui (2):
drm/vc4: kms: Fix IS_ERR() vs NULL check for vc4_kms
bnxt_en: Remove debugfs when pci_register_driver failed

Gayatri Kammela (1):
platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver

George Shen (4):
drm/amd/display: Fix DCN32 DSC delay calculation drm/amd/display: Use forced DSC bpp in DML drm/amd/display: Round up DST_after_scaler to nearest int drm/amd/display: Support parsing VRAM info v3.0 from VBIOS

Gerald Schaefer (1):
s390/dcssblk: fix deadlock when adding a DCSS

Greg Kroah-Hartman (1):

      Linux 6.0.10

Guangbin Huang (1):
net: hns3: fix setting incorrect phy link ksettings for firmware in resetting process

Hangbin Liu (1):
net: use struct_group to copy ip/ipv6 header addresses

Hans de Goede (1):

      ACPI: scan: Add LATT2021 to acpi_ignore_dep_ids[]

Hawkins Jiawei (4):
wifi: wext: use flex array destination for memcpy()
ntfs: fix use-after-free in ntfs_attr_find()
ntfs: fix out-of-bounds read in ntfs_attr_find()
ntfs: check overflow when iterating ATTR_RECORDs

Ido Schimmel (1):
bridge: switchdev: Fix memory leaks when changing VLAN protocol

Ilpo Järvinen (4):
serial: 8250: Fall back to non-DMA Rx if IIR_RDI occurs
serial: 8250: Flush DMA Rx on RLSI
serial: 8250_lpss: Configure DMA also w/o DMA filter
serial: 8250_lpss: Use 16B DMA burst with Elkhart Lake

Jaco Coetzee (1):
nfp: change eeprom length to max length enumerators

James Houghton (1):
hugetlbfs: don't delete error page from pagecache

Janne Grunau (1):
usb: dwc3: Do not get extcon device when usb-role-switch is used

Jason Gunthorpe (2):
vfio: Rename vfio_ioctl_check_extension()
vfio: Split the register_device ops call into functions

Jason Montleon (2):
ASoC: rt5514: fix legacy dai naming
ASoC: rt5677: fix legacy dai naming

Jeff Layton (1):
nfsd: put the export reference in nfsd4_verify_deleg_dentry

Jelle van der Waa (1):
platform/x86: thinkpad_acpi: Fix reporting a non present second fan on some models

Jeremy Kerr (1):
mctp i2c: don't count unused / invalid keys for flow release

Jian Shen (1):
net: hns3: fix incorrect hw rss hash type of rx packet

Jie Wang (1):
net: hns3: fix return value check bug of rx copybreak

Jingbo Xu (4):
erofs: clean up .read_folio() and .readahead() in fscache mode
erofs: get correct count for unmapped range in fscache mode
erofs: put metabuf in error path in fscache mode
erofs: fix missing xas_retry() in fscache mode

Jiri Olsa (1):
bpf: Prevent bpf program recursion for raw tracepoint probes

Johan Hovold (7):

      arm64: dts: qcom: sc8280xp: fix ufs_card_phy ref clock
      arm64: dts: qcom: sc8280xp: fix USB0 PHY PCS_MISC registers
      arm64: dts: qcom: sc8280xp: fix USB1 PHY RX1 registers
      arm64: dts: qcom: sc8280xp: fix USB PHY PCS registers
      arm64: dts: qcom: sc8280xp: drop broken DP PHY nodes
      arm64: dts: qcom: sc8280xp: fix UFS PHY serdes size
      Revert "usb: dwc3: disable USB core PHY management"

Jonathan Cameron (2):
cxl/mbox: Add a check on input payload size
iio: accel: bma400: Ensure VDDIO is enable defore reading the chip ID.

Kees Cook (1):
netlink: Bounds-check struct nlmsgerr creation

Keith Busch (4):
block: make dma_alignment a stacking queue_limit
dm-crypt: provide dma_alignment limit in io_hints
nvme: restrict management ioctls to admin
nvme: ensure subsystem reset is single threaded

Krishna Yarlagadda (1):
spi: tegra210-quad: Fix combined sequence

Krzysztof Kozlowski (2):
mtd: onenand: omap2: add dependency on GPMC
slimbus: stream: correct presence rate frequencies

Leohearts (1):
ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table

Li Huafei (1):
kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case

Li Jun (1):
usb: cdns3: host: fix endless superspeed hub port reset

Li Zhijian (1):
ksefltests: pidfd: Fix wait_states: Test terminated by timeout

Liao Chang (1):
MIPS: Loongson64: Add WARN_ON on kexec related kmalloc failed

Linus Walleij (1):
USB: bcma: Make GPIO explicitly optional

Liu Jian (1):
net: ag71xx: call phylink_disconnect_phy if ag71xx_hw_enable() fail in ag71xx_open()

Liu Shixin (1):
arm64/mm: fix incorrect file_map_count for non-leaf pmd/pud

Luiz Augusto von Dentz (1):
Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm

Maarten Zanders (1):
ASoC: fsl_asrc fsl_esai fsl_sai: allow CONFIG_PM=N

Maciej W. Rozycki (1):
parport_pc: Avoid FIFO port location truncation

Marco Elver (1):
perf: Improve missing SIGTRAP checking

Marek Vasut (4):
spi: stm32: Print summary 'callbacks suppressed' message
ARM: dts: imx7: Fix NAND controller size-cells
arm64: dts: imx8mm: Fix NAND controller size-cells
arm64: dts: imx8mn: Fix NAND controller size-cells

Mario Limonciello (3):
ACPI: x86: Add another system to quirk list for forcing StorageD3Enable drm/amd: Fail the suspend if resources can't be evicted platform/x86/amd: pmc: Remove more CONFIG_DEBUG_FS checks

Martin Povišer (3):
ASoC: tas2770: Fix set_tdm_slot in case of single slot
ASoC: tas2764: Fix set_tdm_slot in case of single slot
ASoC: tas2780: Fix set_tdm_slot in case of single slot

Mathieu Desnoyers (1):
rseq: Use pr_warn_once() when deprecated/unknown ABI flags are encountered

Matthias Schiffer (1):
serial: 8250_omap: remove wait loop from Errata i202 workaround

Mauro Lima (1):
spi: intel: Fix the offset to get the 64K erase opcode

Maximilian Luz (1):
platform/surface: aggregator: Do not check for repeated unsequenced packets

Mel Gorman (1):
x86/fpu: Drop fpregs lock before inheriting FPU permissions

Melissa Wen (1):
drm/amd/display: don't enable DRM CRTC degamma property for DCE

Michael Ellerman (1):
powerpc/64e: Fix amdgpu build on Book3E w/o AltiVec

Michael Margolin (1):

      RDMA/efa: Add EFA 0xefa2 PCI ID

Michael Sit Wei Hong (1):
net: phy: dp83867: Fix SGMII FIFO depth for non OF devices

Michael Tretter (2):
drm/rockchip: vop2: fix null pointer in plane_atomic_disable drm/rockchip: vop2: disable planes when disabling the crtc

Mihai Sain (1):
ARM: dts: at91: sama7g5: fix signal name of pin PB2

Mike Kravetz (1):
hugetlb: rename remove_huge_page to hugetlb_delete_from_page_cache

Mike Rapoport (1):
arm64/mm: fold check for KFENCE into can_set_direct_map()

Mikulas Patocka (1):
dm ioctl: fix misbehavior if list_versions races with module loading

Mitja Spes (2):
iio: pressure: ms5611: fixed value compensation bug
iio: pressure: ms5611: changed hardcoded SPI speed to value limited

Mohd Faizal Abdul Rahim (1):
net: stmmac: ensure tx function is not running in stmmac_xdp_release()

Mushahid Hussain (1):
speakup: fix a segfault caused by switching consoles

Nam Cao (1):

      i2c: i801: add lis3lv02d's I2C address for Vostro 5568

Nathan Huckleberry (1):
drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid

Nevenko Stupar (1):
drm/amd/display: Investigate tool reported FCLK P-state deviations

Nicolas Dumazet (1):
usb: add NO_LPM quirk for Realforce 87U Keyboard

Niklas Cassel (1):
ata: libata-core: do not issue non-internal commands once EH is pending

Paolo Bonzini (4):
KVM: SVM: remove dead field from struct svm_cpu_data
KVM: SVM: do not allocate struct svm_cpu_data dynamically
KVM: SVM: restore host save area from assembly
KVM: SVM: move MSR_IA32_SPEC_CTRL save/restore to assembly

Pavel Begunkov (6):
io_uring/poll: fix double poll req->flags races
io_uring: update res mask in io_poll_check_events
io_uring: fix tw losing poll events
io_uring: fix multishot accept request leaks
io_uring: fix multishot recv request leaks
io_uring: disallow self-propelled ring polling

Peng Fan (1):
arm64: dts: imx93-pinfunc: drop execution permission

Peter Ujfalusi (1):
ASoC: SOF: topology: No need to assign core ID if token parsing failed

Pierre-Louis Bossart (1):
ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15

Pu Lehui (1):
selftests/bpf: Fix casting error when cross-compiling test_verifier for 32-bit platforms

Qu Wenruo (1):
btrfs: raid56: properly handle the error when unable to find the missing stripe

Quentin Schulz (1):
pinctrl: rockchip: list all pins in a possible mux route for PX30

Rajat Khandelwal (1):
usb: typec: mux: Enter safe mode only when pins need to be reconfigured

Ravi Bangoria (1):
perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and throttling

Reinhard Speyerer (1):

      USB: serial: option: add Fibocom FM160 0x0111 composition

Ricardo Cañuelo (3):
selftests/futex: fix build for clang selftests/intel_pstate: fix build for ARCH=x86_64 selftests/kexec: fix build for ARCH=x86_64

Robert Marko (1):
arm64: dts: qcom: ipq8074: correct APCS register space size

Rodrigo Siqueira (2):
drm/amd/display: Remove wrong pipe control lock drm/amd/display: Add HUBP surface flip interrupt handler

Roger Pau Monné (1):
platform/x86/intel: pmc: Don't unconditionally attach Intel PMC when virtualized

Roman Li (1):
drm/amd/display: Fix optc2_configure warning on dcn314

Rongwei Zhang (1):
MIPS: fix duplicate definitions for exported symbols

Sagi Grimberg (2):
nvmet: fix a memory leak
nvmet: fix a memory leak in nvmet_auth_set_key

Sandipan Das (1):
perf/x86/amd/uncore: Fix memory leak for events array

Saravanan Sekar (2):
iio: adc: mp2629: fix wrong comparison of channel
iio: adc: mp2629: fix potential array out of bound access

Satya Priya (1):
arm64: dts: qcom: sc7280: Add the reset reg for lpass audiocc on SC7280

Serge Semin (1):
block: sed-opal: kmalloc the cmd/resp buffers

Shang XiaoJing (8):
drm/drv: Fix potential memory leak in drm_dev_init()
drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker()
net: lan966x: Fix potential null-ptr-deref in lan966x_stats_init()
net: microchip: sparx5: Fix potential null-ptr-deref in sparx_stats_init() and sparx5_start()
tracing: Fix memory leak in test_gen_synth_cmd() and test_empty_synth_event()
tracing: Fix wild-memory-access in register_synth_event()
tracing: kprobe: Fix potential null-ptr-deref on trace_event_file in kprobe_event_gen_test_exit()
tracing: kprobe: Fix potential null-ptr-deref on trace_array in kprobe_event_gen_test_exit()

Shawn Guo (1):
serial: imx: Add missing .thaw_noirq hook

Sherry Sun (1):
tty: serial: fsl_lpuart: don't break the on-going transfer when global reset

Shuah Khan (1):
docs: update mediator contact information in CoC doc

Shuming Fan (1):
ASoC: rt1308-sdw: add the default value of some registers

Shyam Prasad N (1):
cifs: always iterate smb sessions using primary channel

Shyam Sundar S K (1):
platform/x86/amd: pmc: Add new ACPI ID AMDI0009

Siarhei Volkau (4):
ASoC: codecs: jz4725b: add missed Line In power control bit
ASoC: codecs: jz4725b: fix reported volume for Master ctl
ASoC: codecs: jz4725b: use right control for Capture Volume
ASoC: codecs: jz4725b: fix capture selector naming

Simon Rettberg (1):
drm/display: Don't assume dual mode adaptors support i2c sub-addressing

Steven Rostedt (Google) (3):
tracing/ring-buffer: Have polling block on watermark
tracing: Fix race where eprobes can be called before the event
ring-buffer: Include dropped pages in counting dirty patches

Stylon Wang (2):
drm/amd/display: Fix invalid DPIA AUX reply causing system hang drm/amd/display: Fix access timeout to DPIA AUX at boot time

Sven Peter (1):
usb: typec: tipd: Prevent uninitialized event{1,2} in IRQ handler

Takashi Iwai (2):
ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open()
ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360

Tetsuo Handa (2):
Input: iforce - invert valid length check when fetching device IDs 9p/trans_fd: always use O_NONBLOCK read/write

Thierry Reding (1):
i2c: tegra: Allocate DMA memory for DMA engine

Tiago Dias Ferreira (1):
nvme-pci: add NVME_QUIRK_BOGUS_NID for Netac NV7000

Tina Zhang (2):
iommu/vt-d: Preset Access bit for IOVA in FL non-leaf paging entries iommu/vt-d: Set SRE bit only when hardware has SRS cap

Tony Lindgren (3):
serial: 8250: omap: Fix missing PM runtime calls for omap8250_set_mctrl()
serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove()
serial: 8250: omap: Flush PM QOS work on remove

Tony Luck (1):
x86/cpu: Add several Intel server CPU model numbers

Ulf Hansson (1):
arm64: dts: qcom: sm8250: Disable the not yet supported cluster idle state

Vasily Gorbik (1):
s390: avoid using global register for current_stack_pointer

Vikas Gupta (2):
bnxt_en: refactor bnxt_cancel_reservations()
bnxt_en: fix the handling of PCIE-AER

Vladimir Oltean (2):
net: dsa: make dsa_master_ioctl() see through port_hwtstamp_get() shims
net: dsa: don't leak tagger-owned storage on switch driver unbind

Wang ShaoBo (1):
mISDN: fix misuse of put_device() in mISDN_register_device()

Wang Wensheng (2):
ftrace: Fix the possible incorrect kernel message
ftrace: Optimize the allocation for mcount entries

Wang Yufen (3):
bpf: Fix memory leaks in __check_func_call
netdevsim: Fix memory leak of nsim_dev->fa_cookie
tracing: Fix memory leak in tracing_read_pipe()

Wei Yongjun (3):
net: bgmac: Drop free_netdev() from bgmac_enet_remove()
net: mhi: Fix memory leak in mhi_net_dellink() net/x25: Fix skb leak in x25_lapb_receive_frame()

Xiaolei Wang (2):
ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK
soc: imx8m: Enable OCOTP clock before reading the register

Xin Long (2):
sctp: remove the unnecessary sinfo_stream check in sctp_prsctp_prune_unsent
sctp: clear out_curr if all frag chunks of current msg are pruned

Xiongfeng Wang (1):
mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put()

Xiu Jianfeng (1):
ftrace: Fix null pointer dereference in ftrace_add_mod()

Xiubo Li (1):
ceph: avoid putting the realm twice when decoding snaps fails

Xu Kuohai (1):
bpf: Initialize same number of free nodes for each pcpu_freelist

Yang Jihong (1):
selftests/bpf: Fix test_progs compilation failure in 32-bit arch

Yang Yingliang (11):
scsi: scsi_transport_sas: Fix error handling in sas_phy_add()
siox: fix possible memory leak in siox_device_add()
ata: libata-transport: fix double ata_host_put() in ata_tport_add()
ata: libata-transport: fix error handling in ata_tport_add()
ata: libata-transport: fix error handling in ata_tlink_add()
ata: libata-transport: fix error handling in ata_tdev_add()
mISDN: fix possible memory leak in mISDN_dsp_element_register() xen/pcpu: fix possible memory leak in register_pcpu()
iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger()
iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init()
scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus()

Yann Gautier (1):
mmc: core: properly select voltage range without power cycle

Yi Yang (1):
rethook: fix a potential memleak in rethook_alloc()

Yifan Zhang (1):
drm/amdgpu: set fb_modifiers_not_supported in vkms

Yiqing Yao (1):
drm/amdgpu: Adjust MES polling timeout for sriov

Yong Zhi (1):
ASoC: Intel: sof_rt5682: Add quirk for Rex board

Yu Zhe (1):
cxl/pmem: Use size_add() against integer overflow

Yuan Can (5):
net: hinic: Fix error handling in hinic_module_init()
net: ionic: Fix error handling in ionic_init_module()
net: ena: Fix error handling in ena_init()
net: thunderbolt: Fix error handling in tbnet_init()
scsi: scsi_debug: Fix possible UAF in sdebug_add_host_helper()

Zeng Heng (1):
pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map

Zhang Qilong (4):
ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe"
ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe"
ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe"
ASoC: mt6660: Keep the pm_runtime enables before component stuff in mt6660_i2c_probe

Zhang Xiaoxu (2):
cifs: Fix connections leak when tlink setup failed
cifs: Fix wrong return value checking when GETFLAGS

Zheng Bin (1):

      slimbus: qcom-ngd: Fix build error when CONFIG_SLIM_QCOM_NGD_CTRL=y && CONFIG_QCOM_RPROC_COMMON=m

Zheng Yejian (1):

      tracing: Fix potential null-pointer-access of entry in list 'tr->err_log'

Zhengchao Shao (2):
net: liquidio: release resources when liquidio driver open failed
net: caif: fix double disconnect client in chnl_net_open()

Zhihao Cheng (1):
dm bufio: Fix missing decrement of no_sleep_enabled if dm_bufio_client_create failed

Ziyang Xuan (4):
octeon_ep: delete unnecessary napi rollback under set_queues_err in octep_open()
octeon_ep: ensure octep_get_link_status() successfully before octep_link_up()
octeon_ep: fix potential memory leak in octep_device_setup()
octeon_ep: ensure get mac address successfully before eth_hw_addr_set()

linkt (1):
ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 Gen 4+ ARA to the Quirks List

Đoàn Trần Công Danh (1):
speakup: replace utils' u_char with unsigned char