6.12.32-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 6.12.32-rc1 review
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.12.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.12.32-rc1
Namjae Jeon <[email protected]>
ksmbd: use list_first_entry_or_null for opinfo_get_list()
Nishanth Menon <[email protected]>
net: ethernet: ti: am65-cpsw: Lower random mac address error print to info
Mark Pearson <[email protected]>
platform/x86: thinkpad_acpi: Ignore battery threshold change event notification
Kailang Yang <[email protected]>
ALSA: hda/realtek - restore auto-mute mode for Dell Chrome platform
Valtteri Koskivuori <[email protected]>
platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys
Trond Myklebust <[email protected]>
NFS: Avoid flushing data while holding directory locks in nfs_rename()
Purva Yeshi <[email protected]>
char: tpm: tpm-buf: Add sanity check fallback in read helpers
Umesh Nerlige Ramappa <[email protected]>
drm/xe: Save the gt pointer in lrc and drop the tile
Aradhya Bhatia <[email protected]>
drm/xe/xe2hpg: Add Wa_22021007897
Ilya Guterman <[email protected]>
nvme-pci: add NVME_QUIRK_NO_DEEPEST_PS quirk for SOLIDIGM P44 Pro
Alessandro Grassi <[email protected]>
spi: spi-sun4i: fix early activation
Algea Cao <[email protected]>
phy: phy-rockchip-samsung-hdptx: Fix PHY PLL output 50.25MHz error
Hal Feng <[email protected]>
phy: starfive: jh7110-usb: Fix USB 2.0 host occasional detection failure
Aurabindo Pillai <[email protected]>
drm/amd/display: check stream id dml21 wrapper to get plane_id
George Shen <[email protected]>
drm/amd/display: fix link_set_dpms_off multi-display MST corner case
Markus Burri <[email protected]>
gpio: virtuser: fix potential out-of-bound write
Masahiro Yamada <[email protected]>
um: let 'make clean' properly clean underlying SUBARCH as well
John Chau <[email protected]>
platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS
Jeff Layton <[email protected]>
nfs: don't share pNFS DS connections between net namespaces
Milton Barrera <[email protected]>
HID: quirks: Add ADATA XPG alpha wireless mouse support
Purva Yeshi <[email protected]>
dmaengine: idxd: cdev: Fix uninitialized use of sva in idxd_cdev_open
Christian Brauner <[email protected]>
coredump: hand a pidfd to the usermode coredump helper
Christian Brauner <[email protected]>
coredump: fix error handling for replace_fd()
Robin Murphy <[email protected]>
perf/arm-cmn: Add CMN S3 ACPI binding
Robin Murphy <[email protected]>
perf/arm-cmn: Initialise cmn->cpu earlier
Robin Murphy <[email protected]>
perf/arm-cmn: Fix REQ2/SNP2 mixup
Pedro Tammela <[email protected]>
net_sched: hfsc: Address reentrant enqueue adding class to eltree twice
Siddharth Vadapalli <[email protected]>
arm64: dts: ti: k3-j784s4-j742s2-main-common: Fix length of serdes_ln_ctrl
Siddharth Vadapalli <[email protected]>
arm64: dts: ti: k3-j722s-main: Disable "serdes_wiz0" and "serdes_wiz1"
Siddharth Vadapalli <[email protected]>
arm64: dts: ti: k3-j722s-evm: Enable "serdes_wiz0" and "serdes_wiz1"
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-j721e-sk: Add requiried voltage supplies for IMX219
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-j721e-sk: Remove clock-names property from IMX219 overlay
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-j721e-sk: Add DT nodes for power regulators
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-am68-sk: Fix regulator hierarchy
Judith Mendez <[email protected]>
arm64: dts: ti: k3-am65-main: Add missing taps to sdhci0
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-am62x: Rename I2C switch to I2C mux in OV5640 overlay
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-am62x: Rename I2C switch to I2C mux in IMX219 overlay
Yemike Abhilash Chandra <[email protected]>
arm64: dts: ti: k3-am62x: Remove clock-names property from IMX219 overlay
Judith Mendez <[email protected]>
arm64: dts: ti: k3-am62p-j722s-common-main: Set eMMC clock parent to default
Judith Mendez <[email protected]>
arm64: dts: ti: k3-am62a-main: Set eMMC clock parent to default
Judith Mendez <[email protected]>
arm64: dts: ti: k3-am62-main: Set eMMC clock parent to default
Stephan Gerhold <[email protected]>
arm64: dts: qcom: x1e80100: Fix video thermal zone
Johan Hovold <[email protected]>
arm64: dts: qcom: x1e80100-yoga-slim7x: mark l12b and l15b always-on
Johan Hovold <[email protected]>
arm64: dts: qcom: x1e80100-qcp: mark l12b and l15b always-on
Stephan Gerhold <[email protected]>
arm64: dts: qcom: x1e80100-qcp: Fix vreg_l2j_1p2 voltage
Stephan Gerhold <[email protected]>
arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Fix vreg_l2j_1p2 voltage
Stephan Gerhold <[email protected]>
arm64: dts: qcom: x1e80100-asus-vivobook-s15: Fix vreg_l2j_1p2 voltage
Stephan Gerhold <[email protected]>
arm64: dts: qcom: sm8650: Add missing properties for cryptobam
Stephan Gerhold <[email protected]>
arm64: dts: qcom: sm8550: Add missing properties for cryptobam
Stephan Gerhold <[email protected]>
arm64: dts: qcom: sm8450: Add missing properties for cryptobam
Alok Tiwari <[email protected]>
arm64: dts: qcom: sm8350: Fix typo in pil_camera_mem node
Karthik Sanagavarapu <[email protected]>
arm64: dts: qcom: sa8775p: Remove cdsp compute-cb@10
Ling Xu <[email protected]>
arm64: dts: qcom: sa8775p: Remove extra entries from the iommus property
Stephan Gerhold <[email protected]>
arm64: dts: qcom: ipq9574: Add missing properties for cryptobam
Axel Forsman <[email protected]>
can: kvaser_pciefd: Force IRQ edge in case of nested IRQ
-------------
Diffstat:
Makefile | 4 +- 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 + .../boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 4 +- .../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 - .../boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 2 - .../arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 3 +- .../arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso | 2 +- .../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 +- .../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 + .../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 +- .../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 | 83 ++++--- 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, 408 insertions(+), 355 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/55 can: kvaser_pciefd: Force IRQ edge in case of nested IRQ
6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Axel Forsman <[email protected]>
commit 9176bd205ee0b2cd35073a9973c2a0936bcb579e upstream.
Avoid the driver missing IRQs by temporarily masking IRQs in the ISR to enforce an edge even if a different IRQ is signalled before handled IRQs are cleared.
---
--- drivers/net/can/kvaser_pciefd.c | 81 ++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 43 deletions(-)
drivers/net/can/kvaser_pciefd.c +38 -43
@@ -1670,24 +1670,28 @@ static int kvaser_pciefd_read_buffer(strreturn res; } -static u32 kvaser_pciefd_receive_irq (struct kvaser_pciefd *pcie) +static void kvaser_pciefd_receive_irq (struct kvaser_pciefd *pcie) { +void __iomem *srb_cmd_reg =KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_CMD_REG ;u32 irq =ioread32 (KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_IRQ_REG ); -if (irq &KVASER_PCIEFD_SRB_IRQ_DPD0 ) +iowrite32 (irq,KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_IRQ_REG ); + +if (irq &KVASER_PCIEFD_SRB_IRQ_DPD0 ) {kvaser_pciefd_read_buffer (pcie,0 ); +iowrite32 (KVASER_PCIEFD_SRB_CMD_RDB0 , srb_cmd_reg);/* Rearm buffer */ + } -if (irq &KVASER_PCIEFD_SRB_IRQ_DPD1 ) +if (irq &KVASER_PCIEFD_SRB_IRQ_DPD1 ) {kvaser_pciefd_read_buffer (pcie,1 ); +iowrite32 (KVASER_PCIEFD_SRB_CMD_RDB1 , srb_cmd_reg);/* Rearm buffer */ + }if (unlikely (irq &KVASER_PCIEFD_SRB_IRQ_DOF0 || irq &KVASER_PCIEFD_SRB_IRQ_DOF1 || irq &KVASER_PCIEFD_SRB_IRQ_DUF0 || irq &KVASER_PCIEFD_SRB_IRQ_DUF1 ))dev_err (&pcie->pci->dev,"DMA IRQ error 0x%08X\n" , irq); - -iowrite32 (irq,KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_IRQ_REG ); -return irq; }static void kvaser_pciefd_transmit_irq (struct kvaser_pciefd_can *can)
@@ -1715,29 +1719,22 @@ static irqreturn_t kvaser_pciefd_irq_hanstruct kvaser_pciefd *pcie = (struct kvaser_pciefd *)dev;const struct kvaser_pciefd_irq_mask *irq_mask = pcie->driver_data->irq_mask;u32 pci_irq =ioread32 (KVASER_PCIEFD_PCI_IRQ_ADDR (pcie)); -u32 srb_irq =0 ; -u32 srb_release =0 ;int i;if (!(pci_irq & irq_mask->all))return IRQ_NONE ; +iowrite32 (0 ,KVASER_PCIEFD_PCI_IEN_ADDR (pcie)); +if (pci_irq & irq_mask->kcan_rx0) - srb_irq =kvaser_pciefd_receive_irq (pcie); +kvaser_pciefd_receive_irq (pcie);for (i =0 ; i < pcie->nr_channels; i++) {if (pci_irq & irq_mask->kcan_tx[i])kvaser_pciefd_transmit_irq (pcie->can[i]); } -if (srb_irq &KVASER_PCIEFD_SRB_IRQ_DPD0 ) - srb_release |=KVASER_PCIEFD_SRB_CMD_RDB0 ; - -if (srb_irq &KVASER_PCIEFD_SRB_IRQ_DPD1 ) - srb_release |=KVASER_PCIEFD_SRB_CMD_RDB1 ; - -if (srb_release) -iowrite32 (srb_release,KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_CMD_REG ); +iowrite32 (irq_mask->all,KVASER_PCIEFD_PCI_IEN_ADDR (pcie));return IRQ_HANDLED ; }
@@ -1757,13 +1754,22 @@ static void kvaser_pciefd_teardown_can_c } } +static void kvaser_pciefd_disable_irq_srcs (struct kvaser_pciefd *pcie) +{ +unsigned int i; + +/* Masking PCI_IRQ is insufficient as running ISR will unmask it */ +iowrite32 (0 ,KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_IEN_REG ); +for (i =0 ; i < pcie->nr_channels; ++i) +iowrite32 (0 , pcie->can[i]->reg_base +KVASER_PCIEFD_KCAN_IEN_REG ); +} +static int kvaser_pciefd_probe (struct pci_dev *pdev,const struct pci_device_id *id) {int ret;struct kvaser_pciefd *pcie;const struct kvaser_pciefd_irq_mask *irq_mask; -void __iomem *irq_en_base; pcie =devm_kzalloc (&pdev->dev,sizeof (*pcie),GFP_KERNEL );if (!pcie)
@@ -1829,8 +1835,7 @@ static int kvaser_pciefd_probe(struct pc KVASER_PCIEFD_SRB_ADDR(pcie) + KVASER_PCIEFD_SRB_IEN_REG);/* Enable PCI interrupts */ - irq_en_base =KVASER_PCIEFD_PCI_IEN_ADDR (pcie); -iowrite32 (irq_mask->all, irq_en_base); +iowrite32 (irq_mask->all,KVASER_PCIEFD_PCI_IEN_ADDR (pcie));/* Ready the DMA buffers */ iowrite32 (KVASER_PCIEFD_SRB_CMD_RDB0 ,KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_CMD_REG );
@@ -1844,8 +1849,7 @@ static int kvaser_pciefd_probe(struct pcreturn 0 ; err_free_irq: -/* Disable PCI interrupts */ -iowrite32 (0 , irq_en_base); +kvaser_pciefd_disable_irq_srcs (pcie);free_irq (pcie->pci->irq, pcie); err_pci_free_irq_vectors:
@@ -1868,35 +1872,26 @@ err_disable_pci:return ret; } -static void kvaser_pciefd_remove_all_ctrls (struct kvaser_pciefd *pcie) -{ -int i; - -for (i =0 ; i < pcie->nr_channels; i++) { -struct kvaser_pciefd_can *can = pcie->can[i]; - -if (can) { -iowrite32 (0 , can->reg_base +KVASER_PCIEFD_KCAN_IEN_REG ); -unregister_candev (can->can.dev); -del_timer (&can->bec_poll_timer); -kvaser_pciefd_pwm_stop (can); -free_candev (can->can.dev); - } - } -} -static void kvaser_pciefd_remove (struct pci_dev *pdev) {struct kvaser_pciefd *pcie =pci_get_drvdata (pdev); +unsigned int i; -kvaser_pciefd_remove_all_ctrls (pcie); +for (i =0 ; i < pcie->nr_channels; ++i) { +struct kvaser_pciefd_can *can = pcie->can[i]; -/* Disable interrupts */ -iowrite32 (0 ,KVASER_PCIEFD_SRB_ADDR (pcie) +KVASER_PCIEFD_SRB_CTRL_REG ); -iowrite32 (0 ,KVASER_PCIEFD_PCI_IEN_ADDR (pcie)); +unregister_candev (can->can.dev); +del_timer (&can->bec_poll_timer); +kvaser_pciefd_pwm_stop (can); + } +kvaser_pciefd_disable_irq_srcs (pcie);free_irq (pcie->pci->irq, pcie);pci_free_irq_vectors (pcie->pci); + +for (i =0 ; i < pcie->nr_channels; ++i) +free_candev (pcie->can[i]->can.dev); +pci_iounmap (pdev, pcie->reg_base);pci_release_regions (pdev);pci_disable_device (pdev);
Greg Kroah-Hartman
maintainerPATCH 2/55 arm64: dts: qcom: ipq9574: Add missing properties for cryptobam
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit b4cd966edb2deb5c75fe356191422e127445b830 upstream.
num-channels and qcom,num-ees are required for BAM nodes without clock, because the driver cannot ensure the hardware is powered on when trying to obtain the information from the hardware registers. Specifying the node without these properties is unsafe and has caused early boot crashes for other SoCs before [1, 2].
Add the missing information from the hardware registers to ensure the driver can probe successfully without causing crashes.
[1]: https://lore.kernel.org/r/[email protected]/
[2]: https://lore.kernel.org/r/[email protected]/
--- arch/arm64/boot/dts/qcom/ipq9574.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/qcom/ipq9574.dtsi +2 -0
@@ -261,6 +261,8 @@ interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <1>; qcom,ee = <1>; + qcom,num-ees = <4>; + num-channels = <16>; qcom,controlled-remotely; };
Greg Kroah-Hartman
maintainerPATCH 3/55 arm64: dts: qcom: sa8775p: Remove extra entries from the iommus property
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ling Xu <[email protected]>
commit eb73f500548a3205741330cbd7d0e209a7a6a9af upstream.
There are some items come out to be same value if we do SID & ~MASK. Remove extra entries from the iommus property for sa8775p to simplify.
--- arch/arm64/boot/dts/qcom/sa8775p.dtsi | 240 +++------------------------------- 1 file changed, 24 insertions(+), 216 deletions(-)
arch/arm64/boot/dts/qcom/sa8775p.dtsi +24 -216
@@ -4012,15 +4012,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <1>; iommus = <&apps_smmu 0x2141 0x04a0>, - <&apps_smmu 0x2161 0x04a0>, - <&apps_smmu 0x2181 0x0400>, - <&apps_smmu 0x21c1 0x04a0>, - <&apps_smmu 0x21e1 0x04a0>, - <&apps_smmu 0x2541 0x04a0>, - <&apps_smmu 0x2561 0x04a0>, - <&apps_smmu 0x2581 0x0400>, - <&apps_smmu 0x25c1 0x04a0>, - <&apps_smmu 0x25e1 0x04a0>; + <&apps_smmu 0x2181 0x0400>; dma-coherent; };
@@ -4028,15 +4020,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <2>; iommus = <&apps_smmu 0x2142 0x04a0>, - <&apps_smmu 0x2162 0x04a0>, - <&apps_smmu 0x2182 0x0400>, - <&apps_smmu 0x21c2 0x04a0>, - <&apps_smmu 0x21e2 0x04a0>, - <&apps_smmu 0x2542 0x04a0>, - <&apps_smmu 0x2562 0x04a0>, - <&apps_smmu 0x2582 0x0400>, - <&apps_smmu 0x25c2 0x04a0>, - <&apps_smmu 0x25e2 0x04a0>; + <&apps_smmu 0x2182 0x0400>; dma-coherent; };
@@ -4044,15 +4028,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <3>; iommus = <&apps_smmu 0x2143 0x04a0>, - <&apps_smmu 0x2163 0x04a0>, - <&apps_smmu 0x2183 0x0400>, - <&apps_smmu 0x21c3 0x04a0>, - <&apps_smmu 0x21e3 0x04a0>, - <&apps_smmu 0x2543 0x04a0>, - <&apps_smmu 0x2563 0x04a0>, - <&apps_smmu 0x2583 0x0400>, - <&apps_smmu 0x25c3 0x04a0>, - <&apps_smmu 0x25e3 0x04a0>; + <&apps_smmu 0x2183 0x0400>; dma-coherent; };
@@ -4060,15 +4036,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <4>; iommus = <&apps_smmu 0x2144 0x04a0>, - <&apps_smmu 0x2164 0x04a0>, - <&apps_smmu 0x2184 0x0400>, - <&apps_smmu 0x21c4 0x04a0>, - <&apps_smmu 0x21e4 0x04a0>, - <&apps_smmu 0x2544 0x04a0>, - <&apps_smmu 0x2564 0x04a0>, - <&apps_smmu 0x2584 0x0400>, - <&apps_smmu 0x25c4 0x04a0>, - <&apps_smmu 0x25e4 0x04a0>; + <&apps_smmu 0x2184 0x0400>; dma-coherent; };
@@ -4076,15 +4044,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <5>; iommus = <&apps_smmu 0x2145 0x04a0>, - <&apps_smmu 0x2165 0x04a0>, - <&apps_smmu 0x2185 0x0400>, - <&apps_smmu 0x21c5 0x04a0>, - <&apps_smmu 0x21e5 0x04a0>, - <&apps_smmu 0x2545 0x04a0>, - <&apps_smmu 0x2565 0x04a0>, - <&apps_smmu 0x2585 0x0400>, - <&apps_smmu 0x25c5 0x04a0>, - <&apps_smmu 0x25e5 0x04a0>; + <&apps_smmu 0x2185 0x0400>; dma-coherent; };
@@ -4092,15 +4052,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <6>; iommus = <&apps_smmu 0x2146 0x04a0>, - <&apps_smmu 0x2166 0x04a0>, - <&apps_smmu 0x2186 0x0400>, - <&apps_smmu 0x21c6 0x04a0>, - <&apps_smmu 0x21e6 0x04a0>, - <&apps_smmu 0x2546 0x04a0>, - <&apps_smmu 0x2566 0x04a0>, - <&apps_smmu 0x2586 0x0400>, - <&apps_smmu 0x25c6 0x04a0>, - <&apps_smmu 0x25e6 0x04a0>; + <&apps_smmu 0x2186 0x0400>; dma-coherent; };
@@ -4108,15 +4060,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <7>; iommus = <&apps_smmu 0x2147 0x04a0>, - <&apps_smmu 0x2167 0x04a0>, - <&apps_smmu 0x2187 0x0400>, - <&apps_smmu 0x21c7 0x04a0>, - <&apps_smmu 0x21e7 0x04a0>, - <&apps_smmu 0x2547 0x04a0>, - <&apps_smmu 0x2567 0x04a0>, - <&apps_smmu 0x2587 0x0400>, - <&apps_smmu 0x25c7 0x04a0>, - <&apps_smmu 0x25e7 0x04a0>; + <&apps_smmu 0x2187 0x0400>; dma-coherent; };
@@ -4124,15 +4068,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <8>; iommus = <&apps_smmu 0x2148 0x04a0>, - <&apps_smmu 0x2168 0x04a0>, - <&apps_smmu 0x2188 0x0400>, - <&apps_smmu 0x21c8 0x04a0>, - <&apps_smmu 0x21e8 0x04a0>, - <&apps_smmu 0x2548 0x04a0>, - <&apps_smmu 0x2568 0x04a0>, - <&apps_smmu 0x2588 0x0400>, - <&apps_smmu 0x25c8 0x04a0>, - <&apps_smmu 0x25e8 0x04a0>; + <&apps_smmu 0x2188 0x0400>; dma-coherent; };
@@ -4140,15 +4076,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <9>; iommus = <&apps_smmu 0x2149 0x04a0>, - <&apps_smmu 0x2169 0x04a0>, - <&apps_smmu 0x2189 0x0400>, - <&apps_smmu 0x21c9 0x04a0>, - <&apps_smmu 0x21e9 0x04a0>, - <&apps_smmu 0x2549 0x04a0>, - <&apps_smmu 0x2569 0x04a0>, - <&apps_smmu 0x2589 0x0400>, - <&apps_smmu 0x25c9 0x04a0>, - <&apps_smmu 0x25e9 0x04a0>; + <&apps_smmu 0x2189 0x0400>; dma-coherent; };
@@ -4156,15 +4084,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <10>; iommus = <&apps_smmu 0x214a 0x04a0>, - <&apps_smmu 0x216a 0x04a0>, - <&apps_smmu 0x218a 0x0400>, - <&apps_smmu 0x21ca 0x04a0>, - <&apps_smmu 0x21ea 0x04a0>, - <&apps_smmu 0x254a 0x04a0>, - <&apps_smmu 0x256a 0x04a0>, - <&apps_smmu 0x258a 0x0400>, - <&apps_smmu 0x25ca 0x04a0>, - <&apps_smmu 0x25ea 0x04a0>; + <&apps_smmu 0x218a 0x0400>; dma-coherent; };
@@ -4172,15 +4092,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <11>; iommus = <&apps_smmu 0x214b 0x04a0>, - <&apps_smmu 0x216b 0x04a0>, - <&apps_smmu 0x218b 0x0400>, - <&apps_smmu 0x21cb 0x04a0>, - <&apps_smmu 0x21eb 0x04a0>, - <&apps_smmu 0x254b 0x04a0>, - <&apps_smmu 0x256b 0x04a0>, - <&apps_smmu 0x258b 0x0400>, - <&apps_smmu 0x25cb 0x04a0>, - <&apps_smmu 0x25eb 0x04a0>; + <&apps_smmu 0x218b 0x0400>; dma-coherent; }; };
@@ -4240,15 +4152,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <1>; iommus = <&apps_smmu 0x2941 0x04a0>, - <&apps_smmu 0x2961 0x04a0>, - <&apps_smmu 0x2981 0x0400>, - <&apps_smmu 0x29c1 0x04a0>, - <&apps_smmu 0x29e1 0x04a0>, - <&apps_smmu 0x2d41 0x04a0>, - <&apps_smmu 0x2d61 0x04a0>, - <&apps_smmu 0x2d81 0x0400>, - <&apps_smmu 0x2dc1 0x04a0>, - <&apps_smmu 0x2de1 0x04a0>; + <&apps_smmu 0x2981 0x0400>; dma-coherent; };
@@ -4256,15 +4160,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <2>; iommus = <&apps_smmu 0x2942 0x04a0>, - <&apps_smmu 0x2962 0x04a0>, - <&apps_smmu 0x2982 0x0400>, - <&apps_smmu 0x29c2 0x04a0>, - <&apps_smmu 0x29e2 0x04a0>, - <&apps_smmu 0x2d42 0x04a0>, - <&apps_smmu 0x2d62 0x04a0>, - <&apps_smmu 0x2d82 0x0400>, - <&apps_smmu 0x2dc2 0x04a0>, - <&apps_smmu 0x2de2 0x04a0>; + <&apps_smmu 0x2982 0x0400>; dma-coherent; };
@@ -4272,15 +4168,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <3>; iommus = <&apps_smmu 0x2943 0x04a0>, - <&apps_smmu 0x2963 0x04a0>, - <&apps_smmu 0x2983 0x0400>, - <&apps_smmu 0x29c3 0x04a0>, - <&apps_smmu 0x29e3 0x04a0>, - <&apps_smmu 0x2d43 0x04a0>, - <&apps_smmu 0x2d63 0x04a0>, - <&apps_smmu 0x2d83 0x0400>, - <&apps_smmu 0x2dc3 0x04a0>, - <&apps_smmu 0x2de3 0x04a0>; + <&apps_smmu 0x2983 0x0400>; dma-coherent; };
@@ -4288,15 +4176,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <4>; iommus = <&apps_smmu 0x2944 0x04a0>, - <&apps_smmu 0x2964 0x04a0>, - <&apps_smmu 0x2984 0x0400>, - <&apps_smmu 0x29c4 0x04a0>, - <&apps_smmu 0x29e4 0x04a0>, - <&apps_smmu 0x2d44 0x04a0>, - <&apps_smmu 0x2d64 0x04a0>, - <&apps_smmu 0x2d84 0x0400>, - <&apps_smmu 0x2dc4 0x04a0>, - <&apps_smmu 0x2de4 0x04a0>; + <&apps_smmu 0x2984 0x0400>; dma-coherent; };
@@ -4304,15 +4184,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <5>; iommus = <&apps_smmu 0x2945 0x04a0>, - <&apps_smmu 0x2965 0x04a0>, - <&apps_smmu 0x2985 0x0400>, - <&apps_smmu 0x29c5 0x04a0>, - <&apps_smmu 0x29e5 0x04a0>, - <&apps_smmu 0x2d45 0x04a0>, - <&apps_smmu 0x2d65 0x04a0>, - <&apps_smmu 0x2d85 0x0400>, - <&apps_smmu 0x2dc5 0x04a0>, - <&apps_smmu 0x2de5 0x04a0>; + <&apps_smmu 0x2985 0x0400>; dma-coherent; };
@@ -4320,15 +4192,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <6>; iommus = <&apps_smmu 0x2946 0x04a0>, - <&apps_smmu 0x2966 0x04a0>, - <&apps_smmu 0x2986 0x0400>, - <&apps_smmu 0x29c6 0x04a0>, - <&apps_smmu 0x29e6 0x04a0>, - <&apps_smmu 0x2d46 0x04a0>, - <&apps_smmu 0x2d66 0x04a0>, - <&apps_smmu 0x2d86 0x0400>, - <&apps_smmu 0x2dc6 0x04a0>, - <&apps_smmu 0x2de6 0x04a0>; + <&apps_smmu 0x2986 0x0400>; dma-coherent; };
@@ -4336,15 +4200,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <7>; iommus = <&apps_smmu 0x2947 0x04a0>, - <&apps_smmu 0x2967 0x04a0>, - <&apps_smmu 0x2987 0x0400>, - <&apps_smmu 0x29c7 0x04a0>, - <&apps_smmu 0x29e7 0x04a0>, - <&apps_smmu 0x2d47 0x04a0>, - <&apps_smmu 0x2d67 0x04a0>, - <&apps_smmu 0x2d87 0x0400>, - <&apps_smmu 0x2dc7 0x04a0>, - <&apps_smmu 0x2de7 0x04a0>; + <&apps_smmu 0x2987 0x0400>; dma-coherent; };
@@ -4352,15 +4208,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <8>; iommus = <&apps_smmu 0x2948 0x04a0>, - <&apps_smmu 0x2968 0x04a0>, - <&apps_smmu 0x2988 0x0400>, - <&apps_smmu 0x29c8 0x04a0>, - <&apps_smmu 0x29e8 0x04a0>, - <&apps_smmu 0x2d48 0x04a0>, - <&apps_smmu 0x2d68 0x04a0>, - <&apps_smmu 0x2d88 0x0400>, - <&apps_smmu 0x2dc8 0x04a0>, - <&apps_smmu 0x2de8 0x04a0>; + <&apps_smmu 0x2988 0x0400>; dma-coherent; };
@@ -4368,15 +4216,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <9>; iommus = <&apps_smmu 0x2949 0x04a0>, - <&apps_smmu 0x2969 0x04a0>, - <&apps_smmu 0x2989 0x0400>, - <&apps_smmu 0x29c9 0x04a0>, - <&apps_smmu 0x29e9 0x04a0>, - <&apps_smmu 0x2d49 0x04a0>, - <&apps_smmu 0x2d69 0x04a0>, - <&apps_smmu 0x2d89 0x0400>, - <&apps_smmu 0x2dc9 0x04a0>, - <&apps_smmu 0x2de9 0x04a0>; + <&apps_smmu 0x2989 0x0400>; dma-coherent; };
@@ -4384,15 +4224,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <10>; iommus = <&apps_smmu 0x294a 0x04a0>, - <&apps_smmu 0x296a 0x04a0>, - <&apps_smmu 0x298a 0x0400>, - <&apps_smmu 0x29ca 0x04a0>, - <&apps_smmu 0x29ea 0x04a0>, - <&apps_smmu 0x2d4a 0x04a0>, - <&apps_smmu 0x2d6a 0x04a0>, - <&apps_smmu 0x2d8a 0x0400>, - <&apps_smmu 0x2dca 0x04a0>, - <&apps_smmu 0x2dea 0x04a0>; + <&apps_smmu 0x298a 0x0400>; dma-coherent; };
@@ -4400,15 +4232,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <11>; iommus = <&apps_smmu 0x294b 0x04a0>, - <&apps_smmu 0x296b 0x04a0>, - <&apps_smmu 0x298b 0x0400>, - <&apps_smmu 0x29cb 0x04a0>, - <&apps_smmu 0x29eb 0x04a0>, - <&apps_smmu 0x2d4b 0x04a0>, - <&apps_smmu 0x2d6b 0x04a0>, - <&apps_smmu 0x2d8b 0x0400>, - <&apps_smmu 0x2dcb 0x04a0>, - <&apps_smmu 0x2deb 0x04a0>; + <&apps_smmu 0x298b 0x0400>; dma-coherent; };
@@ -4416,15 +4240,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <12>; iommus = <&apps_smmu 0x294c 0x04a0>, - <&apps_smmu 0x296c 0x04a0>, - <&apps_smmu 0x298c 0x0400>, - <&apps_smmu 0x29cc 0x04a0>, - <&apps_smmu 0x29ec 0x04a0>, - <&apps_smmu 0x2d4c 0x04a0>, - <&apps_smmu 0x2d6c 0x04a0>, - <&apps_smmu 0x2d8c 0x0400>, - <&apps_smmu 0x2dcc 0x04a0>, - <&apps_smmu 0x2dec 0x04a0>; + <&apps_smmu 0x298c 0x0400>; dma-coherent; };
@@ -4432,15 +4248,7 @@ compatible = "qcom,fastrpc-compute-cb"; reg = <13>; iommus = <&apps_smmu 0x294d 0x04a0>, - <&apps_smmu 0x296d 0x04a0>, - <&apps_smmu 0x298d 0x0400>, - <&apps_smmu 0x29Cd 0x04a0>, - <&apps_smmu 0x29ed 0x04a0>, - <&apps_smmu 0x2d4d 0x04a0>, - <&apps_smmu 0x2d6d 0x04a0>, - <&apps_smmu 0x2d8d 0x0400>, - <&apps_smmu 0x2dcd 0x04a0>, - <&apps_smmu 0x2ded 0x04a0>; + <&apps_smmu 0x298d 0x0400>; dma-coherent; }; };
Greg Kroah-Hartman
maintainerPATCH 4/55 arm64: dts: qcom: sa8775p: Remove cdsp compute-cb@10
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Karthik Sanagavarapu <[email protected]>
commit d180c2bd3b43d55f30c9b99de68bc6bb8420d1c1 upstream.
Remove the context bank compute-cb@10 because these SMMU ids are S2-only which is not used for S1 transaction.
--- arch/arm64/boot/dts/qcom/sa8775p.dtsi | 8 -------- 1 file changed, 8 deletions(-)
arch/arm64/boot/dts/qcom/sa8775p.dtsi +0 -8
@@ -4080,14 +4080,6 @@ dma-coherent; }; - compute-cb@10 { - compatible = "qcom,fastrpc-compute-cb"; - reg = <10>; - iommus = <&apps_smmu 0x214a 0x04a0>, - <&apps_smmu 0x218a 0x0400>; - dma-coherent; - }; - compute-cb@11 { compatible = "qcom,fastrpc-compute-cb"; reg = <11>;
Greg Kroah-Hartman
maintainerPATCH 5/55 arm64: dts: qcom: sm8350: Fix typo in pil_camera_mem node
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alok Tiwari <[email protected]>
commit 295217420a44403a33c30f99d8337fe7b07eb02b upstream.
There is a typo in sm8350.dts where the node label mmeory@85200000 should be memory@85200000.
This patch corrects the typo for clarity and consistency.
--- arch/arm64/boot/dts/qcom/sm8350.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/sm8350.dtsi +1 -1
@@ -455,7 +455,7 @@ no-map; }; - pil_camera_mem: mmeory@85200000 { + pil_camera_mem: memory@85200000 { reg = <0x0 0x85200000 0x0 0x500000>; no-map; };
Greg Kroah-Hartman
maintainerPATCH 6/55 arm64: dts: qcom: sm8450: Add missing properties for cryptobam
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit 0fe6357229cb15a64b6413c62f1c3d4de68ce55f upstream.
num-channels and qcom,num-ees are required for BAM nodes without clock, because the driver cannot ensure the hardware is powered on when trying to obtain the information from the hardware registers. Specifying the node without these properties is unsafe and has caused early boot crashes for other SoCs before [1, 2].
Add the missing information from the hardware registers to ensure the driver can probe successfully without causing crashes.
[1]: https://lore.kernel.org/r/[email protected]/
[2]: https://lore.kernel.org/r/[email protected]/
--- arch/arm64/boot/dts/qcom/sm8450.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/qcom/sm8450.dtsi +2 -0
@@ -4553,6 +4553,8 @@ 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>,
Greg Kroah-Hartman
maintainerPATCH 7/55 arm64: dts: qcom: sm8550: Add missing properties for cryptobam
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit 663cd2cad36da23cf1a3db7868fce9f1a19b2d61 upstream.
num-channels and qcom,num-ees are required for BAM nodes without clock, because the driver cannot ensure the hardware is powered on when trying to obtain the information from the hardware registers. Specifying the node without these properties is unsafe and has caused early boot crashes for other SoCs before [1, 2].
Add the missing information from the hardware registers to ensure the driver can probe successfully without causing crashes.
[1]: https://lore.kernel.org/r/[email protected]/
[2]: https://lore.kernel.org/r/[email protected]/
--- arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/qcom/sm8550.dtsi +2 -0
@@ -1952,6 +1952,8 @@ 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>;
Greg Kroah-Hartman
maintainerPATCH 8/55 arm64: dts: qcom: sm8650: Add missing properties for cryptobam
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit 38b88722bce07b6a5927f45fbf7a9a85e834572c upstream.
num-channels and qcom,num-ees are required for BAM nodes without clock, because the driver cannot ensure the hardware is powered on when trying to obtain the information from the hardware registers. Specifying the node without these properties is unsafe and has caused early boot crashes for other SoCs before [1, 2].
Add the missing information from the hardware registers to ensure the driver can probe successfully without causing crashes.
[1]: https://lore.kernel.org/r/[email protected]/
[2]: https://lore.kernel.org/r/[email protected]/
--- arch/arm64/boot/dts/qcom/sm8650.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/qcom/sm8650.dtsi +2 -0
@@ -2495,6 +2495,8 @@ <&apps_smmu 0x481 0>; qcom,ee = <0>; + qcom,num-ees = <4>; + num-channels = <20>; qcom,controlled-remotely; };
Greg Kroah-Hartman
maintainerPATCH 9/55 arm64: dts: qcom: x1e80100-asus-vivobook-s15: Fix vreg_l2j_1p2 voltage
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit 0fb9ecf8713a7a458f7378c86e0703467db2ad22 upstream.
In the ACPI DSDT table, PPP_RESOURCE_ID_LDO2_J is configured with 1256000 uV instead of the 1200000 uV we have currently in the device tree. Use the same for consistency and correctness.
--- arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts +2 -2
@@ -314,8 +314,8 @@ 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>; };
Greg Kroah-Hartman
maintainerPATCH 10/55 arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Fix vreg_l2j_1p2 voltage
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit 4f27ede34ca3369cdcde80c5a4ca84cdb28edbbb upstream.
In the ACPI DSDT table, PPP_RESOURCE_ID_LDO2_J is configured with 1256000 uV instead of the 1200000 uV we have currently in the device tree. Use the same for consistency and correctness.
--- arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +2 -2
@@ -484,8 +484,8 @@ 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>; };
Greg Kroah-Hartman
maintainerPATCH 11/55 arm64: dts: qcom: x1e80100-qcp: Fix vreg_l2j_1p2 voltage
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit efdbeae860bf0278b050c6c9ad5921afba4596d0 upstream.
In the ACPI DSDT table, PPP_RESOURCE_ID_LDO2_J is configured with 1256000 uV instead of the 1200000 uV we have currently in the device tree. Use the same for consistency and correctness.
--- arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts +2 -2
@@ -594,8 +594,8 @@ 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>; };
Greg Kroah-Hartman
maintainerPATCH 12/55 arm64: dts: qcom: x1e80100-qcp: mark l12b and l15b always-on
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Johan Hovold <[email protected]>
commit ff6ba96378367133b66587bd3ee9f068a39ff3a9 upstream.
The l12b and l15b supplies are used by components that are not (fully) described (and some never will be) and must never be disabled.
Mark the regulators as always-on to prevent them from being disabled, for example, when consumers probe defer or suspend.
--- arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts +2 -0
@@ -356,6 +356,7 @@ 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 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; vreg_l16b_2p9: ldo16 {
Greg Kroah-Hartman
maintainerPATCH 13/55 arm64: dts: qcom: x1e80100-yoga-slim7x: mark l12b and l15b always-on
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Johan Hovold <[email protected]>
commit f43a71dc6d8d8378af587675eec77c06e0298c79 upstream.
The l12b and l15b supplies are used by components that are not (fully) described (and some never will be) and must never be disabled.
Mark the regulators as always-on to prevent them from being disabled, for example, when consumers probe defer or suspend.
--- arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +2 -1
@@ -266,6 +266,7 @@ 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 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; - }; regulators-1 {
Greg Kroah-Hartman
maintainerPATCH 14/55 arm64: dts: qcom: x1e80100: Fix video thermal zone
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stephan Gerhold <[email protected]>
commit 801befff4c827aa72e3698367c5afc18987a6a3f upstream.
A passive trip point at 125°C is pretty high, this is usually the temperature for the critical shutdown trip point. Also, we don't have any passive cooling devices attached to the video thermal zone.
Change this to be a critical trip point, and add a "hot" trip point at 90°C for consistency with the other thermal zones.
--- arch/arm64/boot/dts/qcom/x1e80100.dtsi | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
arch/arm64/boot/dts/qcom/x1e80100.dtsi +7 -3
@@ -6682,15 +6682,19 @@ }; 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"; }; }; };
Greg Kroah-Hartman
maintainerPATCH 15/55 arm64: dts: ti: k3-am62-main: Set eMMC clock parent to default
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Judith Mendez <[email protected]>
commit 3a71cdfec94436079513d9adf4b1d4f7a7edd917 upstream.
Set eMMC clock parents to the defaults which is MAIN_PLL0_HSDIV5_CLKOUT for eMMC. This change is necessary since DM is not implementing the correct procedure to switch PLL clock source for eMMC and MMC CLK mux is not glich-free. As a preventative action, lets switch back to the defaults.
--- arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 2 -- 1 file changed, 2 deletions(-)
arch/arm64/boot/dts/ti/k3-am62-main.dtsi +0 -2
@@ -552,8 +552,6 @@ 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;
Greg Kroah-Hartman
maintainerPATCH 16/55 arm64: dts: ti: k3-am62a-main: Set eMMC clock parent to default
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Judith Mendez <[email protected]>
commit 6af731c5de59cc4e7cce193d446f1fe872ac711b upstream.
Set eMMC clock parents to the defaults which is MAIN_PLL0_HSDIV5_CLKOUT for eMMC. This change is necessary since DM is not implementing the correct procedure to switch PLL clock source for eMMC and MMC CLK mux is not glich-free. As a preventative action, lets switch back to the defaults.
--- arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 2 -- 1 file changed, 2 deletions(-)
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +0 -2
@@ -575,8 +575,6 @@ 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>;
Greg Kroah-Hartman
maintainerPATCH 17/55 arm64: dts: ti: k3-am62p-j722s-common-main: Set eMMC clock parent to default
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Judith Mendez <[email protected]>
commit 9c6b73fc72e19c449147233587833ce20f84b660 upstream.
Set eMMC clock parents to the defaults which is MAIN_PLL0_HSDIV5_CLKOUT for eMMC. This change is necessary since DM is not implementing the correct procedure to switch PLL clock source for eMMC and MMC CLK mux is not glich-free. As a preventative action, lets switch back to the defaults.
--- arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 2 -- 1 file changed, 2 deletions(-)
arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi +0 -2
@@ -564,8 +564,6 @@ 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;
Greg Kroah-Hartman
maintainerPATCH 18/55 arm64: dts: ti: k3-am62x: Remove clock-names property from IMX219 overlay
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit c68ab54a89a8c935732589a35ea2596e2329f167 upstream.
The IMX219 sensor device tree bindings do not include a clock-names property. Remove the incorrectly added clock-names entry to avoid dtbs_check warnings.
--- arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 1 - 1 file changed, 1 deletion(-)
arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso +0 -1
@@ -39,7 +39,6 @@ reg = <0x10>; clocks = <&clk_imx219_fixed>; - clock-names = "xclk"; reset-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;
Greg Kroah-Hartman
maintainerPATCH 19/55 arm64: dts: ti: k3-am62x: Rename I2C switch to I2C mux in IMX219 overlay
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit 7b75dd2029ee01a8c11fcf4d97f3ccebbef9f8eb upstream.
The IMX219 device tree overlay incorrectly defined an I2C switch instead of an I2C mux. According to the DT bindings, the correct terminology and node definition should use "i2c-mux" instead of "i2c-switch". Hence, update the same to avoid dtbs_check warnings.
--- arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso +1 -1
@@ -22,7 +22,7 @@ #size-cells = <0>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9543"; #address-cells = <1>; #size-cells = <0>;
Greg Kroah-Hartman
maintainerPATCH 20/55 arm64: dts: ti: k3-am62x: Rename I2C switch to I2C mux in OV5640 overlay
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit b22cc402d38774ccc552d18e762c25dde02f7be0 upstream.
The OV5640 device tree overlay incorrectly defined an I2C switch instead of an I2C mux. According to the DT bindings, the correct terminology and node definition should use "i2c-mux" instead of "i2c-switch". Hence, update the same to avoid dtbs_check warnings.
--- 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 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso +1 -1
@@ -22,7 +22,7 @@ #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 @@ #size-cells = <0>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9543"; #address-cells = <1>; #size-cells = <0>;
Greg Kroah-Hartman
maintainerPATCH 21/55 arm64: dts: ti: k3-am65-main: Add missing taps to sdhci0
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Judith Mendez <[email protected]>
commit f55c9f087cc2e2252d44ffd9d58def2066fc176e upstream.
For am65x, add missing ITAPDLYSEL values for Default Speed and High Speed SDR modes to sdhci0 node according to the device datasheet [0].
[0] https://www.ti.com/lit/gpn/am6548
--- arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/ti/k3-am65-main.dtsi +2 -0
@@ -449,6 +449,8 @@ 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";
Greg Kroah-Hartman
maintainerPATCH 22/55 arm64: dts: ti: k3-am68-sk: Fix regulator hierarchy
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit 7edf0a4d3bb7f5cd84f172b76c380c4259bb4ef8 upstream.
Update the vin-supply of the TLV71033 regulator from LM5141 (vsys_3v3) to LM61460 (vsys_5v0) to match the schematics. Add a fixed regulator node for the LM61460 5V supply to support this change.
AM68-SK schematics: https://www.ti.com/lit/zip/sprr463
--- arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts +12 -1
@@ -44,6 +44,17 @@ 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 @@ 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>;
Greg Kroah-Hartman
maintainerPATCH 23/55 arm64: dts: ti: k3-j721e-sk: Add DT nodes for power regulators
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit 97b67cc102dc2cc8aa39a569c22a196e21af5a21 upstream.
Add device tree nodes for two power regulators on the J721E SK board.vsys_5v0: A fixed regulator representing the 5V supply output from the LM61460 and vdd_sd_dv: A GPIO-controlled TLV71033 regulator.
J721E-SK schematics: https://www.ti.com/lit/zip/sprr438
--- arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
arch/arm64/boot/dts/ti/k3-j721e-sk.dts +31 -0
@@ -184,6 +184,17 @@ 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 @@ <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 @@ >; }; + 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 */
Greg Kroah-Hartman
maintainerPATCH 24/55 arm64: dts: ti: k3-j721e-sk: Remove clock-names property from IMX219 overlay
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit 24ab76e55ef15450c6681a2b5db4d78f45200939 upstream.
The IMX219 sensor device tree bindings do not include a clock-names property. Remove the incorrectly added clock-names entry to avoid dtbs_check warnings.
--- arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso | 2 -- 1 file changed, 2 deletions(-)
arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso +0 -2
@@ -34,7 +34,6 @@ reg = <0x10>; clocks = <&clk_imx219_fixed>; - clock-names = "xclk"; port { csi2_cam0: endpoint {
@@ -56,7 +55,6 @@ reg = <0x10>; clocks = <&clk_imx219_fixed>; - clock-names = "xclk"; port { csi2_cam1: endpoint {
Greg Kroah-Hartman
maintainerPATCH 25/55 arm64: dts: ti: k3-j721e-sk: Add requiried voltage supplies for IMX219
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yemike Abhilash Chandra <[email protected]>
commit c6a20a250200da6fcaf80fe945b7b92cba8cfe0f upstream.
The device tree overlay for the IMX219 sensor requires three voltage supplies to be defined: VANA (analog), VDIG (digital core), and VDDL (digital I/O). Add the corresponding voltage supply definitions to avoid dtbs_check warnings.
--- arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso | 33 +++++++++++++++ 1 file changed, 33 insertions(+)
arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso +33 -0
@@ -19,6 +19,33 @@ #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,6 +61,9 @@ reg = <0x10>; clocks = <&clk_imx219_fixed>; + VANA-supply = <®_2p8v>; + VDIG-supply = <®_1p8v>; + VDDL-supply = <®_1p2v>; port { csi2_cam0: endpoint {
@@ -55,6 +85,9 @@ reg = <0x10>; clocks = <&clk_imx219_fixed>; + VANA-supply = <®_2p8v>; + VDIG-supply = <®_1p8v>; + VDDL-supply = <®_1p2v>; port { csi2_cam1: endpoint {
Greg Kroah-Hartman
maintainerPATCH 26/55 arm64: dts: ti: k3-j722s-evm: Enable "serdes_wiz0" and "serdes_wiz1"
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Siddharth Vadapalli <[email protected]>
commit 9d76be5828be44ed7a104cc21b4f875be4a63322 upstream.
In preparation for disabling "serdes_wiz0" and "serdes_wiz1" device-tree nodes in the SoC file, enable them in the board file. The motivation for this change is that of following the existing convention of disabling nodes in the SoC file and only enabling the required ones in the board file.
--- arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 8 ++++++++ 1 file changed, 8 insertions(+)
arch/arm64/boot/dts/ti/k3-j722s-evm.dts +8 -0
@@ -720,6 +720,10 @@ <J722S_SERDES1_LANE0_PCIE0_LANE0>; }; +&serdes_wiz0 { + status = "okay"; +}; + &serdes0 { status = "okay"; serdes0_usb_link: phy@0 {
@@ -731,6 +735,10 @@ }; }; +&serdes_wiz1 { + status = "okay"; +}; + &serdes1 { status = "okay"; serdes1_pcie_link: phy@0 {
Greg Kroah-Hartman
maintainerPATCH 27/55 arm64: dts: ti: k3-j722s-main: Disable "serdes_wiz0" and "serdes_wiz1"
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Siddharth Vadapalli <[email protected]>
commit 320d8a84f6f045dc876d4c2983f9024c7ac9d6df upstream.
Since "serdes0" and "serdes1" which are the sub-nodes of "serdes_wiz0" and "serdes_wiz1" respectively, have been disabled in the SoC file already, and, given that these sub-nodes will only be enabled in a board file if the board utilizes any of the SERDES instances and the peripherals bound to them, we end up in a situation where the board file doesn't explicitly disable "serdes_wiz0" and "serdes_wiz1". As a consequence of this, the following errors show up when booting Linux:
wiz bus@f0000:phy@f000000: probe with driver wiz failed with error -12
...
wiz bus@f0000:phy@f010000: probe with driver wiz failed with error -12
To not only fix the above, but also, in order to follow the convention of disabling device-tree nodes in the SoC file and enabling them in the board files for those boards which require them, disable "serdes_wiz0" and "serdes_wiz1" device-tree nodes.
--- arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 4 ++++ 1 file changed, 4 insertions(+)
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>;
Signature · 1 line
2.49.0
Greg Kroah-Hartman
maintainerPATCH 28/55 arm64: dts: ti: k3-j784s4-j742s2-main-common: Fix length of serdes_ln_ctrl
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Siddharth Vadapalli <[email protected]>
commit 3b62bd1fde50d54cc59015e14869e6cc3d6899e0 upstream.
Commit under Fixes corrected the "mux-reg-masks" property but did not update the "length" field of the "reg" property to account for the newly added register offsets which extend the region. Fix this.
--- arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi +1 -1
@@ -77,7 +77,7 @@ 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 */
Greg Kroah-Hartman
maintainerPATCH 29/55 net_sched: hfsc: Address reentrant enqueue adding class to eltree twice
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Pedro Tammela <[email protected]>
commit ac9fe7dd8e730a103ae4481147395cc73492d786 upstream.
Savino says:
"We are writing to report that this recent patch (141d34391abbb315d68556b7c67ad97885407547) [1]
can be bypassed, and a UAF can still occur when HFSC is utilized with NETEM.
The patch only checks the cl->cl_nactive field to determine whether it is the first insertion or not [2], but this field is only incremented by init_vf [3].
By using HFSC_RSC (which uses init_ed) [4], it is possible to bypass the check and insert the class twice in the eltree.
Under normal conditions, this would lead to an infinite loop in hfsc_dequeue for the reasons we already explained in this report [5].
However, if TBF is added as root qdisc and it is configured with a very low rate,
it can be utilized to prevent packets from being dequeued. This behavior can be exploited to perform subsequent insertions in the HFSC eltree and cause a UAF."
To fix both the UAF and the infinite loop, with netem as an hfsc child, check explicitly in hfsc_enqueue whether the class is already in the eltree whenever the HFSC_RSC flag is set.
[1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=141d34391abbb315d68556b7c67ad97885407547
[2] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1572
[3] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L677
[4] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1574
[5] https://lore.kernel.org/netdev/8DuRWwfqjoRDLDmBMlIfbrsZg9Gx50DHJc1ilxsEBNe2D6NMoigR_eIRIG0LOjMc3r10nUUZtArXx4oZBIdUfZQrwjcQhdinnMis_0G7VEk=@willsroot.io/T/#u
--- net/sched/sch_hfsc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
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, u32if (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 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 )
Greg Kroah-Hartman
maintainerPATCH 30/55 perf/arm-cmn: Fix REQ2/SNP2 mixup
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Robin Murphy <[email protected]>
commit 11b0f576e0cbde6a12258f2af6753b17b8df342b upstream.
Somehow the encodings for REQ2/SNP2 channels in XP events got mixed up... Unmix them.
--- drivers/perf/arm-cmn.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/perf/arm-cmn.c +4 -4
@@ -727,8 +727,8 @@ static umode_t arm_cmn_event_attr_is_visif ((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_vis _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)), \
Greg Kroah-Hartman
maintainerPATCH 31/55 perf/arm-cmn: Initialise cmn->cpu earlier
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Robin Murphy <[email protected]>
commit 597704e201068db3d104de3c7a4d447ff8209127 upstream.
For all the complexity of handling affinity for CPU hotplug, what we've apparently managed to overlook is that arm_cmn_init_irqs() has in fact always been setting the *initial* affinity of all IRQs to CPU 0, not the CPU we subsequently choose for event scheduling. Oh dear.
--- drivers/perf/arm-cmn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/perf/arm-cmn.c +1 -1
@@ -2557,6 +2557,7 @@ static int arm_cmn_probe(struct platform 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 platformif (err)return err; - cmn->cpu =cpumask_local_spread (0 ,dev_to_node (cmn->dev)); cmn->pmu = (struct pmu ) { .module =THIS_MODULE , .parent = cmn->dev,
Greg Kroah-Hartman
maintainerPATCH 32/55 perf/arm-cmn: Add CMN S3 ACPI binding
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Robin Murphy <[email protected]>
commit 8c138a189f6db295ceb32258d46ac061df0823e5 upstream.
An ACPI binding for CMN S3 was not yet finalised when the driver support was originally written, but v1.2 of DEN0093 "ACPI for Arm Components" has at last been published; support ACPI systems using the proper HID.
--- drivers/perf/arm-cmn.c | 1 + 1 file changed, 1 insertion(+)
drivers/perf/arm-cmn.c +1 -0
@@ -2650,6 +2650,7 @@ static const struct acpi_device_id arm_c { "ARMHC600", PART_CMN600 }, { "ARMHC650" }, { "ARMHC700" }, + { "ARMHC003" }, {} };MODULE_DEVICE_TABLE (acpi, arm_cmn_acpi_match);
Greg Kroah-Hartman
maintainerPATCH 33/55 coredump: fix error handling for replace_fd()
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Christian Brauner <[email protected]>
commit 95c5f43181fe9c1b5e5a4bd3281c857a5259991f upstream.
The replace_fd() helper returns the file descriptor number on success and a negative error code on failure. The current error handling in umh_pipe_setup() only works because the file descriptor that is replaced is zero but that's pretty volatile. Explicitly check for a negative error code.
--- fs/coredump.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
fs/coredump.c +7 -2
@@ -507,7 +507,9 @@ static int umh_pipe_setup(struct subproc {struct file *files[2 ];struct coredump_params *cp = (struct coredump_params *)info->data; -int err =create_pipe_files (files,0 ); +int err; + + err =create_pipe_files (files,0 );if (err)return err;
@@ -515,10 +517,13 @@ static int umh_pipe_setup(struct subproc err =replace_fd (0 , files[0 ],0 );fput (files[0 ]); +if (err <0 ) +return err; +/* and disallow core files too */ current->signal->rlim[RLIMIT_CORE ] = (struct rlimit ){1 ,1 }; -return err; +return 0 ; }void do_coredump (const kernel_siginfo_t *siginfo)
Greg Kroah-Hartman
maintainerPATCH 34/55 coredump: hand a pidfd to the usermode coredump helper
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Christian Brauner <[email protected]>
commit b5325b2a270fcaf7b2a9a0f23d422ca8a5a8bdea upstream.
Give userspace a way to instruct the kernel to install a pidfd into the usermode helper process. This makes coredump handling a lot more reliable for userspace. In parallel with this commit we already have systemd adding support for this in [1].
We create a pidfs file for the coredumping process when we process the corename pattern. When the usermode helper process is forked we then install the pidfs file as file descriptor three into the usermode helpers file descriptor table so it's available to the exec'd program.
Since usermode helpers are either children of the system_unbound_wq workqueue or kthreadd we know that the file descriptor table is empty and can thus always use three as the file descriptor number.
Note, that we'll install a pidfd for the thread-group leader even if a subthread is calling do_coredump(). We know that task linkage hasn't been removed due to delay_group_leader() and even if this @current isn't the actual thread-group leader we know that the thread-group leader cannot be reaped until @current has exited.
[brauner: This is a backport for the v6.12 series. The upstream kernel has changed pidfs_alloc_file() to set O_RDWR implicitly instead of forcing callers to set it. Let's minimize the churn and just let the coredump umh handler raise O_RDWR.]
--- fs/coredump.c | 56 +++++++++++++++++++++++++++++++++++++++++++---- include/linux/coredump.h | 1 2 files changed, 53 insertions(+), 4 deletions(-)
fs/coredump.c +52 -4
@@ -43,6 +43,8 @@#include <linux/timekeeping.h> #include <linux/sysctl.h> #include <linux/elf.h> +#include <linux/pidfs.h> +#include <uapi/linux/pidfd.h> #include <linux/uaccess.h> #include <asm/mmu_context.h>
@@ -60,6 +62,12 @@ static void free_vma_snapshot(struct cor#define CORE_FILE_NOTE_SIZE_DEFAULT (4*1024*1024)/* Define a reasonable max cap */ #define CORE_FILE_NOTE_SIZE_MAX (16*1024*1024) +/* +* File descriptor number for the pidfd for the thread-group leader of +* the coredumping task installed into the usermode helper's file +* descriptor table. +*/ +#define COREDUMP_PIDFD_NUMBER 3static int core_uses_pid;static unsigned int core_pipe_limit;
@@ -339,6 +347,27 @@ static int format_corename(struct core_ncase 'C' : err =cn_printf (cn,"%d" , cprm->cpu);break ; +/* pidfd number */ +case 'F' : { +/* +* Installing a pidfd only makes sense if +* we actually spawn a usermode helper. +*/ +if (!ispipe) +break ; + +/* +* Note that we'll install a pidfd for the +* thread-group leader. We know that task +* linkage hasn't been removed yet and even if +* this @current isn't the actual thread-group +* leader we know that the thread-group leader +* cannot be reaped until @current has exited. +*/ + cprm->pid =task_tgid (current); + err =cn_printf (cn,"%d" ,COREDUMP_PIDFD_NUMBER ); +break ; + }default :break ; }
@@ -493,7 +522,7 @@ static void wait_for_dump_helpers(struct }/* -* umh_pipe_setup +* umh_coredump_setup * helper function to customize the process used * to collect the core in userspace. Specifically * it sets up a pipe and installs it as fd 0 (stdin)
@@ -503,12 +532,31 @@ static void wait_for_dump_helpers(struct* is a special value that we use to trap recursive * core dumps */ -static int umh_pipe_setup (struct subprocess_info *info,struct cred *new) +static int umh_coredump_setup (struct subprocess_info *info,struct cred *new) {struct file *files[2 ];struct coredump_params *cp = (struct coredump_params *)info->data;int err; +if (cp->pid) { + struct file *pidfs_file __free(fput) = NULL; + + pidfs_file =pidfs_alloc_file (cp->pid,O_RDWR ); +if (IS_ERR (pidfs_file)) +return PTR_ERR (pidfs_file); + +/* +* Usermode helpers are childen of either +* system_unbound_wq or of kthreadd. So we know that +* we're starting off with a clean file descriptor +* table. So we should always be able to use +* COREDUMP_PIDFD_NUMBER as our file descriptor value. +*/ + err =replace_fd (COREDUMP_PIDFD_NUMBER , pidfs_file,0 ); +if (err <0 ) +return err; + } + err =create_pipe_files (files,0 );if (err)return err;
@@ -598,7 +646,7 @@ void do_coredump(const kernel_siginfo_t }if (cprm.limit ==1 ) { -/* See umh_pipe_setup() which sets RLIMIT_CORE = 1. +/* See umh_coredump_setup() which sets RLIMIT_CORE = 1. * * Normally core limits are irrelevant to pipes, since * we're not writing to the file system, but we use
@@ -637,7 +685,7 @@ void do_coredump(const kernel_siginfo_t retval = -ENOMEM ; sub_info =call_usermodehelper_setup (helper_argv[0 ], helper_argv,NULL ,GFP_KERNEL , - umh_pipe_setup,NULL , &cprm); + umh_coredump_setup,NULL , &cprm);if (sub_info) retval =call_usermodehelper_exec (sub_info,UMH_WAIT_EXEC );
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;
Greg Kroah-Hartman
maintainerPATCH 35/55 dmaengine: idxd: cdev: Fix uninitialized use of sva in idxd_cdev_open
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Purva Yeshi <[email protected]>
[ Upstream commit 97994333de2b8062d2df4e6ce0dc65c2dc0f40dc ]
Fix Smatch-detected issue:drivers/dma/idxd/cdev.c:321 idxd_cdev_open() error:
uninitialized symbol 'sva'.
'sva' pointer may be used uninitialized in error handling paths. Specifically, if PASID support is enabled and iommu_sva_bind_device() returns an error, the code jumps to the cleanup label and attempts to call iommu_sva_unbind_device(sva) without ensuring that sva was successfully assigned. This triggers a Smatch warning about an uninitialized symbol.
Initialize sva to NULL at declaration and add a check using IS_ERR_OR_NULL() before unbinding the device. This ensures the function does not use an invalid or uninitialized pointer during cleanup.
--- drivers/dma/idxd/cdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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);
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 36/55 HID: quirks: Add ADATA XPG alpha wireless mouse support
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Milton Barrera <[email protected]>
[ Upstream commit fa9fdeea1b7d6440c22efa6d59a769eae8bc89f1 ]
This patch adds HID_QUIRK_ALWAYS_POLL for the ADATA XPG wireless gaming mouse (USB ID 125f:7505) and its USB dongle (USB ID 125f:7506). Without this quirk, the device does not generate input events properly.
--- drivers/hid/hid-ids.h | 4 ++++ drivers/hid/hid-quirks.c | 2 ++ 2 files changed, 6 insertions(+)
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 },
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 37/55 nfs: dont share pNFS DS connections between net namespaces
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jeff Layton <[email protected]>
[ Upstream commit 6b9785dc8b13d9fb75ceec8cf4ea7ec3f3b1edbc ]
Currently, different NFS clients can share the same DS connections, even when they are in different net namespaces. If a containerized client creates a DS connection, another container can find and use it. When the first client exits, the connection will close which can lead to stalls in other clients.
Add a net namespace pointer to struct nfs4_pnfs_ds, and compare those value to the caller's netns in _data_server_lookup_locked() when searching for a nfs4_pnfs_ds to match.
--- fs/nfs/filelayout/filelayoutdev.c | 6 +++--- fs/nfs/flexfilelayout/flexfilelayoutdev.c | 6 +++--- fs/nfs/pnfs.h | 4 +++- fs/nfs/pnfs_nfs.c | 9 +++++---- 4 files changed, 14 insertions(+), 11 deletions(-)
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__,
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 38/55 platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: John Chau <[email protected]>
[ Upstream commit a032f29a15412fab9f4352e0032836d51420a338 ]
Change get_thinkpad_model_data() to check for additional vendor name "NEC" in order to support NEC Lavie X1475JAS notebook (and perhaps more).
The reason of this works with minimal changes is because NEC Lavie X1475JAS is a Thinkpad inside. ACPI dumps reveals its OEM ID to be "LENOVO", BIOS version "R2PET30W" matches typical Lenovo BIOS version, the existence of HKEY of LEN0268, with DMI fw string is "R2PHT24W".
I compiled and tested with my own machine, attached the dmesg below as proof of work:
[ 6.288932] thinkpad_acpi: ThinkPad ACPI Extras v0.26 [ 6.288937] thinkpad_acpi: http://ibm-acpi.sf.net/ [ 6.288938] thinkpad_acpi: ThinkPad BIOS R2PET30W (1.11 ), EC R2PHT24W [ 6.307000] thinkpad_acpi: radio switch found; radios are enabled [ 6.307030] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver [ 6.307033] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default... [ 6.320322] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked [ 6.371963] thinkpad_acpi: secondary fan control detected & enabled [ 6.391922] thinkpad_acpi: battery 1 registered (start 0, stop 85, behaviours: 0x7) [ 6.398375] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input13
--- drivers/platform/x86/thinkpad_acpi.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/platform/x86/thinkpad_acpi.c +2 -0
@@ -11472,6 +11472,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;
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 39/55 um: let make clean properly clean underlying SUBARCH as well
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Masahiro Yamada <[email protected]>
[ Upstream commit ab09da75700e9d25c7dfbc7f7934920beb5e39b9 ]
Building the kernel with O= is affected by stale in-tree build artifacts.
So, if the source tree is not clean, Kbuild displays the following:
$ make ARCH=um O=build defconfig make[1]: Entering directory '/.../linux/build' *** *** The source tree is not clean, please run 'make ARCH=um mrproper' *** in /.../linux *** make[2]: *** [/.../linux/Makefile:673: outputmakefile] Error 1 make[1]: *** [/.../linux/Makefile:248: __sub-make] Error 2 make[1]: Leaving directory '/.../linux/build' make: *** [Makefile:248: __sub-make] Error 2
Usually, running 'make mrproper' is sufficient for cleaning the source tree for out-of-tree builds.
However, building UML generates build artifacts not only in arch/um/, but also in the SUBARCH directory (i.e., arch/x86/). If in-tree stale files remain under arch/x86/, Kbuild will reuse them instead of creating new ones under the specified build directory.
This commit makes 'make ARCH=um clean' recurse into the SUBARCH directory.
--- arch/um/Makefile | 1 + 1 file changed, 1 insertion(+)
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
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 40/55 gpio: virtuser: fix potential out-of-bound write
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Markus Burri <[email protected]>
[ Upstream commit 7118be7c6072f40391923543fdd1563b8d56377c ]
If the caller wrote more characters, count is truncated to the max available space in "simple_write_to_buffer". Check that the input size does not exceed the buffer size. Write a zero termination afterwards.
--- drivers/gpio/gpio-virtuser.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
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)
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 41/55 drm/amd/display: fix link_set_dpms_off multi-display MST corner case
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: George Shen <[email protected]>
[ Upstream commit 3c1a467372e0c356b1d3c59f6d199ed5a6612dd1 ]
[Why & How]
When MST config is unplugged/replugged too quickly, it can potentially result in a scenario where previous DC state has not been reset before the HPD link detection sequence begins. In this case, driver will disable the streams/link prior to re-enabling the link for link training.
There is a bug in the current logic that does not account for the fact that current_state can be released and cleared prior to swapping to a new state (resulting in the pipe_ctx stream pointers to be cleared) in between disabling streams.
To resolve this, cache the original streams prior to committing any stream updates.
--- drivers/gpu/drm/amd/display/dc/link/link_dpms.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
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); }
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 42/55 drm/amd/display: check stream id dml21 wrapper to get plane_id
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Aurabindo Pillai <[email protected]>
[ Upstream commit 2ddac70fed50485aa4ae49cdb7478ce41d8d4715 ]
[Why & How]
Fix a false positive warning which occurs due to lack of correct checks when querying plane_id in DML21. This fixes the warning when performing a mode1 reset (cat /sys/kernel/debug/dri/1/amdgpu_gpu_recover):
[ 35.751250] WARNING: CPU: 11 PID: 326 at /tmp/amd.PHpyAl7v/amd/amdgpu/../display/dc/dml2/dml2_dc_resource_mgmt.c:91 dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.751434] Modules linked in: amdgpu(OE) amddrm_ttm_helper(OE) amdttm(OE) amddrm_buddy(OE) amdxcp(OE) amddrm_exec(OE) amd_sched(OE) amdkcl(OE) drm_suballoc_helper drm_ttm_helper ttm drm_display_helper cec rc_core i2c_algo_bit rfcomm qrtr cmac algif_hash algif_skcipher af_alg bnep amd_atl intel_rapl_msr intel_rapl_common snd_hda_codec_hdmi snd_hda_intel edac_mce_amd snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec kvm_amd snd_hda_core snd_hwdep snd_pcm kvm snd_seq_midi snd_seq_midi_event snd_rawmidi crct10dif_pclmul polyval_clmulni polyval_generic btusb ghash_clmulni_intel sha256_ssse3 btrtl sha1_ssse3 snd_seq btintel aesni_intel btbcm btmtk snd_seq_device crypto_simd sunrpc cryptd bluetooth snd_timer ccp binfmt_misc rapl snd i2c_piix4 wmi_bmof gigabyte_wmi k10temp i2c_smbus soundcore gpio_amdpt mac_hid sch_fq_codel msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 hid_generic usbhid hid crc32_pclmul igc ahci xhci_pci libahci xhci_pci_renesas video wmi [ 35.751501] CPU: 11 UID: 0 PID: 326 Comm: kworker/u64:9 Tainted: G OE 6.11.0-21-generic #21~24.04.1-Ubuntu [ 35.751504] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE [ 35.751505] Hardware name: Gigabyte Technology Co., Ltd. X670E AORUS PRO X/X670E AORUS PRO X, BIOS F30 05/22/2024 [ 35.751506] Workqueue: amdgpu-reset-dev amdgpu_debugfs_reset_work [amdgpu] [ 35.751638] RIP: 0010:dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.751794] Code: 6d 0c 00 00 8b 84 24 88 00 00 00 41 3b 44 9c 20 0f 84 fc 07 00 00 48 83 c3 01 48 83 fb 06 75 b3 4c 8b 64 24 68 4c 8b 6c 24 40 <0f> 0b b8 06 00 00 00 49 8b 94 24 a0 49 00 00 89 c3 83 f8 07 0f 87 [ 35.751796] RSP: 0018:ffffbfa3805d7680 EFLAGS: 00010246 [ 35.751798] RAX: 0000000000010000 RBX: 0000000000000006 RCX: 0000000000000000 [ 35.751799] RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000000 [ 35.751800] RBP: ffffbfa3805d78f0 R08: 0000000000000000 R09: 0000000000000000 [ 35.751801] R10: 0000000000000000 R11: 0000000000000000 R12: ffffbfa383249000 [ 35.751802] R13: ffffa0e68f280000 R14: ffffbfa383249658 R15: 0000000000000000 [ 35.751803] FS: 0000000000000000(0000) GS:ffffa0edbe580000(0000) knlGS:0000000000000000 [ 35.751804] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 35.751805] CR2: 00005d847ef96c58 CR3: 000000041de3e000 CR4: 0000000000f50ef0 [ 35.751806] PKRU: 55555554 [ 35.751807] Call Trace: [ 35.751810] <TASK> [ 35.751816] ? show_regs+0x6c/0x80 [ 35.751820] ? __warn+0x88/0x140 [ 35.751822] ? dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.751964] ? report_bug+0x182/0x1b0 [ 35.751969] ? handle_bug+0x6e/0xb0 [ 35.751972] ? exc_invalid_op+0x18/0x80 [ 35.751974] ? asm_exc_invalid_op+0x1b/0x20 [ 35.751978] ? dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.752117] ? math_pow+0x48/0xa0 [amdgpu] [ 35.752256] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752260] ? math_pow+0x48/0xa0 [amdgpu] [ 35.752400] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752403] ? math_pow+0x11/0xa0 [amdgpu] [ 35.752524] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752526] ? core_dcn4_mode_programming+0xe4d/0x20d0 [amdgpu] [ 35.752663] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752669] dml21_validate+0x3d4/0x980 [amdgpu]
--- .../dc/dml2/dml21/dml21_translation_helper.c | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)
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 */
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 43/55 phy: starfive: jh7110-usb: Fix USB 2.0 host occasional detection failure
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Hal Feng <[email protected]>
[ Upstream commit 3f097adb9b6c804636bcf8d01e0e7bc037bee0d3 ]
JH7110 USB 2.0 host fails to detect USB 2.0 devices occasionally. With a long time of debugging and testing, we found that setting Rx clock gating control signal to normal power consumption mode can solve this problem.
--- drivers/phy/starfive/phy-jh7110-usb.c | 7 +++++++ 1 file changed, 7 insertions(+)
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 ; }
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 44/55 phy: phy-rockchip-samsung-hdptx: Fix PHY PLL output 50.25MHz error
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Algea Cao <[email protected]>
[ Upstream commit f9475055b11c0c70979bd1667a76b2ebae638eb7 ]
When using HDMI PLL frequency division coefficient at 50.25MHz that is calculated by rk_hdptx_phy_clk_pll_calc(), it fails to get PHY LANE lock. Although the calculated values are within the allowable range of PHY PLL configuration.
In order to fix the PHY LANE lock error and provide the expected 50.25MHz output, manually compute the required PHY PLL frequency division coefficient and add it to ropll_tmds_cfg configuration table.
--- drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 2 ++ 1 file changed, 2 insertions(+)
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,
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 45/55 spi: spi-sun4i: fix early activation
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alessandro Grassi <[email protected]>
[ Upstream commit fb98bd0a13de2c9d96cb5c00c81b5ca118ac9d71 ]
The SPI interface is activated before the CPOL setting is applied. In that moment, the clock idles high and CS goes low. After a short delay, CPOL and other settings are applied, which may cause the clock to change state and idle low. This transition is not part of a clock cycle, and it can confuse the receiving device.
To prevent this unexpected transition, activate the interface while CPOL and the other settings are being applied.
--- drivers/spi/spi-sun4i.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
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 ;
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 46/55 nvme-pci: add NVME_QUIRK_NO_DEEPEST_PS quirk for SOLIDIGM P44 Pro
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ilya Guterman <[email protected]>
[ Upstream commit e765bf89f42b5c82132a556b630affeb82b2a21f ]
This commit adds the NVME_QUIRK_NO_DEEPEST_PS quirk for device [126f:2262], which belongs to device SOLIDIGM P44 Pro SSDPFKKW020X7
The device frequently have trouble exiting the deepest power state (5), resulting in the entire disk being unresponsive.
Verified by setting nvme_core.default_ps_max_latency_us=10000 and observing the expected behavior.
--- drivers/nvme/host/pci.c | 2 ++ 1 file changed, 2 insertions(+)
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 */
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 47/55 drm/xe/xe2hpg: Add Wa_22021007897
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Aradhya Bhatia <[email protected]>
[ Upstream commit b1f704107cf27906a9cea542b626b96019104663 ]
Add Wa_22021007897 for the Xe2_HPG (graphics version: 20.01) IP. It is a permanent workaround, and applicable on all the steppings.
--- drivers/gpu/drm/xe/regs/xe_gt_regs.h | 1 + drivers/gpu/drm/xe/xe_wa.c | 4 ++++ 2 files changed, 5 insertions(+)
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_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"),
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 48/55 drm/xe: Save the gt pointer in lrc and drop the tile
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Umesh Nerlige Ramappa <[email protected]>
[ Upstream commit ce15563e49fb0b5c802564433ff8468acd1339eb ]
Save the gt pointer in the lrc so that it can used for gt based helpers.
--- drivers/gpu/drm/xe/xe_lrc.c | 4 ++-- drivers/gpu/drm/xe/xe_lrc_types.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
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
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 49/55 char: tpm: tpm-buf: Add sanity check fallback in read helpers
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Purva Yeshi <[email protected]>
[ Upstream commit 32d495b384a2db7d23c2295e03e6b6edb1c0db8d ]
Fix Smatch-detected issue:
drivers/char/tpm/tpm-buf.c:208 tpm_buf_read_u8() error:
uninitialized symbol 'value'. drivers/char/tpm/tpm-buf.c:225 tpm_buf_read_u16() error:
uninitialized symbol 'value'. drivers/char/tpm/tpm-buf.c:242 tpm_buf_read_u32() error:
uninitialized symbol 'value'.
Zero-initialize the return values in tpm_buf_read_u8(), tpm_buf_read_u16(), and tpm_buf_read_u32() to guard against uninitialized data in case of a boundary overflow.
Add defensive initialization ensures the return values are always defined, preventing undefined behavior if the unexpected happens.
--- drivers/char/tpm/tpm-buf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
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);
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 50/55 NFS: Avoid flushing data while holding directory locks in nfs_rename()
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Trond Myklebust <[email protected]>
[ Upstream commit dcd21b609d4abc7303f8683bce4f35d78d7d6830 ]
The Linux client assumes that all filehandles are non-volatile for renames within the same directory (otherwise sillyrename cannot work). However, the existence of the Linux 'subtree_check' export option has meant that nfs_rename() has always assumed it needs to flush writes before attempting to rename.
Since NFSv4 does allow the client to query whether or not the server exhibits this behaviour, and since knfsd does actually set the appropriate flag when 'subtree_check' is enabled on an export, it should be OK to optimise away the write flushing behaviour in the cases where it is clearly not needed.
--- fs/nfs/client.c | 2 ++ fs/nfs/dir.c | 15 ++++++++++++++- include/linux/nfs_fs_sb.h | 12 +++++++++--- 3 files changed, 25 insertions(+), 4 deletions(-)
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 );
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 */
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 51/55 platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Valtteri Koskivuori <[email protected]>
[ Upstream commit a7e255ff9fe4d9b8b902023aaf5b7a673786bb50 ]
The S2110 has an additional set of media playback control keys enabled by a hardware toggle button that switches the keys between "Application" and "Player" modes. Toggling "Player" mode just shifts the scancode of each hotkey up by 4.
Add defines for new scancodes, and a keymap and dmi id for the S2110.
Tested on a Fujitsu Lifebook S2110.
--- drivers/platform/x86/fujitsu-laptop.c | 33 +++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-)
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 + }, {} };
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 52/55 ALSA: hda/realtek - restore auto-mute mode for Dell Chrome platform
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kailang Yang <[email protected]>
[ Upstream commit 5ad8a4ddc45048bc2fe23b75357b6bf185db004f ]
This board need to shutdown Class-D amp to avoid EMI issue.
Restore the Auto-Mute mode item will off pin control when Auto-mute mode was enable.
Links: https://lore.kernel.org/[email protected]
--- sound/pci/hda/patch_realtek.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
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 ;
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 53/55 platform/x86: thinkpad_acpi: Ignore battery threshold change event notification
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mark Pearson <[email protected]>
[ Upstream commit 29e4e6b4235fefa5930affb531fe449cac330a72 ]
If user modifies the battery charge threshold an ACPI event is generated. Confirmed with Lenovo FW team this is only generated on user event. As no action is needed, ignore the event and prevent spurious kernel logs.
--- drivers/platform/x86/thinkpad_acpi.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/platform/x86/thinkpad_acpi.c +5 -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 */
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 54/55 net: ethernet: ti: am65-cpsw: Lower random mac address error print to info
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Nishanth Menon <[email protected]>
[ Upstream commit 50980d8da71a0c2e045e85bba93c0099ab73a209 ]
Using random mac address is not an error since the driver continues to function, it should be informative that the system has not assigned a MAC address. This is inline with other drivers such as ax88796c, dm9051 etc. Drop the error level to info level.
--- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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" ); } }
Signature · 1 line
2.39.5
Greg Kroah-Hartman
maintainerPATCH 55/55 ksmbd: use list_first_entry_or_null for opinfo_get_list()
In reply to Greg Kroah-Hartman6.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Namjae Jeon <[email protected]>
[ Upstream commit 10379171f346e6f61d30d9949500a8de4336444a ]
The list_first_entry() macro never returns NULL. If the list is empty then it returns an invalid pointer. Use list_first_entry_or_null() to check if the list is empty.
--- fs/smb/server/oplock.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
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))
Signature · 1 line
2.39.5
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian
Am 02.06.2025 um 15:47 schrieb Greg Kroah-Hartman:
Quoted 4 lines
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No dmesg oddities or regressions found.
Beste Grüße,
Peter Schneider
Signature · 8 lines
Climb the mountain not to plant your flag, but to embrace the challenge, enjoy the air and behold the view. Climb it so you can see the world, not so the world can see you. -- David McCullough Jr. OpenPGP: 0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244 Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc https://keys.mailvelope.com/pks/lookup?op=get&[email protected] https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
No problems seen on x86_64 and aarch64 with our testing.
Thanks,
Harshit
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Quoted 4 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
## Build
* kernel: 6.12.32-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git commit: ce2ebbe0294cb1fbd36bf75316d94f81f26e582b
* git describe: v6.12.31-56-gce2ebbe0294c
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.12.y/build/v6.12.31-56-gce2ebbe0294c
## Test Regressions (compared to v6.12.30-627-g3fc6e1848884)
## Metric Regressions (compared to v6.12.30-627-g3fc6e1848884)
## Test Fixes (compared to v6.12.30-627-g3fc6e1848884)
## Metric Fixes (compared to v6.12.30-627-g3fc6e1848884)
## Test result summary
total: 309879, pass: 285936, fail: 4866, skip: 18494, xfail: 583
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 139 total, 137 passed, 2 failed
* arm64: 57 total, 56 passed, 1 failed
* i386: 18 total, 18 passed, 0 failed
* mips: 34 total, 33 passed, 1 failed
* parisc: 4 total, 4 passed, 0 failed
* powerpc: 40 total, 40 passed, 0 failed
* riscv: 25 total, 23 passed, 2 failed
* s390: 22 total, 21 passed, 1 failed
* sh: 5 total, 5 passed, 0 failed
* sparc: 4 total, 3 passed, 1 failed
* x86_64: 49 total, 48 passed, 1 failed
## Test suites summary
* boot
* commands
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mm
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-x86
* kunit
* kvm-unit-tests
* lava
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-build-clang
* log-parser-build-gcc
* log-parser-test
* ltp-capability
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* modules
* perf
* rcutorture
* rt-tests-cyclicdeadline
* rt-tests-pi-stress
* rt-tests-pmqtest
* rt-tests-rt-migrate-test
* rt-tests-signaltest
--
Linaro LKFT
https://lkft.linaro.org
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Builds successfully. Boots and works on qemu and Dell XPS 15 9520 w/ Intel Core i7-12600H
Thanks,
Brett
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
The kernel, bpf tool, and perf tool builds fine for v6.12.32-rc1 on x86 and arm64 Azure VM.
Kernel binary size for x86 build:
text data bss dec hex filename 29859850 17724758 6385664 53970272 3378560 vmlinux
Kernel binary size for arm64 build:
text data bss dec hex filename 36415263 15006501 1052880 52474644 320b314 vmlinux
Thanks,
Hardik
Jon Hunter
maintainerQuoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail
28 boots: 28 pass, 0 fail
116 tests: 115 pass, 1 failLinux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000,
tegra194-p3509-0000+p3668-0000, tegra20-ventana,
tegra210-p2371-2180, tegra210-p3450-0000,
tegra30-cardhu-a04Test failures: tegra186-p2771-0000: pm-system-suspend.sh
Jon
Hi Greg,
Quoted 26 lines · Jon Hunter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail 28 boots: 28 pass, 0 fail 116 tests: 115 pass, 1 fail
Quoted 8 lines
Linux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04Test failures: tegra186-p2771-0000:
pm-system-suspend.sh
I have been looking at this and this appears to be an intermittent failure that has crept in. Bisect is point to the following change which landed in v6.12.31 and we did not catch it ...
# first bad commit: [d95fdee2253e612216e72f29c65b92ec42d254eb] cpufreq: tegra186: Share policy per cluster
I have tested v6.15 which has this change and I don't see the same issue there. I have also tested v6.6.y because this was backported to the various stable branches and I don't see any problems there. Only v6.12.y appears to be impacted which is odd (although this test only runs on v6.6+ kernels for this board). However, the testing is conclusive that this change is a problem for v6.12.y.
So I think we do need to revert the above change for v6.12.y but I am not sure if it makes sense to revert for earlier stable branches too?
Let me know your thoughts.
However, given that this is not a new failure for this stable update we can handle in subsequent updates. So for this update ...
Cheers
Jon
Signature · 1 line
nvpublic
Greg Kroah-Hartman
maintainerQuoted 53 lines · Jon Hunter
Hi Greg,
Quoted 26 lines · Jon Hunter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail 28 boots: 28 pass, 0 fail 116 tests: 115 pass, 1 failQuoted 8 lines
Linux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04Test failures: tegra186-p2771-0000:
pm-system-suspend.shI have been looking at this and this appears to be an intermittent failure that has crept in. Bisect is point to the following change which landed in v6.12.31 and we did not catch it ...
# first bad commit: [d95fdee2253e612216e72f29c65b92ec42d254eb] cpufreq: tegra186: Share policy per clusterI have tested v6.15 which has this change and I don't see the same issue there. I have also tested v6.6.y because this was backported to the various stable branches and I don't see any problems there. Only v6.12.y appears to be impacted which is odd (although this test only runs on v6.6+ kernels for this board). However, the testing is conclusive that this change is a problem for v6.12.y.
Quoted 2 lines
So I think we do need to revert the above change for v6.12.y but I am not sure if it makes sense to revert for earlier stable branches too?
Yes, let's revert it for the older ones as well as it would look odd, and our tools might notice that we had "skipped" a stable release tree.
Can you send the revert or do you need us to?
Quoted 6 lines
Let me know your thoughts.
However, given that this is not a new failure for this stable update we can handle in subsequent updates. So for this update ...
Tested-by Jon Hunter <[email protected]>
Wonderful, thanks for testing!
greg k-h
Jon Hunter
maintainerQuoted 54 lines · Greg Kroah-Hartman
Quoted 53 lines · Jon Hunter
Hi Greg,
Quoted 26 lines · Jon Hunter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail 28 boots: 28 pass, 0 fail 116 tests: 115 pass, 1 failQuoted 8 lines
Linux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04Test failures: tegra186-p2771-0000:
pm-system-suspend.shI have been looking at this and this appears to be an intermittent failure that has crept in. Bisect is point to the following change which landed in v6.12.31 and we did not catch it ...
# first bad commit: [d95fdee2253e612216e72f29c65b92ec42d254eb] cpufreq: tegra186: Share policy per clusterI have tested v6.15 which has this change and I don't see the same issue there. I have also tested v6.6.y because this was backported to the various stable branches and I don't see any problems there. Only v6.12.y appears to be impacted which is odd (although this test only runs on v6.6+ kernels for this board). However, the testing is conclusive that this change is a problem for v6.12.y.
Quoted 7 lines
Quoted 2 lines
So I think we do need to revert the above change for v6.12.y but I am not sure if it makes sense to revert for earlier stable branches too?
Yes, let's revert it for the older ones as well as it would look odd, and our tools might notice that we had "skipped" a stable release tree.
Can you send the revert or do you need us to?
I can no problem. Do you need a revert for each stable branch or just one email with the commit to revert for each stable branch?
Jon
Signature · 1 line
nvpublic
Greg Kroah-Hartman
maintainerQuoted 59 lines · Jon Hunter
Quoted 57 lines · Greg Kroah-Hartman
Quoted 55 lines · Jon Hunter
Hi Greg,
Quoted 26 lines · Jon Hunter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail 28 boots: 28 pass, 0 fail 116 tests: 115 pass, 1 failQuoted 8 lines
Linux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04Test failures: tegra186-p2771-0000:
pm-system-suspend.shI have been looking at this and this appears to be an intermittent failure that has crept in. Bisect is point to the following change which landed in v6.12.31 and we did not catch it ...
# first bad commit: [d95fdee2253e612216e72f29c65b92ec42d254eb] cpufreq: tegra186: Share policy per clusterI have tested v6.15 which has this change and I don't see the same issue there. I have also tested v6.6.y because this was backported to the various stable branches and I don't see any problems there. Only v6.12.y appears to be impacted which is odd (although this test only runs on v6.6+ kernels for this board). However, the testing is conclusive that this change is a problem for v6.12.y.
So I think we do need to revert the above change for v6.12.y but I am not sure if it makes sense to revert for earlier stable branches too?
Quoted 7 lines
Quoted 4 lines
Yes, let's revert it for the older ones as well as it would look odd, and our tools might notice that we had "skipped" a stable release tree.
Can you send the revert or do you need us to?
I can no problem. Do you need a revert for each stable branch or just one email with the commit to revert for each stable branch?
Which ever is easier for you, I can handle the git id "fixups" when applying them to the different branches if you don't want to have to dig for them.
thanks,
greg k-h
Greg Kroah-Hartman
maintainerQuoted 26 lines · Jon Hunter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail 28 boots: 28 pass, 0 fail 116 tests: 115 pass, 1 fail
Quoted 8 lines
Linux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04Test failures: tegra186-p2771-0000:
pm-system-suspend.sh
Any hints as to what is causing the failure?
thanks,
greg k-h
Jon Hunter
maintainerQuoted 34 lines · Greg Kroah-Hartman
Quoted 33 lines · Jon Hunter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.12.32 release. There are 55 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 04 Jun 2025 13:42:20 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.32-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.12.y
and the diffstat can be found below.thanks,
greg k-h
Failures detected for Tegra ...
Test results for stable-v6.12:
10 builds: 10 pass, 0 fail 28 boots: 28 pass, 0 fail 116 tests: 115 pass, 1 failLinux version: 6.12.32-rc1-gce2ebbe0294c
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,tegra186-p3509-0000+p3636-0001, tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04
Quoted 3 lines
Quoted 1 line
Test failures: tegra186-p2771-0000:
pm-system-suspend.shAny hints as to what is causing the failure?
Yes, I had just responded to my initial email reporting the failure with the details when you sent this.
Cheers
Jon
Signature · 1 line
nvpublic