Linux 6.12.32
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.12.32 kernel.
All users of the 6.12 kernel series must upgrade.
The updated 6.12.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.12.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
------------
Makefile | 2 arch/arm64/boot/dts/qcom/ipq9574.dtsi | 2 arch/arm64/boot/dts/qcom/sa8775p.dtsi | 246 ---------- arch/arm64/boot/dts/qcom/sm8350.dtsi | 2 arch/arm64/boot/dts/qcom/sm8450.dtsi | 2 arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 arch/arm64/boot/dts/qcom/sm8650.dtsi | 2 arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 4 arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 7 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 6 arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 2 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 2 arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 2 arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 3 arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso | 2 arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso | 2 arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 2 arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts | 13 arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso | 35 + arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 31 + arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 8 arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 4 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi | 2 arch/um/Makefile | 1 drivers/char/tpm/tpm-buf.c | 6 drivers/dma/idxd/cdev.c | 4 drivers/gpio/gpio-virtuser.c | 12 drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c | 20 drivers/gpu/drm/amd/display/dc/link/link_dpms.c | 13 drivers/gpu/drm/xe/regs/xe_gt_regs.h | 1 drivers/gpu/drm/xe/xe_lrc.c | 4 drivers/gpu/drm/xe/xe_lrc_types.h | 4 drivers/gpu/drm/xe/xe_wa.c | 4 drivers/hid/hid-ids.h | 4 drivers/hid/hid-quirks.c | 2 drivers/net/can/kvaser_pciefd.c | 81 +-- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 drivers/nvme/host/pci.c | 2 drivers/perf/arm-cmn.c | 11 drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 2 drivers/phy/starfive/phy-jh7110-usb.c | 7 drivers/platform/x86/fujitsu-laptop.c | 33 + drivers/platform/x86/thinkpad_acpi.c | 7 drivers/spi/spi-sun4i.c | 5 fs/coredump.c | 65 ++ fs/nfs/client.c | 2 fs/nfs/dir.c | 15 fs/nfs/filelayout/filelayoutdev.c | 6 fs/nfs/flexfilelayout/flexfilelayoutdev.c | 6 fs/nfs/pnfs.h | 4 fs/nfs/pnfs_nfs.c | 9 fs/smb/server/oplock.c | 7 include/linux/coredump.h | 1 include/linux/nfs_fs_sb.h | 12 net/sched/sch_hfsc.c | 9 sound/pci/hda/patch_realtek.c | 5 57 files changed, 406 insertions(+), 353 deletions(-)
Alessandro Grassi (1):
spi: spi-sun4i: fix early activation
Algea Cao (1):
phy: phy-rockchip-samsung-hdptx: Fix PHY PLL output 50.25MHz error
Alok Tiwari (1):
arm64: dts: qcom: sm8350: Fix typo in pil_camera_mem node
Aradhya Bhatia (1):
drm/xe/xe2hpg: Add Wa_22021007897
Aurabindo Pillai (1):
drm/amd/display: check stream id dml21 wrapper to get plane_id
Axel Forsman (1):
can: kvaser_pciefd: Force IRQ edge in case of nested IRQ
Christian Brauner (2):
coredump: fix error handling for replace_fd()
coredump: hand a pidfd to the usermode coredump helper
George Shen (1):
drm/amd/display: fix link_set_dpms_off multi-display MST corner case
Greg Kroah-Hartman (1):
Linux 6.12.32
Hal Feng (1):
phy: starfive: jh7110-usb: Fix USB 2.0 host occasional detection failure
Ilya Guterman (1):
nvme-pci: add NVME_QUIRK_NO_DEEPEST_PS quirk for SOLIDIGM P44 Pro
Jeff Layton (1):
nfs: don't share pNFS DS connections between net namespaces
Johan Hovold (2):
arm64: dts: qcom: x1e80100-qcp: mark l12b and l15b always-on
arm64: dts: qcom: x1e80100-yoga-slim7x: mark l12b and l15b always-onJohn Chau (1):
platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS
Judith Mendez (4):
arm64: dts: ti: k3-am62-main: Set eMMC clock parent to default
arm64: dts: ti: k3-am62a-main: Set eMMC clock parent to default
arm64: dts: ti: k3-am62p-j722s-common-main: Set eMMC clock parent to default
arm64: dts: ti: k3-am65-main: Add missing taps to sdhci0
Kailang Yang (1):
ALSA: hda/realtek - restore auto-mute mode for Dell Chrome platform
Karthik Sanagavarapu (1):
arm64: dts: qcom: sa8775p: Remove cdsp compute-cb@10
Ling Xu (1):
arm64: dts: qcom: sa8775p: Remove extra entries from the iommus property
Mark Pearson (1):
platform/x86: thinkpad_acpi: Ignore battery threshold change event notification
Markus Burri (1):
gpio: virtuser: fix potential out-of-bound write
Masahiro Yamada (1):
um: let 'make clean' properly clean underlying SUBARCH as well
Milton Barrera (1):
HID: quirks: Add ADATA XPG alpha wireless mouse support
Namjae Jeon (1):
ksmbd: use list_first_entry_or_null for opinfo_get_list()
Nishanth Menon (1):
net: ethernet: ti: am65-cpsw: Lower random mac address error print to info
Pedro Tammela (1):
net_sched: hfsc: Address reentrant enqueue adding class to eltree twice
Purva Yeshi (2):
dmaengine: idxd: cdev: Fix uninitialized use of sva in idxd_cdev_open
char: tpm: tpm-buf: Add sanity check fallback in read helpers
Robin Murphy (3):
perf/arm-cmn: Fix REQ2/SNP2 mixup
perf/arm-cmn: Initialise cmn->cpu earlier
perf/arm-cmn: Add CMN S3 ACPI binding
Siddharth Vadapalli (3):
arm64: dts: ti: k3-j722s-evm: Enable "serdes_wiz0" and "serdes_wiz1"
arm64: dts: ti: k3-j722s-main: Disable "serdes_wiz0" and "serdes_wiz1"
arm64: dts: ti: k3-j784s4-j742s2-main-common: Fix length of serdes_ln_ctrlStephan Gerhold (8):
arm64: dts: qcom: ipq9574: Add missing properties for cryptobam
arm64: dts: qcom: sm8450: Add missing properties for cryptobam
arm64: dts: qcom: sm8550: Add missing properties for cryptobam
arm64: dts: qcom: sm8650: Add missing properties for cryptobam
arm64: dts: qcom: x1e80100-asus-vivobook-s15: Fix vreg_l2j_1p2 voltage
arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Fix vreg_l2j_1p2 voltage
arm64: dts: qcom: x1e80100-qcp: Fix vreg_l2j_1p2 voltage
arm64: dts: qcom: x1e80100: Fix video thermal zone
Trond Myklebust (1):
NFS: Avoid flushing data while holding directory locks in nfs_rename()
Umesh Nerlige Ramappa (1):
drm/xe: Save the gt pointer in lrc and drop the tile
Valtteri Koskivuori (1):
platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys
Yemike Abhilash Chandra (7):
arm64: dts: ti: k3-am62x: Remove clock-names property from IMX219 overlay
arm64: dts: ti: k3-am62x: Rename I2C switch to I2C mux in IMX219 overlay
arm64: dts: ti: k3-am62x: Rename I2C switch to I2C mux in OV5640 overlay
arm64: dts: ti: k3-am68-sk: Fix regulator hierarchy
arm64: dts: ti: k3-j721e-sk: Add DT nodes for power regulators
arm64: dts: ti: k3-j721e-sk: Remove clock-names property from IMX219 overlay
arm64: dts: ti: k3-j721e-sk: Add requiried voltage supplies for IMX219
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 12 -SUBLEVEL = 31 +SUBLEVEL = 32 EXTRAVERSION = NAME = Baby Opossum Posse
arch/arm64/boot/dts/qcom/ipq9574.dtsi +2 -0
@@ -261,6 +261,8 @@ cryptobam: dma-controller@704000 { interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; qcom,ee = <1>; + qcom,num-ees = <4>; + num-channels = <16>; qcom,controlled-remotely; };
arch/arm64/boot/dts/qcom/sa8775p.dtsi +23 -223
384 lines not on this page · raw message
arch/arm64/boot/dts/qcom/sm8350.dtsi +1 -1
@@ -455,7 +455,7 @@ cdsp_secure_heap: memory@80c00000 { no-map; }; - pil_camera_mem: mmeory@85200000 { + pil_camera_mem: memory@85200000 { reg = <0x0 0x85200000 0x0 0x500000>; no-map; };
arch/arm64/boot/dts/qcom/sm8450.dtsi +2 -0
@@ -4553,6 +4553,8 @@ cryptobam: dma-controller@1dc4000 { interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; qcom,ee = <0>; + qcom,num-ees = <4>; + num-channels = <16>; qcom,controlled-remotely; iommus = <&apps_smmu 0x584 0x11>, <&apps_smmu 0x588 0x0>,
arch/arm64/boot/dts/qcom/sm8550.dtsi +2 -0
@@ -1952,6 +1952,8 @@ cryptobam: dma-controller@1dc4000 { interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; qcom,ee = <0>; + qcom,num-ees = <4>; + num-channels = <20>; qcom,controlled-remotely; iommus = <&apps_smmu 0x480 0x0>, <&apps_smmu 0x481 0x0>;
arch/arm64/boot/dts/qcom/sm8650.dtsi +2 -0
@@ -2495,6 +2495,8 @@ cryptobam: dma-controller@1dc4000 { <&apps_smmu 0x481 0>; qcom,ee = <0>; + qcom,num-ees = <4>; + num-channels = <20>; qcom,controlled-remotely; };
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts +2 -2
@@ -314,8 +314,8 @@ vreg_l1j_0p8: ldo1 { vreg_l2j_1p2: ldo2 { regulator-name = "vreg_l2j_1p2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; + regulator-min-microvolt = <1256000>; + regulator-max-microvolt = <1256000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; };
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +4 -3
@@ -266,6 +266,7 @@ vreg_l12b_1p2: ldo12 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; vreg_l14b_3p0: ldo14 {
@@ -280,8 +281,8 @@ vreg_l15b_1p8: ldo15 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; - }; regulators-1 {
@@ -484,8 +485,8 @@ vreg_l1j_0p8: ldo1 { vreg_l2j_1p2: ldo2 { regulator-name = "vreg_l2j_1p2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; + regulator-min-microvolt = <1256000>; + regulator-max-microvolt = <1256000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; };
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts +4 -2
@@ -356,6 +356,7 @@ vreg_l12b_1p2: ldo12 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; vreg_l13b_3p0: ldo13 {
@@ -377,6 +378,7 @@ vreg_l15b_1p8: ldo15 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; vreg_l16b_2p9: ldo16 {
@@ -594,8 +596,8 @@ vreg_l1j_0p8: ldo1 { vreg_l2j_1p2: ldo2 { regulator-name = "vreg_l2j_1p2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; + regulator-min-microvolt = <1256000>; + regulator-max-microvolt = <1256000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; };
arch/arm64/boot/dts/qcom/x1e80100.dtsi +7 -3
@@ -6682,15 +6682,19 @@ mem-critical { }; video-thermal { - polling-delay-passive = <250>; - thermal-sensors = <&tsens0 12>; trips { trip-point0 { + temperature = <90000>; + hysteresis = <2000>; + type = "hot"; + }; + + video-critical { temperature = <125000>; hysteresis = <1000>; - type = "passive"; + type = "critical"; }; }; };
arch/arm64/boot/dts/ti/k3-am62-main.dtsi +0 -2
@@ -552,8 +552,6 @@ sdhci0: mmc@fa10000 { power-domains = <&k3_pds 57 TI_SCI_PD_EXCLUSIVE>; clocks = <&k3_clks 57 5>, <&k3_clks 57 6>; clock-names = "clk_ahb", "clk_xin"; - assigned-clocks = <&k3_clks 57 6>; - assigned-clock-parents = <&k3_clks 57 8>; bus-width = <8>; mmc-ddr-1_8v; mmc-hs200-1_8v;
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +0 -2
@@ -575,8 +575,6 @@ sdhci0: mmc@fa10000 { power-domains = <&k3_pds 57 TI_SCI_PD_EXCLUSIVE>; clocks = <&k3_clks 57 5>, <&k3_clks 57 6>; clock-names = "clk_ahb", "clk_xin"; - assigned-clocks = <&k3_clks 57 6>; - assigned-clock-parents = <&k3_clks 57 8>; bus-width = <8>; mmc-hs200-1_8v; ti,clkbuf-sel = <0x7>;
arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi +0 -2
@@ -564,8 +564,6 @@ sdhci0: mmc@fa10000 { power-domains = <&k3_pds 57 TI_SCI_PD_EXCLUSIVE>; clocks = <&k3_clks 57 1>, <&k3_clks 57 2>; clock-names = "clk_ahb", "clk_xin"; - assigned-clocks = <&k3_clks 57 2>; - assigned-clock-parents = <&k3_clks 57 4>; bus-width = <8>; mmc-ddr-1_8v; mmc-hs200-1_8v;
arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso +1 -2
@@ -22,7 +22,7 @@ &main_i2c2 { #size-cells = <0>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9543"; #address-cells = <1>; #size-cells = <0>;
@@ -39,7 +39,6 @@ ov5640: camera@10 { reg = <0x10>; clocks = <&clk_imx219_fixed>; - clock-names = "xclk"; reset-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;
arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso +1 -1
@@ -22,7 +22,7 @@ &main_i2c2 { #size-cells = <0>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9543"; #address-cells = <1>; #size-cells = <0>;
arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso +1 -1
@@ -22,7 +22,7 @@ &main_i2c2 { #size-cells = <0>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9543"; #address-cells = <1>; #size-cells = <0>;
arch/arm64/boot/dts/ti/k3-am65-main.dtsi +2 -0
@@ -449,6 +449,8 @@ sdhci0: mmc@4f80000 { ti,otap-del-sel-mmc-hs = <0x0>; ti,otap-del-sel-ddr52 = <0x5>; ti,otap-del-sel-hs200 = <0x5>; + ti,itap-del-sel-legacy = <0xa>; + ti,itap-del-sel-mmc-hs = <0x1>; ti,itap-del-sel-ddr52 = <0x0>; dma-coherent; status = "disabled";
arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts +12 -1
@@ -44,6 +44,17 @@ vusb_main: regulator-vusb-main5v0 { regulator-boot-on; }; + vsys_5v0: regulator-vsys5v0 { + /* Output of LM61460 */ + compatible = "regulator-fixed"; + regulator-name = "vsys_5v0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vusb_main>; + regulator-always-on; + regulator-boot-on; + }; + vsys_3v3: regulator-vsys3v3 { /* Output of LM5141 */ compatible = "regulator-fixed";
@@ -76,7 +87,7 @@ vdd_sd_dv: regulator-tlv71033 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; - vin-supply = <&vsys_3v3>; + vin-supply = <&vsys_5v0>; gpios = <&main_gpio0 49 GPIO_ACTIVE_HIGH>; states = <1800000 0x0>, <3300000 0x1>;
arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso +33 -2
@@ -19,6 +19,33 @@ clk_imx219_fixed: imx219-xclk { #clock-cells = <0>; clock-frequency = <24000000>; }; + + reg_2p8v: regulator-2p8v { + compatible = "regulator-fixed"; + regulator-name = "2P8V"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + vin-supply = <&vdd_sd_dv>; + regulator-always-on; + }; + + reg_1p8v: regulator-1p8v { + compatible = "regulator-fixed"; + regulator-name = "1P8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vdd_sd_dv>; + regulator-always-on; + }; + + reg_1p2v: regulator-1p2v { + compatible = "regulator-fixed"; + regulator-name = "1P2V"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + vin-supply = <&vdd_sd_dv>; + regulator-always-on; + }; }; &csi_mux {
@@ -34,7 +61,9 @@ imx219_0: imx219-0@10 { reg = <0x10>; clocks = <&clk_imx219_fixed>; - clock-names = "xclk"; + VANA-supply = <®_2p8v>; + VDIG-supply = <®_1p8v>; + VDDL-supply = <®_1p2v>; port { csi2_cam0: endpoint {
@@ -56,7 +85,9 @@ imx219_1: imx219-1@10 { reg = <0x10>; clocks = <&clk_imx219_fixed>; - clock-names = "xclk"; + VANA-supply = <®_2p8v>; + VDIG-supply = <®_1p8v>; + VDDL-supply = <®_1p2v>; port { csi2_cam1: endpoint {
arch/arm64/boot/dts/ti/k3-j721e-sk.dts +31 -0
@@ -184,6 +184,17 @@ vsys_3v3: fixedregulator-vsys3v3 { regulator-boot-on; }; + vsys_5v0: fixedregulator-vsys5v0 { + /* Output of LM61460 */ + compatible = "regulator-fixed"; + regulator-name = "vsys_5v0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vusb_main>; + regulator-always-on; + regulator-boot-on; + }; + vdd_mmc1: fixedregulator-sd { compatible = "regulator-fixed"; pinctrl-names = "default";
@@ -211,6 +222,20 @@ vdd_sd_dv_alt: gpio-regulator-tps659411 { <3300000 0x1>; }; + vdd_sd_dv: gpio-regulator-TLV71033 { + compatible = "regulator-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&vdd_sd_dv_pins_default>; + regulator-name = "tlv71033"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + vin-supply = <&vsys_5v0>; + gpios = <&main_gpio0 118 GPIO_ACTIVE_HIGH>; + states = <1800000 0x0>, + <3300000 0x1>; + }; + transceiver1: can-phy1 { compatible = "ti,tcan1042"; #phy-cells = <0>;
@@ -608,6 +633,12 @@ J721E_WKUP_IOPAD(0xd4, PIN_OUTPUT, 7) /* (G26) WKUP_GPIO0_9 */ >; }; + vdd_sd_dv_pins_default: vdd-sd-dv-default-pins { + pinctrl-single,pins = < + J721E_IOPAD(0x1dc, PIN_OUTPUT, 7) /* (Y1) SPI1_CLK.GPIO0_118 */ + >; + }; + wkup_uart0_pins_default: wkup-uart0-default-pins { pinctrl-single,pins = < J721E_WKUP_IOPAD(0xa0, PIN_INPUT, 0) /* (J29) WKUP_UART0_RXD */
arch/arm64/boot/dts/ti/k3-j722s-evm.dts +8 -0
@@ -720,6 +720,10 @@ &serdes_ln_ctrl { <J722S_SERDES1_LANE0_PCIE0_LANE0>; }; +&serdes_wiz0 { + status = "okay"; +}; + &serdes0 { status = "okay"; serdes0_usb_link: phy@0 {
@@ -731,6 +735,10 @@ serdes0_usb_link: phy@0 { }; }; +&serdes_wiz1 { + status = "okay"; +}; + &serdes1 { status = "okay"; serdes1_pcie_link: phy@0 {
arch/arm64/boot/dts/ti/k3-j722s-main.dtsi +4 -0
@@ -32,6 +32,8 @@ serdes_wiz0: phy@f000000 { assigned-clocks = <&k3_clks 279 1>; assigned-clock-parents = <&k3_clks 279 5>; + status = "disabled"; + serdes0: serdes@f000000 { compatible = "ti,j721e-serdes-10g"; reg = <0x0f000000 0x00010000>;
@@ -70,6 +72,8 @@ serdes_wiz1: phy@f010000 { assigned-clocks = <&k3_clks 280 1>; assigned-clock-parents = <&k3_clks 280 5>; + status = "disabled"; + serdes1: serdes@f010000 { compatible = "ti,j721e-serdes-10g"; reg = <0x0f010000 0x00010000>;
arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi +1 -1
@@ -77,7 +77,7 @@ pcie1_ctrl: pcie1-ctrl@4074 { serdes_ln_ctrl: mux-controller@4080 { compatible = "reg-mux"; - reg = <0x00004080 0x30>; + reg = <0x00004080 0x50>; #mux-control-cells = <1>; mux-reg-masks = <0x0 0x3>, <0x4 0x3>, /* SERDES0 lane0/1 select */ <0x8 0x3>, <0xc 0x3>, /* SERDES0 lane2/3 select */
arch/um/Makefile +1 -0
@@ -151,5 +151,6 @@ MRPROPER_FILES += $(HOST_DIR)/include/generated archclean: @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ -o -name '*.gcov' \) -type f -print | xargs rm -f + $(Q)$(MAKE) -f $(srctree)/Makefile ARCH=$(HEADER_ARCH) clean export HEADER_ARCH SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING DEV_NULL_PATH
drivers/char/tpm/tpm-buf.c +3 -3
@@ -201,7 +201,7 @@ static void tpm_buf_read(struct tpm_buf *buf, off_t *offset, size_t count, void*/ u8 tpm_buf_read_u8 (struct tpm_buf *buf,off_t *offset) { -u8 value; +u8 value =0 ;tpm_buf_read (buf, offset,sizeof (value), &value);
@@ -218,7 +218,7 @@ EXPORT_SYMBOL_GPL(tpm_buf_read_u8);*/ u16 tpm_buf_read_u16 (struct tpm_buf *buf,off_t *offset) { -u16 value; +u16 value =0 ;tpm_buf_read (buf, offset,sizeof (value), &value);
@@ -235,7 +235,7 @@ EXPORT_SYMBOL_GPL(tpm_buf_read_u16);*/ u32 tpm_buf_read_u32 (struct tpm_buf *buf,off_t *offset) { -u32 value; +u32 value =0 ;tpm_buf_read (buf, offset,sizeof (value), &value);
drivers/dma/idxd/cdev.c +2 -2
@@ -225,7 +225,7 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)struct idxd_wq *wq;struct device *dev, *fdev;int rc =0 ; -struct iommu_sva *sva; +struct iommu_sva *sva =NULL ;unsigned int pasid;struct idxd_cdev *idxd_cdev;
@@ -322,7 +322,7 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)if (device_user_pasid_enabled (idxd))idxd_xa_pasid_remove (ctx); failed_get_pasid: -if (device_user_pasid_enabled (idxd)) +if (device_user_pasid_enabled (idxd) && !IS_ERR_OR_NULL (sva))iommu_sva_unbind_device (sva); failed:mutex_unlock (&wq->wq_lock);
drivers/gpio/gpio-virtuser.c +10 -2
@@ -400,10 +400,15 @@ static ssize_t gpio_virtuser_direction_do_write(struct file *file,char buf[32 ], *trimmed;int ret, dir, val =0 ; - ret =simple_write_to_buffer (buf,sizeof (buf), ppos, user_buf, count); +if (count >=sizeof (buf)) +return -EINVAL ; + + ret =simple_write_to_buffer (buf,sizeof (buf) -1 , ppos, user_buf, count);if (ret <0 )return ret; + buf[ret] ='\0' ; + trimmed =strim (buf);if (strcmp (trimmed,"input" ) ==0 ) {
@@ -622,12 +627,15 @@ static ssize_t gpio_virtuser_consumer_write(struct file *file,char buf[GPIO_VIRTUSER_NAME_BUF_LEN +2 ];int ret; +if (count >=sizeof (buf)) +return -EINVAL ; + ret =simple_write_to_buffer (buf,GPIO_VIRTUSER_NAME_BUF_LEN , ppos, user_buf, count);if (ret <0 )return ret; - buf[strlen (buf) -1 ] ='\0' ; + buf[ret] ='\0' ; ret =gpiod_set_consumer_name (data->ad.desc, buf);if (ret)
drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c +11 -9
@@ -887,7 +887,7 @@ static void populate_dml21_plane_config_from_plane_state(struct dml2_context *dm }//TODO : Could be possibly moved to a common helper layer. -static bool dml21_wrapper_get_plane_id (const struct dc_state *context,const struct dc_plane_state *plane,unsigned int *plane_id) +static bool dml21_wrapper_get_plane_id (const struct dc_state *context,unsigned int stream_id,const struct dc_plane_state *plane,unsigned int *plane_id) {int i, j;
@@ -895,10 +895,12 @@ static bool dml21_wrapper_get_plane_id(const struct dc_state *context, const strreturn false;for (i =0 ; i < context->stream_count; i++) { -for (j =0 ; j < context->stream_status[i].plane_count; j++) { -if (context->stream_status[i].plane_states[j] == plane) { - *plane_id = (i <<16 ) | j; -return true; +if (context->streams[i]->stream_id == stream_id) { +for (j =0 ; j < context->stream_status[i].plane_count; j++) { +if (context->stream_status[i].plane_states[j] == plane) { + *plane_id = (i <<16 ) | j; +return true; + } } } }
@@ -921,14 +923,14 @@ static unsigned int map_stream_to_dml21_display_cfg(const struct dml2_context *dreturn location; } -static unsigned int map_plane_to_dml21_display_cfg (const struct dml2_context *dml_ctx, +static unsigned int map_plane_to_dml21_display_cfg (const struct dml2_context *dml_ctx,unsigned int stream_id,const struct dc_plane_state *plane,const struct dc_state *context) {unsigned int plane_id;int i =0 ;int location =-1 ; -if (!dml21_wrapper_get_plane_id (context, plane, &plane_id)) { +if (!dml21_wrapper_get_plane_id (context, stream_id, plane, &plane_id)) {ASSERT (false);return -1 ; }
@@ -1013,7 +1015,7 @@ bool dml21_map_dc_state_into_dml_display_cfg(const struct dc *in_dc, struct dc_s dml_dispcfg->plane_descriptors[disp_cfg_plane_location].stream_index = disp_cfg_stream_location; }else {for (plane_index =0 ; plane_index < context->stream_status[stream_index].plane_count; plane_index++) { - disp_cfg_plane_location =map_plane_to_dml21_display_cfg (dml_ctx, context->stream_status[stream_index].plane_states[plane_index], context); + disp_cfg_plane_location =map_plane_to_dml21_display_cfg (dml_ctx, context->streams[stream_index]->stream_id, context->stream_status[stream_index].plane_states[plane_index], context);if (disp_cfg_plane_location <0 ) disp_cfg_plane_location = dml_dispcfg->num_planes++;
@@ -1024,7 +1026,7 @@ bool dml21_map_dc_state_into_dml_display_cfg(const struct dc *in_dc, struct dc_spopulate_dml21_plane_config_from_plane_state (dml_ctx, &dml_dispcfg->plane_descriptors[disp_cfg_plane_location], context->stream_status[stream_index].plane_states[plane_index], context, stream_index); dml_dispcfg->plane_descriptors[disp_cfg_plane_location].stream_index = disp_cfg_stream_location; -if (dml21_wrapper_get_plane_id (context, context->stream_status[stream_index].plane_states[plane_index], &dml_ctx->v21.dml_to_dc_pipe_mapping.disp_cfg_to_plane_id[disp_cfg_plane_location])) +if (dml21_wrapper_get_plane_id (context, context->streams[stream_index]->stream_id, context->stream_status[stream_index].plane_states[plane_index], &dml_ctx->v21.dml_to_dc_pipe_mapping.disp_cfg_to_plane_id[disp_cfg_plane_location])) dml_ctx->v21.dml_to_dc_pipe_mapping.disp_cfg_to_plane_id_valid[disp_cfg_plane_location] = true;/* apply forced pstate policy */
drivers/gpu/drm/amd/display/dc/link/link_dpms.c +11 -2
@@ -148,6 +148,7 @@ void link_blank_dp_stream(struct dc_link *link, bool hw_init)void link_set_all_streams_dpms_off_for_link (struct dc_link *link) {struct pipe_ctx *pipes[MAX_PIPES ]; +struct dc_stream_state *streams[MAX_PIPES ];struct dc_state *state = link->dc->current_state;uint8_t count;int i;
@@ -160,10 +161,18 @@ void link_set_all_streams_dpms_off_for_link(struct dc_link *link)link_get_master_pipes_with_dpms_on (link, state, &count, pipes); +/* The subsequent call to dc_commit_updates_for_stream for a full update +* will release the current state and swap to a new state. Releasing the +* current state results in the stream pointers in the pipe_ctx structs +* to be zero'd. Hence, cache all streams prior to dc_commit_updates_for_stream. +*/ +for (i =0 ; i < count; i++) + streams[i] = pipes[i]->stream; +for (i =0 ; i < count; i++) { - stream_update.stream = pipes[i]->stream; + stream_update.stream = streams[i];dc_commit_updates_for_stream (link->ctx->dc,NULL ,0 , - pipes[i]->stream, &stream_update, + streams[i], &stream_update, state); }
drivers/gpu/drm/xe/regs/xe_gt_regs.h +1 -0
@@ -157,6 +157,7 @@#define XEHPG_SC_INSTDONE_EXTRA2 XE_REG_MCR(0x7108)#define COMMON_SLICE_CHICKEN4 XE_REG(0x7300, XE_REG_OPTION_MASKED) +#define SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE REG_BIT(12)#define DISABLE_TDC_LOAD_BALANCING_CALC REG_BIT(6)#define COMMON_SLICE_CHICKEN3 XE_REG(0x7304, XE_REG_OPTION_MASKED)
drivers/gpu/drm/xe/xe_lrc.c +2 -2
@@ -874,7 +874,7 @@ static void *empty_lrc_data(struct xe_hw_engine *hwe)static void xe_lrc_set_ppgtt (struct xe_lrc *lrc,struct xe_vm *vm) { -u64 desc =xe_vm_pdp4_descriptor (vm, lrc->tile); +u64 desc =xe_vm_pdp4_descriptor (vm,gt_to_tile (lrc->gt));xe_lrc_write_ctx_reg (lrc,CTX_PDP0_UDW ,upper_32_bits (desc));xe_lrc_write_ctx_reg (lrc,CTX_PDP0_LDW ,lower_32_bits (desc));
@@ -905,6 +905,7 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,int err;kref_init (&lrc->refcount); + lrc->gt = gt; lrc->flags =0 ; lrc_size = ring_size +xe_gt_lrc_size (gt, hwe->class);if (xe_gt_has_indirect_ring_state (gt))
@@ -923,7 +924,6 @@ static int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,return PTR_ERR (lrc->bo); lrc->size = lrc_size; - lrc->tile =gt_to_tile (hwe->gt); lrc->ring.size = ring_size; lrc->ring.tail =0 ; lrc->ctx_timestamp =0 ;
drivers/gpu/drm/xe/xe_lrc_types.h +2 -2
@@ -25,8 +25,8 @@ struct xe_lrc {/** @size: size of lrc including any indirect ring state page */ u32 size; -/** @tile: tile which this LRC belongs to */ -struct xe_tile *tile; +/** @gt: gt which this LRC belongs to */ +struct xe_gt *gt;/** @flags: LRC flags */ #define XE_LRC_FLAG_INDIRECT_RING_STATE 0x1
drivers/gpu/drm/xe/xe_wa.c +4 -0
@@ -783,6 +783,10 @@ static const struct xe_rtp_entry_sr lrc_was[] = {XE_RTP_RULES (GRAPHICS_VERSION (2001 ),ENGINE_CLASS (RENDER )),XE_RTP_ACTIONS (SET (CHICKEN_RASTER_1 ,DIS_CLIP_NEGATIVE_BOUNDING_BOX )) }, + { XE_RTP_NAME("22021007897"), +XE_RTP_RULES (GRAPHICS_VERSION (2001 ),ENGINE_CLASS (RENDER )), +XE_RTP_ACTIONS (SET (COMMON_SLICE_CHICKEN4 ,SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE )) + },/* Xe3_LPG */ { XE_RTP_NAME("14021490052"),
drivers/hid/hid-ids.h +4 -0
@@ -41,6 +41,10 @@#define USB_VENDOR_ID_ACTIONSTAR 0x2101#define USB_DEVICE_ID_ACTIONSTAR_1011 0x1011 +#define USB_VENDOR_ID_ADATA_XPG 0x125f +#define USB_VENDOR_ID_ADATA_XPG_WL_GAMING_MOUSE 0x7505 +#define USB_VENDOR_ID_ADATA_XPG_WL_GAMING_MOUSE_DONGLE 0x7506 +#define USB_VENDOR_ID_ADS_TECH 0x06e1#define USB_DEVICE_ID_ADS_TECH_RADIO_SI470X 0xa155
drivers/hid/hid-quirks.c +2 -0
@@ -27,6 +27,8 @@static const struct hid_device_id hid_quirks[] = { {HID_USB_DEVICE (USB_VENDOR_ID_AASHIMA ,USB_DEVICE_ID_AASHIMA_GAMEPAD ),HID_QUIRK_BADPAD }, {HID_USB_DEVICE (USB_VENDOR_ID_AASHIMA ,USB_DEVICE_ID_AASHIMA_PREDATOR ),HID_QUIRK_BADPAD }, + {HID_USB_DEVICE (USB_VENDOR_ID_ADATA_XPG ,USB_VENDOR_ID_ADATA_XPG_WL_GAMING_MOUSE ),HID_QUIRK_ALWAYS_POLL }, + {HID_USB_DEVICE (USB_VENDOR_ID_ADATA_XPG ,USB_VENDOR_ID_ADATA_XPG_WL_GAMING_MOUSE_DONGLE ),HID_QUIRK_ALWAYS_POLL }, {HID_USB_DEVICE (USB_VENDOR_ID_AFATECH ,USB_DEVICE_ID_AFATECH_AF9016 ),HID_QUIRK_FULLSPEED_INTERVAL }, {HID_USB_DEVICE (USB_VENDOR_ID_AIREN ,USB_DEVICE_ID_AIREN_SLIMPLUS ),HID_QUIRK_NOGET }, {HID_USB_DEVICE (USB_VENDOR_ID_AKAI_09E8 ,USB_DEVICE_ID_AKAI_09E8_MIDIMIX ),HID_QUIRK_NO_INIT_REPORTS },
drivers/net/can/kvaser_pciefd.c +38 -43
155 lines not on this page · raw message
drivers/net/ethernet/ti/am65-cpsw-nuss.c +1 -1
@@ -2699,7 +2699,7 @@ static int am65_cpsw_nuss_init_slave_ports(struct am65_cpsw_common *common) port->slave.mac_addr);if (!is_valid_ether_addr (port->slave.mac_addr)) {eth_random_addr (port->slave.mac_addr); -dev_err (dev,"Use random MAC address\n" ); +dev_info (dev,"Use random MAC address\n" ); } }
drivers/nvme/host/pci.c +2 -0
@@ -3701,6 +3701,8 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, { PCI_DEVICE(0x1e49, 0x0041), /* ZHITAI TiPro7000 NVMe SSD */ .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, + { PCI_DEVICE(0x025e, 0xf1ac), /* SOLIDIGM P44 pro SSDPFKKW020X7 */ + .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, { PCI_DEVICE(0xc0a9, 0x540a), /* Crucial P2 */ .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1d97, 0x2263), /* Lexar NM610 */
drivers/perf/arm-cmn.c +6 -5
@@ -727,8 +727,8 @@ static umode_t arm_cmn_event_attr_is_visible(struct kobject *kobj,if ((chan ==5 && cmn->rsp_vc_num <2 ) || (chan ==6 && cmn->dat_vc_num <2 ) || - (chan ==7 && cmn->snp_vc_num <2 ) || - (chan ==8 && cmn->req_vc_num <2 )) + (chan ==7 && cmn->req_vc_num <2 ) || + (chan ==8 && cmn->snp_vc_num <2 ))return 0 ; }
@@ -884,8 +884,8 @@ static umode_t arm_cmn_event_attr_is_visible(struct kobject *kobj, _CMN_EVENT_XP(pub_##_name, (_event) | (4 << 5)), \ _CMN_EVENT_XP(rsp2_##_name, (_event) | (5 << 5)), \ _CMN_EVENT_XP(dat2_##_name, (_event) | (6 << 5)), \ - _CMN_EVENT_XP(snp2_##_name, (_event) | (7 << 5)), \ - _CMN_EVENT_XP(req2_##_name, (_event) | (8 << 5)) + _CMN_EVENT_XP(req2_##_name, (_event) | (7 << 5)), \ + _CMN_EVENT_XP(snp2_##_name, (_event) | (8 << 5))#define CMN_EVENT_XP_DAT (_name, _event) \ _CMN_EVENT_XP_PORT(dat_##_name, (_event) | (3 << 5)), \
@@ -2557,6 +2557,7 @@ static int arm_cmn_probe(struct platform_device *pdev) cmn->dev = &pdev->dev; cmn->part = (unsigned long )device_get_match_data (cmn->dev); + cmn->cpu =cpumask_local_spread (0 ,dev_to_node (cmn->dev));platform_set_drvdata (pdev, cmn);if (cmn->part ==PART_CMN600 &&has_acpi_companion (cmn->dev)) {
@@ -2584,7 +2585,6 @@ static int arm_cmn_probe(struct platform_device *pdev)if (err)return err; - cmn->cpu =cpumask_local_spread (0 ,dev_to_node (cmn->dev)); cmn->pmu = (struct pmu ) { .module =THIS_MODULE , .parent = cmn->dev,
@@ -2650,6 +2650,7 @@ static const struct acpi_device_id arm_cmn_acpi_match[] = { { "ARMHC600", PART_CMN600 }, { "ARMHC650" }, { "ARMHC700" }, + { "ARMHC003" }, {} };MODULE_DEVICE_TABLE (acpi, arm_cmn_acpi_match);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c +2 -0
@@ -328,6 +328,8 @@ static const struct ropll_config ropll_tmds_cfg[] = { 1, 1, 0, 0x20, 0x0c, 1, 0x0e, 0, 0, }, {650000 ,162 ,162 ,1 ,1 ,11 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,54 ,0 ,16 ,4 ,1 , 1, 1, 0, 0x20, 0x0c, 1, 0x0e, 0, 0, }, + { 502500, 84, 84, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 11, 1, 4, 5, + 4, 11, 1, 0, 0x20, 0x0c, 1, 0x0e, 0, 0, }, { 337500, 0x70, 0x70, 1, 1, 0xf, 1, 1, 1, 1, 1, 1, 1, 0x2, 0, 0x01, 5, 1, 1, 1, 0, 0x20, 0x0c, 1, 0x0e, 0, 0, }, { 400000, 100, 100, 1, 1, 11, 1, 1, 0, 1, 0, 1, 1, 0x9, 0, 0x05, 0,
drivers/phy/starfive/phy-jh7110-usb.c +7 -0
@@ -18,6 +18,8 @@#include <linux/usb/of.h> #define USB_125M_CLK_RATE 125000000 +#define USB_CLK_MODE_OFF 0x0 +#define USB_CLK_MODE_RX_NORMAL_PWR BIT(1)#define USB_LS_KEEPALIVE_OFF 0x4#define USB_LS_KEEPALIVE_ENABLE BIT(4)
@@ -78,6 +80,7 @@ static int jh7110_usb2_phy_init(struct phy *_phy) {struct jh7110_usb2_phy *phy =phy_get_drvdata (_phy);int ret; +unsigned int val; ret =clk_set_rate (phy->usb_125m_clk,USB_125M_CLK_RATE );if (ret)
@@ -87,6 +90,10 @@ static int jh7110_usb2_phy_init(struct phy *_phy)if (ret)return ret; + val =readl (phy->regs +USB_CLK_MODE_OFF ); + val |=USB_CLK_MODE_RX_NORMAL_PWR ; +writel (val, phy->regs +USB_CLK_MODE_OFF ); +return 0 ; }
drivers/platform/x86/fujitsu-laptop.c +29 -4
@@ -17,13 +17,13 @@/* * fujitsu-laptop.c - Fujitsu laptop support, providing access to additional * features made available on a range of Fujitsu laptops including the -* P2xxx/P5xxx/S6xxx/S7xxx series. +* P2xxx/P5xxx/S2xxx/S6xxx/S7xxx series. * * This driver implements a vendor-specific backlight control interface for * Fujitsu laptops and provides support for hotkeys present on certain Fujitsu * laptops. * -* This driver has been tested on a Fujitsu Lifebook S6410, S7020 and +* This driver has been tested on a Fujitsu Lifebook S2110, S6410, S7020 and * P8010. It should work on most P-series and S-series Lifebooks, but * YMMV. *
@@ -107,7 +107,11 @@#define KEY2_CODE 0x411#define KEY3_CODE 0x412#define KEY4_CODE 0x413 -#define KEY5_CODE 0x420 +#define KEY5_CODE 0x414 +#define KEY6_CODE 0x415 +#define KEY7_CODE 0x416 +#define KEY8_CODE 0x417 +#define KEY9_CODE 0x420/* Hotkey ringbuffer limits */ #define MAX_HOTKEY_RINGBUFFER_SIZE 100
@@ -560,7 +564,7 @@ static const struct key_entry keymap_default[] = { { KE_KEY, KEY2_CODE, { KEY_PROG2 } }, { KE_KEY, KEY3_CODE, { KEY_PROG3 } }, { KE_KEY, KEY4_CODE, { KEY_PROG4 } }, - { KE_KEY, KEY5_CODE, { KEY_RFKILL } }, + { KE_KEY, KEY9_CODE, { KEY_RFKILL } },/* Soft keys read from status flags */ { KE_KEY, FLAG_RFKILL, { KEY_RFKILL } }, { KE_KEY, FLAG_TOUCHPAD_TOGGLE, { KEY_TOUCHPAD_TOGGLE } },
@@ -584,6 +588,18 @@ static const struct key_entry keymap_p8010[] = { { KE_END, 0 } }; +static const struct key_entry keymap_s2110[] = { + {KE_KEY ,KEY1_CODE , {KEY_PROG1 } },/* "A" */ + {KE_KEY ,KEY2_CODE , {KEY_PROG2 } },/* "B" */ + {KE_KEY ,KEY3_CODE , {KEY_WWW } },/* "Internet" */ + {KE_KEY ,KEY4_CODE , {KEY_EMAIL } },/* "E-mail" */ + {KE_KEY ,KEY5_CODE , {KEY_STOPCD } }, + {KE_KEY ,KEY6_CODE , {KEY_PLAYPAUSE } }, + {KE_KEY ,KEY7_CODE , {KEY_PREVIOUSSONG } }, + {KE_KEY ,KEY8_CODE , {KEY_NEXTSONG } }, + {KE_END ,0 } +}; +static const struct key_entry *keymap = keymap_default;static int fujitsu_laptop_dmi_keymap_override (const struct dmi_system_id *id)
@@ -621,6 +637,15 @@ static const struct dmi_system_id fujitsu_laptop_dmi_table[] = { }, .driver_data = (void *)keymap_p8010 }, + { + .callback = fujitsu_laptop_dmi_keymap_override, + .ident = "Fujitsu LifeBook S2110", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK S2110"), + }, + .driver_data = (void *)keymap_s2110 + }, {} };
drivers/platform/x86/thinkpad_acpi.c +7 -0
@@ -232,6 +232,7 @@ enum tpacpi_hkey_event_t {/* Thermal events */ TP_HKEY_EV_ALARM_BAT_HOT =0x6011 ,/* battery too hot */ TP_HKEY_EV_ALARM_BAT_XHOT =0x6012 ,/* battery critically hot */ +TP_HKEY_EV_ALARM_BAT_LIM_CHANGE =0x6013 ,/* battery charge limit changed*/ TP_HKEY_EV_ALARM_SENSOR_HOT =0x6021 ,/* sensor too hot */ TP_HKEY_EV_ALARM_SENSOR_XHOT =0x6022 ,/* sensor critically hot */ TP_HKEY_EV_THM_TABLE_CHANGED = 0x6030, /* windows; thermal table changed */
@@ -3778,6 +3779,10 @@ static bool hotkey_notify_6xxx(const u32 hkey, bool *send_acpi_ev)pr_alert ("THERMAL EMERGENCY: battery is extremely hot!\n" );/* recommended action: immediate sleep/hibernate */ break ; +case TP_HKEY_EV_ALARM_BAT_LIM_CHANGE : +pr_debug ("Battery Info: battery charge threshold changed\n" ); +/* User changed charging threshold. No action needed */ +return true;case TP_HKEY_EV_ALARM_SENSOR_HOT :pr_crit ("THERMAL ALARM: a sensor reports something is too hot!\n" );/* recommended action: warn user through gui, that */
@@ -11472,6 +11477,8 @@ static int __must_check __init get_thinkpad_model_data( tp->vendor =PCI_VENDOR_ID_IBM ; else if (dmi_name_in_vendors("LENOVO")) tp->vendor =PCI_VENDOR_ID_LENOVO ; + else if (dmi_name_in_vendors("NEC")) + tp->vendor =PCI_VENDOR_ID_LENOVO ; else return 0;
drivers/spi/spi-sun4i.c +4 -1
@@ -264,6 +264,9 @@ static int sun4i_spi_transfer_one(struct spi_controller *host,else reg |=SUN4I_CTL_DHB ; +/* Now that the settings are correct, enable the interface */ + reg |=SUN4I_CTL_ENABLE ; +sun4i_spi_write (sspi,SUN4I_CTL_REG , reg);/* Ensure that we have a parent clock fast enough */
@@ -404,7 +407,7 @@ static int sun4i_spi_runtime_resume(struct device *dev) }sun4i_spi_write (sspi,SUN4I_CTL_REG , -SUN4I_CTL_ENABLE |SUN4I_CTL_MASTER |SUN4I_CTL_TP ); +SUN4I_CTL_MASTER |SUN4I_CTL_TP );return 0 ;
fs/coredump.c +59 -6
119 lines not on this page · raw message
fs/nfs/client.c +2 -0
@@ -1096,6 +1096,8 @@ struct nfs_server *nfs_create_server(struct fs_context *fc)if (server->namelen ==0 || server->namelen >NFS2_MAXNAMLEN ) server->namelen =NFS2_MAXNAMLEN ; } +/* Linux 'subtree_check' borkenness mandates this setting */ + server->fh_expire_type =NFS_FH_VOL_RENAME ;if (!(fattr->valid &NFS_ATTR_FATTR )) { error = ctx->nfs_mod->rpc_ops->getattr(server, ctx->mntfh,
fs/nfs/dir.c +14 -1
@@ -2690,6 +2690,18 @@ nfs_unblock_rename(struct rpc_task *task, struct nfs_renamedata *data)unblock_revalidate (new_dentry); } +static bool nfs_rename_is_unsafe_cross_dir (struct dentry *old_dentry, +struct dentry *new_dentry) +{ +struct nfs_server *server =NFS_SB (old_dentry->d_sb); + +if (old_dentry->d_parent != new_dentry->d_parent) +return false; +if (server->fh_expire_type &NFS_FH_RENAME_UNSAFE ) +return !(server->fh_expire_type &NFS_FH_NOEXPIRE_WITH_OPEN ); +return true; +} +/* * RENAME * FIXME: Some nfsds, like the Linux user space nfsd, may generate a
@@ -2777,7 +2789,8 @@ int nfs_rename(struct mnt_idmap *idmap, struct inode *old_dir, } -if (S_ISREG (old_inode->i_mode)) +if (S_ISREG (old_inode->i_mode) && +nfs_rename_is_unsafe_cross_dir (old_dentry, new_dentry))nfs_sync_inode (old_inode); task =nfs_async_rename (old_dir, new_dir, old_dentry, new_dentry, must_unblock ? nfs_unblock_rename :NULL );
fs/nfs/filelayout/filelayoutdev.c +3 -3
@@ -76,6 +76,7 @@ nfs4_fl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,struct page *scratch;struct list_head dsaddrs;struct nfs4_pnfs_ds_addr *da; +struct net *net = server->nfs_client->cl_net;/* set up xdr stream */ scratch =alloc_page (gfp_flags);
@@ -159,8 +160,7 @@ nfs4_fl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev, mp_count =be32_to_cpup (p);/* multipath count */ for (j =0 ; j < mp_count; j++) { - da =nfs4_decode_mp_ds_addr (server->nfs_client->cl_net, - &stream, gfp_flags); + da =nfs4_decode_mp_ds_addr (net, &stream, gfp_flags);if (da)list_add_tail (&da->da_node, &dsaddrs); }
@@ -170,7 +170,7 @@ nfs4_fl_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev, goto out_err_free_deviceid; } - dsaddr->ds_list[i] =nfs4_pnfs_ds_add (&dsaddrs, gfp_flags); + dsaddr->ds_list[i] =nfs4_pnfs_ds_add (net, &dsaddrs, gfp_flags);if (!dsaddr->ds_list[i]) goto out_err_drain_dsaddrs;trace_fl_getdevinfo (server, &pdev->dev_id, dsaddr->ds_list[i]->ds_remotestr);
fs/nfs/flexfilelayout/flexfilelayoutdev.c +3 -3
@@ -49,6 +49,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,struct nfs4_pnfs_ds_addr *da;struct nfs4_ff_layout_ds *new_ds =NULL ;struct nfs4_ff_ds_version *ds_versions =NULL ; +struct net *net = server->nfs_client->cl_net;u32 mp_count;u32 version_count;__be32 *p;
@@ -80,8 +81,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev,for (i =0 ; i < mp_count; i++) {/* multipath ds */ - da =nfs4_decode_mp_ds_addr (server->nfs_client->cl_net, - &stream, gfp_flags); + da =nfs4_decode_mp_ds_addr (net, &stream, gfp_flags);if (da)list_add_tail (&da->da_node, &dsaddrs); }
@@ -149,7 +149,7 @@ nfs4_ff_alloc_deviceid_node(struct nfs_server *server, struct pnfs_device *pdev, new_ds->ds_versions = ds_versions; new_ds->ds_versions_cnt = version_count; - new_ds->ds =nfs4_pnfs_ds_add (&dsaddrs, gfp_flags); + new_ds->ds =nfs4_pnfs_ds_add (net, &dsaddrs, gfp_flags);if (!new_ds->ds) goto out_err_drain_dsaddrs;
fs/nfs/pnfs.h +3 -1
@@ -60,6 +60,7 @@ struct nfs4_pnfs_ds {struct list_head ds_node;/* nfs4_pnfs_dev_hlist dev_dslist */ char *ds_remotestr;/* comma sep list of addrs */ struct list_head ds_addrs; +const struct net *ds_net;struct nfs_client *ds_clp;refcount_t ds_count;unsigned long ds_state;
@@ -415,7 +416,8 @@ int pnfs_generic_commit_pagelist(struct inode *inode,int pnfs_generic_scan_commit_lists (struct nfs_commit_info *cinfo,int max);void pnfs_generic_write_commit_done (struct rpc_task *task,void *data);void nfs4_pnfs_ds_put (struct nfs4_pnfs_ds *ds); -struct nfs4_pnfs_ds *nfs4_pnfs_ds_add (struct list_head *dsaddrs, +struct nfs4_pnfs_ds *nfs4_pnfs_ds_add (const struct net *net, +struct list_head *dsaddrs,gfp_t gfp_flags);void nfs4_pnfs_v3_ds_connect_unload (void ); int nfs4_pnfs_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds,
fs/nfs/pnfs_nfs.c +5 -4
@@ -604,12 +604,12 @@ _same_data_server_addrs_locked(const struct list_head *dsaddrs1,* Lookup DS by addresses. nfs4_ds_cache_lock is held */ static struct nfs4_pnfs_ds * -_data_server_lookup_locked (const struct list_head *dsaddrs) +_data_server_lookup_locked (const struct net *net,const struct list_head *dsaddrs) {struct nfs4_pnfs_ds *ds;list_for_each_entry (ds, &nfs4_data_server_cache, ds_node) -if (_same_data_server_addrs_locked (&ds->ds_addrs, dsaddrs)) +if (ds->ds_net == net &&_same_data_server_addrs_locked (&ds->ds_addrs, dsaddrs))return ds;return NULL ; }
@@ -716,7 +716,7 @@ nfs4_pnfs_remotestr(struct list_head *dsaddrs, gfp_t gfp_flags)* uncached and return cached struct nfs4_pnfs_ds. */ struct nfs4_pnfs_ds * -nfs4_pnfs_ds_add (struct list_head *dsaddrs,gfp_t gfp_flags) +nfs4_pnfs_ds_add (const struct net *net,struct list_head *dsaddrs,gfp_t gfp_flags) {struct nfs4_pnfs_ds *tmp_ds, *ds =NULL ;char *remotestr;
@@ -734,13 +734,14 @@ nfs4_pnfs_ds_add(struct list_head *dsaddrs, gfp_t gfp_flags) remotestr =nfs4_pnfs_remotestr (dsaddrs, gfp_flags);spin_lock (&nfs4_ds_cache_lock); - tmp_ds =_data_server_lookup_locked (dsaddrs); + tmp_ds =_data_server_lookup_locked (net, dsaddrs);if (tmp_ds ==NULL ) {INIT_LIST_HEAD (&ds->ds_addrs);list_splice_init (dsaddrs, &ds->ds_addrs); ds->ds_remotestr = remotestr;refcount_set (&ds->ds_count,1 );INIT_LIST_HEAD (&ds->ds_node); + ds->ds_net = net; ds->ds_clp =NULL ;list_add (&ds->ds_node, &nfs4_data_server_cache); dprintk("%s add new data server %s\n", __func__,
fs/smb/server/oplock.c +2 -5
@@ -146,12 +146,9 @@ static struct oplock_info *opinfo_get_list(struct ksmbd_inode *ci) {struct oplock_info *opinfo; -if (list_empty (&ci->m_op_list)) -return NULL ; -down_read (&ci->m_lock); - opinfo = list_first_entry(&ci->m_op_list, struct oplock_info, - op_entry); + opinfo = list_first_entry_or_null(&ci->m_op_list, struct oplock_info, + op_entry);if (opinfo) {if (opinfo->conn ==NULL || !atomic_inc_not_zero (&opinfo->refcount))
include/linux/coredump.h +1 -0
@@ -28,6 +28,7 @@ struct coredump_params {int vma_count;size_t vma_data_size;struct core_vma_metadata *vma_meta; +struct pid *pid; };extern unsigned int core_file_note_size_limit;
include/linux/nfs_fs_sb.h +9 -3
@@ -211,6 +211,15 @@ struct nfs_server {char *fscache_uniq;/* Uniquifier (or NULL) */ #endif +/* The following #defines numerically match the NFSv4 equivalents */ +#define NFS_FH_NOEXPIRE_WITH_OPEN (0x1) +#define NFS_FH_VOLATILE_ANY (0x2) +#define NFS_FH_VOL_MIGRATION (0x4) +#define NFS_FH_VOL_RENAME (0x8) +#define NFS_FH_RENAME_UNSAFE (NFS_FH_VOLATILE_ANY | NFS_FH_VOL_RENAME) +u32 fh_expire_type;/* V4 bitmask representing file +handle volatility type for +this filesystem */ u32 pnfs_blksize;/* layout_blksize attr */ #if IS_ENABLED (CONFIG_NFS_V4 )u32 attr_bitmask[3 ];/* V4 bitmask representing the set
@@ -234,9 +243,6 @@ struct nfs_server {u32 acl_bitmask;/* V4 bitmask representing the ACEs that are supported on this filesystem */ -u32 fh_expire_type;/* V4 bitmask representing file -handle volatility type for -this filesystem */ struct pnfs_layoutdriver_type *pnfs_curr_ld;/* Active layout driver */ struct rpc_wait_queue roc_rpcwaitq;void *pnfs_ld_data;/* per mount point data */
net/sched/sch_hfsc.c +8 -1
@@ -175,6 +175,11 @@ struct hfsc_sched {#define HT_INFINITY 0xffffffffffffffffULL/* infinite time value */ +static bool cl_in_el_or_vttree (struct hfsc_class *cl) +{ +return ((cl->cl_flags &HFSC_FSC ) && cl->cl_nactive) || + ((cl->cl_flags &HFSC_RSC ) && !RB_EMPTY_NODE (&cl->el_node)); +}/* * eligible tree holds backlogged classes being sorted by their eligible times.
@@ -1040,6 +1045,8 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,if (cl ==NULL )return -ENOBUFS ; +RB_CLEAR_NODE (&cl->el_node); + err =tcf_block_get (&cl->block, &cl->filter_list, sch, extack);if (err) {kfree (cl);
@@ -1572,7 +1579,7 @@ hfsc_enqueue(struct sk_buff *skb, struct Qdisc *sch, struct sk_buff **to_free) sch->qstats.backlog += len; sch->q.qlen++; -if (first && !cl->cl_nactive) { +if (first && !cl_in_el_or_vttree (cl)) {if (cl->cl_flags &HFSC_RSC )init_ed (cl, len);if (cl->cl_flags &HFSC_FSC )
sound/pci/hda/patch_realtek.c +4 -1
@@ -6813,7 +6813,10 @@ static void alc256_fixup_chromebook(struct hda_codec *codec,switch (action) {case HDA_FIXUP_ACT_PRE_PROBE : - spec->gen.suppress_auto_mute =1 ; +if (codec->core.subsystem_id ==0x10280d76 ) + spec->gen.suppress_auto_mute =0 ; +else + spec->gen.suppress_auto_mute =1 ; spec->gen.suppress_auto_mic =1 ; spec->en_3kpull_low = false;break ;