Skip to contentSkip to conversation

Linux 6.12.44

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Aug 28, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.12.44 kernel.

All users of the 6.12 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dpu.yaml      |    2 
 Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml |    2 
 Documentation/devicetree/bindings/ufs/mediatek,ufs.yaml                   |    4 
 Documentation/networking/mptcp-sysctl.rst                                 |    2 
 Makefile                                                                  |    4 
 arch/arm64/boot/dts/exynos/google/gs101.dtsi                              |    1 
 arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts                                  |   36 +
 arch/arm64/boot/dts/ti/k3-am62-main.dtsi                                  |    1 
 arch/arm64/boot/dts/ti/k3-am62-phycore-som.dtsi                           |    1 
 arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi                                |   12 
 arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts                            |    2 
 arch/arm64/boot/dts/ti/k3-am625-sk.dts                                    |   24 
 arch/arm64/boot/dts/ti/k3-am62a-phycore-som.dtsi                          |    1 
 arch/arm64/boot/dts/ti/k3-am62a7-sk.dts                                   |    7 
 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts                                   |    2 
 arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi                            |   24 
 arch/arm64/boot/dts/ti/k3-am642-evm.dts                                   |    1 
 arch/arm64/boot/dts/ti/k3-am654-base-board.dts                            |    1 
 arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi             |    1 
 arch/arm64/boot/dts/ti/k3-am69-sk.dts                                     |    1 
 arch/arm64/boot/dts/ti/k3-pinctrl.h                                       |   15 
 arch/loongarch/kernel/module-sections.c                                   |   36 -
 arch/loongarch/kvm/vcpu.c                                                 |    8 
 arch/m68k/kernel/head.S                                                   |   31 
 arch/mips/crypto/chacha-core.S                                            |   20 
 arch/parisc/Makefile                                                      |    4 
 arch/parisc/include/asm/pgtable.h                                         |    7 
 arch/parisc/include/asm/special_insns.h                                   |   28 
 arch/parisc/include/asm/uaccess.h                                         |   21 
 arch/parisc/kernel/cache.c                                                |    6 
 arch/parisc/kernel/entry.S                                                |   17 
 arch/parisc/kernel/syscall.S                                              |   30 
 arch/parisc/lib/memcpy.c                                                  |   19 
 arch/parisc/mm/fault.c                                                    |    4 
 arch/powerpc/boot/Makefile                                                |    1 
 arch/s390/boot/vmem.c                                                     |    3 
 arch/s390/hypfs/hypfs_dbfs.c                                              |   19 
 arch/x86/coco/sev/shared.c                                                |    3 
 arch/x86/include/asm/xen/hypercall.h                                      |    5 
 arch/x86/kernel/cpu/hygon.c                                               |    3 
 arch/x86/kvm/mmu/mmu.c                                                    |   10 
 drivers/accel/habanalabs/gaudi2/gaudi2.c                                  |    2 
 drivers/acpi/pfr_update.c                                                 |    2 
 drivers/ata/Kconfig                                                       |   36 -
 drivers/ata/libata-scsi.c                                                 |   58 -
 drivers/base/power/runtime.c                                              |   27 
 drivers/bluetooth/btmtk.c                                                 |    7 
 drivers/bus/mhi/host/boot.c                                               |    8 
 drivers/bus/mhi/host/internal.h                                           |    4 
 drivers/bus/mhi/host/main.c                                               |   12 
 drivers/cdx/controller/cdx_rpmsg.c                                        |    3 
 drivers/comedi/comedi_fops.c                                              |    5 
 drivers/comedi/drivers.c                                                  |   23 
 drivers/comedi/drivers/pcl726.c                                           |    3 
 drivers/cpufreq/armada-8k-cpufreq.c                                       |    2 
 drivers/cpuidle/governors/menu.c                                          |  101 --
 drivers/crypto/caam/ctrl.c                                                |    5 
 drivers/crypto/caam/intern.h                                              |    1 
 drivers/crypto/intel/qat/qat_common/adf_common_drv.h                      |    1 
 drivers/crypto/intel/qat/qat_common/adf_init.c                            |    1 
 drivers/crypto/intel/qat/qat_common/adf_isr.c                             |    5 
 drivers/crypto/intel/qat/qat_common/qat_algs.c                            |   12 
 drivers/crypto/marvell/octeontx2/otx2_cpt_reqmgr.h                        |  125 ++-
 drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c                       |   35 
 drivers/fpga/zynq-fpga.c                                                  |   10 
 drivers/gpu/drm/Kconfig                                                   |    5 
 drivers/gpu/drm/Makefile                                                  |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                                |    5 
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c                             |   76 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                                    |    6 
 drivers/gpu/drm/amd/amdgpu/imu_v12_0.c                                    |    2 
 drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c                                 |   57 -
 drivers/gpu/drm/amd/amdgpu/mmhub_v4_1_0.c                                 |   34 
 drivers/gpu/drm/amd/amdgpu/soc15.c                                        |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_module.c                                   |    2 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                         |    3 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c                    |   28 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c                 |    2 
 drivers/gpu/drm/amd/display/dc/bios/bios_parser.c                         |    5 
 drivers/gpu/drm/amd/display/dc/bios/command_table.c                       |    2 
 drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c                          |    1 
 drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c               |    2 
 drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c            |   40 -
 drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c              |   31 
 drivers/gpu/drm/amd/display/dc/core/dc.c                                  |   34 
 drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c                       |    3 
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c                                 |    6 
 drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c                      |   30 
 drivers/gpu/drm/display/drm_dp_helper.c                                   |    2 
 drivers/gpu/drm/drm_draw.c                                                |  155 ++++
 drivers/gpu/drm/drm_draw_internal.h                                       |   56 +
 drivers/gpu/drm/drm_format_helper.c                                       |  234 ++++--
 drivers/gpu/drm/drm_format_internal.h                                     |  127 +++
 drivers/gpu/drm/drm_panic.c                                               |  269 -------
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c                           |    4 
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h                           |   17 
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c                           |   46 -
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c                          |   29 
 drivers/gpu/drm/i915/display/intel_tc.c                                   |   58 +
 drivers/gpu/drm/nouveau/nvif/vmm.c                                        |    3 
 drivers/gpu/drm/tests/drm_format_helper_test.c                            |  176 ++--
 drivers/gpu/drm/xe/Kconfig                                                |    1 
 drivers/hwmon/gsc-hwmon.c                                                 |    4 
 drivers/iio/adc/ad7173.c                                                  |    3 
 drivers/iio/adc/ad_sigma_delta.c                                          |    4 
 drivers/iio/imu/bno055/bno055.c                                           |   11 
 drivers/iio/imu/inv_icm42600/inv_icm42600.h                               |    8 
 drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c                         |   33 
 drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c                        |   22 
 drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.h                        |   10 
 drivers/iio/imu/inv_icm42600/inv_icm42600_core.c                          |    6 
 drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c                          |   43 -
 drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c                          |   12 
 drivers/iio/light/adjd_s311.c                                             |    2 
 drivers/iio/light/as73211.c                                               |    4 
 drivers/iio/light/bh1745.c                                                |    2 
 drivers/iio/light/isl29125.c                                              |    2 
 drivers/iio/light/ltr501.c                                                |    2 
 drivers/iio/light/max44000.c                                              |    2 
 drivers/iio/light/rohm-bu27034.c                                          |    2 
 drivers/iio/light/rpr0521.c                                               |    2 
 drivers/iio/light/st_uvis25.h                                             |    2 
 drivers/iio/light/tcs3414.c                                               |    2 
 drivers/iio/light/tcs3472.c                                               |    2 
 drivers/iio/pressure/bmp280-core.c                                        |    9 
 drivers/iio/proximity/isl29501.c                                          |   16 
 drivers/iio/temperature/maxim_thermocouple.c                              |   26 
 drivers/infiniband/hw/bnxt_re/ib_verbs.c                                  |    8 
 drivers/infiniband/hw/bnxt_re/main.c                                      |   23 
 drivers/infiniband/hw/bnxt_re/qplib_fp.c                                  |   30 
 drivers/infiniband/hw/bnxt_re/qplib_fp.h                                  |    2 
 drivers/infiniband/hw/bnxt_re/qplib_res.c                                 |    2 
 drivers/infiniband/hw/erdma/erdma_verbs.c                                 |    4 
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c                                |    6 
 drivers/infiniband/hw/hns/hns_roce_restrack.c                             |    9 
 drivers/infiniband/sw/rxe/rxe_net.c                                       |   29 
 drivers/infiniband/sw/rxe/rxe_qp.c                                        |    2 
 drivers/iommu/amd/init.c                                                  |    4 
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c                               |    2 
 drivers/md/dm-crypt.c                                                     |   49 +
 drivers/md/dm.c                                                           |   17 
 drivers/media/cec/usb/rainshadow/rainshadow-cec.c                         |    3 
 drivers/media/i2c/hi556.c                                                 |   26 
 drivers/media/i2c/mt9m114.c                                               |    8 
 drivers/media/i2c/ov2659.c                                                |    3 
 drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c                             |   12 
 drivers/media/pci/intel/ivsc/mei_ace.c                                    |    2 
 drivers/media/pci/intel/ivsc/mei_csi.c                                    |    2 
 drivers/media/platform/qcom/camss/camss.c                                 |    4 
 drivers/media/platform/qcom/venus/core.c                                  |   18 
 drivers/media/platform/qcom/venus/core.h                                  |    2 
 drivers/media/platform/qcom/venus/hfi_venus.c                             |    5 
 drivers/media/platform/qcom/venus/vdec.c                                  |    5 
 drivers/media/platform/qcom/venus/venc.c                                  |    5 
 drivers/media/platform/raspberrypi/pisp_be/Kconfig                        |    1 
 drivers/media/platform/raspberrypi/pisp_be/pisp_be.c                      |    5 
 drivers/media/platform/verisilicon/rockchip_vpu_hw.c                      |    9 
 drivers/media/test-drivers/vivid/vivid-ctrls.c                            |    3 
 drivers/media/test-drivers/vivid/vivid-vid-cap.c                          |    4 
 drivers/media/usb/gspca/vicam.c                                           |   10 
 drivers/media/usb/usbtv/usbtv-video.c                                     |    4 
 drivers/media/v4l2-core/v4l2-ctrls-core.c                                 |    1 
 drivers/memstick/core/memstick.c                                          |    1 
 drivers/memstick/host/rtsx_usb_ms.c                                       |    1 
 drivers/mmc/host/sdhci-pci-gli.c                                          |   37 -
 drivers/mmc/host/sdhci_am654.c                                            |   18 
 drivers/most/core.c                                                       |    2 
 drivers/mtd/nand/raw/fsmc_nand.c                                          |    2 
 drivers/mtd/nand/raw/renesas-nand-controller.c                            |    6 
 drivers/mtd/nand/spi/core.c                                               |    5 
 drivers/mtd/spi-nor/swp.c                                                 |   19 
 drivers/net/bonding/bond_3ad.c                                            |   67 +
 drivers/net/bonding/bond_options.c                                        |    1 
 drivers/net/can/ti_hecc.c                                                 |    2 
 drivers/net/dsa/microchip/ksz_common.c                                    |    6 
 drivers/net/ethernet/google/gve/gve_main.c                                |    2 
 drivers/net/ethernet/intel/igc/igc_main.c                                 |   14 
 drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c                              |    4 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c                    |    4 
 drivers/net/ethernet/mediatek/mtk_ppe_offload.c                           |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en/dcbnl.h                        |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c                  |   18 
 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c                        |   12 
 drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c                |    4 
 drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h                       |   87 ++
 drivers/net/ethernet/mellanox/mlx5/core/port.c                            |   40 -
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c                            |    2 
 drivers/net/ethernet/mellanox/mlxsw/trap.h                                |    1 
 drivers/net/ethernet/microchip/lan865x/lan865x.c                          |   21 
 drivers/net/ethernet/realtek/rtase/rtase.h                                |    2 
 drivers/net/ethernet/ti/icssg/icssg_prueth.c                              |   72 +-
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c                         |    8 
 drivers/net/phy/mscc/mscc.h                                               |   12 
 drivers/net/phy/mscc/mscc_main.c                                          |   12 
 drivers/net/phy/mscc/mscc_ptp.c                                           |   49 +
 drivers/net/ppp/ppp_generic.c                                             |   17 
 drivers/net/usb/asix_devices.c                                            |    2 
 drivers/net/wireless/ath/ath11k/ce.c                                      |    3 
 drivers/net/wireless/ath/ath11k/dp_rx.c                                   |    3 
 drivers/net/wireless/ath/ath11k/hal.c                                     |   33 
 drivers/net/wireless/ath/ath12k/ce.c                                      |    3 
 drivers/net/wireless/ath/ath12k/hal.c                                     |   38 -
 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c            |    2 
 drivers/pci/controller/dwc/pci-imx6.c                                     |   32 
 drivers/pci/controller/pcie-rockchip-host.c                               |   49 -
 drivers/pci/controller/pcie-rockchip.h                                    |   11 
 drivers/pci/endpoint/pci-ep-cfs.c                                         |    1 
 drivers/pci/endpoint/pci-epf-core.c                                       |    2 
 drivers/pci/pcie/portdrv.c                                                |    2 
 drivers/phy/qualcomm/phy-qcom-m31.c                                       |   14 
 drivers/platform/chrome/cros_ec.c                                         |    3 
 drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c       |    5 
 drivers/pwm/pwm-imx-tpm.c                                                 |    9 
 drivers/pwm/pwm-mediatek.c                                                |   71 +
 drivers/s390/char/sclp.c                                                  |   11 
 drivers/scsi/mpi3mr/mpi3mr.h                                              |    6 
 drivers/scsi/mpi3mr/mpi3mr_fw.c                                           |   17 
 drivers/scsi/mpi3mr/mpi3mr_os.c                                           |    2 
 drivers/scsi/qla4xxx/ql4_os.c                                             |    2 
 drivers/scsi/scsi_lib.c                                                   |    3 
 drivers/soc/qcom/mdt_loader.c                                             |   43 +
 drivers/soc/tegra/pmc.c                                                   |   51 -
 drivers/spi/spi-fsl-lpspi.c                                               |    8 
 drivers/staging/media/imx/imx-media-csc-scaler.c                          |    2 
 drivers/tty/serial/8250/8250_port.c                                       |    3 
 drivers/tty/vt/defkeymap.c_shipped                                        |  112 +++
 drivers/tty/vt/keyboard.c                                                 |    2 
 drivers/ufs/host/ufs-exynos.c                                             |    4 
 drivers/ufs/host/ufshcd-pci.c                                             |   42 +
 drivers/usb/atm/cxacru.c                                                  |  106 +-
 drivers/usb/core/hcd.c                                                    |   20 
 drivers/usb/core/quirks.c                                                 |    1 
 drivers/usb/dwc3/dwc3-imx8mp.c                                            |    7 
 drivers/usb/dwc3/dwc3-meson-g12a.c                                        |    3 
 drivers/usb/dwc3/dwc3-pci.c                                               |    2 
 drivers/usb/dwc3/ep0.c                                                    |   20 
 drivers/usb/dwc3/gadget.c                                                 |   19 
 drivers/usb/gadget/udc/renesas_usb3.c                                     |    1 
 drivers/usb/host/xhci-hub.c                                               |    3 
 drivers/usb/host/xhci-mem.c                                               |   22 
 drivers/usb/host/xhci-pci-renesas.c                                       |    7 
 drivers/usb/host/xhci-ring.c                                              |    9 
 drivers/usb/host/xhci.c                                                   |   21 
 drivers/usb/host/xhci.h                                                   |    3 
 drivers/usb/musb/omap2430.c                                               |   14 
 drivers/usb/storage/realtek_cr.c                                          |    2 
 drivers/usb/storage/unusual_devs.h                                        |   29 
 drivers/usb/typec/class.c                                                 |    7 
 drivers/usb/typec/tcpm/fusb302.c                                          |   32 
 drivers/usb/typec/tcpm/maxim_contaminant.c                                |   58 +
 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy.c                       |    3 
 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy_stub.c                  |    3 
 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c                        |    4 
 drivers/usb/typec/tcpm/tcpci_maxim.h                                      |    1 
 drivers/usb/typec/tcpm/tcpm.c                                             |    7 
 drivers/vhost/vsock.c                                                     |    6 
 drivers/video/console/vgacon.c                                            |    2 
 fs/btrfs/block-group.c                                                    |   59 -
 fs/btrfs/ctree.c                                                          |    9 
 fs/btrfs/free-space-tree.c                                                |   17 
 fs/btrfs/qgroup.c                                                         |   38 -
 fs/btrfs/send.c                                                           |  359 +++++-----
 fs/btrfs/subpage.c                                                        |   19 
 fs/btrfs/super.c                                                          |   13 
 fs/btrfs/transaction.c                                                    |    1 
 fs/btrfs/zoned.c                                                          |   13 
 fs/buffer.c                                                               |    2 
 fs/debugfs/inode.c                                                        |   11 
 fs/ext4/fsmap.c                                                           |   23 
 fs/ext4/indirect.c                                                        |    4 
 fs/ext4/inode.c                                                           |    2 
 fs/ext4/orphan.c                                                          |    5 
 fs/ext4/super.c                                                           |    8 
 fs/f2fs/node.c                                                            |   10 
 fs/file.c                                                                 |   75 --
 fs/jbd2/checkpoint.c                                                      |    1 
 fs/namespace.c                                                            |   34 
 fs/netfs/write_collect.c                                                  |   10 
 fs/netfs/write_issue.c                                                    |    4 
 fs/nfs/pagelist.c                                                         |    9 
 fs/nfs/write.c                                                            |   29 
 fs/overlayfs/copy_up.c                                                    |    2 
 fs/smb/client/smb2ops.c                                                   |    2 
 fs/smb/server/connection.c                                                |    3 
 fs/smb/server/connection.h                                                |    7 
 fs/smb/server/oplock.c                                                    |   13 
 fs/smb/server/transport_rdma.c                                            |    5 
 fs/smb/server/transport_rdma.h                                            |    4 
 fs/smb/server/transport_tcp.c                                             |   26 
 fs/splice.c                                                               |    3 
 fs/squashfs/super.c                                                       |   14 
 fs/xfs/xfs_itable.c                                                       |    6 
 include/drm/drm_format_helper.h                                           |   12 
 include/linux/call_once.h                                                 |   47 -
 include/linux/compiler.h                                                  |    8 
 include/linux/iosys-map.h                                                 |    7 
 include/linux/iov_iter.h                                                  |   20 
 include/linux/kcov.h                                                      |   47 -
 include/linux/mlx5/mlx5_ifc.h                                             |   14 
 include/linux/mlx5/port.h                                                 |   85 --
 include/linux/netfs.h                                                     |    1 
 include/linux/nfs_page.h                                                  |    1 
 include/net/bond_3ad.h                                                    |    1 
 include/uapi/linux/pfrut.h                                                |    1 
 io_uring/futex.c                                                          |    3 
 io_uring/net.c                                                            |   27 
 kernel/cgroup/cpuset.c                                                    |    9 
 kernel/sched/ext.c                                                        |   18 
 kernel/trace/ftrace.c                                                     |   19 
 kernel/trace/trace.c                                                      |   34 
 kernel/trace/trace.h                                                      |   10 
 mm/damon/paddr.c                                                          |    4 
 mm/debug_vm_pgtable.c                                                     |    9 
 mm/filemap.c                                                              |    3 
 mm/memory-failure.c                                                       |    8 
 net/bluetooth/hci_conn.c                                                  |    3 
 net/bluetooth/hci_event.c                                                 |    8 
 net/bluetooth/hci_sync.c                                                  |   19 
 net/bridge/br_multicast.c                                                 |   16 
 net/bridge/br_private.h                                                   |    2 
 net/core/dev.c                                                            |   12 
 net/hsr/hsr_slave.c                                                       |    8 
 net/ipv4/netfilter/nf_reject_ipv4.c                                       |    6 
 net/ipv6/netfilter/nf_reject_ipv6.c                                       |    5 
 net/ipv6/seg6_hmac.c                                                      |    6 
 net/mptcp/options.c                                                       |    6 
 net/mptcp/pm_netlink.c                                                    |   19 
 net/sched/sch_cake.c                                                      |   14 
 net/sched/sch_htb.c                                                       |    2 
 net/smc/af_smc.c                                                          |    3 
 net/tls/tls_sw.c                                                          |    7 
 net/vmw_vsock/virtio_transport.c                                          |   12 
 rust/kernel/alloc/allocator.rs                                            |   30 
 rust/kernel/alloc/allocator_test.rs                                       |   11 
 security/apparmor/lsm.c                                                   |    4 
 sound/core/timer.c                                                        |    4 
 sound/pci/hda/patch_realtek.c                                             |    2 
 sound/soc/sof/amd/acp-loader.c                                            |    6 
 sound/usb/stream.c                                                        |    2 
 sound/usb/validate.c                                                      |    2 
 tools/testing/selftests/net/mptcp/pm_netlink.sh                           |    1 
 341 files changed, 3787 insertions(+), 2216 deletions(-)

Adrian Hunter (1):
scsi: ufs: ufs-pci: Fix default runtime and system PM levels

Al Viro (2):
use uniform permission checks for all mount propagation changes alloc_fdtable(): change calling conventions.

Alex Deucher (4):
drm/amdgpu/discovery: fix fw based ip discovery drm/amdgpu: update mmhub 3.0.1 client id mappings drm/amdgpu: update mmhub 4.1.0 client id mappings drm/amdgpu/swm14: Update power limit logic

Alexander Sverdlin (1):
arm64: dts: ti: k3-pinctrl: Enable Schmitt Trigger by default

Alexander Wilhelm (1):
bus: mhi: host: Fix endianness of BHI vector table

Alexei Lazar (1):
net/mlx5e: Query FW for buffer ownership

Amber Lin (1):
drm/amdkfd: Destroy KFD debugfs after destroy KFD wq

Amit Sunil Dhamne (2):
usb: typec: maxim_contaminant: disable low power mode when reading comparator values
usb: typec: maxim_contaminant: re-enable cc toggle if cc is open and port is clean

Anantha Prabhu (1):
RDMA/bnxt_re: Fix to initialize the PBL array

Andrea Righi (2):
sched/ext: Fix invalid task state transitions on class switch
sched_ext: initialize built-in idle state before ops.init()

Andreas Dilger (1):
ext4: check fast symlink for ea_inode correctly

André Draszik (1):
scsi: ufs: exynos: Fix programming of HCI_UTRL_NEXUS_TYPE

Andy Shevchenko (1):
iio: imu: inv_icm42600: Convert to uXX and sXX integer types

Archana Patni (1):
scsi: ufs: ufs-pci: Fix hibernate state transition for Intel MTL-like host controllers

Armen Ratner (1):
net/mlx5e: Preserve shared buffer capacity during headroom updates

Baihan Li (3):
drm/hisilicon/hibmc: refactored struct hibmc_drm_private drm/hisilicon/hibmc: fix the i2c device resource leak when vdac init failed drm/hisilicon/hibmc: fix the hibmc loaded failed bug

Baokun Li (2):
jbd2: prevent softlockup in jbd2_log_do_checkpoint()
ext4: preserve SB_I_VERSION on remount

Bharat Bhushan (3):
crypto: octeontx2 - Fix address alignment issue on ucode loading
crypto: octeontx2 - Fix address alignment on CN10K A0/A1 and OcteonTX2
crypto: octeontx2 - Fix address alignment on CN10KB and CN10KA-B0

Bibo Mao (1):
LoongArch: KVM: Make function kvm_own_lbt() robust

Bingbu Cao (1):
media: hi556: correct the test pattern configuration

Bjorn Andersson (1):
soc: qcom: mdt_loader: Ensure we don't read past the ELF header

Boris Burkov (2):
btrfs: explicitly ref count block_group on new_bgs list
btrfs: codify pattern for adding block_group to bg_list

Boshi Yu (1):
RDMA/erdma: Fix ignored return value of init_kernel_qp

Chao Yu (1):
f2fs: fix to avoid out-of-boundary access in dnode page

Charalampos Mitrodimas (1):
debugfs: fix mount options not being applied

Chen Yu (1):
ACPI: pfr_update: Fix the driver update version check

Chenyuan Yang (1):
drm/amd/display: Add null pointer check in mod_hdcp_hdcp1_create_session()

Chi Zhiling (1):
readahead: fix return value of page_cache_next_miss() when no hole is found

Christian Loehle (1):
cpuidle: menu: Remove iowait influence

Christoph Hellwig (1):
xfs: fully decouple XFS_IBULK* flags from XFS_IWALK* flags

Christoph Paasch (1):
mptcp: drop skb if MPTCP skb extension allocation fails

D. Wythe (1):
net/smc: fix UAF on smcsk after smc_listen_out()

Damien Le Moal (7):
ata: Fix SATA_MOBILE_LPM_POLICY description in Kconfig
dm: dm-crypt: Do not partially accept write BIOs with zoned targets
dm: Check for forbidden splitting of zone write operations
ata: libata-scsi: Fix ata_to_sense_error() status handling
PCI: endpoint: Fix configfs group list head handling
PCI: endpoint: Fix configfs group removal on driver teardown
ata: libata-scsi: Return aborted command when missing sense and result TF

Dan Carpenter (5):
cpufreq: armada-8k: Fix off by one in armada_8k_cpufreq_free_table()
media: gspca: Add bounds checking to firmware parser
soc: qcom: mdt_loader: Fix error return values in mdt_header_valid()
scsi: qla4xxx: Prevent a potential error pointer dereference
ALSA: usb-audio: Fix size validation in convert_chmap_v3()

Daniel Jurgens (1):
net/mlx5: Base ECVF devlink port attrs from 0

Danilo Krummrich (1):
rust: alloc: replace aligned_size() with Kmalloc::aligned_layout()

David Howells (2):
netfs: Fix unbuffered write error handling
cifs: Fix oops due to uninitialised variable

David Lechner (6):
iio: imu: bno055: fix OOB access of hw_xlate array
iio: adc: ad_sigma_delta: change to buffer predisable
iio: adc: ad7173: fix setting ODR in probe
iio: proximity: isl29501: fix buffered read on big-endian systems
iio: temperature: maxim_thermocouple: use DMA-safe buffer for spi_read()
iio: imu: inv_icm42600: use = { } instead of memset()

David Sterba (2):
btrfs: qgroup: drop unused parameter fs_info from __del_qgroup_rb()
btrfs: move transaction aborts to the error site in add_block_group_free_space()

Dewei Meng (1):
ALSA: timer: fix ida_free call while not allocated

Dominique Martinet (1):
iov_iter: iterate_folioq: fix handling of offset >= folio size

Edward Adam Davis (1):
comedi: pcl726: Prevent invalid irq number

Emanuele Ghidoli (1):
arm64: dts: ti: k3-am62-verdin: Enable pull-ups on I2C buses

Eric Biggers (2):
lib/crypto: mips/chacha: Fix clang build and remove unneeded byteswap
ipv6: sr: Fix MAC comparison to be constant-time

Evgeniy Harchenko (1):
ALSA: hda/realtek: Add support for HP EliteBook x360 830 G6 and EliteBook 830 G6

Fanhua Li (1):
drm/nouveau/nvif: Fix potential memory leak in nvif_vmm_ctor().

Filipe Manana (10):
btrfs: qgroup: fix race between quota disable and quota rescan ioctl
btrfs: always abort transaction on failure to add block group to free space tree
btrfs: abort transaction on unexpected eb generation at btrfs_copy_root()
btrfs: send: factor out common logic when sending xattrs
btrfs: send: only use boolean variables at process_recorded_refs()
btrfs: send: add and use helper to rename current inode when processing refs
btrfs: send: keep the current inode's path cached
btrfs: send: avoid path allocation for the current inode when issuing commands
btrfs: send: use fallocate for hole punching with send stream v2
btrfs: send: make fs_path_len() inline and constify its argument

Finn Thain (1):
m68k: Fix lost column on framebuffer debug console

Florian Westphal (1):
netfilter: nf_reject: don't leak dst refcount for loopback packets

Frank Li (1):
PCI: imx6: Add i.MX8Q PCIe Endpoint (EP) support

Gabor Juhos (1):
mtd: spinand: propagate spinand_wait() errors from spinand_write_page()

Gang Ba (1):
drm/amdgpu: Avoid extra evict-restore process.

Geliang Tang (2):
mptcp: remove duplicate sk_reset_timer call
mptcp: disable add_addr retransmission when timeout is 0

Geraldo Nascimento (2):
PCI: rockchip: Use standard PCIe definitions
PCI: rockchip: Set Target Link Speed to 5.0 GT/s before retraining

Giovanni Cabiddu (2):
crypto: qat - lower priority for skcipher and aead algorithms
crypto: qat - flush misc workqueue during device shutdown

Greg Kroah-Hartman (2):
Revert "can: ti_hecc: fix -Woverflow compiler warning" Linux 6.12.44

Gui-Dong Han (1):
media: rainshadow-cec: fix TOCTOU race condition in rain_interrupt()

Hangbin Liu (2):
bonding: update LACP activity flag after setting lacp_active
bonding: send LACPDUs periodically in passive mode after receiving partner's LACPDU

Hans Verkuil (1):
media: vivid: fix wrong pixel_array control size

Hans de Goede (1):
media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls

Haoxiang Li (1):
media: imx: fix a potential memory leak in imx_media_csc_scaler_device_init()

Hariprasad Kelam (1):
Octeontx2-af: Skip overlap check for SPI field

Heikki Krogerus (1):
usb: dwc3: pci: add support for the Intel Wildcat Lake

Heiko Carstens (1):
s390/mm: Do not map lowcore with identity mapping

Helge Deller (2):
Revert "vgacon: Add check for vc_origin address range in vgacon_scroll()"
apparmor: Fix 8-byte alignment for initial dfa blob streams

Herton R. Krzesinski (1):
mm/debug_vm_pgtable: clear page table entries at destroy_args()

Hong Guan (1):

      arm64: dts: ti: k3-am62a7-sk: fix pinmux for main_uart1

Horatiu Vultur (1):
phy: mscc: Fix timestamping for vsc8584

Ian Abbott (2):
comedi: Make insn_rw_emulate_bits() do insn->n samples
comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl()

Ido Schimmel (1):
mlxsw: spectrum: Forward packets with an IPv4 link-local source IP

Igor Pylypiv (1):
ata: libata-scsi: Fix CDL control

Imre Deak (3):
drm/dp: Change AUX DPCD probe address from DPCD_REV to LANE0_1_STATUS drm/i915/icl+/tc: Convert AUX powered WARN to a debug message drm/i915/icl+/tc: Cache the max lane count value

Jacopo Mondi (1):
media: pisp_be: Fix pm_runtime underrun in probe

Jakub Acs (1):
net, hsr: reject HSR frame if skb can't hold tag

Jakub Kicinski (1):
tls: fix handling of zero-length records on the rx_list

Jakub Ramaseuski (1):
net: gso: Forbid IPv6 TSO with extensions on devices with only IPV6_CSUM

Jan Beulich (1):
compiler: remove __ADDRESSABLE_ASM{_STR,}() again

Jason Xing (1):
ixgbe: xsk: resolve the negative overflow of budget in ixgbe_xmit_zc

Jean-Baptiste Maneyrol (1):
iio: imu: inv_icm42600: change invalid data error to -EBUSY

Jens Axboe (2):
io_uring/net: commit partial buffers on retry io_uring/futex: ensure io_futex_wait() cleans up properly on failure

Jiande Lu (1):
Bluetooth: btmtk: Fix wait_on_bit_timeout interruption during shutdown

Jiayi Li (1):
memstick: Fix deadlock by moving removing flag earlier

Jinjiang Tu (1):
mm/memory-failure: fix infinite UCE for VM_PFNMAP pfn

Jocelyn Falempe (1):
drm/panic: Move drawing functions to drm_draw

Johan Hovold (10):
usb: gadget: udc: renesas_usb3: fix device leak at unbind
usb: musb: omap2430: fix device leak at unbind
usb: dwc3: meson-g12a: fix device leaks at unbind
usb: dwc3: imx8mp: fix device leak at unbind
wifi: ath12k: fix dest ring-buffer corruption
wifi: ath12k: fix source ring-buffer corruption
wifi: ath12k: fix dest ring-buffer corruption when ring is full
wifi: ath11k: fix dest ring-buffer corruption
wifi: ath11k: fix source ring-buffer corruption
wifi: ath11k: fix dest ring-buffer corruption when ring is full

John David Anglin (8):
parisc: Check region is readable by user in raw_copy_from_user()
parisc: Define and use set_pte_at()
parisc: Drop WARN_ON_ONCE() from flush_cache_vmap
parisc: Rename pte_needs_flush() to pte_needs_cache_flush() in cache.c
parisc: Revise __get_user() to probe user read access
parisc: Revise gateway LWS calls to probe user read access
parisc: Try to fixup kernel exception in bad_area_nosemaphore path of do_page_fault()
parisc: Update comments in make_insert_tlb

John Ernberg (1):
crypto: caam - Prevent crash on suspend with iMX8QM / iMX8ULP

Jon Hunter (1):
soc/tegra: pmc: Ensure power-domains are in a known state

Jonathan Cameron (3):
iio: light: Use aligned_s64 instead of open coding alignment.
iio: light: as73211: Ensure buffer holes are zeroed
iio: imu: inv_icm42600: switch timestamp type from int64_t __aligned(8) to aligned_s64

Jordan Rhee (1):
gve: prevent ethtool ops after shutdown

Jorge Ramirez-Ortiz (2):
media: venus: hfi: explicitly release IRQ during teardown
media: venus: protect against spurious interrupts during probe

José Expósito (2):
drm/tests: Fix endian warning
drm/tests: Fix drm_test_fb_xrgb8888_to_xrgb2101010() on big-endian

Judith Mendez (6):
arm64: dts: ti: k3-am62-main: Remove eMMC High Speed DDR support
arm64: dts: ti: k3-am6*: Add boot phase flag to support MMC boot
arm64: dts: ti: k3-am62*: Add non-removable flag for eMMC
arm64: dts: ti: k3-am6*: Remove disable-wp for eMMC
arm64: dts: ti: k3-am62*: Move eMMC pinmux to top level board file
mmc: sdhci_am654: Disable HS400 for AM62P SR1.0 and SR1.1

Junxian Huang (1):
RDMA/hns: Fix dip entries leak on devices newer than hip09

Justin Lai (1):
rtase: Fix Rx descriptor CRC error bit definition

Kalesh AP (1):
RDMA/bnxt_re: Fix a possible memory leak in the driver

Kanglong Wang (1):
LoongArch: Optimize module load time by optimizing PLT/GOT counting

Kashyap Desai (2):
RDMA/bnxt_re: Fix to do SRQ armena by default RDMA/bnxt_re: Fix to remove workload check in SRQ limit path

Kathiravan Thirumoorthy (1):
phy: qcom: phy-qcom-m31: Update IPQ5332 M31 USB phy initialization sequence

Kees Cook (1):
iommu/amd: Avoid stack buffer overflow from kernel cmdline

Keith Busch (1):
kvm: retry nx_huge_page_recovery_thread creation

Kerem Karabay (1):
drm/format-helper: Add conversion from XRGB8888 to BGR888

Konrad Dybcio (1):
media: venus: Fix MSM8998 frequency table

Krzysztof Kozlowski (3):
dt-bindings: display: sprd,sharkl3-dpu: Fix missing clocks constraints
dt-bindings: display: sprd,sharkl3-dsi-host: Fix missing clocks constraints
USB: typec: Use str_enable_disable-like helpers

Kuen-Han Tsai (1):
usb: dwc3: Ignore late xferNotReady event to prevent halt timeout

Kyoji Ogasawara (3):
btrfs: fix incorrect log message for nobarrier mount option
btrfs: restore mount option info messages during mount
btrfs: fix printing of mount info messages for NODATACOW/NODATASUM

Laurentiu Mihalcea (1):
pwm: imx-tpm: Reset counter if CMOD is 0

Liao Yuanhong (1):
ext4: use kmalloc_array() for array space allocation

Lijo Lazar (1):
drm/amdgpu: Update external revid for GC v9.5.0

Ludwig Disterhof (1):
media: usbtv: Lock resolution while streaming

Luiz Augusto von Dentz (1):
Bluetooth: hci_sync: Fix scan state after PA Sync has been established

Lukas Wunner (1):
PCI/portdrv: Use is_pciehp instead of is_hotplug_bridge

MD Danish Anwar (1):
net: ti: icssg-prueth: Fix HSR and switch offload Enablement during firwmare reload.

Macpaul Lin (1):
scsi: dt-bindings: mediatek,ufs: Add ufs-disable-mcq flag for UFS host

Mael GUERIN (1):
USB: storage: Add unusual-devs entry for Novatek NTK96550-based camera

Marek Szyprowski (1):
zynq_fpga: use sgtable-based scatterlist wrappers

Marek Vasut (1):
usb: renesas-xhci: Fix External ROM access timeouts

Mario Limonciello (2):
drm/amd: Restore cached power limit during resume drm/amd/display: Avoid a NULL pointer dereference

Masami Hiramatsu (Google) (1):
tracing: fprobe-event: Sanitize wildcard for fprobe event name

Mathis Foerst (1):
media: mt9m114: Fix deadlock in get_frame_interval/set_frame_interval

Matthieu Baerts (NGI0) (2):
mptcp: pm: kernel: flush: do not reset ADD_ADDR limit
selftests: mptcp: pm: check flush doesn't reset limits

Miao Li (1):
usb: quirks: Add DELAY_INIT quick for another SanDisk 3.2Gen1 Flash Drive

Miaoqian Lin (1):
most: core: Drop device reference after usage in get_channel()

Michael Walle (1):
mtd: spi-nor: Fix spi_nor_try_unlock_all()

Michal Suchanek (1):
powerpc/boot: Fix build with gcc 15

Michel Dänzer (1):
drm/amd/display: Add primary plane to commits for correct VRR handling

Miguel Ojeda (1):
rust: alloc: fix rusttest by providing Cmalloc::aligned_layout too

Mike Christie (1):
scsi: core: Fix command pass through retry regression

Minhong He (1):
ipv6: sr: validate HMAC algorithm ID in seg6_hmac_info_add

Muhammad Usama Anjum (1):
ASoC: SOF: amd: acp-loader: Use GFP_KERNEL for DMA allocations in resume context

Myrrh Periwinkle (2):
vt: keyboard: Don't process Unicode characters in K_OFF mode
vt: defkeymap: Map keycodes above 127 to K_HOLE

Namjae Jeon (1):
ksmbd: extend the connection limiting mechanism to support IPv6

Naohiro Aota (3):
btrfs: zoned: fix write time activation failure for metadata block group
btrfs: zoned: requeue to unused block group list if zone finish failed
btrfs: subpage: keep TOWRITE tag until folio is cleaned

Nathan Chancellor (3):
usb: atm: cxacru: Merge cxacru_upload_firmware() into cxacru_heavy_init()
wifi: brcmsmac: Remove const from tbl_ptr parameter in wlc_lcnphy_common_read_table() drm/amdgpu: Initialize data to NULL in imu_v12_0_program_rlc_ram()

NeilBrown (1):
ovl: use I_MUTEX_PARENT when locking parent in ovl_create_temp()

Nicolas Dufresne (1):
media: verisilicon: Fix AV1 decoder clock frequency

Nicolin Chen (1):

      iommu/arm-smmu-v3: Fix smmu_domain->nr_ats_masters decrement

Nitin Gote (1):
iosys-map: Fix undefined behavior in iosys_map_clear()

Ojaswin Mujoo (2):
ext4: fix fsmap end of range reporting with bigalloc
ext4: fix reserved gdt blocks handling in fsmap

Oren Sidi (1):
net/mlx5: Add IFC bits and enums for buf_ownership

Parthiban Veerasooran (2):
microchip: lan865x: fix missing netif_start_queue() call on device open
microchip: lan865x: fix missing Timer Increment config for Rev.B0/B1

Pauli Virtanen (1):

      Bluetooth: hci_event: fix MTU for BN == 0 in CIS Established

Peter Griffin (1):
arm64: dts: exynos: gs101: ufs: add dma-coherent property

Peter Oberparleiter (3):
s390/sclp: Fix SCCB present check
s390/hypfs: Avoid unnecessary ioctl registration in debugfs s390/hypfs: Enable limited access during lockdown

Peter Shkenev (1):
drm/amdgpu: check if hubbub is NULL in debugfs/amdgpu_dm_capabilities

Phillip Lougher (1):
squashfs: fix memory leak in squashfs_fill_super

Pu Lehui (1):

      tracing: Limit access to parser->buffer when trace_get_user failed

Qingfang Deng (2):
net: ethernet: mtk_ppe: add RCU lock around dev_fill_forward_path
ppp: fix race conditions in ppp_fill_forward_path

Rafael J. Wysocki (2):
PM: runtime: Take active children into account in pm_runtime_get_if_in_use()
cpuidle: governors: menu: Avoid selecting states with too much latency

Randy Dunlap (1):
parisc: Makefile: explain that 64BIT requires both 32-bit and 64-bit compilers

Ranjan Kumar (3):
scsi: mpi3mr: Fix race between config read submit and interrupt completion
scsi: mpi3mr: Drop unnecessary volatile from __iomem pointers
scsi: mpi3mr: Serialize admin queue BAR writes on 32-bit systems

Ricardo Ribalda (2):
media: venus: vdec: Clamp param smaller than 1fps and bigger than 240.
media: venus: venc: Clamp param smaller than 1fps and bigger than 240

Richard Zhu (4):
PCI: imx6: Add IMX8MM_EP and IMX8MP_EP fixed 256-byte BAR 4 in epc_features
PCI: imx6: Remove apps_reset toggling from imx_pcie_{assert/deassert}_core_reset
PCI: imx6: Delay link start until configfs 'start' written
PCI: imx6: Add IMX8MQ_EP third 64-bit BAR in epc_features

Sakari Ailus (2):
media: ipu6: isys: Use correct pads for xlate_streams()
media: v4l2-ctrls: Don't reset handler's error in v4l2_ctrl_handler_free()

Salah Triki (1):

      iio: pressure: bmp280: Use IS_ERR() in bmp280_common_probe()

Sebastian Andrzej Siewior (1):
kcov, usb: Don't disable interrupts in kcov_remote_start_usb_softirq()

Sebastian Reichel (1):
usb: typec: fusb302: cache PD RX state

Selvarasu Ganesan (1):
usb: dwc3: Remove WARN_ON for device endpoint command timeouts

SeongJae Park (1):
mm/damon/ops-common: ignore migration request to invalid nodes

Sergey Shtylyov (1):
Bluetooth: hci_conn: do return error from hci_enhanced_setup_sync()

Shahar Shitrit (1):
net/mlx5: Relocate function declarations from port.h to mlx5_core.h

Simon Richter (1):
Mark xe driver as BROKEN if kernel page size is not 4kB

Siyang Liu (1):
drm/amd/display: fix a Null pointer dereference vulnerability

Srinivas Pandruvada (1):
platform/x86/intel-uncore-freq: Check write blocked for ELC

Stefan Metzmacher (1):
smb: server: split ksmbd_rdma_stop_listening() out of ksmbd_rdma_destroy()

Stefan Wahren (1):
spi: spi-fsl-lpspi: Clamp too high speed_hz

Steven Rostedt (2):
ftrace: Also allocate and copy hash for reading of filter files
tracing: Remove unneeded goto out logic

Suraj Gupta (1):
net: xilinx: axienet: Fix RX skb ring management in DMAengine mode

Takashi Iwai (1):
ALSA: usb-audio: Use correct sub-type for UAC3 feature unit validation

Theodore Ts'o (1):
ext4: don't try to clear the orphan_present feature block device is r/o

Thomas Fourier (2):
mtd: rawnand: fsmc: Add missing check after DMA map
mtd: rawnand: renesas: Add missing check after DMA map

Thomas Weißschuh (1):
kbuild: userprogs: use correct linker when mixing clang and GNU ld

Thomas Zimmermann (3):
drm/format-helper: Move helpers for pixel conversion to header file drm/format-helper: Add generic conversion to 32-bit formats drm/tests: Do not use drm_fb_blit() in format-helper tests

Thorsten Blum (3):
accel/habanalabs/gaudi2: Use kvfree() for memory allocated with kvcalloc()
cdx: Fix off-by-one error in cdx_rpmsg_probe()
usb: storage: realtek_cr: Use correct byte order for bcs->Residue

Tianxiang Peng (1):
x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper

Tim Harvey (1):
hwmon: (gsc-hwmon) fix fan pwm setpoint show functions

Timur Kristóf (7):
drm/amd/display: Don't overwrite dce60_clk_mgr
drm/amd/display: Don't overclock DCE 6 by 15%
drm/amd/display: Fix fractional fb divider in set_pixel_clock_v3 drm/amd/display: Fix DP audio DTO1 clock source on DCE 6. drm/amd/display: Find first CRTC and its line time in dce110_fill_display_configs drm/amd/display: Fill display clock and vblank time in dce110_fill_display_configs drm/amd/display: Don't print errors for nonexistent connectors

Tom Chung (1):
drm/amd/display: Fix Xorg desktop unresponsive on Replay panel

Tom Lendacky (1):
x86/sev: Ensure SVSM reserved fields in a page validation entry are initialized to zero

Tristram Ha (1):
net: dsa: microchip: Fix KSZ9477 HSR port setup issue

Trond Myklebust (1):
NFS: Fix a race when updating an existing write

Tzung-Bi Shih (1):
platform/chrome: cros_ec: Unregister notifier in cros_ec_unregister()

Uwe Kleine-König (2):
pwm: mediatek: Handle hardware enable and clock enable separately
pwm: mediatek: Fix duty and period setting

ValdikSS (1):
igc: fix disabling L1.2 PCI-E link substate on I226 on init

Vedang Nagar (1):
media: venus: Add a check for packet size after reading from shared memory

Victor Shih (3):
mmc: sdhci-pci-gli: Add a new function to simplify the code
mmc: sdhci-pci-gli: GL9763e: Mask the replay timer timeout of AER
mmc: sdhci-pci-gli: GL9763e: Rename the gli_set_gl9763e() for consistency

Vladimir Zapolskiy (1):
media: qcom: camss: cleanup media device allocated resource on error path

Waiman Long (2):
cgroup/cpuset: Use static_branch_enable_cpuslocked() on cpusets_insane_config_key cgroup/cpuset: Fix a partition error with CPU hotplug

Wang Liang (1):
net: bridge: fix soft lockup in br_multicast_query_expired()

Weitao Wang (1):
usb: xhci: Fix slot_id resource race conflict

Will Deacon (2):
vsock/virtio: Validate length in packet header before skb_put() vhost/vsock: Avoid allocating arbitrarily-sized SKBs

William Liu (2):
net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit net/sched: Remove unnecessary WARNING condition for empty child qdisc in htb_activate

Xaver Hugl (1):
amdgpu/amdgpu_discovery: increase timeout limit for IFWI init

Xu Yang (1):
usb: core: hcd: fix accessing unmapped memory in SINGLE_STEP_SET_FEATURE test

Xu Yilun (1):
fpga: zynq_fpga: Fix the wrong usage of dma_map_sgtable()

Yang Li (1):

      Bluetooth: hci_sync: Prevent unintended PA sync when SID is 0xFF

Ye Bin (1):
fs/buffer: fix use-after-free when call bh_read() helper

Youssef Samir (1):
bus: mhi: host: Detect events pointing to unexpected TREs

Yuichiro Tsuji (1):
net: usb: asix_devices: Fix PHY address mask in MDIO bus initialization

Yunhui Cui (1):
serial: 8250: fix panic due to PSLVERR

Zenm Chen (1):
USB: storage: Ignore driver CD mode for Realtek multi-mode Wi-Fi dongles

Zhang Shurong (1):

      media: ov2659: Fix memory leaks in ov2659_probe()

Zhang Yi (1):
ext4: fix hole length calculation overflow in non-extent inodes

Zhu Yanjun (1):
RDMA/rxe: Flush delayed SKBs while releasing RXE resources

Ziyan Xu (1):
ksmbd: fix refcount leak causing resource not released

wenglianfa (1):
RDMA/hns: Fix querying wrong SCC context for DIP algorithm

author maintainer
#1 lore raw
Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dpu.yaml +1 -1
index 4ebea60b8c5b..8c52fa0ea5f8 100644
@@ -25,7 +25,7 @@ properties:
     maxItems: 1
 
   clocks:
-    minItems: 2
+    maxItems: 2
 
   clock-names:
     items:
Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml +1 -1
index bc5594d18643..300bf2252c3e 100644
@@ -20,7 +20,7 @@ properties:
     maxItems: 2
 
   clocks:
-    minItems: 1
+    maxItems: 1
 
   clock-names:
     items:
Documentation/devicetree/bindings/ufs/mediatek,ufs.yaml +4 -0
index 32fd535a514a..20f341d25ebc 100644
@@ -33,6 +33,10 @@ properties:
 
   vcc-supply: true
 
+  mediatek,ufs-disable-mcq:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: The mask to disable MCQ (Multi-Circular Queue) for UFS host.
+
 required:
   - compatible
   - clocks
Documentation/networking/mptcp-sysctl.rst +2 -0
index 95598c21fc8e..09be0e68b9af 100644
@@ -12,6 +12,8 @@ add_addr_timeout - INTEGER (seconds)
 	resent to an MPTCP peer that has not acknowledged a previous
 	ADD_ADDR message.
 
+	Do not retransmit if set to 0.
+
 	The default value matches TCP_RTO_MAX. This is a per-namespace
 	sysctl.
 
Makefile +2 -2
index 3dc8acf73bfa..208a50953301 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 12
-SUBLEVEL = 43
+SUBLEVEL = 44
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
@@ -1069,7 +1069,7 @@ KBUILD_USERCFLAGS  += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD
 KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
 
 # userspace programs are linked via the compiler, use the correct linker
-ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy)
+ifdef CONFIG_CC_IS_CLANG
 KBUILD_USERLDFLAGS += --ld-path=$(LD)
 endif
 
arch/arm64/boot/dts/exynos/google/gs101.dtsi +1 -0
index 7caa2f3ef134..a509a59def42 100644
@@ -1360,6 +1360,7 @@ ufs_0: ufs@14700000 {
 				 <&cmu_hsi2 CLK_GOUT_HSI2_SYSREG_HSI2_PCLK>;
 			clock-names = "core_clk", "sclk_unipro_main", "fmp",
 				      "aclk", "pclk", "sysreg";
+			dma-coherent;
 			freq-table-hz = <0 0>, <0 0>, <0 0>, <0 0>, <0 0>, <0 0>;
 			pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
 			pinctrl-names = "default";
arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts +36 -0
index 8e9fc00a6b3c..4609f366006e 100644
@@ -69,20 +69,39 @@ vddshv_sdio: regulator-4 {
 		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
 		states = <1800000 0x0>,
 			 <3300000 0x1>;
+		bootph-all;
 	};
 };
 
 &main_pmx0 {
+	main_mmc0_pins_default: main-mmc0-default-pins {
+		bootph-all;
+		pinctrl-single,pins = <
+			AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (V3) MMC0_CMD */
+			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (Y1) MMC0_CLK */
+			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (V2) MMC0_DAT0 */
+			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (V1) MMC0_DAT1 */
+			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (W2) MMC0_DAT2 */
+			AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (W1) MMC0_DAT3 */
+			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (Y2) MMC0_DAT4 */
+			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (W3) MMC0_DAT5 */
+			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (W4) MMC0_DAT6 */
+			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (V4) MMC0_DAT7 */
+		>;
+	};
+
 	vddshv_sdio_pins_default: vddshv-sdio-default-pins {
 		pinctrl-single,pins = <
 			AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (M19) GPMC0_CLK.GPIO0_31 */
 		>;
+		bootph-all;
 	};
 
 	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
 		pinctrl-single,pins = <
 			AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (C13) UART0_RTSn.GPIO1_23 */
 		>;
+		bootph-all;
 	};
 
 	pmic_irq_pins_default: pmic-irq-default-pins {
@@ -118,6 +137,7 @@ exp1: gpio@22 {
 
 		pinctrl-names = "default";
 		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
+		bootph-all;
 	};
 
 	exp2: gpio@23 {
@@ -140,6 +160,14 @@ exp2: gpio@23 {
 	};
 };
 
+&sdhci0 {
+	bootph-all;
+	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_mmc0_pins_default>;
+	status = "okay";
+};
+
 &sdhci1 {
 	vmmc-supply = <&vdd_mmc1>;
 	vqmmc-supply = <&vddshv_sdio>;
@@ -229,6 +257,14 @@ &tlv320aic3106 {
 	DVDD-supply = <&buck2_reg>;
 };
 
+&main_gpio0 {
+	bootph-all;
+};
+
+&main_gpio1 {
+	bootph-all;
+};
+
 &gpmc0 {
 	ranges = <0 0 0x00 0x51000000 0x01000000>; /* CS0 space. Min partition = 16MB */
 };
arch/arm64/boot/dts/ti/k3-am62-main.dtsi +0 -1
index 3f3a31eced97..a74c8b523542 100644
@@ -553,7 +553,6 @@ sdhci0: mmc@fa10000 {
 		clocks = <&k3_clks 57 5>, <&k3_clks 57 6>;
 		clock-names = "clk_ahb", "clk_xin";
 		bus-width = <8>;
-		mmc-ddr-1_8v;
 		mmc-hs200-1_8v;
 		ti,clkbuf-sel = <0x7>;
 		ti,otap-del-sel-legacy = <0x0>;
arch/arm64/boot/dts/ti/k3-am62-phycore-som.dtsi +0 -1
index 43488cc8bcb1..ec87d18568fa 100644
@@ -317,7 +317,6 @@ serial_flash: flash@0 {
 &sdhci0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_mmc0_pins_default>;
-	disable-wp;
 	non-removable;
 	status = "okay";
 };
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi +6 -6
index f0eac05f7483..86e7f98d430e 100644
@@ -507,16 +507,16 @@ AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ /* SODIMM 12 */
 	/* Verdin I2C_2_DSI */
 	pinctrl_i2c2: main-i2c2-default-pins {
 		pinctrl-single,pins = <
-			AM62X_IOPAD(0x00b0, PIN_INPUT, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */
-			AM62X_IOPAD(0x00b4, PIN_INPUT, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */
+			AM62X_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */
+			AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */
 		>;
 	};
 
 	/* Verdin I2C_4_CSI */
 	pinctrl_i2c3: main-i2c3-default-pins {
 		pinctrl-single,pins = <
-			AM62X_IOPAD(0x01d0, PIN_INPUT, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
-			AM62X_IOPAD(0x01d4, PIN_INPUT, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
+			AM62X_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
+			AM62X_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
 		>;
 	};
 
@@ -786,8 +786,8 @@ AM62X_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (C9) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODI
 	/* Verdin I2C_3_HDMI */
 	pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
 		pinctrl-single,pins = <
-			AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /*  (A8) MCU_I2C0_SCL */ /* SODIMM 59 */
-			AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
+			AM62X_MCU_IOPAD(0x0044, PIN_INPUT_PULLUP, 0) /*  (A8) MCU_I2C0_SCL */ /* SODIMM 59 */
+			AM62X_MCU_IOPAD(0x0048, PIN_INPUT_PULLUP, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
 		>;
 	};
 
arch/arm64/boot/dts/ti/k3-am625-beagleplay.dts +1 -1
index a1cd47d7f5e3..f6ef1549801b 100644
@@ -818,9 +818,9 @@ &main_spi2 {
 
 &sdhci0 {
 	bootph-all;
+	non-removable;
 	pinctrl-names = "default";
 	pinctrl-0 = <&emmc_pins_default>;
-	disable-wp;
 	status = "okay";
 };
 
arch/arm64/boot/dts/ti/k3-am625-sk.dts +24 -0
index ae81ebb39d02..0fa11d3aa71e 100644
@@ -106,6 +106,22 @@ vcc_1v8: regulator-5 {
 };
 
 &main_pmx0 {
+	main_mmc0_pins_default: main-mmc0-default-pins {
+		bootph-all;
+		pinctrl-single,pins = <
+			AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
+			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
+			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
+			AM62X_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */
+			AM62X_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */
+			AM62X_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (Y4) MMC0_DAT3 */
+			AM62X_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */
+			AM62X_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
+			AM62X_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
+			AM62X_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
+		>;
+	};
+
 	main_rgmii2_pins_default: main-rgmii2-default-pins {
 		bootph-all;
 		pinctrl-single,pins = <
@@ -195,6 +211,14 @@ exp1: gpio@22 {
 	};
 };
 
+&sdhci0 {
+	bootph-all;
+	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&main_mmc0_pins_default>;
+	status = "okay";
+};
+
 &sdhci1 {
 	vmmc-supply = <&vdd_mmc1>;
 	vqmmc-supply = <&vdd_sd_dv>;
arch/arm64/boot/dts/ti/k3-am62a-phycore-som.dtsi +0 -1
index a5aceaa39670..960a409d6fea 100644
@@ -324,7 +324,6 @@ serial_flash: flash@0 {
 &sdhci0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_mmc0_pins_default>;
-	disable-wp;
 	non-removable;
 	status = "okay";
 };
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts +4 -3
index 67faf46d7a35..274a92d747d6 100644
@@ -259,8 +259,8 @@ AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (D15) UART0_TXD */
 
 	main_uart1_pins_default: main-uart1-default-pins {
 		pinctrl-single,pins = <
-			AM62AX_IOPAD(0x01e8, PIN_INPUT, 1) /* (C17) I2C1_SCL.UART1_RXD */
-			AM62AX_IOPAD(0x01ec, PIN_OUTPUT, 1) /* (E17) I2C1_SDA.UART1_TXD */
+			AM62AX_IOPAD(0x01ac, PIN_INPUT, 2) /* (B21) MCASP0_AFSR.UART1_RXD */
+			AM62AX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (A21) MCASP0_ACLKR.UART1_TXD */
 			AM62AX_IOPAD(0x0194, PIN_INPUT, 2) /* (C19) MCASP0_AXR3.UART1_CTSn */
 			AM62AX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (B19) MCASP0_AXR2.UART1_RTSn */
 		>;
@@ -301,6 +301,7 @@ AM62AX_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
 			AM62AX_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
 			AM62AX_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
 		>;
+		bootph-all;
 	};
 
 	main_mmc1_pins_default: main-mmc1-default-pins {
@@ -602,7 +603,7 @@ &sdhci0 {
 	non-removable;
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_mmc0_pins_default>;
-	disable-wp;
+	bootph-all;
 };
 
 &sdhci1 {
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts +1 -1
index 3efa12bb7254..b94093a7a392 100644
@@ -444,8 +444,8 @@ &main_i2c2 {
 
 &sdhci0 {
 	status = "okay";
+	non-removable;
 	ti,driver-strength-ohm = <50>;
-	disable-wp;
 	bootph-all;
 };
 
arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi +0 -24
index 44ff67b6bf1e..4f2d45fd3676 100644
@@ -182,22 +182,6 @@ AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24/H19) GPMC0_CSn3.I2C2_SDA */
 		>;
 	};
 
-	main_mmc0_pins_default: main-mmc0-default-pins {
-		bootph-all;
-		pinctrl-single,pins = <
-			AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3/V3) MMC0_CMD */
-			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1/Y1) MMC0_CLK */
-			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2/V2) MMC0_DAT0 */
-			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1/V1) MMC0_DAT1 */
-			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3/W2) MMC0_DAT2 */
-			AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4/W1) MMC0_DAT3 */
-			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2/Y2) MMC0_DAT4 */
-			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1/W3) MMC0_DAT5 */
-			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2/W4) MMC0_DAT6 */
-			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2/V4) MMC0_DAT7 */
-		>;
-	};
-
 	main_mmc1_pins_default: main-mmc1-default-pins {
 		bootph-all;
 		pinctrl-single,pins = <
@@ -413,14 +397,6 @@ &main_i2c2 {
 	clock-frequency = <400000>;
 };
 
-&sdhci0 {
-	bootph-all;
-	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&main_mmc0_pins_default>;
-	disable-wp;
-};
-
 &sdhci1 {
 	/* SD/MMC */
 	bootph-all;
arch/arm64/boot/dts/ti/k3-am642-evm.dts +0 -1
index 97ca16f00cd2..95c20e39342c 100644
@@ -584,7 +584,6 @@ &sdhci0 {
 	status = "okay";
 	non-removable;
 	ti,driver-strength-ohm = <50>;
-	disable-wp;
 	bootph-all;
 };
 
arch/arm64/boot/dts/ti/k3-am654-base-board.dts +0 -1
index aa7139cc8a92..c30425960398 100644
@@ -456,7 +456,6 @@ &sdhci0 {
 	bus-width = <8>;
 	non-removable;
 	ti,driver-strength-ohm = <50>;
-	disable-wp;
 };
 
 /*
arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi +0 -1
index ae842b85b70d..12af6cb7f65c 100644
@@ -50,5 +50,4 @@ &sdhci0 {
 	bus-width = <8>;
 	non-removable;
 	ti,driver-strength-ohm = <50>;
-	disable-wp;
 };
arch/arm64/boot/dts/ti/k3-am69-sk.dts +0 -1
index 1e36965a1403..3238dd17016a 100644
@@ -926,7 +926,6 @@ &main_sdhci0 {
 	status = "okay";
 	non-removable;
 	ti,driver-strength-ohm = <50>;
-	disable-wp;
 };
 
 &main_sdhci1 {
arch/arm64/boot/dts/ti/k3-pinctrl.h +12 -3
index 22b8d73cfd32..04bbedb56b58 100644
@@ -8,11 +8,16 @@
 #ifndef DTS_ARM64_TI_K3_PINCTRL_H
 #define DTS_ARM64_TI_K3_PINCTRL_H
 
+#define ST_EN_SHIFT		(14)
 #define PULLUDEN_SHIFT		(16)
 #define PULLTYPESEL_SHIFT	(17)
 #define RXACTIVE_SHIFT		(18)
 #define DEBOUNCE_SHIFT		(11)
 
+/* Schmitt trigger configuration */
+#define ST_DISABLE		(0 << ST_EN_SHIFT)
+#define ST_ENABLE		(1 << ST_EN_SHIFT)
+
 #define PULL_DISABLE		(1 << PULLUDEN_SHIFT)
 #define PULL_ENABLE		(0 << PULLUDEN_SHIFT)
 
@@ -26,9 +31,13 @@
 #define PIN_OUTPUT		(INPUT_DISABLE | PULL_DISABLE)
 #define PIN_OUTPUT_PULLUP	(INPUT_DISABLE | PULL_UP)
 #define PIN_OUTPUT_PULLDOWN	(INPUT_DISABLE | PULL_DOWN)
-#define PIN_INPUT		(INPUT_EN | PULL_DISABLE)
-#define PIN_INPUT_PULLUP	(INPUT_EN | PULL_UP)
-#define PIN_INPUT_PULLDOWN	(INPUT_EN | PULL_DOWN)
+#define PIN_INPUT		(INPUT_EN | ST_ENABLE | PULL_DISABLE)
+#define PIN_INPUT_PULLUP	(INPUT_EN | ST_ENABLE | PULL_UP)
+#define PIN_INPUT_PULLDOWN	(INPUT_EN | ST_ENABLE | PULL_DOWN)
+/* Input configurations with Schmitt Trigger disabled */
+#define PIN_INPUT_NOST		(INPUT_EN | PULL_DISABLE)
+#define PIN_INPUT_PULLUP_NOST	(INPUT_EN | PULL_UP)
+#define PIN_INPUT_PULLDOWN_NOST	(INPUT_EN | PULL_DOWN)
 
 #define PIN_DEBOUNCE_DISABLE	(0 << DEBOUNCE_SHIFT)
 #define PIN_DEBOUNCE_CONF1	(1 << DEBOUNCE_SHIFT)
arch/loongarch/kernel/module-sections.c +18 -18
index e2f30ff9afde..a43ba7f9f987 100644
@@ -8,6 +8,7 @@
 #include <linux/module.h>
 #include <linux/moduleloader.h>
 #include <linux/ftrace.h>
+#include <linux/sort.h>
 
 Elf_Addr module_emit_got_entry(struct module *mod, Elf_Shdr *sechdrs, Elf_Addr val)
 {
@@ -61,39 +62,38 @@ Elf_Addr module_emit_plt_entry(struct module *mod, Elf_Shdr *sechdrs, Elf_Addr v
 	return (Elf_Addr)&plt[nr];
 }
 
-static int is_rela_equal(const Elf_Rela *x, const Elf_Rela *y)
-{
-	return x->r_info == y->r_info && x->r_addend == y->r_addend;
-}
+#define cmp_3way(a, b)  ((a) < (b) ? -1 : (a) > (b))
 
-static bool duplicate_rela(const Elf_Rela *rela, int idx)
+static int compare_rela(const void *x, const void *y)
 {
-	int i;
+	int ret;
+	const Elf_Rela *rela_x = x, *rela_y = y;
 
-	for (i = 0; i < idx; i++) {
-		if (is_rela_equal(&rela[i], &rela[idx]))
-			return true;
-	}
+	ret = cmp_3way(rela_x->r_info, rela_y->r_info);
+	if (ret == 0)
+		ret = cmp_3way(rela_x->r_addend, rela_y->r_addend);
 
-	return false;
+	return ret;
 }
 
 static void count_max_entries(Elf_Rela *relas, int num,
 			      unsigned int *plts, unsigned int *gots)
 {
-	unsigned int i, type;
+	unsigned int i;
+
+	sort(relas, num, sizeof(Elf_Rela), compare_rela, NULL);
 
 	for (i = 0; i < num; i++) {
-		type = ELF_R_TYPE(relas[i].r_info);
-		switch (type) {
+		if (i && !compare_rela(&relas[i-1], &relas[i]))
+			continue;
+
+		switch (ELF_R_TYPE(relas[i].r_info)) {
 		case R_LARCH_SOP_PUSH_PLT_PCREL:
 		case R_LARCH_B26:
-			if (!duplicate_rela(relas, i))
-				(*plts)++;
+			(*plts)++;
 			break;
 		case R_LARCH_GOT_PC_HI20:
-			if (!duplicate_rela(relas, i))
-				(*gots)++;
+			(*gots)++;
 			break;
 		default:
 			break; /* Do nothing. */
arch/loongarch/kvm/vcpu.c +5 -3
index 4b0ae29b8aca..b5439a10b765 100644
@@ -1249,9 +1249,11 @@ int kvm_own_lbt(struct kvm_vcpu *vcpu)
 		return -EINVAL;
 
 	preempt_disable();
-	set_csr_euen(CSR_EUEN_LBTEN);
-	_restore_lbt(&vcpu->arch.lbt);
-	vcpu->arch.aux_inuse |= KVM_LARCH_LBT;
+	if (!(vcpu->arch.aux_inuse & KVM_LARCH_LBT)) {
+		set_csr_euen(CSR_EUEN_LBTEN);
+		_restore_lbt(&vcpu->arch.lbt);
+		vcpu->arch.aux_inuse |= KVM_LARCH_LBT;
+	}
 	preempt_enable();
 
 	return 0;
arch/m68k/kernel/head.S +21 -10
index ba22bc2f3d6d..d96685489aac 100644
@@ -3400,6 +3400,7 @@ L(console_clear_loop):
 
 	movel	%d4,%d1				/* screen height in pixels */
 	divul	%a0@(FONT_DESC_HEIGHT),%d1	/* d1 = max num rows */
+	subql	#1,%d1				/* row range is 0 to num - 1 */
 
 	movel	%d0,%a2@(Lconsole_struct_num_columns)
 	movel	%d1,%a2@(Lconsole_struct_num_rows)
@@ -3546,15 +3547,14 @@ func_start	console_putc,%a0/%a1/%d0-%d7
 	cmpib	#10,%d7
 	jne	L(console_not_lf)
 	movel	%a0@(Lconsole_struct_cur_row),%d0
-	addil	#1,%d0
-	movel	%d0,%a0@(Lconsole_struct_cur_row)
 	movel	%a0@(Lconsole_struct_num_rows),%d1
 	cmpl	%d1,%d0
 	jcs	1f
-	subil	#1,%d0
-	movel	%d0,%a0@(Lconsole_struct_cur_row)
 	console_scroll
+	jra	L(console_exit)
 1:
+	addql	#1,%d0
+	movel	%d0,%a0@(Lconsole_struct_cur_row)
 	jra	L(console_exit)
 
 L(console_not_lf):
@@ -3581,12 +3581,6 @@ L(console_not_cr):
  */
 L(console_not_home):
 	movel	%a0@(Lconsole_struct_cur_column),%d0
-	addql	#1,%a0@(Lconsole_struct_cur_column)
-	movel	%a0@(Lconsole_struct_num_columns),%d1
-	cmpl	%d1,%d0
-	jcs	1f
-	console_putc	#'\n'	/* recursion is OK! */
-1:
 	movel	%a0@(Lconsole_struct_cur_row),%d1
 
 	/*
@@ -3633,6 +3627,23 @@ L(console_do_font_scanline):
 	addq	#1,%d1
 	dbra	%d7,L(console_read_char_scanline)
 
+	/*
+	 *	Register usage in the code below:
+	 *	a0 = pointer to console globals
+	 *	d0 = cursor column
+	 *	d1 = cursor column limit
+	 */
+
+	lea	%pc@(L(console_globals)),%a0
+
+	movel	%a0@(Lconsole_struct_cur_column),%d0
+	addql	#1,%d0
+	movel	%d0,%a0@(Lconsole_struct_cur_column)	/* Update cursor pos */
+	movel	%a0@(Lconsole_struct_num_columns),%d1
+	cmpl	%d1,%d0
+	jcs	L(console_exit)
+	console_putc	#'\n'		/* Line wrap using tail recursion */
+
 L(console_exit):
 func_return	console_putc
 
arch/mips/crypto/chacha-core.S +7 -13
index 5755f69cfe00..706aeb850fb0 100644
@@ -55,17 +55,13 @@
 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 #define MSB 0
 #define LSB 3
-#define ROTx rotl
-#define ROTR(n) rotr n, 24
 #define	CPU_TO_LE32(n) \
-	wsbh	n; \
+	wsbh	n, n; \
 	rotr	n, 16;
 #else
 #define MSB 3
 #define LSB 0
-#define ROTx rotr
 #define CPU_TO_LE32(n)
-#define ROTR(n)
 #endif
 
 #define FOR_EACH_WORD(x) \
@@ -192,10 +188,10 @@ CONCAT3(.Lchacha_mips_xor_aligned_, PLUS_ONE(x), _b: ;) \
 	xor	X(W), X(B); \
 	xor	X(Y), X(C); \
 	xor	X(Z), X(D); \
-	rotl	X(V), S;    \
-	rotl	X(W), S;    \
-	rotl	X(Y), S;    \
-	rotl	X(Z), S;
+	rotr	X(V), 32 - S; \
+	rotr	X(W), 32 - S; \
+	rotr	X(Y), 32 - S; \
+	rotr	X(Z), 32 - S;
 
 .text
 .set	reorder
@@ -372,21 +368,19 @@ chacha_crypt_arch:
 	/* First byte */
 	lbu	T1, 0(IN)
 	addiu	$at, BYTES, 1
-	CPU_TO_LE32(SAVED_X)
-	ROTR(SAVED_X)
 	xor	T1, SAVED_X
 	sb	T1, 0(OUT)
 	beqz	$at, .Lchacha_mips_xor_done
 	/* Second byte */
 	lbu	T1, 1(IN)
 	addiu	$at, BYTES, 2
-	ROTx	SAVED_X, 8
+	rotr	SAVED_X, 8
 	xor	T1, SAVED_X
 	sb	T1, 1(OUT)
 	beqz	$at, .Lchacha_mips_xor_done
 	/* Third byte */
 	lbu	T1, 2(IN)
-	ROTx	SAVED_X, 8
+	rotr	SAVED_X, 8
 	xor	T1, SAVED_X
 	sb	T1, 2(OUT)
 	b	.Lchacha_mips_xor_done
arch/parisc/Makefile +3 -1
index 9cd9aa3d16f2..48ae3c79557a 100644
@@ -39,7 +39,9 @@ endif
 
 export LD_BFD
 
-# Set default 32 bits cross compilers for vdso
+# Set default 32 bits cross compilers for vdso.
+# This means that for 64BIT, both the 64-bit tools and the 32-bit tools
+# need to be in the path.
 CC_ARCHES_32 = hppa hppa2.0 hppa1.1
 CC_SUFFIXES  = linux linux-gnu unknown-linux-gnu suse-linux
 CROSS32_COMPILE := $(call cc-cross-prefix, \
arch/parisc/include/asm/pgtable.h +4 -3
index babf65751e81..3446a5e2520b 100644
@@ -276,7 +276,7 @@ extern unsigned long *empty_zero_page;
 #define pte_none(x)     (pte_val(x) == 0)
 #define pte_present(x)	(pte_val(x) & _PAGE_PRESENT)
 #define pte_user(x)	(pte_val(x) & _PAGE_USER)
-#define pte_clear(mm, addr, xp)  set_pte(xp, __pte(0))
+#define pte_clear(mm, addr, xp) set_pte_at((mm), (addr), (xp), __pte(0))
 
 #define pmd_flag(x)	(pmd_val(x) & PxD_FLAG_MASK)
 #define pmd_address(x)	((unsigned long)(pmd_val(x) &~ PxD_FLAG_MASK) << PxD_VALUE_SHIFT)
@@ -398,6 +398,7 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 	}
 }
 #define set_ptes set_ptes
+#define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
 
 /* Used for deferring calls to flush_dcache_page() */
 
@@ -462,7 +463,7 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned
 	if (!pte_young(pte)) {
 		return 0;
 	}
-	set_pte(ptep, pte_mkold(pte));
+	set_pte_at(vma->vm_mm, addr, ptep, pte_mkold(pte));
 	return 1;
 }
 
@@ -472,7 +473,7 @@ pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr, pte_t *pt
 struct mm_struct;
 static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
 {
-	set_pte(ptep, pte_wrprotect(*ptep));
+	set_pte_at(mm, addr, ptep, pte_wrprotect(*ptep));
 }
 
 #define pte_same(A,B)	(pte_val(A) == pte_val(B))
arch/parisc/include/asm/special_insns.h +28 -0
index 51f40eaf7780..1013eeba31e5 100644
@@ -32,6 +32,34 @@
 	pa;						\
 })
 
+/**
+ * prober_user() - Probe user read access
+ * @sr:		Space regster.
+ * @va:		Virtual address.
+ *
+ * Return: Non-zero if address is accessible.
+ *
+ * Due to the way _PAGE_READ is handled in TLB entries, we need
+ * a special check to determine whether a user address is accessible.
+ * The ldb instruction does the initial access check. If it is
+ * successful, the probe instruction checks user access rights.
+ */
+#define prober_user(sr, va)	({			\
+	unsigned long read_allowed;			\
+	__asm__ __volatile__(				\
+		"copy %%r0,%0\n"			\
+		"8:\tldb 0(%%sr%1,%2),%%r0\n"		\
+		"\tproberi (%%sr%1,%2),%3,%0\n"		\
+		"9:\n"					\
+		ASM_EXCEPTIONTABLE_ENTRY(8b, 9b,	\
+				"or %%r0,%%r0,%%r0")	\
+		: "=&r" (read_allowed)			\
+		: "i" (sr), "r" (va), "i" (PRIV_USER)	\
+		: "memory"				\
+	);						\
+	read_allowed;					\
+})
+
 #define CR_EIEM 15	/* External Interrupt Enable Mask */
 #define CR_CR16 16	/* CR16 Interval Timer */
 #define CR_EIRR 23	/* External Interrupt Request Register */
arch/parisc/include/asm/uaccess.h +18 -3
index 88d0ae5769dd..6c531d2c847e 100644
@@ -42,9 +42,24 @@
 	__gu_err;					\
 })
 
-#define __get_user(val, ptr)				\
-({							\
-	__get_user_internal(SR_USER, val, ptr);	\
+#define __probe_user_internal(sr, error, ptr)			\
+({								\
+	__asm__("\tproberi (%%sr%1,%2),%3,%0\n"			\
+		"\tcmpiclr,= 1,%0,%0\n"				\
+		"\tldi %4,%0\n"					\
+		: "=r"(error)					\
+		: "i"(sr), "r"(ptr), "i"(PRIV_USER),		\
+		  "i"(-EFAULT));				\
+})
+
+#define __get_user(val, ptr)					\
+({								\
+	register long __gu_err;					\
+								\
+	__gu_err = __get_user_internal(SR_USER, val, ptr);	\
+	if (likely(!__gu_err))					\
+		__probe_user_internal(SR_USER, __gu_err, ptr);	\
+	__gu_err;						\
 })
 
 #define __get_user_asm(sr, val, ldx, ptr)		\
arch/parisc/kernel/cache.c +3 -3
index db531e58d70e..37ca484cc495 100644
@@ -429,7 +429,7 @@ static inline pte_t *get_ptep(struct mm_struct *mm, unsigned long addr)
 	return ptep;
 }
 
-static inline bool pte_needs_flush(pte_t pte)
+static inline bool pte_needs_cache_flush(pte_t pte)
 {
 	return (pte_val(pte) & (_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_NO_CACHE))
 		== (_PAGE_PRESENT | _PAGE_ACCESSED);
@@ -630,7 +630,7 @@ static void flush_cache_page_if_present(struct vm_area_struct *vma,
 	ptep = get_ptep(vma->vm_mm, vmaddr);
 	if (ptep) {
 		pte = ptep_get(ptep);
-		needs_flush = pte_needs_flush(pte);
+		needs_flush = pte_needs_cache_flush(pte);
 		pte_unmap(ptep);
 	}
 	if (needs_flush)
@@ -841,7 +841,7 @@ void flush_cache_vmap(unsigned long start, unsigned long end)
 	}
 
 	vm = find_vm_area((void *)start);
-	if (WARN_ON_ONCE(!vm)) {
+	if (!vm) {
 		flush_cache_all();
 		return;
 	}
arch/parisc/kernel/entry.S +12 -5
index ea57bcc21dc5..f4bf61a34701 100644
@@ -499,6 +499,12 @@
 	 * this happens is quite subtle, read below */
 	.macro		make_insert_tlb	spc,pte,prot,tmp
 	space_to_prot   \spc \prot        /* create prot id from space */
+
+#if _PAGE_SPECIAL_BIT == _PAGE_DMB_BIT
+	/* need to drop DMB bit, as it's used as SPECIAL flag */
+	depi		0,_PAGE_SPECIAL_BIT,1,\pte
+#endif
+
 	/* The following is the real subtlety.  This is depositing
 	 * T <-> _PAGE_REFTRAP
 	 * D <-> _PAGE_DIRTY
@@ -511,17 +517,18 @@
 	 * Finally, _PAGE_READ goes in the top bit of PL1 (so we
 	 * trigger an access rights trap in user space if the user
 	 * tries to read an unreadable page */
-#if _PAGE_SPECIAL_BIT == _PAGE_DMB_BIT
-	/* need to drop DMB bit, as it's used as SPECIAL flag */
-	depi		0,_PAGE_SPECIAL_BIT,1,\pte
-#endif
 	depd            \pte,8,7,\prot
 
 	/* PAGE_USER indicates the page can be read with user privileges,
 	 * so deposit X1|11 to PL1|PL2 (remember the upper bit of PL1
-	 * contains _PAGE_READ) */
+	 * contains _PAGE_READ). While the kernel can't directly write
+	 * user pages which have _PAGE_WRITE zero, it can read pages
+	 * which have _PAGE_READ zero (PL <= PL1). Thus, the kernel
+	 * exception fault handler doesn't trigger when reading pages
+	 * that aren't user read accessible */
 	extrd,u,*=      \pte,_PAGE_USER_BIT+32,1,%r0
 	depdi		7,11,3,\prot
+
 	/* If we're a gateway page, drop PL2 back to zero for promotion
 	 * to kernel privilege (so we can execute the page as kernel).
 	 * Any privilege promotion page always denys read and write */
arch/parisc/kernel/syscall.S +21 -9
index 0fa81bf1466b..f58c4bccfbce 100644
@@ -613,6 +613,9 @@ lws_compare_and_swap32:
 lws_compare_and_swap:
 	/* Trigger memory reference interruptions without writing to memory */
 1:	ldw	0(%r26), %r28
+	proberi	(%r26), PRIV_USER, %r28
+	comb,=,n	%r28, %r0, lws_fault /* backwards, likely not taken */
+	nop
 2:	stbys,e	%r0, 0(%r26)
 
 	/* Calculate 8-bit hash index from virtual address */
@@ -767,6 +770,9 @@ cas2_lock_start:
 	copy	%r26, %r28
 	depi_safe	0, 31, 2, %r28
 10:	ldw	0(%r28), %r1
+	proberi	(%r28), PRIV_USER, %r1
+	comb,=,n	%r1, %r0, lws_fault /* backwards, likely not taken */
+	nop
 11:	stbys,e	%r0, 0(%r28)
 
 	/* Calculate 8-bit hash index from virtual address */
@@ -951,41 +957,47 @@ atomic_xchg_begin:
 
 	/* 8-bit exchange */
 1:	ldb	0(%r24), %r20
+	proberi	(%r24), PRIV_USER, %r20
+	comb,=,n	%r20, %r0, lws_fault /* backwards, likely not taken */
+	nop
 	copy	%r23, %r20
 	depi_safe	0, 31, 2, %r20
 	b	atomic_xchg_start
 2:	stbys,e	%r0, 0(%r20)
-	nop
-	nop
-	nop
 
 	/* 16-bit exchange */
 3:	ldh	0(%r24), %r20
+	proberi	(%r24), PRIV_USER, %r20
+	comb,=,n	%r20, %r0, lws_fault /* backwards, likely not taken */
+	nop
 	copy	%r23, %r20
 	depi_safe	0, 31, 2, %r20
 	b	atomic_xchg_start
 4:	stbys,e	%r0, 0(%r20)
-	nop
-	nop
-	nop
 
 	/* 32-bit exchange */
 5:	ldw	0(%r24), %r20
+	proberi	(%r24), PRIV_USER, %r20
+	comb,=,n	%r20, %r0, lws_fault /* backwards, likely not taken */
+	nop
 	b	atomic_xchg_start
 6:	stbys,e	%r0, 0(%r23)
 	nop
 	nop
-	nop
-	nop
-	nop
 
 	/* 64-bit exchange */
 #ifdef CONFIG_64BIT
 7:	ldd	0(%r24), %r20
+	proberi	(%r24), PRIV_USER, %r20
+	comb,=,n	%r20, %r0, lws_fault /* backwards, likely not taken */
+	nop
 8:	stdby,e	%r0, 0(%r23)
 #else
 7:	ldw	0(%r24), %r20
 8:	ldw	4(%r24), %r20
+	proberi	(%r24), PRIV_USER, %r20
+	comb,=,n	%r20, %r0, lws_fault /* backwards, likely not taken */
+	nop
 	copy	%r23, %r20
 	depi_safe	0, 31, 2, %r20
 9:	stbys,e	%r0, 0(%r20)
arch/parisc/lib/memcpy.c +18 -1
index 5fc0c852c84c..69d65ffab312 100644
@@ -12,6 +12,7 @@
 #include <linux/module.h>
 #include <linux/compiler.h>
 #include <linux/uaccess.h>
+#include <linux/mm.h>
 
 #define get_user_space()	mfsp(SR_USER)
 #define get_kernel_space()	SR_KERNEL
@@ -32,9 +33,25 @@ EXPORT_SYMBOL(raw_copy_to_user);
 unsigned long raw_copy_from_user(void *dst, const void __user *src,
 			       unsigned long len)
 {
+	unsigned long start = (unsigned long) src;
+	unsigned long end = start + len;
+	unsigned long newlen = len;
+
 	mtsp(get_user_space(), SR_TEMP1);
 	mtsp(get_kernel_space(), SR_TEMP2);
-	return pa_memcpy(dst, (void __force *)src, len);
+
+	/* Check region is user accessible */
+	if (start)
+	while (start < end) {
+		if (!prober_user(SR_TEMP1, start)) {
+			newlen = (start - (unsigned long) src);
+			break;
+		}
+		start += PAGE_SIZE;
+		/* align to page boundry which may have different permission */
+		start = PAGE_ALIGN_DOWN(start);
+	}
+	return len - newlen + pa_memcpy(dst, (void __force *)src, newlen);
 }
 EXPORT_SYMBOL(raw_copy_from_user);
 
arch/parisc/mm/fault.c +4 -0
index c39de84e98b0..f1785640b049 100644
@@ -363,6 +363,10 @@ void do_page_fault(struct pt_regs *regs, unsigned long code,
 	mmap_read_unlock(mm);
 
 bad_area_nosemaphore:
+	if (!user_mode(regs) && fixup_exception(regs)) {
+		return;
+	}
+
 	if (user_mode(regs)) {
 		int signo, si_code;
 
arch/powerpc/boot/Makefile +1 -0
index fa8518067d38..60a495771c05 100644
@@ -70,6 +70,7 @@ BOOTCPPFLAGS	:= -nostdinc $(LINUXINCLUDE)
 BOOTCPPFLAGS	+= -isystem $(shell $(BOOTCC) -print-file-name=include)
 
 BOOTCFLAGS	:= $(BOOTTARGETFLAGS) \
+		   -std=gnu11 \
 		   -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
 		   -fno-strict-aliasing -O2 \
 		   -msoft-float -mno-altivec -mno-vsx \
arch/s390/boot/vmem.c +3 -0
index 3fa28db2fe59..14aee8524021 100644
@@ -471,6 +471,9 @@ void setup_vmem(unsigned long kernel_start, unsigned long kernel_end, unsigned l
 			 lowcore_address + sizeof(struct lowcore),
 			 POPULATE_LOWCORE);
 	for_each_physmem_usable_range(i, &start, &end) {
+		/* Do not map lowcore with identity mapping */
+		if (!start)
+			start = sizeof(struct lowcore);
 		pgtable_populate((unsigned long)__identity_va(start),
 				 (unsigned long)__identity_va(end),
 				 POPULATE_IDENTITY);
arch/s390/hypfs/hypfs_dbfs.c +12 -7
index 5d9effb0867c..41a0d2066fa0 100644
@@ -6,6 +6,7 @@
  * Author(s): Michael Holzheu <[email protected]>
  */
 
+#include <linux/security.h>
 #include <linux/slab.h>
 #include "hypfs.h"
 
@@ -66,23 +67,27 @@ static long dbfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 	long rc;
 
 	mutex_lock(&df->lock);
-	if (df->unlocked_ioctl)
-		rc = df->unlocked_ioctl(file, cmd, arg);
-	else
-		rc = -ENOTTY;
+	rc = df->unlocked_ioctl(file, cmd, arg);
 	mutex_unlock(&df->lock);
 	return rc;
 }
 
-static const struct file_operations dbfs_ops = {
+static const struct file_operations dbfs_ops_ioctl = {
 	.read		= dbfs_read,
 	.unlocked_ioctl = dbfs_ioctl,
 };
 
+static const struct file_operations dbfs_ops = {
+	.read		= dbfs_read,
+};
+
 void hypfs_dbfs_create_file(struct hypfs_dbfs_file *df)
 {
-	df->dentry = debugfs_create_file(df->name, 0400, dbfs_dir, df,
-					 &dbfs_ops);
+	const struct file_operations *fops = &dbfs_ops;
+
+	if (df->unlocked_ioctl && !security_locked_down(LOCKDOWN_DEBUGFS))
+		fops = &dbfs_ops_ioctl;
+	df->dentry = debugfs_create_file(df->name, 0400, dbfs_dir, df, fops);
 	mutex_init(&df->lock);
 }
 
arch/x86/coco/sev/shared.c +3 -0
index f5936da235c7..16b799f37d6c 100644
@@ -1285,6 +1285,7 @@ static void svsm_pval_4k_page(unsigned long paddr, bool validate)
 	pc->entry[0].page_size = RMP_PG_SIZE_4K;
 	pc->entry[0].action    = validate;
 	pc->entry[0].ignore_cf = 0;
+	pc->entry[0].rsvd      = 0;
 	pc->entry[0].pfn       = paddr >> PAGE_SHIFT;
 
 	/* Protocol 0, Call ID 1 */
@@ -1373,6 +1374,7 @@ static u64 svsm_build_ca_from_pfn_range(u64 pfn, u64 pfn_end, bool action,
 		pe->page_size = RMP_PG_SIZE_4K;
 		pe->action    = action;
 		pe->ignore_cf = 0;
+		pe->rsvd      = 0;
 		pe->pfn       = pfn;
 
 		pe++;
@@ -1403,6 +1405,7 @@ static int svsm_build_ca_from_psc_desc(struct snp_psc_desc *desc, unsigned int d
 		pe->page_size = e->pagesize ? RMP_PG_SIZE_2M : RMP_PG_SIZE_4K;
 		pe->action    = e->operation == SNP_PAGE_STATE_PRIVATE;
 		pe->ignore_cf = 0;
+		pe->rsvd      = 0;
 		pe->pfn       = e->gfn;
 
 		pe++;
arch/x86/include/asm/xen/hypercall.h +3 -2
index 97771b9d33af..2759524b8ffc 100644
@@ -94,12 +94,13 @@ DECLARE_STATIC_CALL(xen_hypercall, xen_hypercall_func);
 #ifdef MODULE
 #define __ADDRESSABLE_xen_hypercall
 #else
-#define __ADDRESSABLE_xen_hypercall __ADDRESSABLE_ASM_STR(__SCK__xen_hypercall)
+#define __ADDRESSABLE_xen_hypercall \
+	__stringify(.global STATIC_CALL_KEY(xen_hypercall);)
 #endif
 
 #define __HYPERCALL					\
 	__ADDRESSABLE_xen_hypercall			\
-	"call __SCT__xen_hypercall"
+	__stringify(call STATIC_CALL_TRAMP(xen_hypercall))
 
 #define __HYPERCALL_ENTRY(x)	"a" (x)
 
arch/x86/kernel/cpu/hygon.c +3 -0
index c5191b06f9f2..d2157f1d2769 100644
@@ -15,6 +15,7 @@
 #include <asm/cacheinfo.h>
 #include <asm/spec-ctrl.h>
 #include <asm/delay.h>
+#include <asm/resctrl.h>
 
 #include "cpu.h"
 
@@ -116,6 +117,8 @@ static void bsp_init_hygon(struct cpuinfo_x86 *c)
 			x86_amd_ls_cfg_ssbd_mask = 1ULL << 10;
 		}
 	}
+
+	resctrl_cpu_detect(c);
 }
 
 static void early_init_hygon(struct cpuinfo_x86 *c)
arch/x86/kvm/mmu/mmu.c +4 -6
index 8edfb4e4a73d..700926eb77df 100644
@@ -7578,7 +7578,7 @@ static bool kvm_nx_huge_page_recovery_worker(void *data)
 	return true;
 }
 
-static void kvm_mmu_start_lpage_recovery(struct once *once)
+static int kvm_mmu_start_lpage_recovery(struct once *once)
 {
 	struct kvm_arch *ka = container_of(once, struct kvm_arch, nx_once);
 	struct kvm *kvm = container_of(ka, struct kvm, arch);
@@ -7590,12 +7590,13 @@ static void kvm_mmu_start_lpage_recovery(struct once *once)
 				      kvm, "kvm-nx-lpage-recovery");
 
 	if (IS_ERR(nx_thread))
-		return;
+		return PTR_ERR(nx_thread);
 
 	vhost_task_start(nx_thread);
 
 	/* Make the task visible only once it is fully started. */
 	WRITE_ONCE(kvm->arch.nx_huge_page_recovery_thread, nx_thread);
+	return 0;
 }
 
 int kvm_mmu_post_init_vm(struct kvm *kvm)
@@ -7603,10 +7604,7 @@ int kvm_mmu_post_init_vm(struct kvm *kvm)
 	if (nx_hugepage_mitigation_hard_disabled)
 		return 0;
 
-	call_once(&kvm->arch.nx_once, kvm_mmu_start_lpage_recovery);
-	if (!kvm->arch.nx_huge_page_recovery_thread)
-		return -ENOMEM;
-	return 0;
+	return call_once(&kvm->arch.nx_once, kvm_mmu_start_lpage_recovery);
 }
 
 void kvm_mmu_pre_destroy_vm(struct kvm *kvm)
drivers/accel/habanalabs/gaudi2/gaudi2.c +1 -1
index a38b88baadf2..5722e4128d3c 100644
@@ -10437,7 +10437,7 @@ static int gaudi2_memset_device_memory(struct hl_device *hdev, u64 addr, u64 siz
 				(u64 *)(lin_dma_pkts_arr), DEBUGFS_WRITE64);
 	WREG32(sob_addr, 0);
 
-	kfree(lin_dma_pkts_arr);
+	kvfree(lin_dma_pkts_arr);
 
 	return rc;
 }
drivers/acpi/pfr_update.c +1 -1
index 8b2910995fc1..35c7b04bc9d3 100644
@@ -310,7 +310,7 @@ static bool applicable_image(const void *data, struct pfru_update_cap_info *cap,
 	if (type == PFRU_CODE_INJECT_TYPE)
 		return payload_hdr->rt_ver >= cap->code_rt_version;
 
-	return payload_hdr->rt_ver >= cap->drv_rt_version;
+	return payload_hdr->svn_ver >= cap->drv_svn;
 }
 
 static void print_update_debug_info(struct pfru_updated_result *result,
drivers/ata/Kconfig +26 -10
index e00536b49552..120a2b7067fc 100644
@@ -117,23 +117,39 @@ config SATA_AHCI
 
 config SATA_MOBILE_LPM_POLICY
 	int "Default SATA Link Power Management policy"
-	range 0 4
+	range 0 5
 	default 3
 	depends on SATA_AHCI
 	help
 	  Select the Default SATA Link Power Management (LPM) policy to use
 	  for chipsets / "South Bridges" supporting low-power modes. Such
 	  chipsets are ubiquitous across laptops, desktops and servers.
-
-	  The value set has the following meanings:
+	  Each policy combines power saving states and features:
+	   - Partial: The Phy logic is powered but is in a reduced power
+                      state. The exit latency from this state is no longer than
+                      10us).
+	   - Slumber: The Phy logic is powered but is in an even lower power
+                      state. The exit latency from this state is potentially
+		      longer, but no longer than 10ms.
+	   - DevSleep: The Phy logic may be powered down. The exit latency from
+	               this state is no longer than 20 ms, unless otherwise
+		       specified by DETO in the device Identify Device Data log.
+	   - HIPM: Host Initiated Power Management (host automatically
+		   transitions to partial and slumber).
+	   - DIPM: Device Initiated Power Management (device automatically
+		   transitions to partial and slumber).
+
+	  The possible values for the default SATA link power management
+	  policies are:
 		0 => Keep firmware settings
-		1 => Maximum performance
-		2 => Medium power
-		3 => Medium power with Device Initiated PM enabled
-		4 => Minimum power
-
-	  Note "Minimum power" is known to cause issues, including disk
-	  corruption, with some disks and should not be used.
+		1 => No power savings (maximum performance)
+		2 => HIPM (Partial)
+		3 => HIPM (Partial) and DIPM (Partial and Slumber)
+		4 => HIPM (Partial and DevSleep) and DIPM (Partial and Slumber)
+		5 => HIPM (Slumber and DevSleep) and DIPM (Partial and Slumber)
+
+	  Excluding the value 0, higher values represent policies with higher
+	  power savings.
 
 config SATA_AHCI_PLATFORM
 	tristate "Platform AHCI SATA support"
drivers/ata/libata-scsi.c +26 -32

98 lines not on this page · raw message

drivers/base/power/runtime.c +18 -9
index 317505eab126..c7ec69597a95 100644
@@ -1183,10 +1183,12 @@ EXPORT_SYMBOL_GPL(__pm_runtime_resume);
  *
  * Return -EINVAL if runtime PM is disabled for @dev.
  *
- * Otherwise, if the runtime PM status of @dev is %RPM_ACTIVE and either
- * @ign_usage_count is %true or the runtime PM usage counter of @dev is not
- * zero, increment the usage counter of @dev and return 1. Otherwise, return 0
- * without changing the usage counter.
+ * Otherwise, if its runtime PM status is %RPM_ACTIVE and (1) @ign_usage_count
+ * is set, or (2) @dev is not ignoring children and its active child count is
+ * nonero, or (3) the runtime PM usage counter of @dev is not zero, increment
+ * the usage counter of @dev and return 1.
+ *
+ * Otherwise, return 0 without changing the usage counter.
  *
  * If @ign_usage_count is %true, this function can be used to prevent suspending
  * the device when its runtime PM status is %RPM_ACTIVE.
@@ -1208,7 +1210,8 @@ static int pm_runtime_get_conditional(struct device *dev, bool ign_usage_count)
 		retval = -EINVAL;
 	} else if (dev->power.runtime_status != RPM_ACTIVE) {
 		retval = 0;
-	} else if (ign_usage_count) {
+	} else if (ign_usage_count || (!dev->power.ignore_children &&
+		   atomic_read(&dev->power.child_count) > 0)) {
 		retval = 1;
 		atomic_inc(&dev->power.usage_count);
 	} else {
@@ -1241,10 +1244,16 @@ EXPORT_SYMBOL_GPL(pm_runtime_get_if_active);
  * @dev: Target device.
  *
  * Increment the runtime PM usage counter of @dev if its runtime PM status is
- * %RPM_ACTIVE and its runtime PM usage counter is greater than 0, in which case
- * it returns 1. If the device is in a different state or its usage_count is 0,
- * 0 is returned. -EINVAL is returned if runtime PM is disabled for the device,
- * in which case also the usage_count will remain unmodified.
+ * %RPM_ACTIVE and its runtime PM usage counter is greater than 0 or it is not
+ * ignoring children and its active child count is nonzero.  1 is returned in
+ * this case.
+ *
+ * If @dev is in a different state or it is not in use (that is, its usage
+ * counter is 0, or it is ignoring children, or its active child count is 0),
+ * 0 is returned.
+ *
+ * -EINVAL is returned if runtime PM is disabled for the device, in which case
+ * also the usage counter of @dev is not updated.
  */
 int pm_runtime_get_if_in_use(struct device *dev)
 {
drivers/bluetooth/btmtk.c +1 -6
index 05de2e6f563d..07979d47eb76 100644
@@ -642,12 +642,7 @@ static int btmtk_usb_hci_wmt_sync(struct hci_dev *hdev,
 	 * WMT command.
 	 */
 	err = wait_on_bit_timeout(&data->flags, BTMTK_TX_WAIT_VND_EVT,
-				  TASK_INTERRUPTIBLE, HCI_INIT_TIMEOUT);
-	if (err == -EINTR) {
-		bt_dev_err(hdev, "Execution of wmt command interrupted");
-		clear_bit(BTMTK_TX_WAIT_VND_EVT, &data->flags);
-		goto err_free_wc;
-	}
+				  TASK_UNINTERRUPTIBLE, HCI_INIT_TIMEOUT);
 
 	if (err) {
 		bt_dev_err(hdev, "Execution of wmt command timed out");
drivers/bus/mhi/host/boot.c +4 -4
index dedd29ca8db3..05c896b192fd 100644
@@ -31,8 +31,8 @@ int mhi_rddm_prepare(struct mhi_controller *mhi_cntrl,
 	int ret;
 
 	for (i = 0; i < img_info->entries - 1; i++, mhi_buf++, bhi_vec++) {
-		bhi_vec->dma_addr = mhi_buf->dma_addr;
-		bhi_vec->size = mhi_buf->len;
+		bhi_vec->dma_addr = cpu_to_le64(mhi_buf->dma_addr);
+		bhi_vec->size = cpu_to_le64(mhi_buf->len);
 	}
 
 	dev_dbg(dev, "BHIe programming for RDDM\n");
@@ -375,8 +375,8 @@ static void mhi_firmware_copy(struct mhi_controller *mhi_cntrl,
 	while (remainder) {
 		to_cpy = min(remainder, mhi_buf->len);
 		memcpy(mhi_buf->buf, buf, to_cpy);
-		bhi_vec->dma_addr = mhi_buf->dma_addr;
-		bhi_vec->size = to_cpy;
+		bhi_vec->dma_addr = cpu_to_le64(mhi_buf->dma_addr);
+		bhi_vec->size = cpu_to_le64(to_cpy);
 
 		buf += to_cpy;
 		remainder -= to_cpy;
drivers/bus/mhi/host/internal.h +2 -2
index d057e877932e..762df4bb7f64 100644
@@ -25,8 +25,8 @@ struct mhi_ctxt {
 };
 
 struct bhi_vec_entry {
-	u64 dma_addr;
-	u64 size;
+	__le64 dma_addr;
+	__le64 size;
 };
 
 enum mhi_ch_state_type {
drivers/bus/mhi/host/main.c +11 -1
index aa8a0ef697c7..45ec1b585577 100644
@@ -602,7 +602,7 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl,
 	{
 		dma_addr_t ptr = MHI_TRE_GET_EV_PTR(event);
 		struct mhi_ring_element *local_rp, *ev_tre;
-		void *dev_rp;
+		void *dev_rp, *next_rp;
 		struct mhi_buf_info *buf_info;
 		u16 xfer_len;
 
@@ -621,6 +621,16 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl,
 		result.dir = mhi_chan->dir;
 
 		local_rp = tre_ring->rp;
+
+		next_rp = local_rp + 1;
+		if (next_rp >= tre_ring->base + tre_ring->len)
+			next_rp = tre_ring->base;
+		if (dev_rp != next_rp && !MHI_TRE_DATA_GET_CHAIN(local_rp)) {
+			dev_err(&mhi_cntrl->mhi_dev->dev,
+				"Event element points to an unexpected TRE\n");
+			break;
+		}
+
 		while (local_rp != dev_rp) {
 			buf_info = buf_ring->rp;
 			/* If it's the last TRE, get length from the event */
drivers/cdx/controller/cdx_rpmsg.c +1 -2
index 04b578a0be17..61f1a290ff08 100644
@@ -129,8 +129,7 @@ static int cdx_rpmsg_probe(struct rpmsg_device *rpdev)
 
 	chinfo.src = RPMSG_ADDR_ANY;
 	chinfo.dst = rpdev->dst;
-	strscpy(chinfo.name, cdx_rpmsg_id_table[0].name,
-		strlen(cdx_rpmsg_id_table[0].name));
+	strscpy(chinfo.name, cdx_rpmsg_id_table[0].name, sizeof(chinfo.name));
 
 	cdx_mcdi->ept = rpmsg_create_ept(rpdev, cdx_rpmsg_cb, NULL, chinfo);
 	if (!cdx_mcdi->ept) {
drivers/comedi/comedi_fops.c +5 -0
index bd8a44ea62d2..2a65d7fd0375 100644
@@ -1587,6 +1587,9 @@ static int do_insnlist_ioctl(struct comedi_device *dev,
 				memset(&data[n], 0, (MIN_SAMPLES - n) *
 						    sizeof(unsigned int));
 			}
+		} else {
+			memset(data, 0, max_t(unsigned int, n, MIN_SAMPLES) *
+					sizeof(unsigned int));
 		}
 		ret = parse_insn(dev, insns + i, data, file);
 		if (ret < 0)
@@ -1670,6 +1673,8 @@ static int do_insn_ioctl(struct comedi_device *dev,
 			memset(&data[insn->n], 0,
 			       (MIN_SAMPLES - insn->n) * sizeof(unsigned int));
 		}
+	} else {
+		memset(data, 0, n_data * sizeof(unsigned int));
 	}
 	ret = parse_insn(dev, insn, data, file);
 	if (ret < 0)
drivers/comedi/drivers.c +12 -11
index f1dc854928c1..c9ebaadc5e82 100644
@@ -620,11 +620,9 @@ static int insn_rw_emulate_bits(struct comedi_device *dev,
 	unsigned int chan = CR_CHAN(insn->chanspec);
 	unsigned int base_chan = (chan < 32) ? 0 : chan;
 	unsigned int _data[2];
+	unsigned int i;
 	int ret;
 
-	if (insn->n == 0)
-		return 0;
-
 	memset(_data, 0, sizeof(_data));
 	memset(&_insn, 0, sizeof(_insn));
 	_insn.insn = INSN_BITS;
@@ -635,18 +633,21 @@ static int insn_rw_emulate_bits(struct comedi_device *dev,
 	if (insn->insn == INSN_WRITE) {
 		if (!(s->subdev_flags & SDF_WRITABLE))
 			return -EINVAL;
-		_data[0] = 1U << (chan - base_chan);		     /* mask */
-		_data[1] = data[0] ? (1U << (chan - base_chan)) : 0; /* bits */
+		_data[0] = 1U << (chan - base_chan);		/* mask */
 	}
+	for (i = 0; i < insn->n; i++) {
+		if (insn->insn == INSN_WRITE)
+			_data[1] = data[i] ? _data[0] : 0;	/* bits */
 
-	ret = s->insn_bits(dev, s, &_insn, _data);
-	if (ret < 0)
-		return ret;
+		ret = s->insn_bits(dev, s, &_insn, _data);
+		if (ret < 0)
+			return ret;
 
-	if (insn->insn == INSN_READ)
-		data[0] = (_data[1] >> (chan - base_chan)) & 1;
+		if (insn->insn == INSN_READ)
+			data[i] = (_data[1] >> (chan - base_chan)) & 1;
+	}
 
-	return 1;
+	return insn->n;
 }
 
 static int __comedi_device_postconfig_async(struct comedi_device *dev,
drivers/comedi/drivers/pcl726.c +2 -1
index 0430630e6ebb..b542896fa0e4 100644
@@ -328,7 +328,8 @@ static int pcl726_attach(struct comedi_device *dev,
 	 * Hook up the external trigger source interrupt only if the
 	 * user config option is valid and the board supports interrupts.
 	 */
-	if (it->options[1] && (board->irq_mask & (1 << it->options[1]))) {
+	if (it->options[1] > 0 && it->options[1] < 16 &&
+	    (board->irq_mask & (1U << it->options[1]))) {
 		ret = request_irq(it->options[1], pcl726_interrupt, 0,
 				  dev->board_name, dev);
 		if (ret == 0) {
drivers/cpufreq/armada-8k-cpufreq.c +1 -1
index ccbc826cc4c0..e7bb4e9c70e0 100644
@@ -103,7 +103,7 @@ static void armada_8k_cpufreq_free_table(struct freq_table *freq_tables)
 {
 	int opps_index, nb_cpus = num_possible_cpus();
 
-	for (opps_index = 0 ; opps_index <= nb_cpus; opps_index++) {
+	for (opps_index = 0 ; opps_index < nb_cpus; opps_index++) {
 		int i;
 
 		/* If cpu_dev is NULL then we reached the end of the array */
drivers/cpuidle/governors/menu.c +19 -82

184 lines not on this page · raw message

drivers/crypto/caam/ctrl.c +3 -2
index d4b39184dbdb..707760fa1978 100644
@@ -830,7 +830,7 @@ static int caam_ctrl_suspend(struct device *dev)
 {
 	const struct caam_drv_private *ctrlpriv = dev_get_drvdata(dev);
 
-	if (ctrlpriv->caam_off_during_pm && !ctrlpriv->optee_en)
+	if (ctrlpriv->caam_off_during_pm && !ctrlpriv->no_page0)
 		caam_state_save(dev);
 
 	return 0;
@@ -841,7 +841,7 @@ static int caam_ctrl_resume(struct device *dev)
 	struct caam_drv_private *ctrlpriv = dev_get_drvdata(dev);
 	int ret = 0;
 
-	if (ctrlpriv->caam_off_during_pm && !ctrlpriv->optee_en) {
+	if (ctrlpriv->caam_off_during_pm && !ctrlpriv->no_page0) {
 		caam_state_restore(dev);
 
 		/* HW and rng will be reset so deinstantiation can be removed */
@@ -907,6 +907,7 @@ static int caam_probe(struct platform_device *pdev)
 
 		imx_soc_data = imx_soc_match->data;
 		reg_access = reg_access && imx_soc_data->page0_access;
+		ctrlpriv->no_page0 = !reg_access;
 		/*
 		 * CAAM clocks cannot be controlled from kernel.
 		 */
drivers/crypto/caam/intern.h +1 -0
index e51320150872..51c90d17a40d 100644
@@ -115,6 +115,7 @@ struct caam_drv_private {
 	u8 blob_present;	/* Nonzero if BLOB support present in device */
 	u8 mc_en;		/* Nonzero if MC f/w is active */
 	u8 optee_en;		/* Nonzero if OP-TEE f/w is active */
+	u8 no_page0;		/* Nonzero if register page 0 is not controlled by Linux */
 	bool pr_support;        /* RNG prediction resistance available */
 	int secvio_irq;		/* Security violation interrupt number */
 	int virt_en;		/* Virtualization enabled in CAAM */
drivers/crypto/intel/qat/qat_common/adf_common_drv.h +1 -0
index f7ecabdf7805..25c940b06c36 100644
@@ -190,6 +190,7 @@ void adf_exit_misc_wq(void);
 bool adf_misc_wq_queue_work(struct work_struct *work);
 bool adf_misc_wq_queue_delayed_work(struct delayed_work *work,
 				    unsigned long delay);
+void adf_misc_wq_flush(void);
 #if defined(CONFIG_PCI_IOV)
 int adf_sriov_configure(struct pci_dev *pdev, int numvfs);
 void adf_disable_sriov(struct adf_accel_dev *accel_dev);
drivers/crypto/intel/qat/qat_common/adf_init.c +1 -0
index f189cce7d153..46491048e0bb 100644
@@ -404,6 +404,7 @@ static void adf_dev_shutdown(struct adf_accel_dev *accel_dev)
 		hw_data->exit_admin_comms(accel_dev);
 
 	adf_cleanup_etr_data(accel_dev);
+	adf_misc_wq_flush();
 	adf_dev_restore(accel_dev);
 }
 
drivers/crypto/intel/qat/qat_common/adf_isr.c +5 -0
index cae1aee5479a..12e565613661 100644
@@ -407,3 +407,8 @@ bool adf_misc_wq_queue_delayed_work(struct delayed_work *work,
 {
 	return queue_delayed_work(adf_misc_wq, work, delay);
 }
+
+void adf_misc_wq_flush(void)
+{
+	flush_workqueue(adf_misc_wq);
+}
drivers/crypto/intel/qat/qat_common/qat_algs.c +6 -6
index 3c4bba4a8779..d69cc1e5e023 100644
@@ -1277,7 +1277,7 @@ static struct aead_alg qat_aeads[] = { {
 	.base = {
 		.cra_name = "authenc(hmac(sha1),cbc(aes))",
 		.cra_driver_name = "qat_aes_cbc_hmac_sha1",
-		.cra_priority = 4001,
+		.cra_priority = 100,
 		.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY,
 		.cra_blocksize = AES_BLOCK_SIZE,
 		.cra_ctxsize = sizeof(struct qat_alg_aead_ctx),
@@ -1294,7 +1294,7 @@ static struct aead_alg qat_aeads[] = { {
 	.base = {
 		.cra_name = "authenc(hmac(sha256),cbc(aes))",
 		.cra_driver_name = "qat_aes_cbc_hmac_sha256",
-		.cra_priority = 4001,
+		.cra_priority = 100,
 		.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY,
 		.cra_blocksize = AES_BLOCK_SIZE,
 		.cra_ctxsize = sizeof(struct qat_alg_aead_ctx),
@@ -1311,7 +1311,7 @@ static struct aead_alg qat_aeads[] = { {
 	.base = {
 		.cra_name = "authenc(hmac(sha512),cbc(aes))",
 		.cra_driver_name = "qat_aes_cbc_hmac_sha512",
-		.cra_priority = 4001,
+		.cra_priority = 100,
 		.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY,
 		.cra_blocksize = AES_BLOCK_SIZE,
 		.cra_ctxsize = sizeof(struct qat_alg_aead_ctx),
@@ -1329,7 +1329,7 @@ static struct aead_alg qat_aeads[] = { {
 static struct skcipher_alg qat_skciphers[] = { {
 	.base.cra_name = "cbc(aes)",
 	.base.cra_driver_name = "qat_aes_cbc",
-	.base.cra_priority = 4001,
+	.base.cra_priority = 100,
 	.base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY,
 	.base.cra_blocksize = AES_BLOCK_SIZE,
 	.base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx),
@@ -1347,7 +1347,7 @@ static struct skcipher_alg qat_skciphers[] = { {
 }, {
 	.base.cra_name = "ctr(aes)",
 	.base.cra_driver_name = "qat_aes_ctr",
-	.base.cra_priority = 4001,
+	.base.cra_priority = 100,
 	.base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY,
 	.base.cra_blocksize = 1,
 	.base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx),
@@ -1365,7 +1365,7 @@ static struct skcipher_alg qat_skciphers[] = { {
 }, {
 	.base.cra_name = "xts(aes)",
 	.base.cra_driver_name = "qat_aes_xts",
-	.base.cra_priority = 4001,
+	.base.cra_priority = 100,
 	.base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK |
 			  CRYPTO_ALG_ALLOCATES_MEMORY,
 	.base.cra_blocksize = AES_BLOCK_SIZE,
drivers/crypto/marvell/octeontx2/otx2_cpt_reqmgr.h +95 -30

192 lines not on this page · raw message

drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c +21 -14
index 357a7c6ac837..1493a373baf7 100644
@@ -1490,12 +1490,13 @@ int otx2_cpt_discover_eng_capabilities(struct otx2_cptpf_dev *cptpf)
 	union otx2_cpt_opcode opcode;
 	union otx2_cpt_res_s *result;
 	union otx2_cpt_inst_s inst;
+	dma_addr_t result_baddr;
 	dma_addr_t rptr_baddr;
 	struct pci_dev *pdev;
-	u32 len, compl_rlen;
 	int timeout = 10000;
+	void *base, *rptr;
 	int ret, etype;
-	void *rptr;
+	u32 len;
 
 	/*
 	 * We don't get capabilities if it was already done
@@ -1520,22 +1521,28 @@ int otx2_cpt_discover_eng_capabilities(struct otx2_cptpf_dev *cptpf)
 	if (ret)
 		goto delete_grps;
 
-	compl_rlen = ALIGN(sizeof(union otx2_cpt_res_s), OTX2_CPT_DMA_MINALIGN);
-	len = compl_rlen + LOADFVC_RLEN;
+	/* Allocate extra memory for "rptr" and "result" pointer alignment */
+	len = LOADFVC_RLEN + ARCH_DMA_MINALIGN +
+	       sizeof(union otx2_cpt_res_s) + OTX2_CPT_RES_ADDR_ALIGN;
 
-	result = kzalloc(len, GFP_KERNEL);
-	if (!result) {
+	base = kzalloc(len, GFP_KERNEL);
+	if (!base) {
 		ret = -ENOMEM;
 		goto lf_cleanup;
 	}
-	rptr_baddr = dma_map_single(&pdev->dev, (void *)result, len,
-				    DMA_BIDIRECTIONAL);
+
+	rptr = PTR_ALIGN(base, ARCH_DMA_MINALIGN);
+	rptr_baddr = dma_map_single(&pdev->dev, rptr, len, DMA_BIDIRECTIONAL);
 	if (dma_mapping_error(&pdev->dev, rptr_baddr)) {
 		dev_err(&pdev->dev, "DMA mapping failed\n");
 		ret = -EFAULT;
-		goto free_result;
+		goto free_rptr;
 	}
-	rptr = (u8 *)result + compl_rlen;
+
+	result = (union otx2_cpt_res_s *)PTR_ALIGN(rptr + LOADFVC_RLEN,
+						   OTX2_CPT_RES_ADDR_ALIGN);
+	result_baddr = ALIGN(rptr_baddr + LOADFVC_RLEN,
+			     OTX2_CPT_RES_ADDR_ALIGN);
 
 	/* Fill in the command */
 	opcode.s.major = LOADFVC_MAJOR_OP;
@@ -1547,14 +1554,14 @@ int otx2_cpt_discover_eng_capabilities(struct otx2_cptpf_dev *cptpf)
 	/* 64-bit swap for microcode data reads, not needed for addresses */
 	cpu_to_be64s(&iq_cmd.cmd.u);
 	iq_cmd.dptr = 0;
-	iq_cmd.rptr = rptr_baddr + compl_rlen;
+	iq_cmd.rptr = rptr_baddr;
 	iq_cmd.cptr.u = 0;
 
 	for (etype = 1; etype < OTX2_CPT_MAX_ENG_TYPES; etype++) {
 		result->s.compcode = OTX2_CPT_COMPLETION_CODE_INIT;
 		iq_cmd.cptr.s.grp = otx2_cpt_get_eng_grp(&cptpf->eng_grps,
 							 etype);
-		otx2_cpt_fill_inst(&inst, &iq_cmd, rptr_baddr);
+		otx2_cpt_fill_inst(&inst, &iq_cmd, result_baddr);
 		lfs->ops->send_cmd(&inst, 1, &cptpf->lfs.lf[0]);
 		timeout = 10000;
 
@@ -1577,8 +1584,8 @@ int otx2_cpt_discover_eng_capabilities(struct otx2_cptpf_dev *cptpf)
 
 error_no_response:
 	dma_unmap_single(&pdev->dev, rptr_baddr, len, DMA_BIDIRECTIONAL);
-free_result:
-	kfree(result);
+free_rptr:
+	kfree(base);
 lf_cleanup:
 	otx2_cptlf_shutdown(lfs);
 delete_grps:
drivers/fpga/zynq-fpga.c +5 -5
index 4db3d80e10b0..e5272644a4a0 100644
@@ -405,12 +405,12 @@ static int zynq_fpga_ops_write(struct fpga_manager *mgr, struct sg_table *sgt)
 		}
 	}
 
-	priv->dma_nelms =
-	    dma_map_sg(mgr->dev.parent, sgt->sgl, sgt->nents, DMA_TO_DEVICE);
-	if (priv->dma_nelms == 0) {
+	err = dma_map_sgtable(mgr->dev.parent, sgt, DMA_TO_DEVICE, 0);
+	if (err) {
 		dev_err(&mgr->dev, "Unable to DMA map (TO_DEVICE)\n");
-		return -ENOMEM;
+		return err;
 	}
+	priv->dma_nelms = sgt->nents;
 
 	/* enable clock */
 	err = clk_enable(priv->clk);
@@ -478,7 +478,7 @@ static int zynq_fpga_ops_write(struct fpga_manager *mgr, struct sg_table *sgt)
 	clk_disable(priv->clk);
 
 out_free:
-	dma_unmap_sg(mgr->dev.parent, sgt->sgl, sgt->nents, DMA_TO_DEVICE);
+	dma_unmap_sgtable(mgr->dev.parent, sgt, DMA_TO_DEVICE, 0);
 	return err;
 }
 
drivers/gpu/drm/Kconfig +5 -0
index 1160a439e92a..0dd0d996e53e 100644
@@ -105,10 +105,15 @@ config DRM_KMS_HELPER
 	help
 	  CRTC helpers for KMS drivers.
 
+config DRM_DRAW
+	bool
+	depends on DRM
+
 config DRM_PANIC
 	bool "Display a user-friendly message when a kernel panic occurs"
 	depends on DRM
 	select FONT_SUPPORT
+	select DRM_DRAW
 	help
 	  Enable a drm panic handler, which will display a user-friendly message
 	  when a kernel panic occurs. It's useful when using a user-space
drivers/gpu/drm/Makefile +1 -0
index 1ec44529447a..f4a5edf746d2 100644
@@ -89,6 +89,7 @@ drm-$(CONFIG_DRM_PRIVACY_SCREEN) += \
 	drm_privacy_screen_x86.o
 drm-$(CONFIG_DRM_ACCEL) += ../../accel/drm_accel.o
 drm-$(CONFIG_DRM_PANIC) += drm_panic.o
+drm-$(CONFIG_DRM_DRAW) += drm_draw.o
 drm-$(CONFIG_DRM_PANIC_SCREEN_QR_CODE) += drm_panic_qr.o
 obj-$(CONFIG_DRM)	+= drm.o
 
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +2 -3
index 8cf224fd4ff2..373c626247a1 100644
@@ -2387,9 +2387,6 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
 
 	adev->firmware.gpu_info_fw = NULL;
 
-	if (adev->mman.discovery_bin)
-		return 0;
-
 	switch (adev->asic_type) {
 	default:
 		return 0;
@@ -2411,6 +2408,8 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
 		chip_name = "arcturus";
 		break;
 	case CHIP_NAVI12:
+		if (adev->mman.discovery_bin)
+			return 0;
 		chip_name = "navi12";
 		break;
 	}
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +41 -35

131 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +2 -4
index 37d53578825b..0adb106e2c42 100644
@@ -2292,13 +2292,11 @@ void amdgpu_vm_adjust_size(struct amdgpu_device *adev, uint32_t min_vm_size,
  */
 long amdgpu_vm_wait_idle(struct amdgpu_vm *vm, long timeout)
 {
-	timeout = dma_resv_wait_timeout(vm->root.bo->tbo.base.resv,
-					DMA_RESV_USAGE_BOOKKEEP,
-					true, timeout);
+	timeout = drm_sched_entity_flush(&vm->immediate, timeout);
 	if (timeout <= 0)
 		return timeout;
 
-	return dma_fence_wait_timeout(vm->last_unlocked, true, timeout);
+	return drm_sched_entity_flush(&vm->delayed, timeout);
 }
 
 static void amdgpu_vm_destroy_task_info(struct kref *kref)
drivers/gpu/drm/amd/amdgpu/imu_v12_0.c +1 -1
index 1341f0292031..10054d07f20b 100644
@@ -361,7 +361,7 @@ static void program_imu_rlc_ram(struct amdgpu_device *adev,
 static void imu_v12_0_program_rlc_ram(struct amdgpu_device *adev)
 {
 	u32 reg_data, size = 0;
-	const u32 *data;
+	const u32 *data = NULL;
 	int r = -EINVAL;
 
 	WREG32_SOC15(GC, 0, regGFX_IMU_RLC_RAM_INDEX, 0x2);
drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.c +32 -25

72 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/mmhub_v4_1_0.c +13 -21
index f2ab5001b492..951998454b25 100644
@@ -37,39 +37,31 @@
 static const char *mmhub_client_ids_v4_1_0[][2] = {
 	[0][0] = "VMC",
 	[4][0] = "DCEDMC",
-	[5][0] = "DCEVGA",
 	[6][0] = "MP0",
 	[7][0] = "MP1",
 	[8][0] = "MPIO",
-	[16][0] = "HDP",
-	[17][0] = "LSDMA",
-	[18][0] = "JPEG",
-	[19][0] = "VCNU0",
-	[21][0] = "VSCH",
-	[22][0] = "VCNU1",
-	[23][0] = "VCN1",
-	[32+20][0] = "VCN0",
-	[2][1] = "DBGUNBIO",
+	[16][0] = "LSDMA",
+	[17][0] = "JPEG",
+	[19][0] = "VCNU",
+	[22][0] = "VSCH",
+	[23][0] = "HDP",
+	[32+23][0] = "VCNRD",
 	[3][1] = "DCEDWB",
 	[4][1] = "DCEDMC",
-	[5][1] = "DCEVGA",
 	[6][1] = "MP0",
 	[7][1] = "MP1",
 	[8][1] = "MPIO",
 	[10][1] = "DBGU0",
 	[11][1] = "DBGU1",
-	[12][1] = "DBGU2",
-	[13][1] = "DBGU3",
+	[12][1] = "DBGUNBIO",
 	[14][1] = "XDP",
 	[15][1] = "OSSSYS",
-	[16][1] = "HDP",
-	[17][1] = "LSDMA",
-	[18][1] = "JPEG",
-	[19][1] = "VCNU0",
-	[20][1] = "VCN0",
-	[21][1] = "VSCH",
-	[22][1] = "VCNU1",
-	[23][1] = "VCN1",
+	[16][1] = "LSDMA",
+	[17][1] = "JPEG",
+	[18][1] = "VCNWR",
+	[19][1] = "VCNU",
+	[22][1] = "VSCH",
+	[23][1] = "HDP",
 };
 
 static uint32_t mmhub_v4_1_0_get_invalidate_req(unsigned int vmid,
drivers/gpu/drm/amd/amdgpu/soc15.c +2 -0
index 4cbe0da100d8..c162149b5494 100644
@@ -1183,6 +1183,8 @@ static int soc15_common_early_init(void *handle)
 			AMD_PG_SUPPORT_JPEG;
 		/*TODO: need a new external_rev_id for GC 9.4.4? */
 		adev->external_rev_id = adev->rev_id + 0x46;
+		if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 5, 0))
+			adev->external_rev_id = adev->rev_id + 0x50;
 		break;
 	default:
 		/* FIXME: not supported yet */
drivers/gpu/drm/amd/amdkfd/kfd_module.c +1 -1
index aee2212e52f6..33aa23450b3f 100644
@@ -78,8 +78,8 @@ static int kfd_init(void)
 static void kfd_exit(void)
 {
 	kfd_cleanup_processes();
-	kfd_debugfs_fini();
 	kfd_process_destroy_wq();
+	kfd_debugfs_fini();
 	kfd_procfs_shutdown();
 	kfd_topology_shutdown();
 	kfd_chardev_exit();
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +3 -0
index 33a3e5e28fbc..9763752cf5cd 100644
@@ -7583,6 +7583,9 @@ amdgpu_dm_connector_atomic_check(struct drm_connector *conn,
 	struct amdgpu_dm_connector *aconn = to_amdgpu_dm_connector(conn);
 	int ret;
 
+	if (WARN_ON(unlikely(!old_con_state || !new_con_state)))
+		return -EINVAL;
+
 	trace_amdgpu_dm_connector_atomic_check(new_con_state);
 
 	if (conn->connector_type == DRM_MODE_CONNECTOR_DisplayPort) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c +28 -0
index 9a31e5da3687..2d3e62703274 100644
@@ -302,6 +302,25 @@ static inline int amdgpu_dm_crtc_set_vblank(struct drm_crtc *crtc, bool enable)
 	irq_type = amdgpu_display_crtc_idx_to_irq_type(adev, acrtc->crtc_id);
 
 	if (enable) {
+		struct dc *dc = adev->dm.dc;
+		struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc);
+		struct psr_settings *psr = &acrtc_state->stream->link->psr_settings;
+		struct replay_settings *pr = &acrtc_state->stream->link->replay_settings;
+		bool sr_supported = (psr->psr_version != DC_PSR_VERSION_UNSUPPORTED) ||
+								pr->config.replay_supported;
+
+		/*
+		 * IPS & self-refresh feature can cause vblank counter resets between
+		 * vblank disable and enable.
+		 * It may cause system stuck due to waiting for the vblank counter.
+		 * Call this function to estimate missed vblanks by using timestamps and
+		 * update the vblank counter in DRM.
+		 */
+		if (dc->caps.ips_support &&
+			dc->config.disable_ips != DMUB_IPS_DISABLE_ALL &&
+			sr_supported && vblank->config.disable_immediate)
+			drm_crtc_vblank_restore(crtc);
+
 		/* vblank irq on -> Only need vupdate irq in vrr mode */
 		if (amdgpu_dm_crtc_vrr_active(acrtc_state))
 			rc = amdgpu_dm_crtc_set_vupdate_irq(crtc, true);
@@ -664,6 +683,15 @@ static int amdgpu_dm_crtc_helper_atomic_check(struct drm_crtc *crtc,
 		return -EINVAL;
 	}
 
+	if (!state->legacy_cursor_update && amdgpu_dm_crtc_vrr_active(dm_crtc_state)) {
+		struct drm_plane_state *primary_state;
+
+		/* Pull in primary plane for correct VRR handling */
+		primary_state = drm_atomic_get_plane_state(state, crtc->primary);
+		if (IS_ERR(primary_state))
+			return PTR_ERR(primary_state);
+	}
+
 	/* In some use cases, like reset, no stream is attached */
 	if (!dm_crtc_state->stream)
 		return 0;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +1 -1
index 15d94d2a0e2f..97a9b37f78a2 100644
@@ -3932,7 +3932,7 @@ static int capabilities_show(struct seq_file *m, void *unused)
 
 	struct hubbub *hubbub = dc->res_pool->hubbub;
 
-	if (hubbub->funcs->get_mall_en)
+	if (hubbub && hubbub->funcs->get_mall_en)
 		hubbub->funcs->get_mall_en(hubbub, &mall_in_use);
 
 	if (dc->cap_funcs.get_subvp_en)
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c +1 -4
index 3bacf470f7c5..a523c5cfcd24 100644
@@ -174,11 +174,8 @@ static struct graphics_object_id bios_parser_get_connector_id(
 		return object_id;
 	}
 
-	if (tbl->ucNumberOfObjects <= i) {
-		dm_error("Can't find connector id %d in connector table of size %d.\n",
-			 i, tbl->ucNumberOfObjects);
+	if (tbl->ucNumberOfObjects <= i)
 		return object_id;
-	}
 
 	id = le16_to_cpu(tbl->asObjects[i].usObjectID);
 	object_id = object_id_from_bios_object_id(id);
drivers/gpu/drm/amd/display/dc/bios/command_table.c +1 -1
index 2bcae0643e61..58e88778da7f 100644
@@ -993,7 +993,7 @@ static enum bp_result set_pixel_clock_v3(
 	allocation.sPCLKInput.usFbDiv =
 			cpu_to_le16((uint16_t)bp_params->feedback_divider);
 	allocation.sPCLKInput.ucFracFbDiv =
-			(uint8_t)bp_params->fractional_feedback_divider;
+			(uint8_t)(bp_params->fractional_feedback_divider / 100000);
 	allocation.sPCLKInput.ucPostDiv =
 			(uint8_t)bp_params->pixel_clock_post_divider;
 
drivers/gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c +0 -1
index 4c3e58c730b1..a0c1072c59a2 100644
@@ -158,7 +158,6 @@ struct clk_mgr *dc_clk_mgr_create(struct dc_context *ctx, struct pp_smu_funcs *p
 			return NULL;
 		}
 		dce60_clk_mgr_construct(ctx, clk_mgr);
-		dce_clk_mgr_construct(ctx, clk_mgr);
 		return &clk_mgr->base;
 	}
 #endif
drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c +0 -2
index 26feefbb8990..b268c367c27c 100644
@@ -386,8 +386,6 @@ static void dce_pplib_apply_display_requirements(
 {
 	struct dm_pp_display_configuration *pp_display_cfg = &context->pp_display_cfg;
 
-	pp_display_cfg->avail_mclk_switch_time_us = dce110_get_min_vblank_time_us(context);
-
 	dce110_fill_display_configs(context, pp_display_cfg);
 
 	if (memcmp(&dc->current_state->pp_display_cfg, pp_display_cfg, sizeof(*pp_display_cfg)) !=  0)
drivers/gpu/drm/amd/display/dc/clk_mgr/dce110/dce110_clk_mgr.c +23 -17
index f8409453434c..13cf415e38e5 100644
@@ -120,9 +120,15 @@ void dce110_fill_display_configs(
 	const struct dc_state *context,
 	struct dm_pp_display_configuration *pp_display_cfg)
 {
+	struct dc *dc = context->clk_mgr->ctx->dc;
 	int j;
 	int num_cfgs = 0;
 
+	pp_display_cfg->avail_mclk_switch_time_us = dce110_get_min_vblank_time_us(context);
+	pp_display_cfg->disp_clk_khz = dc->clk_mgr->clks.dispclk_khz;
+	pp_display_cfg->avail_mclk_switch_time_in_disp_active_us = 0;
+	pp_display_cfg->crtc_index = dc->res_pool->res_cap->num_timing_generator;
+
 	for (j = 0; j < context->stream_count; j++) {
 		int k;
 
@@ -164,6 +170,23 @@ void dce110_fill_display_configs(
 		cfg->v_refresh /= stream->timing.h_total;
 		cfg->v_refresh = (cfg->v_refresh + stream->timing.v_total / 2)
 							/ stream->timing.v_total;
+
+		/* Find first CRTC index and calculate its line time.
+		 * This is necessary for DPM on SI GPUs.
+		 */
+		if (cfg->pipe_idx < pp_display_cfg->crtc_index) {
+			const struct dc_crtc_timing *timing =
+				&context->streams[0]->timing;
+
+			pp_display_cfg->crtc_index = cfg->pipe_idx;
+			pp_display_cfg->line_time_in_us =
+				timing->h_total * 10000 / timing->pix_clk_100hz;
+		}
+	}
+
+	if (!num_cfgs) {
+		pp_display_cfg->crtc_index = 0;
+		pp_display_cfg->line_time_in_us = 0;
 	}
 
 	pp_display_cfg->display_count = num_cfgs;
@@ -223,25 +246,8 @@ void dce11_pplib_apply_display_requirements(
 	pp_display_cfg->min_engine_clock_deep_sleep_khz
 			= context->bw_ctx.bw.dce.sclk_deep_sleep_khz;
 
-	pp_display_cfg->avail_mclk_switch_time_us =
-						dce110_get_min_vblank_time_us(context);
-	/* TODO: dce11.2*/
-	pp_display_cfg->avail_mclk_switch_time_in_disp_active_us = 0;
-
-	pp_display_cfg->disp_clk_khz = dc->clk_mgr->clks.dispclk_khz;
-
 	dce110_fill_display_configs(context, pp_display_cfg);
 
-	/* TODO: is this still applicable?*/
-	if (pp_display_cfg->display_count == 1) {
-		const struct dc_crtc_timing *timing =
-			&context->streams[0]->timing;
-
-		pp_display_cfg->crtc_index =
-			pp_display_cfg->disp_configs[0].pipe_idx;
-		pp_display_cfg->line_time_in_us = timing->h_total * 10000 / timing->pix_clk_100hz;
-	}
-
 	if (memcmp(&dc->current_state->pp_display_cfg, pp_display_cfg, sizeof(*pp_display_cfg)) !=  0)
 		dm_pp_apply_display_requirements(dc->ctx, pp_display_cfg);
 }
drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c +9 -22
index 0267644717b2..a39641a0ff09 100644
@@ -83,22 +83,13 @@ static const struct state_dependent_clocks dce60_max_clks_by_state[] = {
 static int dce60_get_dp_ref_freq_khz(struct clk_mgr *clk_mgr_base)
 {
 	struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
-	int dprefclk_wdivider;
-	int dp_ref_clk_khz;
-	int target_div;
+	struct dc_context *ctx = clk_mgr_base->ctx;
+	int dp_ref_clk_khz = 0;
 
-	/* DCE6 has no DPREFCLK_CNTL to read DP Reference Clock source */
-
-	/* Read the mmDENTIST_DISPCLK_CNTL to get the currently
-	 * programmed DID DENTIST_DPREFCLK_WDIVIDER*/
-	REG_GET(DENTIST_DISPCLK_CNTL, DENTIST_DPREFCLK_WDIVIDER, &dprefclk_wdivider);
-
-	/* Convert DENTIST_DPREFCLK_WDIVIDERto actual divider*/
-	target_div = dentist_get_divider_from_did(dprefclk_wdivider);
-
-	/* Calculate the current DFS clock, in kHz.*/
-	dp_ref_clk_khz = (DENTIST_DIVIDER_RANGE_SCALE_FACTOR
-		* clk_mgr->base.dentist_vco_freq_khz) / target_div;
+	if (ASIC_REV_IS_TAHITI_P(ctx->asic_id.hw_internal_rev))
+		dp_ref_clk_khz = ctx->dc_bios->fw_info.default_display_engine_pll_frequency;
+	else
+		dp_ref_clk_khz = clk_mgr_base->clks.dispclk_khz;
 
 	return dce_adjust_dp_ref_freq_for_ss(clk_mgr, dp_ref_clk_khz);
 }
@@ -109,8 +100,6 @@ static void dce60_pplib_apply_display_requirements(
 {
 	struct dm_pp_display_configuration *pp_display_cfg = &context->pp_display_cfg;
 
-	pp_display_cfg->avail_mclk_switch_time_us = dce110_get_min_vblank_time_us(context);
-
 	dce110_fill_display_configs(context, pp_display_cfg);
 
 	if (memcmp(&dc->current_state->pp_display_cfg, pp_display_cfg, sizeof(*pp_display_cfg)) !=  0)
@@ -123,11 +112,9 @@ static void dce60_update_clocks(struct clk_mgr *clk_mgr_base,
 {
 	struct clk_mgr_internal *clk_mgr_dce = TO_CLK_MGR_INTERNAL(clk_mgr_base);
 	struct dm_pp_power_level_change_request level_change_req;
-	int patched_disp_clk = context->bw_ctx.bw.dce.dispclk_khz;
-
-	/*TODO: W/A for dal3 linux, investigate why this works */
-	if (!clk_mgr_dce->dfs_bypass_active)
-		patched_disp_clk = patched_disp_clk * 115 / 100;
+	const int max_disp_clk =
+		clk_mgr_dce->max_clks_by_state[DM_PP_CLOCKS_STATE_PERFORMANCE].display_clk_khz;
+	int patched_disp_clk = MIN(max_disp_clk, context->bw_ctx.bw.dce.dispclk_khz);
 
 	level_change_req.power_level = dce_get_required_clocks_state(clk_mgr_base, context);
 	/* get max clock state from PPLIB */
drivers/gpu/drm/amd/display/dc/core/dc.c +24 -10
index f5d938b9504c..84e377113e58 100644
@@ -215,11 +215,24 @@ static bool create_links(
 		connectors_num,
 		num_virtual_links);
 
-	// condition loop on link_count to allow skipping invalid indices
+	/* When getting the number of connectors, the VBIOS reports the number of valid indices,
+	 * but it doesn't say which indices are valid, and not every index has an actual connector.
+	 * So, if we don't find a connector on an index, that is not an error.
+	 *
+	 * - There is no guarantee that the first N indices will be valid
+	 * - VBIOS may report a higher amount of valid indices than there are actual connectors
+	 * - Some VBIOS have valid configurations for more connectors than there actually are
+	 *   on the card. This may be because the manufacturer used the same VBIOS for different
+	 *   variants of the same card.
+	 */
 	for (i = 0; dc->link_count < connectors_num && i < MAX_LINKS; i++) {
+		struct graphics_object_id connector_id = bios->funcs->get_connector_id(bios, i);
 		struct link_init_data link_init_params = {0};
 		struct dc_link *link;
 
+		if (connector_id.id == CONNECTOR_ID_UNKNOWN)
+			continue;
+
 		DC_LOG_DC("BIOS object table - printing link object info for connector number: %d, link_index: %d", i, dc->link_count);
 
 		link_init_params.ctx = dc->ctx;
@@ -890,17 +903,18 @@ static void dc_destruct(struct dc *dc)
 	if (dc->link_srv)
 		link_destroy_link_service(&dc->link_srv);
 
-	if (dc->ctx->gpio_service)
-		dal_gpio_service_destroy(&dc->ctx->gpio_service);
-
-	if (dc->ctx->created_bios)
-		dal_bios_parser_destroy(&dc->ctx->dc_bios);
+	if (dc->ctx) {
+		if (dc->ctx->gpio_service)
+			dal_gpio_service_destroy(&dc->ctx->gpio_service);
 
-	kfree(dc->ctx->logger);
-	dc_perf_trace_destroy(&dc->ctx->perf_trace);
+		if (dc->ctx->created_bios)
+			dal_bios_parser_destroy(&dc->ctx->dc_bios);
+		kfree(dc->ctx->logger);
+		dc_perf_trace_destroy(&dc->ctx->perf_trace);
 
-	kfree(dc->ctx);
-	dc->ctx = NULL;
+		kfree(dc->ctx);
+		dc->ctx = NULL;
+	}
 
 	kfree(dc->bw_vbios);
 	dc->bw_vbios = NULL;
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c +3 -0
index e58e7b93810b..6b7db8ec9a53 100644
@@ -260,6 +260,9 @@ enum mod_hdcp_status mod_hdcp_hdcp1_create_session(struct mod_hdcp *hdcp)
 		return MOD_HDCP_STATUS_FAILURE;
 	}
 
+	if (!display)
+		return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND;
+
 	hdcp_cmd = (struct ta_hdcp_shared_memory *)psp->hdcp_context.context.mem_context.shared_buf;
 
 	mutex_lock(&psp->hdcp_context.mutex);
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +6 -0
index 3fd8da5dc761..b6657abe62fc 100644
@@ -2153,6 +2153,12 @@ static int smu_resume(void *handle)
 
 	adev->pm.dpm_enabled = true;
 
+	if (smu->current_power_limit) {
+		ret = smu_set_power_limit(smu, smu->current_power_limit);
+		if (ret && ret != -EOPNOTSUPP)
+			return ret;
+	}
+
 	dev_info(adev->dev, "SMU is resumed successfully!\n");
 
 	return 0;
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c +25 -5
index e98a6a2f3e6a..d0aed85db18c 100644
@@ -1668,9 +1668,11 @@ static int smu_v14_0_2_get_power_limit(struct smu_context *smu,
 				       uint32_t *min_power_limit)
 {
 	struct smu_table_context *table_context = &smu->smu_table;
+	struct smu_14_0_2_powerplay_table *powerplay_table =
+		table_context->power_play_table;
 	PPTable_t *pptable = table_context->driver_pptable;
 	CustomSkuTable_t *skutable = &pptable->CustomSkuTable;
-	uint32_t power_limit;
+	uint32_t power_limit, od_percent_upper = 0, od_percent_lower = 0;
 	uint32_t msg_limit = pptable->SkuTable.MsgLimits.Power[PPT_THROTTLER_PPT0][POWER_SOURCE_AC];
 
 	if (smu_v14_0_get_current_power_limit(smu, &power_limit))
@@ -1683,11 +1685,29 @@ static int smu_v14_0_2_get_power_limit(struct smu_context *smu,
 	if (default_power_limit)
 		*default_power_limit = power_limit;
 
-	if (max_power_limit)
-		*max_power_limit = msg_limit;
+	if (powerplay_table) {
+		if (smu->od_enabled &&
+		    smu_v14_0_2_is_od_feature_supported(smu, PP_OD_FEATURE_PPT_BIT)) {
+			od_percent_upper = pptable->SkuTable.OverDriveLimitsBasicMax.Ppt;
+			od_percent_lower = pptable->SkuTable.OverDriveLimitsBasicMin.Ppt;
+		} else if (smu_v14_0_2_is_od_feature_supported(smu, PP_OD_FEATURE_PPT_BIT)) {
+			od_percent_upper = 0;
+			od_percent_lower = pptable->SkuTable.OverDriveLimitsBasicMin.Ppt;
+		}
+	}
+
+	dev_dbg(smu->adev->dev, "od percent upper:%d, od percent lower:%d (default power: %d)\n",
+					od_percent_upper, od_percent_lower, power_limit);
+
+	if (max_power_limit) {
+		*max_power_limit = msg_limit * (100 + od_percent_upper);
+		*max_power_limit /= 100;
+	}
 
-	if (min_power_limit)
-		*min_power_limit = 0;
+	if (min_power_limit) {
+		*min_power_limit = power_limit * (100 + od_percent_lower);
+		*min_power_limit /= 100;
+	}
 
 	return 0;
 }
drivers/gpu/drm/display/drm_dp_helper.c +1 -1
index 9fa13da513d2..bb61bbdcce5b 100644
@@ -664,7 +664,7 @@ ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset,
 	 * monitor doesn't power down exactly after the throw away read.
 	 */
 	if (!aux->is_remote) {
-		ret = drm_dp_dpcd_probe(aux, DP_DPCD_REV);
+		ret = drm_dp_dpcd_probe(aux, DP_LANE0_1_STATUS);
 		if (ret < 0)
 			return ret;
 	}
drivers/gpu/drm/drm_draw.c new file +155 -0

155 lines not on this page · raw message

drivers/gpu/drm/drm_draw_internal.h new file +56 -0

56 lines not on this page · raw message

drivers/gpu/drm/drm_format_helper.c +165 -69

221 lines not on this page · raw message

drivers/gpu/drm/drm_format_internal.h new file +127 -0

127 lines not on this page · raw message

drivers/gpu/drm/drm_panic.c +29 -240

269 lines not on this page · raw message

drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c +2 -2
index 9f9b19ea0587..1640609cdbc0 100644

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

drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h +9 -8
index 6b566f3aeecb..6eb0d41a0f68 100644

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

drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c +25 -21

46 lines not on this page · raw message

drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c +17 -12
index 409c551c92af..9e29386700c8 100644

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

drivers/gpu/drm/i915/display/intel_tc.c +49 -9

58 lines not on this page · raw message

drivers/gpu/drm/nouveau/nvif/vmm.c +2 -1
index 99296f03371a..07c1ebc2a941 100644

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

drivers/gpu/drm/tests/drm_format_helper_test.c +91 -85

176 lines not on this page · raw message

drivers/gpu/drm/xe/Kconfig +1 -0
index 93e742c1f21e..f15c27070ff4 100644

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

drivers/hwmon/gsc-hwmon.c +2 -2
index 4514f3ed90cc..3e065e6ab4fc 100644

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

drivers/iio/adc/ad7173.c +2 -1
index 2eebc6f761a6..19b583e00753 100644

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

drivers/iio/adc/ad_sigma_delta.c +2 -2
index 39196a2862cf..5d0bfabc69ea 100644

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

drivers/iio/imu/bno055/bno055.c +8 -3
index ea6519b22b2f..0b2d6ad699f3 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600.h +4 -4
index 18787a43477b..76c3802beda8 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c +16 -17
index 7968aa27f9fd..8da15cde388a 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c +11 -11
index aae7c56481a3..00b9db52ca78 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.h +5 -5
index f6c85daf42b0..ffca4da1e249 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600_core.c +3 -3
index a0bed49c3ba6..73aeddf53b76 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c +21 -22

43 lines not on this page · raw message

drivers/iio/imu/inv_icm42600/inv_icm42600_temp.c +8 -4
index 91f0f381082b..51430b4f5e51 100644

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

drivers/iio/light/adjd_s311.c +1 -1
index c1b43053fbc7..cf96e3dd8bc6 100644

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

drivers/iio/light/as73211.c +2 -2
index 11fbdcdd26d6..36f6f2eb53b2 100644

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

drivers/iio/light/bh1745.c +1 -1
index a025e279df07..617d098d202a 100644

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

drivers/iio/light/isl29125.c +1 -1
index b176bf4c884b..326dc39e7929 100644

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

drivers/iio/light/ltr501.c +1 -1
index 640a5d3aa2c6..8c0b616815b2 100644

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

drivers/iio/light/max44000.c +1 -1
index b935976871a6..e8b767680133 100644

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

drivers/iio/light/rohm-bu27034.c +1 -1
index 76711c3cdf7c..29da3313addb 100644

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

drivers/iio/light/rpr0521.c +1 -1
index 78c08e0bd077..0a5408c12cc0 100644

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

drivers/iio/light/st_uvis25.h +1 -1
index 283086887caf..1f93e3dc45c2 100644

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

drivers/iio/light/tcs3414.c +1 -1
index 4fecdf10aeb1..884e43e4cda4 100644

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

drivers/iio/light/tcs3472.c +1 -1
index 04452b4664f3..afc90b5bb0ec 100644

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

drivers/iio/pressure/bmp280-core.c +5 -4
index a8b97b9b0461..9e46aa65acef 100644

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

drivers/iio/proximity/isl29501.c +11 -5
index dc66ca9bba6b..fde9bdd14506 100644

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

drivers/iio/temperature/maxim_thermocouple.c +16 -10
index 555a61e2f3fd..44fba61ccfe2 100644

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

drivers/infiniband/hw/bnxt_re/ib_verbs.c +2 -6
index 4a3ce61a3bba..b222bf4f38e1 100644

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

drivers/infiniband/hw/bnxt_re/main.c +23 -0
index 9bd837a5b8a1..b213ecca2854 100644

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

drivers/infiniband/hw/bnxt_re/qplib_fp.c +1 -29
index 7436ce551579..0f50c1ffbe01 100644

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

drivers/infiniband/hw/bnxt_re/qplib_fp.h +0 -2
index 6f02954eb142..fd4f9fada46a 100644

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

drivers/infiniband/hw/bnxt_re/qplib_res.c +2 -0
index 02922a0987ad..b785d9e7774c 100644

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

drivers/infiniband/hw/erdma/erdma_verbs.c +3 -1
index e56ba86d460e..a50fb03c9643 100644

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

drivers/infiniband/hw/hns/hns_roce_hw_v2.c +3 -3
index 53fe0ef3883d..6a6daca9f606 100644

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

drivers/infiniband/hw/hns/hns_roce_restrack.c +8 -1
index f637b73b946e..230187dda6a0 100644

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

drivers/infiniband/sw/rxe/rxe_net.c +8 -21
index 8cc64ceeb356..726b67e63301 100644

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

drivers/infiniband/sw/rxe/rxe_qp.c +1 -1
index 8b805b16136e..88fa62cd9ce5 100644

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

drivers/iommu/amd/init.c +2 -2
index ff11cd7e5c06..f5b544e0f230 100644

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

drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +1 -1
index 780e2d9e4ea8..172ce2030197 100644

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

drivers/md/dm-crypt.c +39 -10

49 lines not on this page · raw message

drivers/md/dm.c +13 -4
index c5dcd632404c..a7deeda59a55 100644

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

drivers/media/cec/usb/rainshadow/rainshadow-cec.c +2 -1
index ee870ea1a886..6f8d6797c614 100644

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

drivers/media/i2c/hi556.c +14 -12
index 3c84cf07275f..b915ad6e9f4f 100644

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

drivers/media/i2c/mt9m114.c +0 -8
index 5f0b0ad8f885..c00f9412d08e 100644

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

drivers/media/i2c/ov2659.c +2 -1
index 06b7896c3eaf..586b31ba076b 100644

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

drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c +6 -6
index 051898ce53f4..08148bfc2b4b 100644

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

drivers/media/pci/intel/ivsc/mei_ace.c +2 -0
index 3622271c71c8..50d18b627e15 100644

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

drivers/media/pci/intel/ivsc/mei_csi.c +2 -0
index 2a9c12c975ca..bd3683b5edf6 100644

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

drivers/media/platform/qcom/camss/camss.c +3 -1
index 8c3bce738f2a..d00475d1bc57 100644

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

drivers/media/platform/qcom/venus/core.c +9 -9
index 4d10e94eefe9..e26bb48f335d 100644

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

drivers/media/platform/qcom/venus/core.h +2 -0
index 55202b89e1b9..4a6ff5704c8d 100644

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

drivers/media/platform/qcom/venus/hfi_venus.c +5 -0
index ab93757fff4b..8e2115279601 100644

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

drivers/media/platform/qcom/venus/vdec.c +2 -3
index d12089370d91..6846973a1159 100644

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

drivers/media/platform/qcom/venus/venc.c +2 -3
index 3ec2fb8d9fab..cf5af5ea11e5 100644

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

drivers/media/platform/raspberrypi/pisp_be/Kconfig +1 -0
index 46765a2e4c4d..a9e51fd94aad 100644

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

drivers/media/platform/raspberrypi/pisp_be/pisp_be.c +2 -3
index 65ff2382cffe..49594e539c4f 100644

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

drivers/media/platform/verisilicon/rockchip_vpu_hw.c +0 -9
index 964122e7c355..842040f713c1 100644

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

drivers/media/test-drivers/vivid/vivid-ctrls.c +2 -1
index 2b5c8fbcd0a2..3fb4e08ac725 100644

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

drivers/media/test-drivers/vivid/vivid-vid-cap.c +2 -2
index 0d5919e00075..cc84d2671d84 100644

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

drivers/media/usb/gspca/vicam.c +8 -2
index d98343fd33fe..91e177aa8136 100644

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

drivers/media/usb/usbtv/usbtv-video.c +4 -0
index 702f1c8bd2ab..9dc882c1a780 100644

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

drivers/media/v4l2-core/v4l2-ctrls-core.c +0 -1
index 675642af8601..4cc32685124c 100644

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

drivers/memstick/core/memstick.c +0 -1
index e6801ad14318..2fcc40aa9634 100644

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

drivers/memstick/host/rtsx_usb_ms.c +1 -0
index d99f8922d4ad..3f983d599d23 100644

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

drivers/mmc/host/sdhci-pci-gli.c +21 -16
index 68ce4920e01e..8477b9dd80b7 100644

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

drivers/mmc/host/sdhci_am654.c +18 -0
index 8e0eb0acf442..47344e29a4c9 100644

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

drivers/most/core.c +1 -1
index a635d5082ebb..da319d108ea1 100644

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

drivers/mtd/nand/raw/fsmc_nand.c +2 -0
index 811982da3557..fe5912d31bee 100644

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

drivers/mtd/nand/raw/renesas-nand-controller.c +6 -0
index 0e92d50c5249..ed45d0add3e9 100644

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

drivers/mtd/nand/spi/core.c +4 -1
index 241f6a4df16c..c523a1a22c2b 100644

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

drivers/mtd/spi-nor/swp.c +8 -11
index e48c3cff247a..fdc411f2a23c 100644

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

drivers/net/bonding/bond_3ad.c +49 -18

67 lines not on this page · raw message

drivers/net/bonding/bond_options.c +1 -0
index d1b095af253b..e27d913b487b 100644

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

drivers/net/can/ti_hecc.c +1 -1
index e6d6661a908a..644e8b8eb91e 100644

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

drivers/net/dsa/microchip/ksz_common.c +6 -0
index bf26cd0abf6d..0a34fd6887fc 100644

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

drivers/net/ethernet/google/gve/gve_main.c +2 -0
index 8ea3c7493663..497a19ca198d 100644

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

drivers/net/ethernet/intel/igc/igc_main.c +7 -7
index 2a0c5a343e47..aadc0667fa04 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c +3 -1
index 3e3b471e53f0..b12c487f36cf 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c +2 -2
index 150635de2bd5..0c484120be79 100644

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

drivers/net/ethernet/mediatek/mtk_ppe_offload.c +2 -0
index c855fb799ce1..e9bd32741983 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/dcbnl.h +0 -1
index b59aee75de94..2c98a5299df3 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c +8 -10
index 5ae787656a7c..3efa8bf1d14e 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c +9 -3
index 8705cffc747f..b08328fe1aa3 100644

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

drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c +3 -1
index f8869c9b6802..b0c97648ffc7 100644

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

drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h +87 -0

87 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/port.c +20 -20
index 50931584132b..389b34d56b75 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum.c +2 -0
index 3f5e5d99251b..26401bb57572 100644

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

drivers/net/ethernet/mellanox/mlxsw/trap.h +1 -0
index 83477c8e6971..5bfc1499347a 100644

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

drivers/net/ethernet/microchip/lan865x/lan865x.c +21 -0
index dd436bdff0f8..84c41f193561 100644

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

drivers/net/ethernet/realtek/rtase/rtase.h +1 -1
index 4a4434869b10..b3310e342ccf 100644

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

drivers/net/ethernet/ti/icssg/icssg_prueth.c +41 -31

72 lines not on this page · raw message

drivers/net/ethernet/xilinx/xilinx_axienet_main.c +6 -2
index 2d47b35443af..1775e060d39d 100644

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

drivers/net/phy/mscc/mscc.h +12 -0
index 6a3d8a754eb8..58c6d47fbe04 100644

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

drivers/net/phy/mscc/mscc_main.c +12 -0
index 6f74ce0ab1aa..42cafa68c400 100644

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

drivers/net/phy/mscc/mscc_ptp.c +37 -12

49 lines not on this page · raw message

drivers/net/ppp/ppp_generic.c +11 -6
index 1420c4efa48e..0553b0b356b3 100644

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

drivers/net/usb/asix_devices.c +1 -1
index d9f5942ccc44..792ddda1ad49 100644

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

drivers/net/wireless/ath/ath11k/ce.c +0 -3
index 9d8efec46508..39d9aad33bc6 100644

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

drivers/net/wireless/ath/ath11k/dp_rx.c +0 -3
index 007d86959042..66a00f330734 100644

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

drivers/net/wireless/ath/ath11k/hal.c +29 -4
index f38decae77a9..65e52ab742b4 100644

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

drivers/net/wireless/ath/ath12k/ce.c +0 -3
index 740586fe49d1..b66d23d6b2bd 100644

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

drivers/net/wireless/ath/ath12k/hal.c +32 -6
index 3afb11c7bf18..cc187f59ff1c 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c +1 -1
index d0faba240561..b4bba67a45ec 100644

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

drivers/pci/controller/dwc/pci-imx6.c +26 -6
index 3b24fed3177d..c5254241942d 100644

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

drivers/pci/controller/pcie-rockchip-host.c +27 -22

49 lines not on this page · raw message

drivers/pci/controller/pcie-rockchip.h +1 -10
index 688f51d9bde6..d916fcc8badb 100644

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

drivers/pci/endpoint/pci-ep-cfs.c +1 -0
index d712c7a866d2..ef50c82e647f 100644

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

drivers/pci/endpoint/pci-epf-core.c +1 -1
index 963d2f3aa5d4..9e7166a75579 100644

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

drivers/pci/pcie/portdrv.c +1 -1
index 604c055f6078..ec2c768c687f 100644

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

drivers/phy/qualcomm/phy-qcom-m31.c +10 -4
index 20d4c020a83c..8b0f8a3a059c 100644

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

drivers/platform/chrome/cros_ec.c +3 -0
index e821b3d39590..05b84f3b7f69 100644

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

drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c +5 -0
index 5ab45b751666..9a5ff9163988 100644

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

drivers/pwm/pwm-imx-tpm.c +9 -0
index 7ee7b65b9b90..5b399de16d60 100644

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

drivers/pwm/pwm-mediatek.c +37 -34

71 lines not on this page · raw message

drivers/s390/char/sclp.c +9 -2
index 45bd001206a2..d9899b4d4767 100644

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

drivers/scsi/mpi3mr/mpi3mr.h +5 -1
index ab7c5f1fc041..840195373084 100644

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

drivers/scsi/mpi3mr/mpi3mr_fw.c +12 -5
index 604f37e5c0c3..08c751884b32 100644

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

drivers/scsi/mpi3mr/mpi3mr_os.c +2 -0
index 990646e1e18d..1930e47cbf7b 100644

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

drivers/scsi/qla4xxx/ql4_os.c +2 -0
index 97e9ca5a2a02..59ff6bb11d84 100644

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

drivers/scsi/scsi_lib.c +3 -0
index ce4b428b63f8..a4cafc688c2a 100644

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

drivers/soc/qcom/mdt_loader.c +43 -0

43 lines not on this page · raw message

drivers/soc/tegra/pmc.c +29 -22

51 lines not on this page · raw message

drivers/spi/spi-fsl-lpspi.c +3 -5
index 29b9676fe43d..f8cacb9c7408 100644

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

drivers/staging/media/imx/imx-media-csc-scaler.c +1 -1
index 95cca281e8a3..07104e7f5a5f 100644

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

drivers/tty/serial/8250/8250_port.c +1 -2
index 051967992965..03aca7eaca16 100644

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

drivers/tty/vt/defkeymap.c_shipped +112 -0

112 lines not on this page · raw message

drivers/tty/vt/keyboard.c +1 -1
index 804355da46f5..00caf1c2bcee 100644

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

drivers/ufs/host/ufs-exynos.c +2 -2
index 5ba17ccf6417..6bd1532bfd1d 100644

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

drivers/ufs/host/ufshcd-pci.c +41 -1

42 lines not on this page · raw message

drivers/usb/atm/cxacru.c +49 -57

106 lines not on this page · raw message

drivers/usb/core/hcd.c +12 -8
index 0b2490347b9f..bc795257696e 100644

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

drivers/usb/core/quirks.c +1 -0
index 46db600fdd82..bfd97cad8aa4 100644

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

drivers/usb/dwc3/dwc3-imx8mp.c +6 -1
index e99faf014c78..449c12bb1d4b 100644

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

drivers/usb/dwc3/dwc3-meson-g12a.c +3 -0
index 2c07c038b584..6ea1a876203d 100644

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

drivers/usb/dwc3/dwc3-pci.c +2 -0
index 54a4ee2b90b7..39c72cb52ce7 100644

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

drivers/usb/dwc3/ep0.c +16 -4
index 874497f86499..876a839f2d1d 100644

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

drivers/usb/dwc3/gadget.c +17 -2
index 37ae1dd3345d..c137b2f395c3 100644

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

drivers/usb/gadget/udc/renesas_usb3.c +1 -0
index a93ad93390ba..34685c714473 100644

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

drivers/usb/host/xhci-hub.c +1 -2
index 1952e0503340..69aedce9d67b 100644

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

drivers/usb/host/xhci-mem.c +11 -11
index 1111650757ea..69188afa5266 100644

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

drivers/usb/host/xhci-pci-renesas.c +4 -3
index 65fc9319d5e7..d8bd88139456 100644

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

drivers/usb/host/xhci-ring.c +7 -2
index f6ecb3b9fb14..1002fa51a25a 100644

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

drivers/usb/host/xhci.c +14 -7
index e399638d6000..d5bcd5475b72 100644

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

drivers/usb/host/xhci.h +2 -1
index 11580495e09c..67ee2e049943 100644

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

drivers/usb/musb/omap2430.c +9 -5
index b4a4c1df4e0d..a4668c6d575d 100644

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

drivers/usb/storage/realtek_cr.c +1 -1
index 0c423916d7bf..a026c6cb6e68 100644

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

drivers/usb/storage/unusual_devs.h +29 -0
index 54f0b1c83317..dfa5276a5a43 100644

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

drivers/usb/typec/class.c +4 -3
index 5c75634b8fa3..c9c3dea8ba07 100644

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

drivers/usb/typec/tcpm/fusb302.c +20 -12
index e2fe479e16ad..870a71f953f6 100644

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

drivers/usb/typec/tcpm/maxim_contaminant.c +58 -0

58 lines not on this page · raw message

drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy.c +2 -1
index 726423684bae..18303b34594b 100644

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

drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy_stub.c +2 -1
index df79059cda67..8fac171778da 100644

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

drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c +3 -1
index c37dede62e12..4fc83dcfae64 100644

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

drivers/usb/typec/tcpm/tcpci_maxim.h +1 -0
index 76270d5c2838..b33540a42a95 100644

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

drivers/usb/typec/tcpm/tcpm.c +4 -3
index aa2fa720af15..43e3dac5129f 100644

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

drivers/vhost/vsock.c +4 -2
index 802153e23073..66a0f060770e 100644

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

drivers/video/console/vgacon.c +1 -1
index f9cdbf8c53e3..37bd18730fe0 100644

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

fs/btrfs/block-group.c +35 -24

59 lines not on this page · raw message

fs/btrfs/ctree.c +8 -1
index 3ba15d9c3e88..81735d19feff 100644

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

fs/btrfs/free-space-tree.c +10 -7
index 308abbf8855b..51f286d5d00a 100644

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

fs/btrfs/qgroup.c +27 -11
index 6b181bf9f156..530a2bab6ada 100644

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

fs/btrfs/send.c +205 -154

359 lines not on this page · raw message

fs/btrfs/subpage.c +18 -1
index 88a01d51ab11..71a56aaac7ad 100644

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

fs/btrfs/super.c +8 -5
index 6119a06b0569..69f9d5f5cc3c 100644

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

fs/btrfs/transaction.c +1 -0
index dbef80cd5a9f..1a029392eac5 100644

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

fs/btrfs/zoned.c +9 -4
index 53d8c49ec058..2fdb2987c83a 100644

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

fs/buffer.c +1 -1
index e9e84512a027..79c19ffa4401 100644

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

fs/debugfs/inode.c +10 -1
index 66d9b3b4c588..525f3aa780cd 100644

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

fs/ext4/fsmap.c +20 -3
index 383c6edea6dd..91185c40f755 100644

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

fs/ext4/indirect.c +2 -2
index 7de327fa7b1c..d45124318200 100644

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

fs/ext4/inode.c +1 -1
index 232131804bb8..7923602271ad 100644

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

fs/ext4/orphan.c +3 -2
index e5b47dda3317..a23b0c01f809 100644

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

fs/ext4/super.c +5 -3
index 99117d1e1bdd..722ac723f49b 100644

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

fs/f2fs/node.c +10 -0
index 12c76e3d1cd4..7c2787829369 100644

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

fs/file.c +29 -46

75 lines not on this page · raw message

fs/jbd2/checkpoint.c +1 -0
index b3971e91e8eb..38861ca04899 100644

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

fs/namespace.c +20 -14
index bb1560b0d25c..962fda4fa246 100644

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

fs/netfs/write_collect.c +8 -2
index a968688a7323..c349867d74c3 100644

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

fs/netfs/write_issue.c +2 -2
index bf6d507578e5..b7830a15ae40 100644

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

fs/nfs/pagelist.c +5 -4
index e27c07bd8929..82c3e2ca59a2 100644

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

fs/nfs/write.c +10 -19
index 8ff8db09a1e0..2b6b3542405c 100644

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

fs/overlayfs/copy_up.c +1 -1
index 4388004a319d..a00af67cee98 100644

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

fs/smb/client/smb2ops.c +1 -1
index 4bababee965a..ab911a967246 100644

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

fs/smb/server/connection.c +2 -1
index 9eb3e6010aa6..1c37d1e9aef3 100644

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

fs/smb/server/connection.h +6 -1
index 31dd1caac1e8..2aa8084bb593 100644

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

fs/smb/server/oplock.c +10 -3
index d7a8a580d013..a04d5702820d 100644

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

fs/smb/server/transport_rdma.c +4 -1
index 805c20f619b0..67c989e5ddaa 100644

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

fs/smb/server/transport_rdma.h +3 -1
index 77aee4e5c9dc..a2291b77488a 100644

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

fs/smb/server/transport_tcp.c +23 -3
index d72588f33b9c..756833c91b14 100644

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

fs/splice.c +3 -0
index 38f8c9426731..ed8177f6d620 100644

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

fs/squashfs/super.c +7 -7
index 3a27d4268b3c..494d21777ed0 100644

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

fs/xfs/xfs_itable.c +5 -1
index c0757ab99495..dc395cd2f33b 100644

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

include/drm/drm_format_helper.h +12 -0
index 428d81afe215..2de9974992c3 100644

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

include/linux/call_once.h +34 -13

47 lines not on this page · raw message

include/linux/compiler.h +0 -8
index b15911e201bf..d18542d7e17b 100644

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

include/linux/iosys-map.h +1 -6
index 4696abfd311c..3e85afe794c0 100644

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

include/linux/iov_iter.h +11 -9
index c4aa58032faf..f9a17fbbd398 100644

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

include/linux/kcov.h +9 -38

47 lines not on this page · raw message

include/linux/mlx5/mlx5_ifc.h +12 -2
index 512e25c416ae..2b1a816e4d59 100644

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

include/linux/mlx5/port.h +1 -84

85 lines not on this page · raw message

include/linux/netfs.h +1 -0
index 474481ee8b7c..83d313718cd5 100644

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

include/linux/nfs_page.h +1 -0
index 169b4ae30ff4..9aed39abc94b 100644

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

include/net/bond_3ad.h +1 -0
index 2053cd8e788a..dba369a2cf27 100644

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

include/uapi/linux/pfrut.h +1 -0
index 42fa15f8310d..b77d5c210c26 100644

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

io_uring/futex.c +3 -0
index 01f044f89f8f..a3d2b700b480 100644

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

io_uring/net.c +15 -12
index 356f95c33aa2..b7c93765fcff 100644

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

kernel/cgroup/cpuset.c +5 -4
index d1fb4bfbbd4c..25f9565f798d 100644

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

kernel/sched/ext.c +11 -7
index c801dd20c63d..563a7dc2ece6 100644

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

kernel/trace/ftrace.c +10 -9
index ad7db84b0409..370cde32c696 100644

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

kernel/trace/trace.c +16 -18
index 801def692f92..2f662ca4d3ff 100644

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

kernel/trace/trace.h +8 -2
index 57e1af1d3e6d..9b2ae7652cbc 100644

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

mm/damon/paddr.c +4 -0
index 8813038abc6f..4120a73f4933 100644

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

mm/debug_vm_pgtable.c +7 -2
index bc748f700a9e..80cc409ba78a 100644

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

mm/filemap.c +2 -1
index fa18e71f9c88..ec69fadf014c 100644

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

mm/memory-failure.c +8 -0
index 70b2ccf0d51e..8c8d78d6d306 100644

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

net/bluetooth/hci_conn.c +2 -1
index c6c1232db4e2..dad902047414 100644

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

net/bluetooth/hci_event.c +4 -4
index 38643ffa65a9..768bd5fd808f 100644

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

net/bluetooth/hci_sync.c +13 -6
index bbd809414b2f..af86df9de941 100644

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

net/bridge/br_multicast.c +16 -0
index 733ff6b758f6..0a00c3f57815 100644

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

net/bridge/br_private.h +2 -0
index 6a1bce8959af..5026a256bf92 100644

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

net/core/dev.c +12 -0
index 2ba2160dd093..cfd32bd02a69 100644

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

net/hsr/hsr_slave.c +7 -1
index 464f683e016d..b17909ef6632 100644

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

net/ipv4/netfilter/nf_reject_ipv4.c +2 -4
index 87fd945a0d27..0d3cb2ba6fc8 100644

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

net/ipv6/netfilter/nf_reject_ipv6.c +2 -3
index 9ae2b2725bf9..c3d64c4b69d7 100644

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

net/ipv6/seg6_hmac.c +5 -1
index bbf5b84a70fc..5d21a74c1165 100644

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

net/mptcp/options.c +4 -2
index a97505b78671..7d4718a57bdc 100644

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

net/mptcp/pm_netlink.c +12 -7
index 2a085ec5bfd0..b763729b85e0 100644

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

net/sched/sch_cake.c +12 -2
index 2c2e2a67f3b2..6cbe8a7a0e5c 100644

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

net/sched/sch_htb.c +1 -1
index 1021681a5718..2c13de8bf16f 100644

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

net/smc/af_smc.c +2 -1
index cdd445d40b94..02e08ac1da3a 100644

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

net/tls/tls_sw.c +6 -1
index 6385329ef98d..ee92ce3255f9 100644

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

net/vmw_vsock/virtio_transport.c +10 -2
index f01f9e878106..1ef6f7829d29 100644

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

rust/kernel/alloc/allocator.rs +18 -12
index 439985e29fbc..e4cd29100007 100644

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

rust/kernel/alloc/allocator_test.rs +11 -0
index c37d4c0c64e9..ec13385489df 100644

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

security/apparmor/lsm.c +2 -2
index f5d05297d59e..9a78fd36542d 100644

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

sound/core/timer.c +2 -2
index d774b9b71ce2..a0dcb4ebb059 100644

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

sound/pci/hda/patch_realtek.c +2 -0
index 840cde49935d..b31b15cf453a 100644

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

sound/soc/sof/amd/acp-loader.c +3 -3
index 077af9e2af8d..5cc7d9880180 100644

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

sound/usb/stream.c +1 -1
index 1cb52373e70f..db2c9bac00ad 100644

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

sound/usb/validate.c +1 -1
index 4f4e8e87a14c..a0d55b77c994 100644

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

tools/testing/selftests/net/mptcp/pm_netlink.sh +1 -0
index 2e6648a2b2c0..ac7ec6f94023 100755

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

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

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