Skip to contentSkip to conversation

Linux 6.6.15

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

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.6.15 kernel.

All users of the 6.6 kernel series must upgrade.

The updated 6.6.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.6.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/ABI/testing/sysfs-class-devfreq                          |    3 
 Documentation/admin-guide/abi-obsolete.rst                             |    2 
 Documentation/admin-guide/abi-removed.rst                              |    2 
 Documentation/admin-guide/abi-stable.rst                               |    2 
 Documentation/admin-guide/abi-testing.rst                              |    2 
 Documentation/admin-guide/features.rst                                 |    2 
 Documentation/arch/arc/features.rst                                    |    2 
 Documentation/arch/arm/features.rst                                    |    2 
 Documentation/arch/arm64/features.rst                                  |    2 
 Documentation/arch/arm64/silicon-errata.rst                            |    2 
 Documentation/arch/loongarch/features.rst                              |    2 
 Documentation/arch/m68k/features.rst                                   |    2 
 Documentation/arch/mips/features.rst                                   |    2 
 Documentation/arch/nios2/features.rst                                  |    2 
 Documentation/arch/openrisc/features.rst                               |    2 
 Documentation/arch/parisc/features.rst                                 |    2 
 Documentation/arch/s390/features.rst                                   |    2 
 Documentation/arch/sh/features.rst                                     |    2 
 Documentation/arch/sparc/features.rst                                  |    2 
 Documentation/arch/x86/features.rst                                    |    2 
 Documentation/arch/xtensa/features.rst                                 |    2 
 Documentation/devicetree/bindings/net/snps,dwmac.yaml                  |    5 
 Documentation/filesystems/directory-locking.rst                        |   29 
 Documentation/filesystems/locking.rst                                  |    5 
 Documentation/filesystems/porting.rst                                  |   18 
 Documentation/gpu/drm-kms.rst                                          |    2 
 Documentation/gpu/todo.rst                                             |    7 
 Documentation/powerpc/features.rst                                     |    2 
 Documentation/riscv/features.rst                                       |    2 
 Documentation/sphinx/kernel_abi.py                                     |   56 
 Documentation/sphinx/kernel_feat.py                                    |   55 
 Documentation/translations/zh_CN/arch/loongarch/features.rst           |    2 
 Documentation/translations/zh_CN/arch/mips/features.rst                |    2 
 Documentation/translations/zh_TW/dev-tools/index.rst                   |   40 
 Documentation/translations/zh_TW/dev-tools/sparse.txt                  |   91 +
 Documentation/translations/zh_TW/index.rst                             |    2 
 Documentation/translations/zh_TW/sparse.txt                            |   91 -
 Makefile                                                               |    2 
 arch/alpha/kernel/rtc.c                                                |    2 
 arch/arm/boot/dts/nxp/imx/imx6q-apalis-ixora-v1.2.dts                  |    2 
 arch/arm/boot/dts/qcom/qcom-sdx55.dtsi                                 |   10 
 arch/arm/boot/dts/samsung/exynos4210-i9100.dts                         |    8 
 arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi                         |    1 
 arch/arm64/Kconfig                                                     |   18 
 arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts                   |    1 
 arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts                  |    1 
 arch/arm64/boot/dts/qcom/msm8916.dtsi                                  |    1 
 arch/arm64/boot/dts/qcom/msm8939.dtsi                                  |    1 
 arch/arm64/boot/dts/qcom/msm8953-xiaomi-mido.dts                       |    1 
 arch/arm64/boot/dts/qcom/msm8953-xiaomi-tissot.dts                     |    1 
 arch/arm64/boot/dts/qcom/msm8953-xiaomi-vince.dts                      |    1 
 arch/arm64/boot/dts/qcom/sc7180.dtsi                                   |    4 
 arch/arm64/boot/dts/qcom/sc7280.dtsi                                   |    4 
 arch/arm64/boot/dts/qcom/sc8180x.dtsi                                  |   16 
 arch/arm64/boot/dts/qcom/sc8280xp-crd.dts                              |    2 
 arch/arm64/boot/dts/qcom/sdm670.dtsi                                   |    8 
 arch/arm64/boot/dts/qcom/sdm845.dtsi                                   |   16 
 arch/arm64/boot/dts/qcom/sm8150.dtsi                                   |   16 
 arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts           |    4 
 arch/arm64/boot/dts/rockchip/rk3588s.dtsi                              |    1 
 arch/arm64/boot/dts/sprd/ums512.dtsi                                   |    4 
 arch/arm64/boot/install.sh                                             |    3 
 arch/arm64/kernel/cpu_errata.c                                         |   21 
 arch/arm64/kernel/entry.S                                              |   22 
 arch/arm64/kernel/fpsimd.c                                             |    6 
 arch/arm64/tools/cpucaps                                               |    2 
 arch/loongarch/kernel/smp.c                                            |    3 
 arch/mips/kernel/elf.c                                                 |    6 
 arch/mips/lantiq/prom.c                                                |    7 
 arch/mips/mm/init.c                                                    |   12 
 arch/parisc/kernel/firmware.c                                          |    4 
 arch/powerpc/configs/ps3_defconfig                                     |    1 
 arch/riscv/include/asm/pgtable.h                                       |    2 
 arch/riscv/include/asm/processor.h                                     |    2 
 arch/riscv/kernel/pi/cmdline_early.c                                   |    3 
 arch/s390/crypto/aes_s390.c                                            |    4 
 arch/s390/crypto/paes_s390.c                                           |    4 
 arch/sh/boards/mach-ecovec24/setup.c                                   |    2 
 arch/x86/include/asm/syscall_wrapper.h                                 |   25 
 arch/x86/kernel/hpet.c                                                 |    2 
 arch/x86/kernel/rtc.c                                                  |    2 
 block/ioctl.c                                                          |    2 
 block/partitions/core.c                                                |    5 
 crypto/algapi.c                                                        |    1 
 drivers/base/power/main.c                                              |  148 -
 drivers/base/power/trace.c                                             |    2 
 drivers/block/nbd.c                                                    |    6 
 drivers/block/rbd.c                                                    |   22 
 drivers/bus/mhi/host/main.c                                            |   29 
 drivers/char/hw_random/core.c                                          |   34 
 drivers/cpufreq/amd-pstate.c                                           |    7 
 drivers/cpufreq/intel_pstate.c                                         |   55 
 drivers/cxl/core/region.c                                              |    4 
 drivers/devfreq/devfreq.c                                              |   57 
 drivers/dma/dmaengine.c                                                |    3 
 drivers/dma/fsl-edma-main.c                                            |    8 
 drivers/dma/idxd/device.c                                              |    9 
 drivers/firmware/arm_scmi/common.h                                     |    1 
 drivers/firmware/arm_scmi/mailbox.c                                    |   14 
 drivers/firmware/arm_scmi/perf.c                                       |   23 
 drivers/firmware/arm_scmi/raw_mode.c                                   |   12 
 drivers/firmware/arm_scmi/shmem.c                                      |    6 
 drivers/firmware/sysfb.c                                               |    2 
 drivers/gpio/gpio-eic-sprd.c                                           |   32 
 drivers/gpio/gpiolib-acpi.c                                            |   14 
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                                |    2 
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c                                 |   17 
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c                                 |    5 
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c                       |    1 
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c                       |    1 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c              |    5 
 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c         |   21 
 drivers/gpu/drm/amd/display/dc/link/link_dpms.c                        |    8 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_dpcd.c              |    4 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c |   11 
 drivers/gpu/drm/amd/display/modules/power/power_helpers.c              |    2 
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c                              |   13 
 drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c                         |    2 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c                         |    2 
 drivers/gpu/drm/bridge/analogix/anx7625.c                              |    7 
 drivers/gpu/drm/bridge/analogix/anx7625.h                              |    2 
 drivers/gpu/drm/bridge/nxp-ptn3460.c                                   |    6 
 drivers/gpu/drm/bridge/parade-ps8640.c                                 |   23 
 drivers/gpu/drm/bridge/samsung-dsim.c                                  |   32 
 drivers/gpu/drm/bridge/sii902x.c                                       |   42 
 drivers/gpu/drm/drm_damage_helper.c                                    |    3 
 drivers/gpu/drm/drm_plane.c                                            |   14 
 drivers/gpu/drm/exynos/exynos5433_drm_decon.c                          |    4 
 drivers/gpu/drm/exynos/exynos_drm_fimd.c                               |    4 
 drivers/gpu/drm/exynos/exynos_drm_gsc.c                                |    2 
 drivers/gpu/drm/i915/display/icl_dsi.c                                 |    3 
 drivers/gpu/drm/i915/display/intel_psr.c                               |   22 
 drivers/gpu/drm/nouveau/nouveau_vmm.c                                  |    3 
 drivers/gpu/drm/panel/panel-edp.c                                      |    7 
 drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c                          |    2 
 drivers/gpu/drm/panel/panel-simple.c                                   |    2 
 drivers/gpu/drm/qxl/qxl_drv.c                                          |    2 
 drivers/gpu/drm/tidss/tidss_crtc.c                                     |   10 
 drivers/gpu/drm/vboxvideo/vbox_drv.c                                   |    2 
 drivers/gpu/drm/virtio/virtgpu_drv.c                                   |    2 
 drivers/gpu/drm/virtio/virtgpu_plane.c                                 |   10 
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                                    |    2 
 drivers/iio/adc/ad7091r-base.c                                         |  169 +
 drivers/iio/adc/ad7091r-base.h                                         |    8 
 drivers/iio/adc/ad7091r5.c                                             |   28 
 drivers/media/common/videobuf2/videobuf2-dma-sg.c                      |   10 
 drivers/media/i2c/imx290.c                                             |   42 
 drivers/media/i2c/imx355.c                                             |   12 
 drivers/media/i2c/ov01a10.c                                            |   18 
 drivers/media/i2c/ov13b10.c                                            |   14 
 drivers/media/i2c/ov9734.c                                             |   19 
 drivers/media/i2c/st-mipid02.c                                         |    9 
 drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c                   |   12 
 drivers/media/v4l2-core/v4l2-cci.c                                     |   52 
 drivers/mmc/core/block.c                                               |   46 
 drivers/mmc/host/mmc_spi.c                                             |  186 --
 drivers/mtd/maps/vmu-flash.c                                           |    2 
 drivers/mtd/nand/raw/nand_base.c                                       |   87 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                              |    8 
 drivers/net/ethernet/engleder/tsnep_main.c                             |   17 
 drivers/net/ethernet/freescale/fec_main.c                              |    2 
 drivers/net/ethernet/intel/i40e/i40e_main.c                            |   47 
 drivers/net/ethernet/intel/i40e/i40e_txrx.c                            |   49 
 drivers/net/ethernet/intel/i40e/i40e_xsk.c                             |    4 
 drivers/net/ethernet/intel/ice/ice_base.c                              |   37 
 drivers/net/ethernet/intel/ice/ice_txrx.c                              |   19 
 drivers/net/ethernet/intel/ice/ice_txrx.h                              |    1 
 drivers/net/ethernet/intel/ice/ice_txrx_lib.h                          |   31 
 drivers/net/ethernet/intel/ice/ice_xsk.c                               |    4 
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c                        |   27 
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c                          |    5 
 drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c            |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en/params.c                    |    4 
 drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c                       |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c               |   10 
 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c                      |   26 
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                        |    3 
 drivers/net/ethernet/mellanox/mlx5/core/esw/bridge_mcast.c             |   14 
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c                       |    2 
 drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c                      |    2 
 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c           |   17 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                      |   43 
 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c                  |    3 
 drivers/net/fjes/fjes_hw.c                                             |   37 
 drivers/net/hyperv/netvsc_drv.c                                        |    4 
 drivers/net/phy/micrel.c                                               |   11 
 drivers/net/tun.c                                                      |   10 
 drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c                       |    4 
 drivers/opp/core.c                                                     |    6 
 drivers/parisc/power.c                                                 |    2 
 drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c  |   82 
 drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.h  |   32 
 drivers/platform/x86/p2sb.c                                            |  180 +-
 drivers/rpmsg/virtio_rpmsg_bus.c                                       |    1 
 drivers/rtc/rtc-cmos.c                                                 |   28 
 drivers/rtc/rtc-mc146818-lib.c                                         |   39 
 drivers/s390/crypto/vfio_ap_ops.c                                      |  269 ++-
 drivers/s390/crypto/vfio_ap_private.h                                  |    3 
 drivers/scsi/scsi_error.c                                              |    9 
 drivers/soc/fsl/qe/qmc.c                                               |   35 
 drivers/soc/fsl/qe/tsa.c                                               |   22 
 drivers/soc/qcom/pmic_glink_altmode.c                                  |    4 
 drivers/soundwire/amd_manager.c                                        |    8 
 drivers/soundwire/bus.c                                                |    4 
 drivers/soundwire/debugfs.c                                            |    2 
 drivers/soundwire/intel_auxdevice.c                                    |    3 
 drivers/soundwire/master.c                                             |    2 
 drivers/soundwire/qcom.c                                               |    3 
 drivers/soundwire/slave.c                                              |   12 
 drivers/spi/spi-bcm-qspi.c                                             |    4 
 drivers/spi/spi-cadence.c                                              |   17 
 drivers/spi/spi-intel-pci.c                                            |    1 
 drivers/spi/spi.c                                                      |    4 
 drivers/thermal/gov_bang_bang.c                                        |   23 
 drivers/thermal/gov_fair_share.c                                       |    5 
 drivers/thermal/gov_power_allocator.c                                  |   13 
 drivers/thermal/gov_step_wise.c                                        |   16 
 drivers/thermal/intel/intel_hfi.c                                      |  106 -
 drivers/thermal/thermal_core.c                                         |   15 
 drivers/thermal/thermal_core.h                                         |    4 
 drivers/thermal/thermal_helpers.c                                      |    5 
 drivers/thermal/thermal_sysfs.c                                        |    3 
 drivers/thermal/thermal_trip.c                                         |   16 
 drivers/tty/serial/imx.c                                               |    4 
 drivers/tty/serial/sc16is7xx.c                                         |  389 ++--
 drivers/tty/serial/serial_core.c                                       |   58 
 drivers/tty/serial/stm32-usart.c                                       |    8 
 drivers/ufs/core/ufshcd.c                                              |    7 
 fs/afs/dir.c                                                           |    8 
 fs/btrfs/extent-tree.c                                                 |   53 
 fs/btrfs/inode.c                                                       |   22 
 fs/btrfs/ioctl.c                                                       |    7 
 fs/btrfs/ref-verify.c                                                  |    6 
 fs/btrfs/scrub.c                                                       |   29 
 fs/btrfs/sysfs.c                                                       |    4 
 fs/btrfs/tree-checker.c                                                |    2 
 fs/btrfs/zoned.c                                                       |    8 
 fs/dlm/lowcomms.c                                                      |   14 
 fs/erofs/decompressor.c                                                |   31 
 fs/exec.c                                                              |    3 
 fs/ext4/mballoc.c                                                      |   15 
 fs/fscache/cache.c                                                     |    3 
 fs/ioctl.c                                                             |    3 
 fs/namei.c                                                             |   60 
 fs/nfsd/nfs4state.c                                                    |   26 
 fs/pipe.c                                                              |   19 
 fs/smb/client/cifs_debug.c                                             |    5 
 fs/smb/client/cifsglob.h                                               |    2 
 fs/smb/client/cifsproto.h                                              |    5 
 fs/smb/client/connect.c                                                |   31 
 fs/smb/client/sess.c                                                   |   96 -
 fs/smb/client/smb2ops.c                                                |   10 
 fs/smb/client/smb2pdu.c                                                |  162 +
 fs/smb/client/smb2transport.c                                          |    8 
 fs/smb/client/transport.c                                              |    2 
 fs/smb/server/connection.c                                             |    1 
 fs/smb/server/ksmbd_netlink.h                                          |    3 
 fs/smb/server/oplock.c                                                 |   16 
 fs/smb/server/smb2pdu.c                                                |    8 
 fs/smb/server/transport_ipc.c                                          |    4 
 fs/ubifs/dir.c                                                         |    2 
 fs/xfs/xfs_super.c                                                     |   27 
 include/drm/drm_drv.h                                                  |    9 
 include/drm/drm_file.h                                                 |   12 
 include/drm/drm_plane.h                                                |   10 
 include/linux/async.h                                                  |    2 
 include/linux/bpf-cgroup.h                                             |   73 
 include/linux/bpf_verifier.h                                           |   32 
 include/linux/filter.h                                                 |    1 
 include/linux/lsm_hook_defs.h                                          |    2 
 include/linux/mc146818rtc.h                                            |    3 
 include/linux/mlx5/fs.h                                                |    2 
 include/linux/mlx5/mlx5_ifc.h                                          |    2 
 include/linux/mmzone.h                                                 |   14 
 include/linux/mtd/rawnand.h                                            |    2 
 include/linux/pipe_fs_i.h                                              |   16 
 include/linux/rmap.h                                                   |    4 
 include/linux/security.h                                               |    9 
 include/linux/serial_core.h                                            |   79 
 include/linux/skmsg.h                                                  |    6 
 include/linux/soundwire/sdw.h                                          |    4 
 include/linux/stmmac.h                                                 |    1 
 include/linux/syscalls.h                                               |    1 
 include/media/v4l2-cci.h                                               |   11 
 include/net/inet_connection_sock.h                                     |    8 
 include/net/inet_sock.h                                                |    5 
 include/net/llc_pdu.h                                                  |    6 
 include/net/sch_generic.h                                              |    4 
 include/net/sock.h                                                     |   18 
 include/net/xdp_sock_drv.h                                             |   27 
 include/uapi/linux/btrfs.h                                             |    3 
 kernel/async.c                                                         |   85 
 kernel/bpf/btf.c                                                       |    1 
 kernel/bpf/cgroup.c                                                    |   17 
 kernel/bpf/verifier.c                                                  |  875 +++++++---
 kernel/irq/irqdesc.c                                                   |    2 
 kernel/kexec_core.c                                                    |    1 
 kernel/power/swap.c                                                    |   38 
 kernel/rcu/tree.c                                                      |   34 
 kernel/rcu/tree_exp.h                                                  |    3 
 kernel/time/clocksource.c                                              |   25 
 kernel/time/tick-sched.c                                               |    5 
 kernel/trace/tracing_map.c                                             |    7 
 lib/crypto/mpi/ec.c                                                    |    3 
 mm/memblock.c                                                          |    3 
 mm/migrate.c                                                           |   65 
 mm/mm_init.c                                                           |    6 
 mm/page_alloc.c                                                        |   16 
 mm/sparse.c                                                            |   17 
 net/8021q/vlan_netlink.c                                               |    4 
 net/core/dev.c                                                         |    9 
 net/core/dev.h                                                         |    3 
 net/core/filter.c                                                      |   79 
 net/core/request_sock.c                                                |    3 
 net/core/sock.c                                                        |   11 
 net/ipv4/af_inet.c                                                     |   12 
 net/ipv4/inet_connection_sock.c                                        |    4 
 net/ipv4/ping.c                                                        |    2 
 net/ipv4/tcp.c                                                         |    1 
 net/ipv4/tcp_ipv4.c                                                    |    2 
 net/ipv4/udp.c                                                         |    9 
 net/ipv6/af_inet6.c                                                    |   12 
 net/ipv6/ping.c                                                        |    2 
 net/ipv6/tcp_ipv6.c                                                    |    2 
 net/ipv6/udp.c                                                         |    6 
 net/llc/af_llc.c                                                       |   24 
 net/llc/llc_core.c                                                     |    7 
 net/mac80211/sta_info.c                                                |    5 
 net/netfilter/nf_tables_api.c                                          |   20 
 net/netfilter/nft_chain_filter.c                                       |   11 
 net/netfilter/nft_compat.c                                             |   12 
 net/netfilter/nft_flow_offload.c                                       |    5 
 net/netfilter/nft_limit.c                                              |   23 
 net/netfilter/nft_nat.c                                                |    5 
 net/netfilter/nft_rt.c                                                 |    5 
 net/netfilter/nft_socket.c                                             |    5 
 net/netfilter/nft_synproxy.c                                           |    7 
 net/netfilter/nft_tproxy.c                                             |    5 
 net/netfilter/nft_xfrm.c                                               |    5 
 net/netlink/af_netlink.c                                               |    2 
 net/rds/af_rds.c                                                       |    2 
 net/sched/cls_api.c                                                    |    9 
 net/sched/cls_flower.c                                                 |   23 
 net/smc/smc_diag.c                                                     |    2 
 net/sunrpc/svcsock.c                                                   |    4 
 net/xdp/xsk.c                                                          |   12 
 net/xdp/xsk_buff_pool.c                                                |    1 
 scripts/get_abi.pl                                                     |    2 
 security/security.c                                                    |   18 
 security/selinux/hooks.c                                               |   28 
 security/smack/smack_lsm.c                                             |    1 
 security/tomoyo/tomoyo.c                                               |    1 
 sound/soc/intel/boards/sof_sdw.c                                       |    4 
 tools/testing/selftests/bpf/prog_tests/verifier.c                      |    2 
 tools/testing/selftests/bpf/progs/cb_refs.c                            |    1 
 tools/testing/selftests/bpf/progs/iters.c                              |  695 +++++++
 tools/testing/selftests/bpf/progs/strobemeta.h                         |   78 
 tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c       |  242 ++
 tools/testing/selftests/bpf/progs/verifier_subprog_precision.c         |   86 
 tools/testing/selftests/bpf/progs/xdp_synproxy_kern.c                  |   84 
 tools/testing/selftests/drivers/net/bonding/bond_options.sh            |    8 
 tools/testing/selftests/drivers/net/bonding/settings                   |    2 
 tools/testing/selftests/drivers/net/netdevsim/udp_tunnel_nic.sh        |    9 
 tools/testing/selftests/mm/hugepage-vmemmap.c                          |   29 
 tools/testing/selftests/net/config                                     |   28 
 tools/testing/selftests/net/rps_default_mask.sh                        |    6 
 tools/testing/selftests/net/so_incoming_cpu.c                          |   68 
 367 files changed, 5837 insertions(+), 2282 deletions(-)

Al Viro (1):
rename(): fix the locking of subdirectories

Alain Volmat (1):
media: i2c: st-mipid02: correct format propagation

Aleksander Jan Bajkowski (1):
MIPS: lantiq: register smp_ops on non-smp platforms

Alex Deucher (2):
drm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs drm/amdgpu/gfx11: set UNORD_DISPATCH in compute MQDs

Alexander Stein (2):
media: v4l2-cci: Add support for little-endian encoded registers
media: i2c: imx290: Properly encode registers as little-endian

Alfred Piccioni (1):
lsm: new security_file_ioctl_compat() hook

Amelie Delaunay (1):
dmaengine: fix NULL pointer in channel unregistration function

Amit Kumar Mahapatra (1):
spi: spi-cadence: Reverse the order of interleaved write and read operations

Andrejs Cainikovs (1):
ARM: dts: imx6q-apalis: add can power-up delay on ixora board

Andy Shevchenko (2):
serial: core: Simplify uart_get_rs485_mode()
mmc: mmc_spi: remove custom DMA mapped buffers

Anthony Krowiak (1):
s390/vfio-ap: unpin pages on gisc registration failure

Arnd Bergmann (1):
drm/exynos: fix accidental on-stack copy of exynos_drm_plane

Artur Weber (2):
drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02
ARM: dts: exynos4212-tab3: add samsung,invert-vclk flag to fimd

Avri Altman (1):
mmc: core: Use mrq.sbc in close-ended ffu

Baolin Wang (2):
mm: migrate: record the mlocked page status to remove unnecessary lru drain
mm: migrate: fix getting incorrect page mapping during page migration

Bart Van Assche (1):
scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan()

Benjamin Poirier (1):
selftests: bonding: Increase timeout to 1200s

Bernd Edlinger (2):
net: stmmac: Wait a bit for the reset to take effect
exec: Fix error handling in begin_new_exec()

Bhaumik Bhatt (1):
bus: mhi: host: Add spinlock to protect WP access when queueing TREs

Bingbu Cao (4):
media: imx355: Enable runtime PM before registering async sub-device
media: ov9734: Enable runtime PM before registering async sub-device
media: ov13b10: Enable runtime PM before registering async sub-device
media: ov01a10: Enable runtime PM before registering async sub-device

Charan Teja Kalla (2):
mm/sparsemem: fix race in accessing memory_section->usage
mm: page_alloc: unreserve highatomic page blocks before oom

Christian Marangi (1):
PM / devfreq: Fix buffer overflow in trans_stat_show

Christophe JAILLET (1):
riscv: Fix an off-by-one in get_early_cmdline()

Chung-Chiang Cheng (1):
btrfs: tree-checker: fix inline ref size in error messages

Cixi Geng (1):
arm64: dts: sprd: fix the cpu node for UMS512

Cristian Marussi (3):
firmware: arm_scmi: Check mailbox/SMT channel for consistency
firmware: arm_scmi: Use xa_insert() to store opps
firmware: arm_scmi: Use xa_insert() when saving raw queues

Daan De Meyer (2):
bpf: Propagate modified uaddrlen from cgroup sockaddr programs
bpf: Add bpf_sock_addr_set_sun_path() to allow writing unix sockaddr from bpf

Dan Carpenter (3):
netfs, fscache: Prevent Oops in fscache_put_cache() drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking drm/bridge: nxp-ptn3460: simplify some error checking

Dave Airlie (1):
nouveau/vmm: don't set addr on the fail path to avoid warning

Dave Chinner (1):
xfs: read only mounts with fsopen mount API are busted

David Disseldorp (1):
btrfs: sysfs: validate scrub_speed_max value

David Howells (1):
afs: Hide silly-rename files from userspace

David Lechner (1):
spi: fix finalize message on error return

David Sterba (1):
btrfs: don't warn if discard range is not aligned to sector

Dawei Li (1):
genirq: Initialize resend_node hlist for all interrupt descriptors

Di Shen (1):
thermal: gov_power_allocator: avoid inability to reset a cdev

Dinghao Liu (1):
net/mlx5e: fix a potential double-free in fs_any_create_groups

Donet Tom (1):
selftests: mm: hugepage-vmemmap fails on 64K page size systems

Douglas Anderson (2):
drm/bridge: parade-ps8640: Wait for HPD when doing an AUX transfer drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case

Eduard Zingerman (17):
bpf: move explored_state() closer to the beginning of verifier.c
bpf: extract same_callsites() as utility function
bpf: exact states comparison for iterator convergence checks selftests/bpf: tests with delayed read/precision makrs in loop body
bpf: correct loop detection for iterators convergence selftests/bpf: test if state loops are detected in a tricky case
bpf: print full verifier states on infinite loop detection selftests/bpf: track tcp payload offset as scalar in xdp_synproxy selftests/bpf: track string payload offset as scalar in strobemeta
bpf: extract __check_reg_arg() utility function
bpf: extract setup_func_entry() utility function
bpf: verify callbacks as if they are called unknown number of times selftests/bpf: tests for iterating callbacks
bpf: widening for callback iterators
selftests/bpf: test widening for iterating callbacks
bpf: keep track of max number of bpf_loop callback iterations selftests/bpf: check if max number of bpf_loop iterations is tracked

Emmanuel Grumbach (1):
wifi: iwlwifi: fix a memory corruption

Erez Shitrit (1):
net/mlx5: Bridge, Enable mcast in smfs steering mode

Eric Dumazet (3):
nbd: always initialize struct msghdr completely
llc: make llc_ui_sendmsg() more robust against bonding changes
udp: fix busy polling

Fedor Pchelkin (2):
btrfs: ref-verify: free ref cache before clearing mount opt drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume

Florian Westphal (3):
netfilter: nft_limit: reject configurations that cause integer overflow
netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
netfilter: nf_tables: reject QUEUE/DROP verdict parameters

Frank Li (1):
dmaengine: fsl-edma: fix eDMAv4 channel allocation issue

Frederic Weisbecker (1):
rcu: Defer RCU kthreads wakeup when CPU is dying

Gao Xiang (1):
erofs: fix lz4 inplace decompression

Geert Uytterhoeven (1):
sh: ecovec24: Rename missed backlight field from fbdev to dev

Geoff Levand (1):
powerpc/ps3_defconfig: Disable PPC64_BIG_ENDIAN_ELF_ABI_V2

Gerhard Engleder (2):
tsnep: Remove FCS for XDP data path
tsnep: Fix XDP_RING_NEED_WAKEUP for empty fill ring

Greg Kroah-Hartman (1):

      Linux 6.6.15

Guo Ren (2):
riscv: mm: Fixup compat arch_get_mmap_end
riscv: mm: Fixup compat mode boot failure

Hangbin Liu (1):
selftests: bonding: do not test arp/ns target with mode balance-alb/tlb

Helge Deller (2):
parisc/firmware: Fix F-extend for PDC addresses parisc/power: Fix power soft-off button emulation on qemu

Herbert Xu (3):
crypto: api - Disallow identical driver names
hwrng: core - Fix page fault dead lock on mmap-ed hwrng
crypto: s390/aes - Fix buffer overread in CTR mode

Herve Codina (3):
soc: fsl: cpm1: tsa: Fix __iomem addresses declaration
soc: fsl: cpm1: qmc: Fix __iomem addresses declaration
soc: fsl: cpm1: qmc: Fix rx channel reset

Hongchen Zhang (1):
PM: hibernate: Enforce ordering during image compression/decompression

Horatiu Vultur (1):
net: micrel: Fix PTP frame parsing for lan8814

Hsin-Yi Wang (3):
drm/panel-edp: drm/panel-edp: Fix AUO B116XAK01 name and timing drm/panel-edp: drm/panel-edp: Fix AUO B116XTN02 name drm/bridge: anx7625: Ensure bridge is suspended in disable()

Huacai Chen (1):
LoongArch/smp: Call rcutree_report_cpu_starting() earlier

Hugo Villeneuve (10):
serial: sc16is7xx: improve regmap debugfs by using one regmap per port
serial: sc16is7xx: remove wasteful static buffer in sc16is7xx_regmap_name()
serial: sc16is7xx: remove global regmap from struct sc16is7xx_port
serial: sc16is7xx: remove unused line structure member
serial: sc16is7xx: change EFR lock to operate on each channels
serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO
serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error
serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq()
serial: sc16is7xx: improve do/while loop in sc16is7xx_irq()
serial: sc16is7xx: fix unconditional activation of THRI interrupt

Ido Schimmel (1):
net/sched: flower: Fix chain template offload

Ilya Dryomov (1):
rbd: don't move requests to the running list on errors

Ivan Lipski (1):
Revert "drm/amd/display: fix bandwidth validation failure on DCN 2.1"

Jakub Kicinski (4):
net: fix removing a namespace with conflicting altnames
selftests: fill in some missing configs for net
selftests: net: fix rps_default_mask with >32 CPUs
selftests: netdevsim: fix the udp_tunnel_nic test

James Gowans (1):
kexec: do syscore_shutdown() in kernel_kexec

Javier Martinez Canillas (2):
drm/virtio: Disable damage clipping if FB changed since last page-flip
drm: Allow drivers to indicate the damage helpers to ignore damage clips

Jenishkumar Maheshbhai Patel (1):
net: mvpp2: clear BM pool before initialization

Jiri Wiesner (1):
clocksource: Skip watchdog check for large watchdog intervals

Johan Hovold (20):
soc: qcom: pmic_glink_altmode: fix port sanity check
arm64: dts: qcom: sc8280xp-crd: fix eDP phy compatible
ARM: dts: qcom: sdx55: fix USB wakeup interrupt types
ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
arm64: dts: qcom: sc7180: fix USB wakeup interrupt types
arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
arm64: dts: qcom: sdm670: fix USB wakeup interrupt types
arm64: dts: qcom: sm8150: fix USB wakeup interrupt types
arm64: dts: qcom: sc8180x: fix USB wakeup interrupt types
arm64: dts: qcom: sc7280: fix usb_1 wakeup interrupt types
ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
arm64: dts: qcom: sdm845: fix USB SS wakeup
arm64: dts: qcom: sm8150: fix USB DP/DM HS PHY interrupts
arm64: dts: qcom: sm8150: fix USB SS wakeup
arm64: dts: qcom: sc8180x: fix USB DP/DM HS PHY interrupts
arm64: dts: qcom: sc8180x: fix USB SS wakeup
arm64: dts: qcom: sdm670: fix USB DP/DM HS PHY interrupts
arm64: dts: qcom: sdm670: fix USB SS wakeup
ARM: dts: qcom: sdx55: fix USB SS wakeup

Johannes Berg (1):
wifi: mac80211: fix potential sta-link leak

Jonathan Gray (1):
Revert "drm/amd: Enable PCIe PME from D3"

Jordan Rife (1):
dlm: use kernel_connect() and kernel_bind()

Josef Bacik (1):
arm64: properly install vmlinuz.efi

Kamal Dasu (1):
spi: bcm-qspi: fix SFDP BFPT read by usig mspi read

Krishna chaitanya chundru (1):
bus: mhi: host: Add alignment check for event ring read pointer

Krzysztof Kozlowski (1):
soundwire: fix initializing sysfs for same devices on different buses

Kuniyuki Iwashima (2):
llc: Drop support for ETH_P_TR_802_2.
selftest: Don't reuse port for SO_INCOMING_CPU test.

Leon Romanovsky (2):
net/mlx5e: Allow software parsing when IPsec crypto is enabled net/mlx5e: Ignore IPsec replay window values on sender side

Li Lingfeng (1):
block: Move checking GENHD_FL_NO_PART to bdev_add_partition()

Likun Gao (1):
drm/amdgpu: correct the cu count for gfx v11

Lin Ma (2):
vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
ksmbd: fix global oob in ksmbd_nl_policy

Lino Sanfilippo (2):
serial: core: set missing supported flag for RX during TX GPIO
serial: Do not hold the port lock when setting rx-during-tx GPIO

Lucas Stach (1):
SUNRPC: use request size to initialize bio_vec in svc_udp_sendto()

Lukas Schauer (1):
pipe: wakeup wr_wait after setting max_usage

Ma Jun (2):
drm/amdgpu: Fix the null pointer when load rlc firmware drm/amdgpu/pm: Fix the power source flag error

Ma Wupeng (1):
efi: disable mirror feature during crashkernel

Maciej Fijalkowski (10):
xsk: recycle buffer in case Rx queue was full
xsk: make xsk_buff_pool responsible for clearing xdp_buff::flags
xsk: fix usage of multi-buffer BPF helpers for ZC XDP
ice: work on pre-XDP prog frag count
ice: remove redundant xdp_rxq_info registration
intel: xsk: initialize skb_frag_t::bv_offset in ZC drivers
ice: update xdp_rxq_info::frag_size for ZC enabled Rx queue
xdp: reflect tail increase for MEM_TYPE_XSK_BUFF_POOL
i40e: set xdp_rxq_info::frag_size
i40e: update xdp_rxq_info::frag_size for ZC enabled Rx queue

Marcelo Schmitt (3):
iio: adc: ad7091r: Set alert bit in config register
iio: adc: ad7091r: Allow users to configure device events
iio: adc: ad7091r: Enable internal vref if external vref is not supplied

Mario Limonciello (8):
rtc: cmos: Use ACPI alarm for non-Intel x86 systems too
rtc: Adjust failure return code for cmos_set_alarm()
rtc: mc146818-lib: Adjust failure return code for mc146818_get_time()
rtc: Add support for configuring the UIP timeout for RTC reads
rtc: Extend timeout for waiting for UIP to clear to 1s
gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04 drm/amd/display: Disable PSR-SU on Parade 0803 TCON again cpufreq/amd-pstate: Fix setting scaling max/min freq values

Mark Brown (1):
arm64/sme: Always exit sme_alloc() early with existing storage

Mark Rutland (1):
arm64: entry: fix ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD

Markus Niebel (1):
drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33]

Martin KaFai Lau (1):
net/bpf: Avoid unused "sin_addr_len" warning when CONFIG_CGROUP_BPF is not set

Max Kellermann (1):
fs/pipe: move check to pipe_has_watch_queue()

Melissa Wen (1):
drm/amd/display: fix bandwidth validation failure on DCN 2.1

Michael Chan (2):
bnxt_en: Wait for FLR to complete during probe
bnxt_en: Prevent kernel warning when running offline self test

Michael Grzeschik (1):
media: videobuf2-dma-sg: fix vmap callback

Michael Kelley (1):
hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes

Michael Walle (1):
drm: bridge: samsung-dsim: Don't use FORCE_STOP_STATE

Mika Kahola (1):
drm/i915/lnl: Remove watchdog timers for PSR

Mika Westerberg (1):
spi: intel-pci: Remove Meteor Lake-S SoC PCI ID from the list

Min-Hua Chen (2):
docs: sparse: move TW sparse.txt to TW dev-tools
docs: sparse: add sparse.rst to toctree

Miquel Raynal (5):
mtd: maps: vmu-flash: Fix the (mtd core) switch to ref counters
mtd: rawnand: Prevent crossing LUN boundaries during sequential reads
mtd: rawnand: Fix core interference with sequential reads
mtd: rawnand: Prevent sequential reads with on-die ECC engines
mtd: rawnand: Clarify conditions to enable continuous reads

Moshe Shemesh (1):
net/mlx5: Bridge, fix multicast packets sent to uplink

Namjae Jeon (5):
ksmbd: set v2 lease version on lease upgrade
ksmbd: fix potential circular locking issue in smb2_set_ea()
ksmbd: don't increment epoch if current state and request state are same
ksmbd: send lease break notification on FILE_RENAME_INFORMATION
ksmbd: Add missing set_freezable() for freezable kthread

Naohiro Aota (3):
btrfs: zoned: fix lock ordering in btrfs_zone_activate()
btrfs: zoned: factor out prepare_allocation_zoned()
btrfs: zoned: optimize hint byte for zoned allocator

Nathan Chancellor (1):
platform/x86: intel-uncore-freq: Fix types in sysfs callbacks

NeilBrown (1):
nfsd: fix RELEASE_LOCKOWNER

Nicholas Kazlauskas (1):
drm/amd/display: Port DENTIST hang and TDR fixes to OTG disable W/A

Niklas Cassel (1):
scsi: core: Kick the requeue list after inserting when flushing

Omar Sandoval (2):
btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted
btrfs: don't abort filesystem when attempting to snapshot deleted subvolume

Pablo Neira Ayuso (2):
netfilter: nf_tables: validate NFPROTO_* family
netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain

Paul Cercueil (1):
ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12

Paulo Alcantara (1):
smb: client: fix parsing of SMB3.1.1 POSIX create context

Petr Pavlu (1):
tracing: Ensure visibility when inserting an element into tracing_map

Pierre-Louis Bossart (1):
soundwire: bus: introduce controller_id

Pin-yen Lin (1):
drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable()

Qiang Yu (1):
bus: mhi: host: Drop chan lock before queuing buffers

Qu Wenruo (2):
btrfs: scrub: avoid use-after-free when chunk length is not 64K aligned
btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args

Quanquan Cao (1):
cxl/region:Fix overflow issue in alloc_hpa()

Rafael J. Wysocki (7):
async: Split async_schedule_node_domain()
async: Introduce async_schedule_dev_nocall()
PM: sleep: Fix possible deadlocks in core system-wide PM code
cpufreq: intel_pstate: Refine computation of P-state for given frequency
thermal: trip: Drop redundant trips check from for_each_thermal_trip()
thermal: core: Store trip pointer in struct thermal_instance
thermal: trip: Drop lockdep assertion from thermal_zone_trip_id()

Rahul Rameshbabu (2):
net/mlx5e: Fix operation precedence bug in port timestamping napi_poll context net/mlx5: Use mlx5 device constant for selecting CQ period mode for ASO

Randy Dunlap (1):
serial: core: fix kernel-doc for uart_port_unlock_irqrestore()

Rex Zhang (1):
dmaengine: idxd: Move dma_free_coherent() out of spinlocked context

Ricardo Neri (3):
thermal: intel: hfi: Refactor enabling code into helper functions
thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline
thermal: intel: hfi: Add syscore callbacks for system-wide PM

Richard Palethorpe (1):
x86/entry/ia32: Ensure s32 is sign extended to s64

Rob Herring (2):
arm64: Rename ARM64_WORKAROUND_2966298
arm64: errata: Add Cortex-A510 speculative unprivileged load workaround

Rohan G Thomas (2):
net: stmmac: Tx coe sw fallback
dt-bindings: net: snps,dwmac: Tx coe unsupported

Romain Gantois (1):
net: stmmac: Prevent DSA tags from breaking COE

Sakari Ailus (2):
media: v4l: cci: Include linux/bits.h
media: v4l: cci: Add macros to obtain register width and address

Salvatore Dipietro (1):
tcp: Add memory barrier to tcp_push()

Sam Edwards (1):
arm64: dts: rockchip: Fix rk3588 USB power-domain clocks

Serge Semin (1):
mips: Fix max_mapnr being uninitialized on early stages

Sharath Srinivasan (1):
net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv

Sheng-Liang Pan (1):

      drm/panel-edp: Add AUO B116XTN02, BOE NT116WHM-N21,836X2, NV116WHM-N49 V8.0

Shenwei Wang (1):
net: fec: fix the unhandled context fault from smmu

Shin'ichiro Kawasaki (1):
platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe

Shyam Prasad N (12):
cifs: handle cases where a channel is closed
cifs: reconnect work should have reference on server struct
cifs: handle when server starts supporting multichannel
cifs: handle when server stops supporting multichannel
Revert "cifs: reconnect work should have reference on server struct"
cifs: reconnect worker should take reference on server struct unconditionally
cifs: handle servers that still advertise multichannel after disabling
cifs: update iface_last_update on each query-and-update
cifs: fix lock ordering while disabling multichannel
cifs: fix a pending undercount of srv_count
cifs: after disabling multichannel, mark tcon for reconnect
cifs: fix stray unlock in cifs_chan_skip_or_disable

Srinivasan Shanmugam (3):
drm/amd/display: Fix variable deferencing before NULL check in edp_setup_replay() drm/amd/display: Fix late derefrence 'dsc' check in 'link_set_dsc_pps_packet()' drm/amd/display: Fix uninitialized variable usage in core_link_ 'read_dpcd() & write_dpcd()' functions

Stephan Gerhold (3):
arm64: dts: qcom: msm8916: Make blsp_dma controlled-remotely
arm64: dts: qcom: msm8939: Make blsp_dma controlled-remotely
arm64: dts: qcom: Add missing vio-supply for AW2013

Steven Rostedt (Google) (1):
mm/rmap: fix misplaced parenthesis of a likely()

Suraj Jitindar Singh (1):
ext4: allow for the last group to be marked as trimmed

Thomas Gleixner (2):
serial: core: Provide port lock wrappers
serial: sc16is7xx: Use port lock wrappers

Thomas Zimmermann (2):
Revert "drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync"
drm: Fix TODO list mentioning non-KMS drivers

Tianjia Zhang (1):
crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init

Tianling Shen (1):
arm64: dts: rockchip: configure eth pad driver strength for orangepi r1 plus lts

Tim Chen (1):
tick/sched: Preserve number of idle sleeps across CPU hotplug events

Tirthendu Sarkar (1):
i40e: handle multi-buffer packets that are shrunk by xdp prog

Tomi Valkeinen (3):
drm/tidss: Fix atomic_flush check drm/bridge: sii902x: Fix probing race issue drm/bridge: sii902x: Fix audio codec unregistration

Tony Krowiak (6):
s390/vfio-ap: always filter entire AP matrix
s390/vfio-ap: loop over the shadow APCB when filtering guest's AP configuration s390/vfio-ap: let on_scan_complete() callback filter matrix and update guest's APCB s390/vfio-ap: reset queues filtered from the guest's AP config s390/vfio-ap: reset queues associated with adapter for queue unbound from driver s390/vfio-ap: do not reset queue removed from host config

Vegard Nossum (3):
docs: kernel_feat.py: fix potential command injection
docs: kernel_abi.py: fix command injection scripts/get_abi: fix source path leak

Ville Syrjälä (3):
Revert "drm/i915/dsi: Do display on sequence later on icl+"
drm: Don't unref the same fb many times by mistake due to deadlock handling drm/i915/psr: Only allow PSR in LPSP mode on HSW non-ULT

Viresh Kumar (1):
OPP: Pass rounded rate to _set_opp()

Vlad Buslov (1):
net/mlx5e: Fix peer flow lists handling

Wayne Lin (1):
drm/amd/display: Align the returned error code with legacy DP

Wen Gu (1):
net/smc: fix illegal rmb_desc access in SMC-D connection dump

Wenhua Lin (1):
gpio: eic-sprd: Clear interrupt after set the interrupt type

Xi Ruoyao (1):
mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan

Xiaolei Wang (1):
rpmsg: virtio: Free driver_override when rpmsg_remove()

Yajun Deng (1):
memblock: fix crash when reserved memory is not added to memory

Yevgeny Kliteynik (2):
net/mlx5: DR, Use the right GVMI number for drop action net/mlx5: DR, Can't go to uplink vport on RX rule

Yishai Hadas (1):
net/mlx5: Fix a WARN upon a callback command failure

Yunjian Wang (2):
tun: fix missing dropped counter in tun_xdp_act
tun: add missing rx stats accounting in tun_xdp_act

Zack Rusin (1):
drm: Disable the cursor plane on atomic contexts with virtualized drivers

Zheng Wang (2):
media: mtk-jpeg: Fix timeout schedule error in mtk_jpegdec_worker.
media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run

Zhengchao Shao (3):
tcp: make sure init the accept_queue's spinlocks once
netlink: fix potential sleeping issue in mqueue_flush_file
ipv6: init the accept_queue's spinlocks in inet6_create

Zhihao Cheng (1):

      ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path

Zhipeng Lu (2):
net/mlx5e: fix a double-free in arfs_create_groups
fjes: fix memleaks in fjes_hw_setup

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-class-devfreq +3 -0
index 5e6b74f30406..1e7e0bb4c14e 100644
@@ -52,6 +52,9 @@ Description:
 
 			echo 0 > /sys/class/devfreq/.../trans_stat
 
+		If the transition table is bigger than PAGE_SIZE, reading
+		this will return an -EFBIG error.
+
 What:		/sys/class/devfreq/.../available_frequencies
 Date:		October 2012
 Contact:	Nishanth Menon <[email protected]>
Documentation/admin-guide/abi-obsolete.rst +1 -1
index d095867899c5..594e697aa1b2 100644
@@ -7,5 +7,5 @@ marked to be removed at some later point in time.
 The description of the interface will document the reason why it is
 obsolete and when it can be expected to be removed.
 
-.. kernel-abi:: $srctree/Documentation/ABI/obsolete
+.. kernel-abi:: ABI/obsolete
    :rst:
Documentation/admin-guide/abi-removed.rst +1 -1
index f7e9e43023c1..f9e000c81828 100644
@@ -1,5 +1,5 @@
 ABI removed symbols
 ===================
 
-.. kernel-abi:: $srctree/Documentation/ABI/removed
+.. kernel-abi:: ABI/removed
    :rst:
Documentation/admin-guide/abi-stable.rst +1 -1
index 70490736e0d3..fc3361d847b1 100644
@@ -10,5 +10,5 @@ for at least 2 years.
 Most interfaces (like syscalls) are expected to never change and always
 be available.
 
-.. kernel-abi:: $srctree/Documentation/ABI/stable
+.. kernel-abi:: ABI/stable
    :rst:
Documentation/admin-guide/abi-testing.rst +1 -1
index b205b16a72d0..19767926b344 100644
@@ -16,5 +16,5 @@ Programs that use these interfaces are strongly encouraged to add their
 name to the description of these interfaces, so that the kernel
 developers can easily notify them if any changes occur.
 
-.. kernel-abi:: $srctree/Documentation/ABI/testing
+.. kernel-abi:: ABI/testing
    :rst:
Documentation/admin-guide/features.rst +1 -1
index 8c167082a84f..7651eca38227 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features
+.. kernel-feat:: features
Documentation/arch/arc/features.rst +1 -1
index b793583d688a..49ff446ff744 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features arc
+.. kernel-feat:: features arc
Documentation/arch/arm/features.rst +1 -1
index 7414ec03dd15..0e76aaf68eca 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features arm
+.. kernel-feat:: features arm
Documentation/arch/arm64/features.rst +1 -1
index dfa4cb3cd3ef..03321f4309d0 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features arm64
+.. kernel-feat:: features arm64
Documentation/arch/arm64/silicon-errata.rst +2 -0
index f47f63bcf67c..7acd64c61f50 100644
@@ -71,6 +71,8 @@ stable kernels.
 +----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Cortex-A510     | #2658417        | ARM64_ERRATUM_2658417       |
 +----------------+-----------------+-----------------+-----------------------------+
+| ARM            | Cortex-A510     | #3117295        | ARM64_ERRATUM_3117295       |
++----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Cortex-A520     | #2966298        | ARM64_ERRATUM_2966298       |
 +----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Cortex-A53      | #826319         | ARM64_ERRATUM_826319        |
Documentation/arch/loongarch/features.rst +1 -1
index ebacade3ea45..009f44c7951f 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features loongarch
+.. kernel-feat:: features loongarch
Documentation/arch/m68k/features.rst +1 -1
index 5107a2119472..de7f0ccf7fc8 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features m68k
+.. kernel-feat:: features m68k
Documentation/arch/mips/features.rst +1 -1
index 1973d729b29a..6e0ffe3e7354 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features mips
+.. kernel-feat:: features mips
Documentation/arch/nios2/features.rst +1 -1
index 8449e63f69b2..89913810ccb5 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features nios2
+.. kernel-feat:: features nios2
Documentation/arch/openrisc/features.rst +1 -1
index 3f7c40d219f2..bae2e25adfd6 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features openrisc
+.. kernel-feat:: features openrisc
Documentation/arch/parisc/features.rst +1 -1
index 501d7c450037..b3aa4d243b93 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features parisc
+.. kernel-feat:: features parisc
Documentation/arch/s390/features.rst +1 -1
index 57c296a9d8f3..2883dc950681 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features s390
+.. kernel-feat:: features s390
Documentation/arch/sh/features.rst +1 -1
index f722af3b6c99..fae48fe81e9b 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features sh
+.. kernel-feat:: features sh
Documentation/arch/sparc/features.rst +1 -1
index c0c92468b0fe..96835b6d598a 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features sparc
+.. kernel-feat:: features sparc
Documentation/arch/x86/features.rst +1 -1
index b663f15053ce..a33616346a38 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features x86
+.. kernel-feat:: features x86
Documentation/arch/xtensa/features.rst +1 -1
index 6b92c7bfa19d..28dcce1759be 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features xtensa
+.. kernel-feat:: features xtensa
Documentation/devicetree/bindings/net/snps,dwmac.yaml +5 -0
index ddf9522a5dc2..5c2769dc689a 100644
@@ -394,6 +394,11 @@ properties:
               When a PFC frame is received with priorities matching the bitmask,
               the queue is blocked from transmitting for the pause time specified
               in the PFC frame.
+
+          snps,coe-unsupported:
+            type: boolean
+            description: TX checksum offload is unsupported by the TX queue.
+
         allOf:
           - if:
               required:
Documentation/filesystems/directory-locking.rst +15 -14
index dccd61c7c5c3..193c22687851 100644
@@ -22,13 +22,16 @@ exclusive.
 3) object removal.  Locking rules: caller locks parent, finds victim,
 locks victim and calls the method.  Locks are exclusive.
 
-4) rename() that is _not_ cross-directory.  Locking rules: caller locks the
-parent and finds source and target.  We lock both (provided they exist).  If we
-need to lock two inodes of different type (dir vs non-dir), we lock directory
-first.  If we need to lock two inodes of the same type, lock them in inode
-pointer order.  Then call the method.  All locks are exclusive.
-NB: we might get away with locking the source (and target in exchange
-case) shared.
+4) rename() that is _not_ cross-directory.  Locking rules: caller locks
+the parent and finds source and target.  Then we decide which of the
+source and target need to be locked.  Source needs to be locked if it's a
+non-directory; target - if it's a non-directory or about to be removed.
+Take the locks that need to be taken, in inode pointer order if need
+to take both (that can happen only when both source and target are
+non-directories - the source because it wouldn't be locked otherwise
+and the target because mixing directory and non-directory is allowed
+only with RENAME_EXCHANGE, and that won't be removing the target).
+After the locks had been taken, call the method.  All locks are exclusive.
 
 5) link creation.  Locking rules:
 
@@ -44,20 +47,17 @@ rules:
 
 	* lock the filesystem
 	* lock parents in "ancestors first" order. If one is not ancestor of
-	  the other, lock them in inode pointer order.
+	  the other, lock the parent of source first.
 	* find source and target.
 	* if old parent is equal to or is a descendent of target
 	  fail with -ENOTEMPTY
 	* if new parent is equal to or is a descendent of source
 	  fail with -ELOOP
-	* Lock both the source and the target provided they exist. If we
-	  need to lock two inodes of different type (dir vs non-dir), we lock
-	  the directory first. If we need to lock two inodes of the same type,
-	  lock them in inode pointer order.
+	* Lock subdirectories involved (source before target).
+	* Lock non-directories involved, in inode pointer order.
 	* call the method.
 
-All ->i_rwsem are taken exclusive.  Again, we might get away with locking
-the source (and target in exchange case) shared.
+All ->i_rwsem are taken exclusive.
 
 The rules above obviously guarantee that all directories that are going to be
 read, modified or removed by method will be locked by caller.
@@ -67,6 +67,7 @@ If no directory is its own ancestor, the scheme above is deadlock-free.
 
 Proof:
 
+[XXX: will be updated once we are done massaging the lock_rename()]
 	First of all, at any moment we have a linear ordering of the
 	objects - A < B iff (A is an ancestor of B) or (B is not an ancestor
         of A and ptr(A) < ptr(B)).
Documentation/filesystems/locking.rst +4 -1
index 7be2900806c8..bd12f2f850ad 100644
@@ -101,7 +101,7 @@ symlink:	exclusive
 mkdir:		exclusive
 unlink:		exclusive (both)
 rmdir:		exclusive (both)(see below)
-rename:		exclusive (all)	(see below)
+rename:		exclusive (both parents, some children)	(see below)
 readlink:	no
 get_link:	no
 setattr:	exclusive
@@ -123,6 +123,9 @@ get_offset_ctx  no
 	Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_rwsem
 	exclusive on victim.
 	cross-directory ->rename() has (per-superblock) ->s_vfs_rename_sem.
+	->unlink() and ->rename() have ->i_rwsem exclusive on all non-directories
+	involved.
+	->rename() has ->i_rwsem exclusive on any subdirectory that changes parent.
 
 See Documentation/filesystems/directory-locking.rst for more detailed discussion
 of the locking scheme for directory operations.
Documentation/filesystems/porting.rst +18 -0
index 4d05b9862451..41d964b48e65 100644
@@ -1045,3 +1045,21 @@ filesystem type is now moved to a later point when the devices are closed:
 As this is a VFS level change it has no practical consequences for filesystems
 other than that all of them must use one of the provided kill_litter_super(),
 kill_anon_super(), or kill_block_super() helpers.
+
+---
+
+**mandatory**
+
+If ->rename() update of .. on cross-directory move needs an exclusion with
+directory modifications, do *not* lock the subdirectory in question in your
+->rename() - it's done by the caller now [that item should've been added in
+28eceeda130f "fs: Lock moved directories"].
+
+---
+
+**mandatory**
+
+On same-directory ->rename() the (tautological) update of .. is not protected
+by any locks; just don't do it if the old parent is the same as the new one.
+We really can't lock two subdirectories in same-directory rename - not without
+deadlocks.
Documentation/gpu/drm-kms.rst +2 -0
index a0c83fc48126..690d2ffe720e 100644
@@ -546,6 +546,8 @@ Plane Composition Properties
 .. kernel-doc:: drivers/gpu/drm/drm_blend.c
    :doc: overview
 
+.. _damage_tracking_properties:
+
 Damage Tracking Properties
 --------------------------
 
Documentation/gpu/todo.rst +3 -4
index 03fe5d1247be..85bbe0543609 100644
@@ -337,8 +337,8 @@ connector register/unregister fixes
 
 Level: Intermediate
 
-Remove load/unload callbacks from all non-DRIVER_LEGACY drivers
----------------------------------------------------------------
+Remove load/unload callbacks
+----------------------------
 
 The load/unload callbacks in struct &drm_driver are very much midlayers, plus
 for historical reasons they get the ordering wrong (and we can't fix that)
@@ -347,8 +347,7 @@ between setting up the &drm_driver structure and calling drm_dev_register().
 - Rework drivers to no longer use the load/unload callbacks, directly coding the
   load/unload sequence into the driver's probe function.
 
-- Once all non-DRIVER_LEGACY drivers are converted, disallow the load/unload
-  callbacks for all modern drivers.
+- Once all drivers are converted, remove the load/unload callbacks.
 
 Contact: Daniel Vetter
 
Documentation/powerpc/features.rst +1 -1
index aeae73df86b0..ee4b95e04202 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features powerpc
+.. kernel-feat:: features powerpc
Documentation/riscv/features.rst +1 -1
index c70ef6ac2368..36e90144adab 100644
@@ -1,3 +1,3 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-.. kernel-feat:: $srctree/Documentation/features riscv
+.. kernel-feat:: features riscv
Documentation/sphinx/kernel_abi.py +10 -46

78 lines not on this page · raw message

Documentation/sphinx/kernel_feat.py +11 -44

82 lines not on this page · raw message

Documentation/translations/zh_CN/arch/loongarch/features.rst +1 -1
index 82bfac180bdc..cec38dda8298 100644
@@ -5,4 +5,4 @@
 :Original: Documentation/arch/loongarch/features.rst
 :Translator: Huacai Chen <[email protected]>
 
-.. kernel-feat:: $srctree/Documentation/features loongarch
+.. kernel-feat:: features loongarch
Documentation/translations/zh_CN/arch/mips/features.rst +1 -1
index da1b956e4a40..0d6df97db069 100644
@@ -10,4 +10,4 @@
 
 .. _cn_features:
 
-.. kernel-feat:: $srctree/Documentation/features mips
+.. kernel-feat:: features mips
Documentation/translations/zh_TW/dev-tools/index.rst new file +40 -0
new file mode 100644
index 000000000000..8f101db5a07f
@@ -0,0 +1,40 @@
+.. include:: ../disclaimer-zh_TW.rst
+
+:Original: Documentation/dev-tools/index.rst
+:Translator: Min-Hua Chen <[email protected]>
+
+============
+內核開發工具
+============
+
+本文檔是有關內核開發工具文檔的合集。
+目前這些文檔已經整理在一起,不需要再花費額外的精力。
+歡迎任何補丁。
+
+有關測試專用工具的簡要概述,參見
+Documentation/dev-tools/testing-overview.rst
+
+.. class:: toc-title
+
+	   目錄
+
+.. toctree::
+   :maxdepth: 2
+
+   sparse
+
+Todolist:
+
+ - coccinelle
+ - kcov
+ - ubsan
+ - kmemleak
+ - kcsan
+ - kfence
+ - kgdb
+ - kselftest
+ - kunit/index
+ - testing-overview
+ - gcov
+ - kasan
+ - gdb-kernel-debugging
Documentation/translations/zh_TW/dev-tools/sparse.txt new file +91 -0

91 lines not on this page · raw message

Documentation/translations/zh_TW/index.rst +1 -1
index d1cf0b4d8e46..ffcaf3272fe7 100644
@@ -55,11 +55,11 @@ TODOList:
    :maxdepth: 1
 
    process/license-rules
+   dev-tools/index
 
 TODOList:
 
 * doc-guide/index
-* dev-tools/index
 * dev-tools/testing-overview
 * kernel-hacking/index
 * rust/index
Documentation/translations/zh_TW/sparse.txt deleted +0 -91

91 lines not on this page · raw message

Makefile +1 -1
index bad16eda67e2..59db5f9c6f49 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 6
-SUBLEVEL = 14
+SUBLEVEL = 15
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/alpha/kernel/rtc.c +1 -1
index fb3025396ac9..cfdf90bc8b3f 100644
@@ -80,7 +80,7 @@ init_rtc_epoch(void)
 static int
 alpha_rtc_read_time(struct device *dev, struct rtc_time *tm)
 {
-	int ret = mc146818_get_time(tm);
+	int ret = mc146818_get_time(tm, 10);
 
 	if (ret < 0) {
 		dev_err_ratelimited(dev, "unable to read current time\n");
arch/arm/boot/dts/nxp/imx/imx6q-apalis-ixora-v1.2.dts +2 -0
index 717decda0ceb..3ac7a4501620 100644
@@ -76,6 +76,7 @@ reg_can1_supply: regulator-can1-supply {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_enable_can1_power>;
 		regulator-name = "can1_supply";
+		startup-delay-us = <1000>;
 	};
 
 	reg_can2_supply: regulator-can2-supply {
@@ -85,6 +86,7 @@ reg_can2_supply: regulator-can2-supply {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_enable_can2_power>;
 		regulator-name = "can2_supply";
+		startup-delay-us = <1000>;
 	};
 };
 
arch/arm/boot/dts/qcom/qcom-sdx55.dtsi +5 -5
index 55ce87b75253..5b86b4de1a1b 100644
@@ -592,10 +592,10 @@ usb: usb@a6f8800 {
 					  <&gcc GCC_USB30_MASTER_CLK>;
 			assigned-clock-rates = <19200000>, <200000000>;
 
-			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 51 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 10 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
@@ -619,7 +619,7 @@ pdc: interrupt-controller@b210000 {
 			compatible = "qcom,sdx55-pdc", "qcom,pdc";
 			reg = <0x0b210000 0x30000>;
 			qcom,pdc-ranges = <0 179 52>;
-			#interrupt-cells = <3>;
+			#interrupt-cells = <2>;
 			interrupt-parent = <&intc>;
 			interrupt-controller;
 		};
arch/arm/boot/dts/samsung/exynos4210-i9100.dts +8 -0
index a9ec1f6c1dea..a076a1dfe41f 100644
@@ -527,6 +527,14 @@ vtcam_reg: LDO12 {
 				regulator-name = "VT_CAM_1.8V";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
+
+				/*
+				 * Force-enable this regulator; otherwise the
+				 * kernel hangs very early in the boot process
+				 * for about 12 seconds, without apparent
+				 * reason.
+				 */
+				regulator-always-on;
 			};
 
 			vcclcd_reg: LDO13 {
arch/arm/boot/dts/samsung/exynos4212-tab3.dtsi +1 -0
index ce81e42bf5eb..39469b708f91 100644
@@ -435,6 +435,7 @@ &exynos_usbphy {
 };
 
 &fimd {
+	samsung,invert-vclk;
 	status = "okay";
 };
 
arch/arm64/Kconfig +18 -0
index 6062a52a084f..b5df38c2a006 100644
@@ -1037,8 +1037,12 @@ config ARM64_ERRATUM_2645198
 
 	  If unsure, say Y.
 
+config ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
+	bool
+
 config ARM64_ERRATUM_2966298
 	bool "Cortex-A520: 2966298: workaround for speculatively executed unprivileged load"
+	select ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
 	default y
 	help
 	  This option adds the workaround for ARM Cortex-A520 erratum 2966298.
@@ -1050,6 +1054,20 @@ config ARM64_ERRATUM_2966298
 
 	  If unsure, say Y.
 
+config ARM64_ERRATUM_3117295
+	bool "Cortex-A510: 3117295: workaround for speculatively executed unprivileged load"
+	select ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
+	default y
+	help
+	  This option adds the workaround for ARM Cortex-A510 erratum 3117295.
+
+	  On an affected Cortex-A510 core, a speculatively executed unprivileged
+	  load might leak data from a privileged level via a cache side channel.
+
+	  Work around this problem by executing a TLBI before returning to EL0.
+
+	  If unsure, say Y.
+
 config CAVIUM_ERRATUM_22375
 	bool "Cavium erratum 22375, 24313"
 	default y
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +1 -0
index 3892ad4f639a..4efc534b1d6e 100644
@@ -88,6 +88,7 @@ led-controller@45 {
 		#size-cells = <0>;
 
 		vcc-supply = <&pm8916_l17>;
+		vio-supply = <&pm8916_l6>;
 
 		led@0 {
 			reg = <0>;
arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts +1 -0
index 8e238976ab1c..43078b890d86 100644
@@ -118,6 +118,7 @@ led-controller@45 {
 		#size-cells = <0>;
 
 		vcc-supply = <&pm8916_l16>;
+		vio-supply = <&pm8916_l5>;
 
 		led@0 {
 			reg = <0>;
arch/arm64/boot/dts/qcom/msm8916.dtsi +1 -0
index 3c934363368c..961ceb83a91f 100644
@@ -2085,6 +2085,7 @@ blsp_dma: dma-controller@7884000 {
 			clock-names = "bam_clk";
 			#dma-cells = <1>;
 			qcom,ee = <0>;
+			qcom,controlled-remotely;
 		};
 
 		blsp_uart1: serial@78af000 {
arch/arm64/boot/dts/qcom/msm8939.dtsi +1 -0
index 5a6b1942cfaa..3fd64cafe99c 100644
@@ -1661,6 +1661,7 @@ blsp_dma: dma-controller@7884000 {
 			clock-names = "bam_clk";
 			#dma-cells = <1>;
 			qcom,ee = <0>;
+			qcom,controlled-remotely;
 		};
 
 		blsp_uart1: serial@78af000 {
arch/arm64/boot/dts/qcom/msm8953-xiaomi-mido.dts +1 -0
index ed95d09cedb1..6b9245cd8b0c 100644
@@ -111,6 +111,7 @@ led-controller@45 {
 		reg = <0x45>;
 
 		vcc-supply = <&pm8953_l10>;
+		vio-supply = <&pm8953_l5>;
 
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm64/boot/dts/qcom/msm8953-xiaomi-tissot.dts +1 -0
index 61ff629c9bf3..9ac4f507e321 100644
@@ -104,6 +104,7 @@ led-controller@45 {
 		reg = <0x45>;
 
 		vcc-supply = <&pm8953_l10>;
+		vio-supply = <&pm8953_l5>;
 
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm64/boot/dts/qcom/msm8953-xiaomi-vince.dts +1 -0
index 1a1d3f92a511..b0588f30f8f1 100644
@@ -113,6 +113,7 @@ led-controller@45 {
 		reg = <0x45>;
 
 		vcc-supply = <&pm8953_l10>;
+		vio-supply = <&pm8953_l5>;
 
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm64/boot/dts/qcom/sc7180.dtsi +2 -2
index 589ae40cd3cc..f7c528ecb224 100644
@@ -2978,8 +2978,8 @@ usb_1: usb@a6f8800 {
 
 			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
 					      <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
-					      <&pdc 8 IRQ_TYPE_LEVEL_HIGH>,
-					      <&pdc 9 IRQ_TYPE_LEVEL_HIGH>;
+					      <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
arch/arm64/boot/dts/qcom/sc7280.dtsi +2 -2
index ec5c36425a22..8e330d2e2e22 100644
@@ -3668,9 +3668,9 @@ usb_1: usb@a6f8800 {
 			assigned-clock-rates = <19200000>, <200000000>;
 
 			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-					      <&pdc 14 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 14 IRQ_TYPE_EDGE_BOTH>,
 					      <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
-					      <&pdc 17 IRQ_TYPE_EDGE_BOTH>;
+					      <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "hs_phy_irq",
 					  "dp_hs_phy_irq",
 					  "dm_hs_phy_irq",
arch/arm64/boot/dts/qcom/sc8180x.dtsi +8 -8
index f4381424e70a..f9e929bfa550 100644
@@ -2560,10 +2560,10 @@ gem_noc: interconnect@9680000 {
 		usb_prim: usb@a6f8800 {
 			compatible = "qcom,sc8180x-dwc3", "qcom,dwc3";
 			reg = <0 0x0a6f8800 0 0x400>;
-			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq",
 					  "ss_phy_irq",
 					  "dm_hs_phy_irq",
@@ -2634,10 +2634,10 @@ usb_sec: usb@a8f8800 {
 				      "xo";
 			resets = <&gcc GCC_USB30_SEC_BCR>;
 			power-domains = <&gcc USB30_SEC_GDSC>;
-			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 490 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 7 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 10 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 11 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
arch/arm64/boot/dts/qcom/sc8280xp-crd.dts +2 -0
index e4861c61a65b..ffc4406422ae 100644
@@ -458,6 +458,8 @@ mdss0_dp3_out: endpoint {
 };
 
 &mdss0_dp3_phy {
+	compatible = "qcom,sc8280xp-edp-phy";
+
 	vdda-phy-supply = <&vreg_l6b>;
 	vdda-pll-supply = <&vreg_l3b>;
 
arch/arm64/boot/dts/qcom/sdm670.dtsi +4 -4
index ba2043d67370..730c8351bcaa 100644
@@ -1295,10 +1295,10 @@ usb_1: usb@a6f8800 {
 					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
 			assigned-clock-rates = <19200000>, <150000000>;
 
-			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
arch/arm64/boot/dts/qcom/sdm845.dtsi +8 -8
index 2cf1993a8190..63f6515692e8 100644
@@ -4084,10 +4084,10 @@ usb_1: usb@a6f8800 {
 					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
 			assigned-clock-rates = <19200000>, <150000000>;
 
-			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc_intc 6 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc_intc 8 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc_intc 9 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
@@ -4135,10 +4135,10 @@ usb_2: usb@a8f8800 {
 					  <&gcc GCC_USB30_SEC_MASTER_CLK>;
 			assigned-clock-rates = <19200000>, <150000000>;
 
-			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 490 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc_intc 7 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc_intc 10 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc_intc 11 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
arch/arm64/boot/dts/qcom/sm8150.dtsi +8 -8
index 32045fb48157..f7e35e220018 100644
@@ -3592,10 +3592,10 @@ usb_1: usb@a6f8800 {
 					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
 			assigned-clock-rates = <19200000>, <200000000>;
 
-			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
@@ -3645,10 +3645,10 @@ usb_2: usb@a8f8800 {
 					  <&gcc GCC_USB30_SEC_MASTER_CLK>;
 			assigned-clock-rates = <19200000>, <200000000>;
 
-			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 490 IRQ_TYPE_LEVEL_HIGH>,
-				     <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 7 IRQ_TYPE_LEVEL_HIGH>,
+					      <&pdc 10 IRQ_TYPE_EDGE_BOTH>,
+					      <&pdc 11 IRQ_TYPE_EDGE_BOTH>;
 			interrupt-names = "hs_phy_irq", "ss_phy_irq",
 					  "dm_hs_phy_irq", "dp_hs_phy_irq";
 
arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts +3 -1
index 5d7d567283e5..4237f2ee8fee 100644
@@ -26,9 +26,11 @@ yt8531c: ethernet-phy@0 {
 			compatible = "ethernet-phy-ieee802.3-c22";
 			reg = <0>;
 
+			motorcomm,auto-sleep-disabled;
 			motorcomm,clk-out-frequency-hz = <125000000>;
 			motorcomm,keep-pll-enabled;
-			motorcomm,auto-sleep-disabled;
+			motorcomm,rx-clk-drv-microamp = <5020>;
+			motorcomm,rx-data-drv-microamp = <5020>;
 
 			pinctrl-0 = <&eth_phy_reset_pin>;
 			pinctrl-names = "default";
arch/arm64/boot/dts/rockchip/rk3588s.dtsi +1 -0
index 5544f66c6ff4..4aa516ff156d 100644
@@ -890,6 +890,7 @@ power-domain@RK3588_PD_USB {
 				reg = <RK3588_PD_USB>;
 				clocks = <&cru PCLK_PHP_ROOT>,
 					 <&cru ACLK_USB_ROOT>,
+					 <&cru ACLK_USB>,
 					 <&cru HCLK_USB_ROOT>,
 					 <&cru HCLK_HOST0>,
 					 <&cru HCLK_HOST_ARB0>,
arch/arm64/boot/dts/sprd/ums512.dtsi +2 -2
index 024be594c47d..97ac550af2f1 100644
@@ -96,7 +96,7 @@ CPU5: cpu@500 {
 
 		CPU6: cpu@600 {
 			device_type = "cpu";
-			compatible = "arm,cortex-a55";
+			compatible = "arm,cortex-a75";
 			reg = <0x0 0x600>;
 			enable-method = "psci";
 			cpu-idle-states = <&CORE_PD>;
@@ -104,7 +104,7 @@ CPU6: cpu@600 {
 
 		CPU7: cpu@700 {
 			device_type = "cpu";
-			compatible = "arm,cortex-a55";
+			compatible = "arm,cortex-a75";
 			reg = <0x0 0x700>;
 			enable-method = "psci";
 			cpu-idle-states = <&CORE_PD>;
arch/arm64/boot/install.sh +2 -1
index 7399d706967a..9b7a09808a3d 100755
@@ -17,7 +17,8 @@
 #   $3 - kernel map file
 #   $4 - default install path (blank if root directory)
 
-if [ "$(basename $2)" = "Image.gz" ]; then
+if [ "$(basename $2)" = "Image.gz" ] || [ "$(basename $2)" = "vmlinuz.efi" ]
+then
 # Compressed install
   echo "Installing compressed kernel"
   base=vmlinuz
arch/arm64/kernel/cpu_errata.c +17 -4
index 5706e74c5578..87787a012bea 100644
@@ -432,6 +432,19 @@ static struct midr_range broken_aarch32_aes[] = {
 };
 #endif /* CONFIG_ARM64_WORKAROUND_TRBE_WRITE_OUT_OF_RANGE */
 
+#ifdef CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
+static const struct midr_range erratum_spec_unpriv_load_list[] = {
+#ifdef CONFIG_ARM64_ERRATUM_3117295
+	MIDR_ALL_VERSIONS(MIDR_CORTEX_A510),
+#endif
+#ifdef CONFIG_ARM64_ERRATUM_2966298
+	/* Cortex-A520 r0p0 to r0p1 */
+	MIDR_REV_RANGE(MIDR_CORTEX_A520, 0, 0, 1),
+#endif
+	{},
+};
+#endif
+
 const struct arm64_cpu_capabilities arm64_errata[] = {
 #ifdef CONFIG_ARM64_WORKAROUND_CLEAN_CACHE
 	{
@@ -730,12 +743,12 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
 		.cpu_enable = cpu_clear_bf16_from_user_emulation,
 	},
 #endif
-#ifdef CONFIG_ARM64_ERRATUM_2966298
+#ifdef CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
 	{
-		.desc = "ARM erratum 2966298",
-		.capability = ARM64_WORKAROUND_2966298,
+		.desc = "ARM errata 2966298, 3117295",
+		.capability = ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD,
 		/* Cortex-A520 r0p0 - r0p1 */
-		ERRATA_MIDR_REV_RANGE(MIDR_CORTEX_A520, 0, 0, 1),
+		ERRATA_MIDR_RANGE_LIST(erratum_spec_unpriv_load_list),
 	},
 #endif
 #ifdef CONFIG_AMPERE_ERRATUM_AC03_CPU_38
arch/arm64/kernel/entry.S +13 -9
index a6030913cd58..7fcbee0f6c0e 100644
@@ -428,16 +428,9 @@ alternative_else_nop_endif
 	ldp	x28, x29, [sp, #16 * 14]
 
 	.if	\el == 0
-alternative_if ARM64_WORKAROUND_2966298
-	tlbi	vale1, xzr
-	dsb	nsh
-alternative_else_nop_endif
-alternative_if_not ARM64_UNMAP_KERNEL_AT_EL0
-	ldr	lr, [sp, #S_LR]
-	add	sp, sp, #PT_REGS_SIZE		// restore sp
-	eret
-alternative_else_nop_endif
 #ifdef CONFIG_UNMAP_KERNEL_AT_EL0
+	alternative_insn "b .L_skip_tramp_exit_\@", nop, ARM64_UNMAP_KERNEL_AT_EL0
+
 	msr	far_el1, x29
 
 	ldr_this_cpu	x30, this_cpu_vector, x29
@@ -446,7 +439,18 @@ alternative_else_nop_endif
 	ldr		lr, [sp, #S_LR]		// restore x30
 	add		sp, sp, #PT_REGS_SIZE	// restore sp
 	br		x29
+
+.L_skip_tramp_exit_\@:
 #endif
+	ldr	lr, [sp, #S_LR]
+	add	sp, sp, #PT_REGS_SIZE		// restore sp
+
+	/* This must be after the last explicit memory access */
+alternative_if ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD
+	tlbi	vale1, xzr
+	dsb	nsh
+alternative_else_nop_endif
+	eret
 	.else
 	ldr	lr, [sp, #S_LR]
 	add	sp, sp, #PT_REGS_SIZE		// restore sp
arch/arm64/kernel/fpsimd.c +4 -2
index 91e44ac7150f..f9b3adebcb18 100644
@@ -1280,8 +1280,10 @@ void fpsimd_release_task(struct task_struct *dead_task)
  */
 void sme_alloc(struct task_struct *task, bool flush)
 {
-	if (task->thread.sme_state && flush) {
-		memset(task->thread.sme_state, 0, sme_state_size(task));
+	if (task->thread.sme_state) {
+		if (flush)
+			memset(task->thread.sme_state, 0,
+			       sme_state_size(task));
 		return;
 	}
 
arch/arm64/tools/cpucaps +1 -1
index dea3dc89234b..5511bee15603 100644
@@ -84,7 +84,6 @@ WORKAROUND_2077057
 WORKAROUND_2457168
 WORKAROUND_2645198
 WORKAROUND_2658417
-WORKAROUND_2966298
 WORKAROUND_AMPERE_AC03_CPU_38
 WORKAROUND_TRBE_OVERWRITE_FILL_MODE
 WORKAROUND_TSB_FLUSH_FAILURE
@@ -100,3 +99,4 @@ WORKAROUND_NVIDIA_CARMEL_CNP
 WORKAROUND_QCOM_FALKOR_E1003
 WORKAROUND_REPEAT_TLBI
 WORKAROUND_SPECULATIVE_AT
+WORKAROUND_SPECULATIVE_UNPRIV_LOAD
arch/loongarch/kernel/smp.c +2 -1
index ef35c871244f..42e3a0e18956 100644
@@ -504,8 +504,9 @@ asmlinkage void start_secondary(void)
 	unsigned int cpu;
 
 	sync_counter();
-	cpu = smp_processor_id();
+	cpu = raw_smp_processor_id();
 	set_my_cpu_offset(per_cpu_offset(cpu));
+	rcu_cpu_starting(cpu);
 
 	cpu_probe();
 	constant_clockevent_init();
arch/mips/kernel/elf.c +6 -0
index 5582a4ca1e9e..7aa2c2360ff6 100644
@@ -11,6 +11,7 @@
 
 #include <asm/cpu-features.h>
 #include <asm/cpu-info.h>
+#include <asm/fpu.h>
 
 #ifdef CONFIG_MIPS_FP_SUPPORT
 
@@ -309,6 +310,11 @@ void mips_set_personality_nan(struct arch_elf_state *state)
 	struct cpuinfo_mips *c = &boot_cpu_data;
 	struct task_struct *t = current;
 
+	/* Do this early so t->thread.fpu.fcr31 won't be clobbered in case
+	 * we are preempted before the lose_fpu(0) in start_thread.
+	 */
+	lose_fpu(0);
+
 	t->thread.fpu.fcr31 = c->fpu_csr31;
 	switch (state->nan_2008) {
 	case 0:
arch/mips/lantiq/prom.c +3 -4
index a3cf29365858..0c45767eacf6 100644
@@ -108,10 +108,9 @@ void __init prom_init(void)
 	prom_init_cmdline();
 
 #if defined(CONFIG_MIPS_MT_SMP)
-	if (cpu_has_mipsmt) {
-		lantiq_smp_ops = vsmp_smp_ops;
+	lantiq_smp_ops = vsmp_smp_ops;
+	if (cpu_has_mipsmt)
 		lantiq_smp_ops.init_secondary = lantiq_init_secondary;
-		register_smp_ops(&lantiq_smp_ops);
-	}
+	register_smp_ops(&lantiq_smp_ops);
 #endif
 }
arch/mips/mm/init.c +5 -7
index 5dcb525a8995..6e368a4658b5 100644
@@ -422,7 +422,12 @@ void __init paging_init(void)
 		       (highend_pfn - max_low_pfn) << (PAGE_SHIFT - 10));
 		max_zone_pfns[ZONE_HIGHMEM] = max_low_pfn;
 	}
+
+	max_mapnr = highend_pfn ? highend_pfn : max_low_pfn;
+#else
+	max_mapnr = max_low_pfn;
 #endif
+	high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
 
 	free_area_init(max_zone_pfns);
 }
@@ -458,13 +463,6 @@ void __init mem_init(void)
 	 */
 	BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT) && (PFN_PTE_SHIFT > PAGE_SHIFT));
 
-#ifdef CONFIG_HIGHMEM
-	max_mapnr = highend_pfn ? highend_pfn : max_low_pfn;
-#else
-	max_mapnr = max_low_pfn;
-#endif
-	high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
-
 	maar_init();
 	memblock_free_all();
 	setup_zero_pages();	/* Setup zeroed pages.  */
arch/parisc/kernel/firmware.c +2 -2
index 81078abec521..56e694f6acc2 100644
@@ -123,10 +123,10 @@ static unsigned long f_extend(unsigned long address)
 #ifdef CONFIG_64BIT
 	if(unlikely(parisc_narrow_firmware)) {
 		if((address & 0xff000000) == 0xf0000000)
-			return 0xf0f0f0f000000000UL | (u32)address;
+			return (0xfffffff0UL << 32) | (u32)address;
 
 		if((address & 0xf0000000) == 0xf0000000)
-			return 0xffffffff00000000UL | (u32)address;
+			return (0xffffffffUL << 32) | (u32)address;
 	}
 #endif
 	return address;
arch/powerpc/configs/ps3_defconfig +1 -0
index 2b175ddf82f0..aa8bb0208bcc 100644
@@ -24,6 +24,7 @@ CONFIG_PS3_VRAM=m
 CONFIG_PS3_LPM=m
 # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
 CONFIG_KEXEC=y
+# CONFIG_PPC64_BIG_ENDIAN_ELF_ABI_V2 is not set
 CONFIG_PPC_4K_PAGES=y
 CONFIG_SCHED_SMT=y
 CONFIG_PM=y
arch/riscv/include/asm/pgtable.h +1 -1
index b2ba3f79cfe9..511cb385be96 100644
@@ -880,7 +880,7 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte)
 #define TASK_SIZE_MIN	(PGDIR_SIZE_L3 * PTRS_PER_PGD / 2)
 
 #ifdef CONFIG_COMPAT
-#define TASK_SIZE_32	(_AC(0x80000000, UL) - PAGE_SIZE)
+#define TASK_SIZE_32	(_AC(0x80000000, UL))
 #define TASK_SIZE	(test_thread_flag(TIF_32BIT) ? \
 			 TASK_SIZE_32 : TASK_SIZE_64)
 #else
arch/riscv/include/asm/processor.h +1 -1
index 3e23e1786d05..4f6af8c6cfa0 100644
@@ -15,7 +15,7 @@
 
 #ifdef CONFIG_64BIT
 #define DEFAULT_MAP_WINDOW	(UL(1) << (MMAP_VA_BITS - 1))
-#define STACK_TOP_MAX		TASK_SIZE_64
+#define STACK_TOP_MAX		TASK_SIZE
 
 #define arch_get_mmap_end(addr, len, flags)			\
 ({								\
arch/riscv/kernel/pi/cmdline_early.c +1 -2
index 68e786c84c94..f6d4dedffb84 100644
@@ -38,8 +38,7 @@ static char *get_early_cmdline(uintptr_t dtb_pa)
 	if (IS_ENABLED(CONFIG_CMDLINE_EXTEND) ||
 	    IS_ENABLED(CONFIG_CMDLINE_FORCE) ||
 	    fdt_cmdline_size == 0 /* CONFIG_CMDLINE_FALLBACK */) {
-		strncat(early_cmdline, CONFIG_CMDLINE,
-			COMMAND_LINE_SIZE - fdt_cmdline_size);
+		strlcat(early_cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
 	}
 
 	return early_cmdline;
arch/s390/crypto/aes_s390.c +3 -1
index c773820e4af9..c6fe5405de4a 100644
@@ -597,7 +597,9 @@ static int ctr_aes_crypt(struct skcipher_request *req)
 	 * final block may be < AES_BLOCK_SIZE, copy only nbytes
 	 */
 	if (nbytes) {
-		cpacf_kmctr(sctx->fc, sctx->key, buf, walk.src.virt.addr,
+		memset(buf, 0, AES_BLOCK_SIZE);
+		memcpy(buf, walk.src.virt.addr, nbytes);
+		cpacf_kmctr(sctx->fc, sctx->key, buf, buf,
 			    AES_BLOCK_SIZE, walk.iv);
 		memcpy(walk.dst.virt.addr, buf, nbytes);
 		crypto_inc(walk.iv, AES_BLOCK_SIZE);
arch/s390/crypto/paes_s390.c +3 -1
index 8b541e44151d..55ee5567a5ea 100644
@@ -693,9 +693,11 @@ static int ctr_paes_crypt(struct skcipher_request *req)
 	 * final block may be < AES_BLOCK_SIZE, copy only nbytes
 	 */
 	if (nbytes) {
+		memset(buf, 0, AES_BLOCK_SIZE);
+		memcpy(buf, walk.src.virt.addr, nbytes);
 		while (1) {
 			if (cpacf_kmctr(ctx->fc, &param, buf,
-					walk.src.virt.addr, AES_BLOCK_SIZE,
+					buf, AES_BLOCK_SIZE,
 					walk.iv) == AES_BLOCK_SIZE)
 				break;
 			if (__paes_convert_key(ctx))
arch/sh/boards/mach-ecovec24/setup.c +1 -1
index 3be293335de5..7a788d44cc73 100644
@@ -1220,7 +1220,7 @@ static int __init arch_setup(void)
 		lcdc_info.ch[0].num_modes		= ARRAY_SIZE(ecovec_dvi_modes);
 
 		/* No backlight */
-		gpio_backlight_data.fbdev = NULL;
+		gpio_backlight_data.dev = NULL;
 
 		gpio_set_value(GPIO_PTA2, 1);
 		gpio_set_value(GPIO_PTU1, 1);
arch/x86/include/asm/syscall_wrapper.h +21 -4
index 21f9407be5d3..7e88705e907f 100644
@@ -58,12 +58,29 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
 		,,regs->di,,regs->si,,regs->dx				\
 		,,regs->r10,,regs->r8,,regs->r9)			\
 
+
+/* SYSCALL_PT_ARGS is Adapted from s390x */
+#define SYSCALL_PT_ARG6(m, t1, t2, t3, t4, t5, t6)			\
+	SYSCALL_PT_ARG5(m, t1, t2, t3, t4, t5), m(t6, (regs->bp))
+#define SYSCALL_PT_ARG5(m, t1, t2, t3, t4, t5)				\
+	SYSCALL_PT_ARG4(m, t1, t2, t3, t4),  m(t5, (regs->di))
+#define SYSCALL_PT_ARG4(m, t1, t2, t3, t4)				\
+	SYSCALL_PT_ARG3(m, t1, t2, t3),  m(t4, (regs->si))
+#define SYSCALL_PT_ARG3(m, t1, t2, t3)					\
+	SYSCALL_PT_ARG2(m, t1, t2), m(t3, (regs->dx))
+#define SYSCALL_PT_ARG2(m, t1, t2)					\
+	SYSCALL_PT_ARG1(m, t1), m(t2, (regs->cx))
+#define SYSCALL_PT_ARG1(m, t1) m(t1, (regs->bx))
+#define SYSCALL_PT_ARGS(x, ...) SYSCALL_PT_ARG##x(__VA_ARGS__)
+
+#define __SC_COMPAT_CAST(t, a)						\
+	(__typeof(__builtin_choose_expr(__TYPE_IS_L(t), 0, 0U)))	\
+	(unsigned int)a
+
 /* Mapping of registers to parameters for syscalls on i386 */
 #define SC_IA32_REGS_TO_ARGS(x, ...)					\
-	__MAP(x,__SC_ARGS						\
-	      ,,(unsigned int)regs->bx,,(unsigned int)regs->cx		\
-	      ,,(unsigned int)regs->dx,,(unsigned int)regs->si		\
-	      ,,(unsigned int)regs->di,,(unsigned int)regs->bp)
+	SYSCALL_PT_ARGS(x, __SC_COMPAT_CAST,				\
+			__MAP(x, __SC_TYPE, __VA_ARGS__))		\
 
 #define __SYS_STUB0(abi, name)						\
 	long __##abi##_##name(const struct pt_regs *regs);		\
arch/x86/kernel/hpet.c +1 -1
index 1648aa0204d9..046bc9d57e99 100644
@@ -1438,7 +1438,7 @@ irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id)
 	memset(&curr_time, 0, sizeof(struct rtc_time));
 
 	if (hpet_rtc_flags & (RTC_UIE | RTC_AIE)) {
-		if (unlikely(mc146818_get_time(&curr_time) < 0)) {
+		if (unlikely(mc146818_get_time(&curr_time, 10) < 0)) {
 			pr_err_ratelimited("unable to read current time from RTC\n");
 			return IRQ_HANDLED;
 		}
arch/x86/kernel/rtc.c +1 -1
index 1309b9b05338..2e7066980f3e 100644
@@ -67,7 +67,7 @@ void mach_get_cmos_time(struct timespec64 *now)
 		return;
 	}
 
-	if (mc146818_get_time(&tm)) {
+	if (mc146818_get_time(&tm, 1000)) {
 		pr_err("Unable to read current time from RTC\n");
 		now->tv_sec = now->tv_nsec = 0;
 		return;
block/ioctl.c +0 -2
index a74ef911e279..d1d8e8391279 100644
@@ -20,8 +20,6 @@ static int blkpg_do_ioctl(struct block_device *bdev,
 	struct blkpg_partition p;
 	sector_t start, length;
 
-	if (disk->flags & GENHD_FL_NO_PART)
-		return -EINVAL;
 	if (!capable(CAP_SYS_ADMIN))
 		return -EACCES;
 	if (copy_from_user(&p, upart, sizeof(struct blkpg_partition)))
block/partitions/core.c +5 -0
index e137a87f4db0..e58c8b50350b 100644
@@ -458,6 +458,11 @@ int bdev_add_partition(struct gendisk *disk, int partno, sector_t start,
 		goto out;
 	}
 
+	if (disk->flags & GENHD_FL_NO_PART) {
+		ret = -EINVAL;
+		goto out;
+	}
+
 	if (partition_overlaps(disk, start, length, -1)) {
 		ret = -EBUSY;
 		goto out;
crypto/algapi.c +1 -0
index 4fe95c448047..85bc279b4233 100644
@@ -341,6 +341,7 @@ __crypto_register_alg(struct crypto_alg *alg, struct list_head *algs_to_put)
 		}
 
 		if (!strcmp(q->cra_driver_name, alg->cra_name) ||
+		    !strcmp(q->cra_driver_name, alg->cra_driver_name) ||
 		    !strcmp(q->cra_name, alg->cra_driver_name))
 			goto err;
 	}
drivers/base/power/main.c +68 -80

271 lines not on this page · raw message

drivers/base/power/trace.c +1 -1
index 72b7a92337b1..cd6e559648b2 100644
@@ -120,7 +120,7 @@ static unsigned int read_magic_time(void)
 	struct rtc_time time;
 	unsigned int val;
 
-	if (mc146818_get_time(&time) < 0) {
+	if (mc146818_get_time(&time, 1000) < 0) {
 		pr_err("Unable to read current time from RTC\n");
 		return 0;
 	}
drivers/block/nbd.c +1 -5
index b6414e1e645b..aa65313aabb8 100644
@@ -510,7 +510,7 @@ static int __sock_xmit(struct nbd_device *nbd, struct socket *sock, int send,
 		       struct iov_iter *iter, int msg_flags, int *sent)
 {
 	int result;
-	struct msghdr msg;
+	struct msghdr msg = {} ;
 	unsigned int noreclaim_flag;
 
 	if (unlikely(!sock)) {
@@ -526,10 +526,6 @@ static int __sock_xmit(struct nbd_device *nbd, struct socket *sock, int send,
 	do {
 		sock->sk->sk_allocation = GFP_NOIO | __GFP_MEMALLOC;
 		sock->sk->sk_use_task_frag = false;
-		msg.msg_name = NULL;
-		msg.msg_namelen = 0;
-		msg.msg_control = NULL;
-		msg.msg_controllen = 0;
 		msg.msg_flags = msg_flags | MSG_NOSIGNAL;
 
 		if (send)
drivers/block/rbd.c +14 -8
index a999b698b131..1e2596c5efd8 100644
@@ -3452,14 +3452,15 @@ static bool rbd_lock_add_request(struct rbd_img_request *img_req)
 static void rbd_lock_del_request(struct rbd_img_request *img_req)
 {
 	struct rbd_device *rbd_dev = img_req->rbd_dev;
-	bool need_wakeup;
+	bool need_wakeup = false;
 
 	lockdep_assert_held(&rbd_dev->lock_rwsem);
 	spin_lock(&rbd_dev->lock_lists_lock);
-	rbd_assert(!list_empty(&img_req->lock_item));
-	list_del_init(&img_req->lock_item);
-	need_wakeup = (rbd_dev->lock_state == RBD_LOCK_STATE_RELEASING &&
-		       list_empty(&rbd_dev->running_list));
+	if (!list_empty(&img_req->lock_item)) {
+		list_del_init(&img_req->lock_item);
+		need_wakeup = (rbd_dev->lock_state == RBD_LOCK_STATE_RELEASING &&
+			       list_empty(&rbd_dev->running_list));
+	}
 	spin_unlock(&rbd_dev->lock_lists_lock);
 	if (need_wakeup)
 		complete(&rbd_dev->releasing_wait);
@@ -3842,14 +3843,19 @@ static void wake_lock_waiters(struct rbd_device *rbd_dev, int result)
 		return;
 	}
 
-	list_for_each_entry(img_req, &rbd_dev->acquiring_list, lock_item) {
+	while (!list_empty(&rbd_dev->acquiring_list)) {
+		img_req = list_first_entry(&rbd_dev->acquiring_list,
+					   struct rbd_img_request, lock_item);
 		mutex_lock(&img_req->state_mutex);
 		rbd_assert(img_req->state == RBD_IMG_EXCLUSIVE_LOCK);
+		if (!result)
+			list_move_tail(&img_req->lock_item,
+				       &rbd_dev->running_list);
+		else
+			list_del_init(&img_req->lock_item);
 		rbd_img_schedule(img_req, result);
 		mutex_unlock(&img_req->state_mutex);
 	}
-
-	list_splice_tail_init(&rbd_dev->acquiring_list, &rbd_dev->running_list);
 }
 
 static bool locker_equal(const struct ceph_locker *lhs,
drivers/bus/mhi/host/main.c +19 -10
index dcf627b36e82..d6653cbcf94a 100644
@@ -268,7 +268,8 @@ static void mhi_del_ring_element(struct mhi_controller *mhi_cntrl,
 
 static bool is_valid_ring_ptr(struct mhi_ring *ring, dma_addr_t addr)
 {
-	return addr >= ring->iommu_base && addr < ring->iommu_base + ring->len;
+	return addr >= ring->iommu_base && addr < ring->iommu_base + ring->len &&
+			!(addr & (sizeof(struct mhi_ring_element) - 1));
 }
 
 int mhi_destroy_device(struct device *dev, void *data)
@@ -642,6 +643,8 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl,
 			mhi_del_ring_element(mhi_cntrl, tre_ring);
 			local_rp = tre_ring->rp;
 
+			read_unlock_bh(&mhi_chan->lock);
+
 			/* notify client */
 			mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result);
 
@@ -667,6 +670,8 @@ static int parse_xfer_event(struct mhi_controller *mhi_cntrl,
 					kfree(buf_info->cb_buf);
 				}
 			}
+
+			read_lock_bh(&mhi_chan->lock);
 		}
 		break;
 	} /* CC_EOT */
@@ -1122,17 +1127,15 @@ static int mhi_queue(struct mhi_device *mhi_dev, struct mhi_buf_info *buf_info,
 	if (unlikely(MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state)))
 		return -EIO;
 
-	read_lock_irqsave(&mhi_cntrl->pm_lock, flags);
-
 	ret = mhi_is_ring_full(mhi_cntrl, tre_ring);
-	if (unlikely(ret)) {
-		ret = -EAGAIN;
-		goto exit_unlock;
-	}
+	if (unlikely(ret))
+		return -EAGAIN;
 
 	ret = mhi_gen_tre(mhi_cntrl, mhi_chan, buf_info, mflags);
 	if (unlikely(ret))
-		goto exit_unlock;
+		return ret;
+
+	read_lock_irqsave(&mhi_cntrl->pm_lock, flags);
 
 	/* Packet is queued, take a usage ref to exit M3 if necessary
 	 * for host->device buffer, balanced put is done on buffer completion
@@ -1152,7 +1155,6 @@ static int mhi_queue(struct mhi_device *mhi_dev, struct mhi_buf_info *buf_info,
 	if (dir == DMA_FROM_DEVICE)
 		mhi_cntrl->runtime_put(mhi_cntrl);
 
-exit_unlock:
 	read_unlock_irqrestore(&mhi_cntrl->pm_lock, flags);
 
 	return ret;
@@ -1204,6 +1206,9 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
 	int eot, eob, chain, bei;
 	int ret;
 
+	/* Protect accesses for reading and incrementing WP */
+	write_lock_bh(&mhi_chan->lock);
+
 	buf_ring = &mhi_chan->buf_ring;
 	tre_ring = &mhi_chan->tre_ring;
 
@@ -1221,8 +1226,10 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
 
 	if (!info->pre_mapped) {
 		ret = mhi_cntrl->map_single(mhi_cntrl, buf_info);
-		if (ret)
+		if (ret) {
+			write_unlock_bh(&mhi_chan->lock);
 			return ret;
+		}
 	}
 
 	eob = !!(flags & MHI_EOB);
@@ -1239,6 +1246,8 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
 	mhi_add_ring_element(mhi_cntrl, tre_ring);
 	mhi_add_ring_element(mhi_cntrl, buf_ring);
 
+	write_unlock_bh(&mhi_chan->lock);
+
 	return 0;
 }
 
drivers/char/hw_random/core.c +21 -13
index 420f155d251f..a3bbdd6e60fc 100644
@@ -23,10 +23,13 @@
 #include <linux/sched.h>
 #include <linux/sched/signal.h>
 #include <linux/slab.h>
+#include <linux/string.h>
 #include <linux/uaccess.h>
 
 #define RNG_MODULE_NAME		"hw_random"
 
+#define RNG_BUFFER_SIZE (SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES)
+
 static struct hwrng *current_rng;
 /* the current rng has been explicitly chosen by user via sysfs */
 static int cur_rng_set_by_user;
@@ -58,7 +61,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
 
 static size_t rng_buffer_size(void)
 {
-	return SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES;
+	return RNG_BUFFER_SIZE;
 }
 
 static void add_early_randomness(struct hwrng *rng)
@@ -209,6 +212,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
 static ssize_t rng_dev_read(struct file *filp, char __user *buf,
 			    size_t size, loff_t *offp)
 {
+	u8 buffer[RNG_BUFFER_SIZE];
 	ssize_t ret = 0;
 	int err = 0;
 	int bytes_read, len;
@@ -236,34 +240,37 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
 			if (bytes_read < 0) {
 				err = bytes_read;
 				goto out_unlock_reading;
+			} else if (bytes_read == 0 &&
+				   (filp->f_flags & O_NONBLOCK)) {
+				err = -EAGAIN;
+				goto out_unlock_reading;
 			}
+
 			data_avail = bytes_read;
 		}
 
-		if (!data_avail) {
-			if (filp->f_flags & O_NONBLOCK) {
-				err = -EAGAIN;
-				goto out_unlock_reading;
-			}
-		} else {
-			len = data_avail;
+		len = data_avail;
+		if (len) {
 			if (len > size)
 				len = size;
 
 			data_avail -= len;
 
-			if (copy_to_user(buf + ret, rng_buffer + data_avail,
-								len)) {
+			memcpy(buffer, rng_buffer + data_avail, len);
+		}
+		mutex_unlock(&reading_mutex);
+		put_rng(rng);
+
+		if (len) {
+			if (copy_to_user(buf + ret, buffer, len)) {
 				err = -EFAULT;
-				goto out_unlock_reading;
+				goto out;
 			}
 
 			size -= len;
 			ret += len;
 		}
 
-		mutex_unlock(&reading_mutex);
-		put_rng(rng);
 
 		if (need_resched())
 			schedule_timeout_interruptible(1);
@@ -274,6 +281,7 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
 		}
 	}
 out:
+	memzero_explicit(buffer, sizeof(buffer));
 	return ret ? : err;
 
 out_unlock_reading:
drivers/cpufreq/amd-pstate.c +3 -4
index 1f6186475715..1791d37fbc53 100644
@@ -1232,14 +1232,13 @@ static void amd_pstate_epp_update_limit(struct cpufreq_policy *policy)
 	max_limit_perf = div_u64(policy->max * cpudata->highest_perf, cpudata->max_freq);
 	min_limit_perf = div_u64(policy->min * cpudata->highest_perf, cpudata->max_freq);
 
+	WRITE_ONCE(cpudata->max_limit_perf, max_limit_perf);
+	WRITE_ONCE(cpudata->min_limit_perf, min_limit_perf);
+
 	max_perf = clamp_t(unsigned long, max_perf, cpudata->min_limit_perf,
 			cpudata->max_limit_perf);
 	min_perf = clamp_t(unsigned long, min_perf, cpudata->min_limit_perf,
 			cpudata->max_limit_perf);
-
-	WRITE_ONCE(cpudata->max_limit_perf, max_limit_perf);
-	WRITE_ONCE(cpudata->min_limit_perf, min_limit_perf);
-
 	value = READ_ONCE(cpudata->cppc_req_cached);
 
 	if (cpudata->policy == CPUFREQ_POLICY_PERFORMANCE)
drivers/cpufreq/intel_pstate.c +34 -21

100 lines not on this page · raw message

drivers/cxl/core/region.c +2 -2
index 472bd510b5e2..6ebd12f7970b 100644
@@ -525,7 +525,7 @@ static int alloc_hpa(struct cxl_region *cxlr, resource_size_t size)
 	struct cxl_root_decoder *cxlrd = to_cxl_root_decoder(cxlr->dev.parent);
 	struct cxl_region_params *p = &cxlr->params;
 	struct resource *res;
-	u32 remainder = 0;
+	u64 remainder = 0;
 
 	lockdep_assert_held_write(&cxl_region_rwsem);
 
@@ -545,7 +545,7 @@ static int alloc_hpa(struct cxl_region *cxlr, resource_size_t size)
 	    (cxlr->mode == CXL_DECODER_PMEM && uuid_is_null(&p->uuid)))
 		return -ENXIO;
 
-	div_u64_rem(size, SZ_256M * p->interleave_ways, &remainder);
+	div64_u64_rem(size, (u64)SZ_256M * p->interleave_ways, &remainder);
 	if (remainder)
 		return -EINVAL;
 
drivers/devfreq/devfreq.c +39 -18

84 lines not on this page · raw message

drivers/dma/dmaengine.c +3 -0
index b7388ae62d7f..491b22240221 100644
@@ -1103,6 +1103,9 @@ EXPORT_SYMBOL_GPL(dma_async_device_channel_register);
 static void __dma_async_device_channel_unregister(struct dma_device *device,
 						  struct dma_chan *chan)
 {
+	if (chan->local == NULL)
+		return;
+
 	WARN_ONCE(!device->device_release && chan->client_count,
 		  "%s called while %d clients hold a reference\n",
 		  __func__, chan->client_count);
drivers/dma/fsl-edma-main.c +8 -0
index 00cb70aca34a..30df55da4dbb 100644
@@ -26,6 +26,8 @@
 #define ARGS_RX                         BIT(0)
 #define ARGS_REMOTE                     BIT(1)
 #define ARGS_MULTI_FIFO                 BIT(2)
+#define ARGS_EVEN_CH                    BIT(3)
+#define ARGS_ODD_CH                     BIT(4)
 
 static void fsl_edma_synchronize(struct dma_chan *chan)
 {
@@ -159,6 +161,12 @@ static struct dma_chan *fsl_edma3_xlate(struct of_phandle_args *dma_spec,
 		fsl_chan->is_remote = dma_spec->args[2] & ARGS_REMOTE;
 		fsl_chan->is_multi_fifo = dma_spec->args[2] & ARGS_MULTI_FIFO;
 
+		if ((dma_spec->args[2] & ARGS_EVEN_CH) && (i & 0x1))
+			continue;
+
+		if ((dma_spec->args[2] & ARGS_ODD_CH) && !(i & 0x1))
+			continue;
+
 		if (!b_chmux && i == dma_spec->args[0]) {
 			chan = dma_get_slave_channel(chan);
 			chan->device->privatecnt++;
drivers/dma/idxd/device.c +8 -1
index 8f754f922217..fa0f880beae6 100644
@@ -802,6 +802,9 @@ static int idxd_device_evl_setup(struct idxd_device *idxd)
 
 static void idxd_device_evl_free(struct idxd_device *idxd)
 {
+	void *evl_log;
+	unsigned int evl_log_size;
+	dma_addr_t evl_dma;
 	union gencfg_reg gencfg;
 	union genctrl_reg genctrl;
 	struct device *dev = &idxd->pdev->dev;
@@ -822,11 +825,15 @@ static void idxd_device_evl_free(struct idxd_device *idxd)
 	iowrite64(0, idxd->reg_base + IDXD_EVLCFG_OFFSET);
 	iowrite64(0, idxd->reg_base + IDXD_EVLCFG_OFFSET + 8);
 
-	dma_free_coherent(dev, evl->log_size, evl->log, evl->dma);
 	bitmap_free(evl->bmap);
+	evl_log = evl->log;
+	evl_log_size = evl->log_size;
+	evl_dma = evl->dma;
 	evl->log = NULL;
 	evl->size = IDXD_EVL_SIZE_MIN;
 	spin_unlock(&evl->lock);
+
+	dma_free_coherent(dev, evl_log_size, evl_log, evl_dma);
 }
 
 static void idxd_group_config_write(struct idxd_group *group)
drivers/firmware/arm_scmi/common.h +1 -0
index c46dc5215af7..00b165d1f502 100644
@@ -314,6 +314,7 @@ void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem,
 void shmem_clear_channel(struct scmi_shared_mem __iomem *shmem);
 bool shmem_poll_done(struct scmi_shared_mem __iomem *shmem,
 		     struct scmi_xfer *xfer);
+bool shmem_channel_free(struct scmi_shared_mem __iomem *shmem);
 
 /* declarations for message passing transports */
 struct scmi_msg_payld;
drivers/firmware/arm_scmi/mailbox.c +14 -0
index 19246ed1f01f..b8d470417e8f 100644
@@ -45,6 +45,20 @@ static void rx_callback(struct mbox_client *cl, void *m)
 {
 	struct scmi_mailbox *smbox = client_to_scmi_mailbox(cl);
 
+	/*
+	 * An A2P IRQ is NOT valid when received while the platform still has
+	 * the ownership of the channel, because the platform at first releases
+	 * the SMT channel and then sends the completion interrupt.
+	 *
+	 * This addresses a possible race condition in which a spurious IRQ from
+	 * a previous timed-out reply which arrived late could be wrongly
+	 * associated with the next pending transaction.
+	 */
+	if (cl->knows_txdone && !shmem_channel_free(smbox->shmem)) {
+		dev_warn(smbox->cinfo->dev, "Ignoring spurious A2P IRQ !\n");
+		return;
+	}
+
 	scmi_rx_callback(smbox->cinfo, shmem_read_header(smbox->shmem), NULL);
 }
 
drivers/firmware/arm_scmi/perf.c +18 -5
index e887fd169043..dd344506b0a3 100644
@@ -347,8 +347,8 @@ process_response_opp(struct scmi_opp *opp, unsigned int loop_idx,
 }
 
 static inline void
-process_response_opp_v4(struct perf_dom_info *dom, struct scmi_opp *opp,
-			unsigned int loop_idx,
+process_response_opp_v4(struct device *dev, struct perf_dom_info *dom,
+			struct scmi_opp *opp, unsigned int loop_idx,
 			const struct scmi_msg_resp_perf_describe_levels_v4 *r)
 {
 	opp->perf = le32_to_cpu(r->opp[loop_idx].perf_val);
@@ -359,10 +359,23 @@ process_response_opp_v4(struct perf_dom_info *dom, struct scmi_opp *opp,
 	/* Note that PERF v4 reports always five 32-bit words */
 	opp->indicative_freq = le32_to_cpu(r->opp[loop_idx].indicative_freq);
 	if (dom->level_indexing_mode) {
+		int ret;
+
 		opp->level_index = le32_to_cpu(r->opp[loop_idx].level_index);
 
-		xa_store(&dom->opps_by_idx, opp->level_index, opp, GFP_KERNEL);
-		xa_store(&dom->opps_by_lvl, opp->perf, opp, GFP_KERNEL);
+		ret = xa_insert(&dom->opps_by_idx, opp->level_index, opp,
+				GFP_KERNEL);
+		if (ret)
+			dev_warn(dev,
+				 "Failed to add opps_by_idx at %d - ret:%d\n",
+				 opp->level_index, ret);
+
+		ret = xa_insert(&dom->opps_by_lvl, opp->perf, opp, GFP_KERNEL);
+		if (ret)
+			dev_warn(dev,
+				 "Failed to add opps_by_lvl at %d - ret:%d\n",
+				 opp->perf, ret);
+
 		hash_add(dom->opps_by_freq, &opp->hash, opp->indicative_freq);
 	}
 }
@@ -379,7 +392,7 @@ iter_perf_levels_process_response(const struct scmi_protocol_handle *ph,
 	if (PROTOCOL_REV_MAJOR(p->version) <= 0x3)
 		process_response_opp(opp, st->loop_idx, response);
 	else
-		process_response_opp_v4(p->perf_dom, opp, st->loop_idx,
+		process_response_opp_v4(ph->dev, p->perf_dom, opp, st->loop_idx,
 					response);
 	p->perf_dom->opp_count++;
 
drivers/firmware/arm_scmi/raw_mode.c +8 -4
index 0493aa3c12bf..350573518503 100644
@@ -1111,7 +1111,6 @@ static int scmi_raw_mode_setup(struct scmi_raw_mode_info *raw,
 		int i;
 
 		for (i = 0; i < num_chans; i++) {
-			void *xret;
 			struct scmi_raw_queue *q;
 
 			q = scmi_raw_queue_init(raw);
@@ -1120,13 +1119,12 @@ static int scmi_raw_mode_setup(struct scmi_raw_mode_info *raw,
 				goto err_xa;
 			}
 
-			xret = xa_store(&raw->chans_q, channels[i], q,
+			ret = xa_insert(&raw->chans_q, channels[i], q,
 					GFP_KERNEL);
-			if (xa_err(xret)) {
+			if (ret) {
 				dev_err(dev,
 					"Fail to allocate Raw queue 0x%02X\n",
 					channels[i]);
-				ret = xa_err(xret);
 				goto err_xa;
 			}
 		}
@@ -1322,6 +1320,12 @@ void scmi_raw_message_report(void *r, struct scmi_xfer *xfer,
 	dev = raw->handle->dev;
 	q = scmi_raw_queue_select(raw, idx,
 				  SCMI_XFER_IS_CHAN_SET(xfer) ? chan_id : 0);
+	if (!q) {
+		dev_warn(dev,
+			 "RAW[%d] - NO queue for chan 0x%X. Dropping report.\n",
+			 idx, chan_id);
+		return;
+	}
 
 	/*
 	 * Grab the msg_q_lock upfront to avoid a possible race between
drivers/firmware/arm_scmi/shmem.c +6 -0
index 87b4f4d35f06..517d52fb3bcb 100644
@@ -122,3 +122,9 @@ bool shmem_poll_done(struct scmi_shared_mem __iomem *shmem,
 		(SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR |
 		 SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE);
 }
+
+bool shmem_channel_free(struct scmi_shared_mem __iomem *shmem)
+{
+	return (ioread32(&shmem->channel_status) &
+			SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE);
+}
drivers/firmware/sysfb.c +1 -1
index 82fcfd29bc4d..3c197db42c9d 100644
@@ -128,4 +128,4 @@ static __init int sysfb_init(void)
 }
 
 /* must execute after PCI subsystem for EFI quirks */
-subsys_initcall_sync(sysfb_init);
+device_initcall(sysfb_init);
drivers/gpio/gpio-eic-sprd.c +28 -4
index 5320cf1de89c..b24e349deed5 100644
@@ -321,20 +321,27 @@ static int sprd_eic_irq_set_type(struct irq_data *data, unsigned int flow_type)
 		switch (flow_type) {
 		case IRQ_TYPE_LEVEL_HIGH:
 			sprd_eic_update(chip, offset, SPRD_EIC_DBNC_IEV, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_DBNC_IC, 1);
 			break;
 		case IRQ_TYPE_LEVEL_LOW:
 			sprd_eic_update(chip, offset, SPRD_EIC_DBNC_IEV, 0);
+			sprd_eic_update(chip, offset, SPRD_EIC_DBNC_IC, 1);
 			break;
 		case IRQ_TYPE_EDGE_RISING:
 		case IRQ_TYPE_EDGE_FALLING:
 		case IRQ_TYPE_EDGE_BOTH:
 			state = sprd_eic_get(chip, offset);
-			if (state)
+			if (state) {
 				sprd_eic_update(chip, offset,
 						SPRD_EIC_DBNC_IEV, 0);
-			else
+				sprd_eic_update(chip, offset,
+						SPRD_EIC_DBNC_IC, 1);
+			} else {
 				sprd_eic_update(chip, offset,
 						SPRD_EIC_DBNC_IEV, 1);
+				sprd_eic_update(chip, offset,
+						SPRD_EIC_DBNC_IC, 1);
+			}
 			break;
 		default:
 			return -ENOTSUPP;
@@ -346,20 +353,27 @@ static int sprd_eic_irq_set_type(struct irq_data *data, unsigned int flow_type)
 		switch (flow_type) {
 		case IRQ_TYPE_LEVEL_HIGH:
 			sprd_eic_update(chip, offset, SPRD_EIC_LATCH_INTPOL, 0);
+			sprd_eic_update(chip, offset, SPRD_EIC_LATCH_INTCLR, 1);
 			break;
 		case IRQ_TYPE_LEVEL_LOW:
 			sprd_eic_update(chip, offset, SPRD_EIC_LATCH_INTPOL, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_LATCH_INTCLR, 1);
 			break;
 		case IRQ_TYPE_EDGE_RISING:
 		case IRQ_TYPE_EDGE_FALLING:
 		case IRQ_TYPE_EDGE_BOTH:
 			state = sprd_eic_get(chip, offset);
-			if (state)
+			if (state) {
 				sprd_eic_update(chip, offset,
 						SPRD_EIC_LATCH_INTPOL, 0);
-			else
+				sprd_eic_update(chip, offset,
+						SPRD_EIC_LATCH_INTCLR, 1);
+			} else {
 				sprd_eic_update(chip, offset,
 						SPRD_EIC_LATCH_INTPOL, 1);
+				sprd_eic_update(chip, offset,
+						SPRD_EIC_LATCH_INTCLR, 1);
+			}
 			break;
 		default:
 			return -ENOTSUPP;
@@ -373,29 +387,34 @@ static int sprd_eic_irq_set_type(struct irq_data *data, unsigned int flow_type)
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_edge_irq);
 			break;
 		case IRQ_TYPE_EDGE_FALLING:
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 0);
+			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_edge_irq);
 			break;
 		case IRQ_TYPE_EDGE_BOTH:
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_edge_irq);
 			break;
 		case IRQ_TYPE_LEVEL_HIGH:
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 1);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_level_irq);
 			break;
 		case IRQ_TYPE_LEVEL_LOW:
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 1);
 			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 0);
+			sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_level_irq);
 			break;
 		default:
@@ -408,29 +427,34 @@ static int sprd_eic_irq_set_type(struct irq_data *data, unsigned int flow_type)
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_edge_irq);
 			break;
 		case IRQ_TYPE_EDGE_FALLING:
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 0);
+			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_edge_irq);
 			break;
 		case IRQ_TYPE_EDGE_BOTH:
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_edge_irq);
 			break;
 		case IRQ_TYPE_LEVEL_HIGH:
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 1);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 1);
+			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_level_irq);
 			break;
 		case IRQ_TYPE_LEVEL_LOW:
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 1);
 			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 0);
+			sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1);
 			irq_set_handler_locked(data, handle_level_irq);
 			break;
 		default:
drivers/gpio/gpiolib-acpi.c +14 -0
index 5d04720107ef..4ab33d55aec4 100644
@@ -1675,6 +1675,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
 			.ignore_interrupt = "INT33FC:00@3",
 		},
 	},
+	{
+		/*
+		 * Spurious wakeups from TP_ATTN# pin
+		 * Found in BIOS 0.35
+		 * https://gitlab.freedesktop.org/drm/amd/-/issues/3073
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "GPD"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "G1619-04"),
+		},
+		.driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+			.ignore_wake = "PNP0C50:00@8",
+		},
+	},
 	{} /* Terminating entry */
 };
 
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +0 -2
index 635b58553583..2c35036e4ba2 100644
@@ -2197,8 +2197,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
 
 		pci_wake_from_d3(pdev, TRUE);
 
-		pci_wake_from_d3(pdev, TRUE);
-
 		/*
 		 * For runpm implemented via BACO, PMFW will handle the
 		 * timing for BACO in and out:
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +7 -10
index 306252cd67fd..c2b9dfc6451d 100644
@@ -3989,16 +3989,13 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev)
 
 	if (!amdgpu_sriov_vf(adev)) {
 		snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", ucode_prefix);
-		err = amdgpu_ucode_request(adev, &adev->gfx.rlc_fw, fw_name);
-		/* don't check this.  There are apparently firmwares in the wild with
-		 * incorrect size in the header
-		 */
-		if (err == -ENODEV)
-			goto out;
+		err = request_firmware(&adev->gfx.rlc_fw, fw_name, adev->dev);
 		if (err)
-			dev_dbg(adev->dev,
-				"gfx10: amdgpu_ucode_request() failed \"%s\"\n",
-				fw_name);
+			goto out;
+
+		/* don't validate this firmware. There are apparently firmwares
+		 * in the wild with incorrect size in the header
+		 */
 		rlc_hdr = (const struct rlc_firmware_header_v2_0 *)adev->gfx.rlc_fw->data;
 		version_major = le16_to_cpu(rlc_hdr->header.header_version_major);
 		version_minor = le16_to_cpu(rlc_hdr->header.header_version_minor);
@@ -6575,7 +6572,7 @@ static int gfx_v10_0_compute_mqd_init(struct amdgpu_device *adev, void *m,
 #ifdef __BIG_ENDIAN
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, ENDIAN_SWAP, 1);
 #endif
-	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, UNORD_DISPATCH, 0);
+	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, UNORD_DISPATCH, 1);
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, TUNNEL_DISPATCH, 0);
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, PRIV_STATE, 1);
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, KMD_QUEUE, 1);
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +4 -1
index b346eb0a0db1..d0c3ec9f4fb6 100644
@@ -3807,7 +3807,7 @@ static int gfx_v11_0_compute_mqd_init(struct amdgpu_device *adev, void *m,
 			    (order_base_2(prop->queue_size / 4) - 1));
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, RPTR_BLOCK_SIZE,
 			    (order_base_2(AMDGPU_GPU_PAGE_SIZE / 4) - 1));
-	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, UNORD_DISPATCH, 0);
+	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, UNORD_DISPATCH, 1);
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, TUNNEL_DISPATCH, 0);
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, PRIV_STATE, 1);
 	tmp = REG_SET_FIELD(tmp, CP_HQD_PQ_CONTROL, KMD_QUEUE, 1);
@@ -6353,6 +6353,9 @@ static int gfx_v11_0_get_cu_info(struct amdgpu_device *adev,
 	mutex_lock(&adev->grbm_idx_mutex);
 	for (i = 0; i < adev->gfx.config.max_shader_engines; i++) {
 		for (j = 0; j < adev->gfx.config.max_sh_per_se; j++) {
+			bitmap = i * adev->gfx.config.max_sh_per_se + j;
+			if (!((gfx_v11_0_get_sa_active_bitmap(adev) >> bitmap) & 1))
+				continue;
 			mask = 1;
 			counter = 0;
 			gfx_v11_0_select_se_sh(adev, i, j, 0xffffffff, 0);
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c +1 -0
index 8b7fed913526..22cbfa1bdadd 100644
@@ -170,6 +170,7 @@ static void update_mqd(struct mqd_manager *mm, void *mqd,
 	m->cp_hqd_pq_control = 5 << CP_HQD_PQ_CONTROL__RPTR_BLOCK_SIZE__SHIFT;
 	m->cp_hqd_pq_control |=
 			ffs(q->queue_size / sizeof(unsigned int)) - 1 - 1;
+	m->cp_hqd_pq_control |= CP_HQD_PQ_CONTROL__UNORD_DISPATCH_MASK;
 	pr_debug("cp_hqd_pq_control 0x%x\n", m->cp_hqd_pq_control);
 
 	m->cp_hqd_pq_base_lo = lower_32_bits((uint64_t)q->queue_address >> 8);
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c +1 -0
index 15277f1d5cf0..d722cbd31783 100644
@@ -224,6 +224,7 @@ static void update_mqd(struct mqd_manager *mm, void *mqd,
 	m->cp_hqd_pq_control = 5 << CP_HQD_PQ_CONTROL__RPTR_BLOCK_SIZE__SHIFT;
 	m->cp_hqd_pq_control |=
 			ffs(q->queue_size / sizeof(unsigned int)) - 1 - 1;
+	m->cp_hqd_pq_control |= CP_HQD_PQ_CONTROL__UNORD_DISPATCH_MASK;
 	pr_debug("cp_hqd_pq_control 0x%x\n", m->cp_hqd_pq_control);
 
 	m->cp_hqd_pq_base_lo = lower_32_bits((uint64_t)q->queue_address >> 8);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +5 -0
index 87a1000b8572..cf0834ae5346 100644
@@ -956,6 +956,11 @@ int dm_helper_dmub_aux_transfer_sync(
 		struct aux_payload *payload,
 		enum aux_return_code_type *operation_result)
 {
+	if (!link->hpd_status) {
+		*operation_result = AUX_RET_ERROR_HPD_DISCON;
+		return -1;
+	}
+
 	return amdgpu_dm_process_dmub_aux_transfer_sync(ctx, link->link_index, payload,
 			operation_result);
 }
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn314/dcn314_clk_mgr.c +9 -12
index 7326b7565846..2618504e260e 100644
@@ -131,30 +131,27 @@ static int dcn314_get_active_display_cnt_wa(
 	return display_count;
 }
 
-static void dcn314_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context, bool disable)
+static void dcn314_disable_otg_wa(struct clk_mgr *clk_mgr_base, struct dc_state *context,
+				  bool safe_to_lower, bool disable)
 {
 	struct dc *dc = clk_mgr_base->ctx->dc;
 	int i;
 
 	for (i = 0; i < dc->res_pool->pipe_count; ++i) {
-		struct pipe_ctx *pipe = &dc->current_state->res_ctx.pipe_ctx[i];
+		struct pipe_ctx *pipe = safe_to_lower
+			? &context->res_ctx.pipe_ctx[i]
+			: &dc->current_state->res_ctx.pipe_ctx[i];
 
 		if (pipe->top_pipe || pipe->prev_odm_pipe)
 			continue;
 		if (pipe->stream && (pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal))) {
-			struct stream_encoder *stream_enc = pipe->stream_res.stream_enc;
-
 			if (disable) {
-				if (stream_enc && stream_enc->funcs->disable_fifo)
-					pipe->stream_res.stream_enc->funcs->disable_fifo(stream_enc);
+				if (pipe->stream_res.tg && pipe->stream_res.tg->funcs->immediate_disable_crtc)
+					pipe->stream_res.tg->funcs->immediate_disable_crtc(pipe->stream_res.tg);
 
-				pipe->stream_res.tg->funcs->immediate_disable_crtc(pipe->stream_res.tg);
 				reset_sync_context_for_pipe(dc, context, i);
 			} else {
 				pipe->stream_res.tg->funcs->enable_crtc(pipe->stream_res.tg);
-
-				if (stream_enc && stream_enc->funcs->enable_fifo)
-					pipe->stream_res.stream_enc->funcs->enable_fifo(stream_enc);
 			}
 		}
 	}
@@ -252,11 +249,11 @@ void dcn314_update_clocks(struct clk_mgr *clk_mgr_base,
 	}
 
 	if (should_set_clock(safe_to_lower, new_clocks->dispclk_khz, clk_mgr_base->clks.dispclk_khz)) {
-		dcn314_disable_otg_wa(clk_mgr_base, context, true);
+		dcn314_disable_otg_wa(clk_mgr_base, context, safe_to_lower, true);
 
 		clk_mgr_base->clks.dispclk_khz = new_clocks->dispclk_khz;
 		dcn314_smu_set_dispclk(clk_mgr, clk_mgr_base->clks.dispclk_khz);
-		dcn314_disable_otg_wa(clk_mgr_base, context, false);
+		dcn314_disable_otg_wa(clk_mgr_base, context, safe_to_lower, false);
 
 		update_dispclk = true;
 	}
drivers/gpu/drm/amd/display/dc/link/link_dpms.c +6 -2
index 35d087cf1980..a96f0747628c 100644
@@ -873,11 +873,15 @@ bool link_set_dsc_pps_packet(struct pipe_ctx *pipe_ctx, bool enable, bool immedi
 {
 	struct display_stream_compressor *dsc = pipe_ctx->stream_res.dsc;
 	struct dc_stream_state *stream = pipe_ctx->stream;
-	DC_LOGGER_INIT(dsc->ctx->logger);
 
-	if (!pipe_ctx->stream->timing.flags.DSC || !dsc)
+	if (!pipe_ctx->stream->timing.flags.DSC)
 		return false;
 
+	if (!dsc)
+		return false;
+
+	DC_LOGGER_INIT(dsc->ctx->logger);
+
 	if (enable) {
 		struct dsc_config dsc_cfg;
 		uint8_t dsc_packed_pps[128];
drivers/gpu/drm/amd/display/dc/link/protocols/link_dpcd.c +2 -2
index 5c9a30211c10..fc50931c2aec 100644
@@ -205,7 +205,7 @@ enum dc_status core_link_read_dpcd(
 	uint32_t extended_size;
 	/* size of the remaining partitioned address space */
 	uint32_t size_left_to_read;
-	enum dc_status status;
+	enum dc_status status = DC_ERROR_UNEXPECTED;
 	/* size of the next partition to be read from */
 	uint32_t partition_size;
 	uint32_t data_index = 0;
@@ -234,7 +234,7 @@ enum dc_status core_link_write_dpcd(
 {
 	uint32_t partition_size;
 	uint32_t data_index = 0;
-	enum dc_status status;
+	enum dc_status status = DC_ERROR_UNEXPECTED;
 
 	while (size) {
 		partition_size = dpcd_get_next_partition_size(address, size);
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c +7 -4
index 13c3d7ff6139..6f64aab18f07 100644
@@ -920,8 +920,8 @@ bool edp_get_replay_state(const struct dc_link *link, uint64_t *state)
 bool edp_setup_replay(struct dc_link *link, const struct dc_stream_state *stream)
 {
 	/* To-do: Setup Replay */
-	struct dc *dc = link->ctx->dc;
-	struct dmub_replay *replay = dc->res_pool->replay;
+	struct dc *dc;
+	struct dmub_replay *replay;
 	int i;
 	unsigned int panel_inst;
 	struct replay_context replay_context = { 0 };
@@ -937,6 +937,10 @@ bool edp_setup_replay(struct dc_link *link, const struct dc_stream_state *stream
 	if (!link)
 		return false;
 
+	dc = link->ctx->dc;
+
+	replay = dc->res_pool->replay;
+
 	if (!replay)
 		return false;
 
@@ -965,8 +969,7 @@ bool edp_setup_replay(struct dc_link *link, const struct dc_stream_state *stream
 
 	replay_context.line_time_in_ns = lineTimeInNs;
 
-	if (replay)
-		link->replay_settings.replay_feature_enabled =
+	link->replay_settings.replay_feature_enabled =
 			replay->funcs->replay_copy_settings(replay, link, &replay_context, panel_inst);
 	if (link->replay_settings.replay_feature_enabled) {
 
drivers/gpu/drm/amd/display/modules/power/power_helpers.c +2 -0
index 2b3d5183818a..3af67b729f6c 100644
@@ -841,6 +841,8 @@ bool is_psr_su_specific_panel(struct dc_link *link)
 				isPSRSUSupported = false;
 			else if (dpcd_caps->sink_dev_id_str[1] == 0x08 && dpcd_caps->sink_dev_id_str[0] == 0x03)
 				isPSRSUSupported = false;
+			else if (dpcd_caps->sink_dev_id_str[1] == 0x08 && dpcd_caps->sink_dev_id_str[0] == 0x03)
+				isPSRSUSupported = false;
 			else if (dpcd_caps->psr_info.force_psrsu_cap == 0x1)
 				isPSRSUSupported = true;
 		}
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +3 -10
index b47fd42414f4..56e4c312cb7a 100644
@@ -24,6 +24,7 @@
 
 #include <linux/firmware.h>
 #include <linux/pci.h>
+#include <linux/power_supply.h>
 #include <linux/reboot.h>
 
 #include "amdgpu.h"
@@ -741,16 +742,8 @@ static int smu_late_init(void *handle)
 	 * handle the switch automatically. Driver involvement
 	 * is unnecessary.
 	 */
-	if (!smu->dc_controlled_by_gpio) {
-		ret = smu_set_power_source(smu,
-					   adev->pm.ac_power ? SMU_POWER_SOURCE_AC :
-					   SMU_POWER_SOURCE_DC);
-		if (ret) {
-			dev_err(adev->dev, "Failed to switch to %s mode!\n",
-				adev->pm.ac_power ? "AC" : "DC");
-			return ret;
-		}
-	}
+	adev->pm.ac_power = power_supply_is_system_supplied() > 0;
+	smu_set_ac_dc(smu);
 
 	if ((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 1)) ||
 	    (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 3)))
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +2 -0
index aa4a5498a12f..123c19bb6228 100644
@@ -1441,10 +1441,12 @@ static int smu_v11_0_irq_process(struct amdgpu_device *adev,
 			case 0x3:
 				dev_dbg(adev->dev, "Switched to AC mode!\n");
 				schedule_work(&smu->interrupt_work);
+				adev->pm.ac_power = true;
 				break;
 			case 0x4:
 				dev_dbg(adev->dev, "Switched to DC mode!\n");
 				schedule_work(&smu->interrupt_work);
+				adev->pm.ac_power = false;
 				break;
 			case 0x7:
 				/*
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +2 -0
index 5355f621388b..c097aed4722b 100644
@@ -1377,10 +1377,12 @@ static int smu_v13_0_irq_process(struct amdgpu_device *adev,
 			case 0x3:
 				dev_dbg(adev->dev, "Switched to AC mode!\n");
 				smu_v13_0_ack_ac_dc_interrupt(smu);
+				adev->pm.ac_power = true;
 				break;
 			case 0x4:
 				dev_dbg(adev->dev, "Switched to DC mode!\n");
 				smu_v13_0_ack_ac_dc_interrupt(smu);
+				adev->pm.ac_power = false;
 				break;
 			case 0x7:
 				/*
drivers/gpu/drm/bridge/analogix/anx7625.c +6 -1
index 51abe42c639e..5168628f11cf 100644
@@ -1741,6 +1741,7 @@ static ssize_t anx7625_aux_transfer(struct drm_dp_aux *aux,
 	u8 request = msg->request & ~DP_AUX_I2C_MOT;
 	int ret = 0;
 
+	mutex_lock(&ctx->aux_lock);
 	pm_runtime_get_sync(dev);
 	msg->reply = 0;
 	switch (request) {
@@ -1757,6 +1758,7 @@ static ssize_t anx7625_aux_transfer(struct drm_dp_aux *aux,
 					msg->size, msg->buffer);
 	pm_runtime_mark_last_busy(dev);
 	pm_runtime_put_autosuspend(dev);
+	mutex_unlock(&ctx->aux_lock);
 
 	return ret;
 }
@@ -2453,7 +2455,9 @@ static void anx7625_bridge_atomic_disable(struct drm_bridge *bridge,
 	ctx->connector = NULL;
 	anx7625_dp_stop(ctx);
 
-	pm_runtime_put_sync(dev);
+	mutex_lock(&ctx->aux_lock);
+	pm_runtime_put_sync_suspend(dev);
+	mutex_unlock(&ctx->aux_lock);
 }
 
 static enum drm_connector_status
@@ -2647,6 +2651,7 @@ static int anx7625_i2c_probe(struct i2c_client *client)
 
 	mutex_init(&platform->lock);
 	mutex_init(&platform->hdcp_wq_lock);
+	mutex_init(&platform->aux_lock);
 
 	INIT_DELAYED_WORK(&platform->hdcp_work, hdcp_check_work_func);
 	platform->hdcp_workqueue = create_workqueue("hdcp workqueue");
drivers/gpu/drm/bridge/analogix/anx7625.h +2 -0
index 5af819611ebc..80d3fb4e985f 100644
@@ -471,6 +471,8 @@ struct anx7625_data {
 	struct workqueue_struct *hdcp_workqueue;
 	/* Lock for hdcp work queue */
 	struct mutex hdcp_wq_lock;
+	/* Lock for aux transfer and disable */
+	struct mutex aux_lock;
 	char edid_block;
 	struct display_timing dt;
 	u8 display_timing_valid;
drivers/gpu/drm/bridge/nxp-ptn3460.c +3 -3
index d81920227a8a..7c0076e49953 100644
@@ -54,13 +54,13 @@ static int ptn3460_read_bytes(struct ptn3460_bridge *ptn_bridge, char addr,
 	int ret;
 
 	ret = i2c_master_send(ptn_bridge->client, &addr, 1);
-	if (ret <= 0) {
+	if (ret < 0) {
 		DRM_ERROR("Failed to send i2c command, ret=%d\n", ret);
 		return ret;
 	}
 
 	ret = i2c_master_recv(ptn_bridge->client, buf, len);
-	if (ret <= 0) {
+	if (ret < 0) {
 		DRM_ERROR("Failed to recv i2c data, ret=%d\n", ret);
 		return ret;
 	}
@@ -78,7 +78,7 @@ static int ptn3460_write_byte(struct ptn3460_bridge *ptn_bridge, char addr,
 	buf[1] = val;
 
 	ret = i2c_master_send(ptn_bridge->client, buf, ARRAY_SIZE(buf));
-	if (ret <= 0) {
+	if (ret < 0) {
 		DRM_ERROR("Failed to send i2c command, ret=%d\n", ret);
 		return ret;
 	}
drivers/gpu/drm/bridge/parade-ps8640.c +23 -0
index 541e4f5afc4c..14d4dcf239da 100644
@@ -107,6 +107,7 @@ struct ps8640 {
 	struct device_link *link;
 	bool pre_enabled;
 	bool need_post_hpd_delay;
+	struct mutex aux_lock;
 };
 
 static const struct regmap_config ps8640_regmap_config[] = {
@@ -345,11 +346,20 @@ static ssize_t ps8640_aux_transfer(struct drm_dp_aux *aux,
 	struct device *dev = &ps_bridge->page[PAGE0_DP_CNTL]->dev;
 	int ret;
 
+	mutex_lock(&ps_bridge->aux_lock);
 	pm_runtime_get_sync(dev);
+	ret = _ps8640_wait_hpd_asserted(ps_bridge, 200 * 1000);
+	if (ret) {
+		pm_runtime_put_sync_suspend(dev);
+		goto exit;
+	}
 	ret = ps8640_aux_transfer_msg(aux, msg);
 	pm_runtime_mark_last_busy(dev);
 	pm_runtime_put_autosuspend(dev);
 
+exit:
+	mutex_unlock(&ps_bridge->aux_lock);
+
 	return ret;
 }
 
@@ -470,7 +480,18 @@ static void ps8640_atomic_post_disable(struct drm_bridge *bridge,
 	ps_bridge->pre_enabled = false;
 
 	ps8640_bridge_vdo_control(ps_bridge, DISABLE);
+
+	/*
+	 * The bridge seems to expect everything to be power cycled at the
+	 * disable process, so grab a lock here to make sure
+	 * ps8640_aux_transfer() is not holding a runtime PM reference and
+	 * preventing the bridge from suspend.
+	 */
+	mutex_lock(&ps_bridge->aux_lock);
+
 	pm_runtime_put_sync_suspend(&ps_bridge->page[PAGE0_DP_CNTL]->dev);
+
+	mutex_unlock(&ps_bridge->aux_lock);
 }
 
 static int ps8640_bridge_attach(struct drm_bridge *bridge,
@@ -619,6 +640,8 @@ static int ps8640_probe(struct i2c_client *client)
 	if (!ps_bridge)
 		return -ENOMEM;
 
+	mutex_init(&ps_bridge->aux_lock);
+
 	ps_bridge->supplies[0].supply = "vdd12";
 	ps_bridge->supplies[1].supply = "vdd33";
 	ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ps_bridge->supplies),
drivers/gpu/drm/bridge/samsung-dsim.c +2 -30
index 19bdb32dbc9a..f24666b48193 100644
@@ -941,10 +941,6 @@ static int samsung_dsim_init_link(struct samsung_dsim *dsi)
 	reg = samsung_dsim_read(dsi, DSIM_ESCMODE_REG);
 	reg &= ~DSIM_STOP_STATE_CNT_MASK;
 	reg |= DSIM_STOP_STATE_CNT(driver_data->reg_values[STOP_STATE_CNT]);
-
-	if (!samsung_dsim_hw_is_exynos(dsi->plat_data->hw_type))
-		reg |= DSIM_FORCE_STOP_STATE;
-
 	samsung_dsim_write(dsi, DSIM_ESCMODE_REG, reg);
 
 	reg = DSIM_BTA_TIMEOUT(0xff) | DSIM_LPDR_TIMEOUT(0xffff);
@@ -1401,18 +1397,6 @@ static void samsung_dsim_disable_irq(struct samsung_dsim *dsi)
 	disable_irq(dsi->irq);
 }
 
-static void samsung_dsim_set_stop_state(struct samsung_dsim *dsi, bool enable)
-{
-	u32 reg = samsung_dsim_read(dsi, DSIM_ESCMODE_REG);
-
-	if (enable)
-		reg |= DSIM_FORCE_STOP_STATE;
-	else
-		reg &= ~DSIM_FORCE_STOP_STATE;
-
-	samsung_dsim_write(dsi, DSIM_ESCMODE_REG, reg);
-}
-
 static int samsung_dsim_init(struct samsung_dsim *dsi)
 {
 	const struct samsung_dsim_driver_data *driver_data = dsi->driver_data;
@@ -1462,9 +1446,6 @@ static void samsung_dsim_atomic_pre_enable(struct drm_bridge *bridge,
 		ret = samsung_dsim_init(dsi);
 		if (ret)
 			return;
-
-		samsung_dsim_set_display_mode(dsi);
-		samsung_dsim_set_display_enable(dsi, true);
 	}
 }
 
@@ -1473,12 +1454,8 @@ static void samsung_dsim_atomic_enable(struct drm_bridge *bridge,
 {
 	struct samsung_dsim *dsi = bridge_to_dsi(bridge);
 
-	if (samsung_dsim_hw_is_exynos(dsi->plat_data->hw_type)) {
-		samsung_dsim_set_display_mode(dsi);
-		samsung_dsim_set_display_enable(dsi, true);
-	} else {
-		samsung_dsim_set_stop_state(dsi, false);
-	}
+	samsung_dsim_set_display_mode(dsi);
+	samsung_dsim_set_display_enable(dsi, true);
 
 	dsi->state |= DSIM_STATE_VIDOUT_AVAILABLE;
 }
@@ -1491,9 +1468,6 @@ static void samsung_dsim_atomic_disable(struct drm_bridge *bridge,
 	if (!(dsi->state & DSIM_STATE_ENABLED))
 		return;
 
-	if (!samsung_dsim_hw_is_exynos(dsi->plat_data->hw_type))
-		samsung_dsim_set_stop_state(dsi, true);
-
 	dsi->state &= ~DSIM_STATE_VIDOUT_AVAILABLE;
 }
 
@@ -1795,8 +1769,6 @@ static ssize_t samsung_dsim_host_transfer(struct mipi_dsi_host *host,
 	if (ret)
 		return ret;
 
-	samsung_dsim_set_stop_state(dsi, false);
-
 	ret = mipi_dsi_create_packet(&xfer.packet, msg);
 	if (ret < 0)
 		return ret;
drivers/gpu/drm/bridge/sii902x.c +29 -13

66 lines not on this page · raw message

drivers/gpu/drm/drm_damage_helper.c +2 -1
index d8b2955e88fd..afb02aae707b 100644
@@ -241,7 +241,8 @@ drm_atomic_helper_damage_iter_init(struct drm_atomic_helper_damage_iter *iter,
 	iter->plane_src.x2 = (src.x2 >> 16) + !!(src.x2 & 0xFFFF);
 	iter->plane_src.y2 = (src.y2 >> 16) + !!(src.y2 & 0xFFFF);
 
-	if (!iter->clips || !drm_rect_equals(&state->src, &old_state->src)) {
+	if (!iter->clips || state->ignore_damage_clips ||
+	    !drm_rect_equals(&state->src, &old_state->src)) {
 		iter->clips = NULL;
 		iter->num_clips = 0;
 		iter->full_update = true;
drivers/gpu/drm/drm_plane.c +14 -0
index 24e7998d1731..311e179904a2 100644
@@ -678,6 +678,19 @@ int drm_mode_getplane_res(struct drm_device *dev, void *data,
 		    !file_priv->universal_planes)
 			continue;
 
+		/*
+		 * If we're running on a virtualized driver then,
+		 * unless userspace advertizes support for the
+		 * virtualized cursor plane, disable cursor planes
+		 * because they'll be broken due to missing cursor
+		 * hotspot info.
+		 */
+		if (plane->type == DRM_PLANE_TYPE_CURSOR &&
+		    drm_core_check_feature(dev, DRIVER_CURSOR_HOTSPOT) &&
+		    file_priv->atomic &&
+		    !file_priv->supports_virtualized_cursor_plane)
+			continue;
+
 		if (drm_lease_held(file_priv, plane->base.id)) {
 			if (count < plane_resp->count_planes &&
 			    put_user(plane->base.id, plane_ptr + count))
@@ -1387,6 +1400,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
 out:
 	if (fb)
 		drm_framebuffer_put(fb);
+	fb = NULL;
 	if (plane->old_fb)
 		drm_framebuffer_put(plane->old_fb);
 	plane->old_fb = NULL;
drivers/gpu/drm/exynos/exynos5433_drm_decon.c +2 -2
index 4d986077738b..bce027552474 100644
@@ -319,9 +319,9 @@ static void decon_win_set_bldmod(struct decon_context *ctx, unsigned int win,
 static void decon_win_set_pixfmt(struct decon_context *ctx, unsigned int win,
 				 struct drm_framebuffer *fb)
 {
-	struct exynos_drm_plane plane = ctx->planes[win];
+	struct exynos_drm_plane *plane = &ctx->planes[win];
 	struct exynos_drm_plane_state *state =
-		to_exynos_plane_state(plane.base.state);
+		to_exynos_plane_state(plane->base.state);
 	unsigned int alpha = state->base.alpha;
 	unsigned int pixel_alpha;
 	unsigned long val;
drivers/gpu/drm/exynos/exynos_drm_fimd.c +2 -2
index 8dde7b1e9b35..5bdc246f5fad 100644
@@ -661,9 +661,9 @@ static void fimd_win_set_bldmod(struct fimd_context *ctx, unsigned int win,
 static void fimd_win_set_pixfmt(struct fimd_context *ctx, unsigned int win,
 				struct drm_framebuffer *fb, int width)
 {
-	struct exynos_drm_plane plane = ctx->planes[win];
+	struct exynos_drm_plane *plane = &ctx->planes[win];
 	struct exynos_drm_plane_state *state =
-		to_exynos_plane_state(plane.base.state);
+		to_exynos_plane_state(plane->base.state);
 	uint32_t pixel_format = fb->format->format;
 	unsigned int alpha = state->base.alpha;
 	u32 val = WINCONx_ENWIN;
drivers/gpu/drm/exynos/exynos_drm_gsc.c +1 -1
index 34cdabc30b4f..5302bebbe38c 100644
@@ -1342,7 +1342,7 @@ static int __maybe_unused gsc_runtime_resume(struct device *dev)
 	for (i = 0; i < ctx->num_clocks; i++) {
 		ret = clk_prepare_enable(ctx->clocks[i]);
 		if (ret) {
-			while (--i > 0)
+			while (--i >= 0)
 				clk_disable_unprepare(ctx->clocks[i]);
 			return ret;
 		}
drivers/gpu/drm/i915/display/icl_dsi.c +1 -2
index 5b8efe8e735a..f7113b0321e4 100644
@@ -1155,6 +1155,7 @@ static void gen11_dsi_powerup_panel(struct intel_encoder *encoder)
 	}
 
 	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_INIT_OTP);
+	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON);
 
 	/* ensure all panel commands dispatched before enabling transcoder */
 	wait_for_cmds_dispatched_to_panel(encoder);
@@ -1255,8 +1256,6 @@ static void gen11_dsi_enable(struct intel_atomic_state *state,
 	/* step6d: enable dsi transcoder */
 	gen11_dsi_enable_transcoder(encoder);
 
-	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON);
-
 	/* step7: enable backlight */
 	intel_backlight_enable(crtc_state, conn_state);
 	intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_ON);
drivers/gpu/drm/i915/display/intel_psr.c +18 -4
index 97d5eef10130..5cf3db7058b9 100644
@@ -674,7 +674,9 @@ static void hsw_activate_psr1(struct intel_dp *intel_dp)
 
 	val |= EDP_PSR_IDLE_FRAMES(psr_compute_idle_frames(intel_dp));
 
-	val |= EDP_PSR_MAX_SLEEP_TIME(max_sleep_time);
+	if (DISPLAY_VER(dev_priv) < 20)
+		val |= EDP_PSR_MAX_SLEEP_TIME(max_sleep_time);
+
 	if (IS_HASWELL(dev_priv))
 		val |= EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES;
 
@@ -1398,9 +1400,21 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp,
 	 * can rely on frontbuffer tracking.
 	 */
 	mask = EDP_PSR_DEBUG_MASK_MEMUP |
-	       EDP_PSR_DEBUG_MASK_HPD |
-	       EDP_PSR_DEBUG_MASK_LPSP |
-	       EDP_PSR_DEBUG_MASK_MAX_SLEEP;
+	       EDP_PSR_DEBUG_MASK_HPD;
+
+	/*
+	 * For some unknown reason on HSW non-ULT (or at least on
+	 * Dell Latitude E6540) external displays start to flicker
+	 * when PSR is enabled on the eDP. SR/PC6 residency is much
+	 * higher than should be possible with an external display.
+	 * As a workaround leave LPSP unmasked to prevent PSR entry
+	 * when external displays are active.
+	 */
+	if (DISPLAY_VER(dev_priv) >= 8 || IS_HASWELL_ULT(dev_priv))
+		mask |= EDP_PSR_DEBUG_MASK_LPSP;
+
+	if (DISPLAY_VER(dev_priv) < 20)
+		mask |= EDP_PSR_DEBUG_MASK_MAX_SLEEP;
 
 	/*
 	 * No separate pipe reg write mask on hsw/bdw, so have to unmask all
drivers/gpu/drm/nouveau/nouveau_vmm.c +3 -0
index a6602c012671..3dda885df5b2 100644
@@ -108,6 +108,9 @@ nouveau_vma_new(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm,
 	} else {
 		ret = nvif_vmm_get(&vmm->vmm, PTES, false, mem->mem.page, 0,
 				   mem->mem.size, &tmp);
+		if (ret)
+			goto done;
+
 		vma->addr = tmp.addr;
 	}
 
drivers/gpu/drm/panel/panel-edp.c +6 -1
index 95c8472d878a..7dc6fb7308ce 100644
@@ -973,6 +973,8 @@ static const struct panel_desc auo_b116xak01 = {
 	},
 	.delay = {
 		.hpd_absent = 200,
+		.unprepare = 500,
+		.enable = 50,
 	},
 };
 
@@ -1840,7 +1842,8 @@ static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('A', 'U', 'O', 0x145c, &delay_200_500_e50, "B116XAB01.4"),
 	EDP_PANEL_ENTRY('A', 'U', 'O', 0x1e9b, &delay_200_500_e50, "B133UAN02.1"),
 	EDP_PANEL_ENTRY('A', 'U', 'O', 0x1ea5, &delay_200_500_e50, "B116XAK01.6"),
-	EDP_PANEL_ENTRY('A', 'U', 'O', 0x405c, &auo_b116xak01.delay, "B116XAK01"),
+	EDP_PANEL_ENTRY('A', 'U', 'O', 0x235c, &delay_200_500_e50, "B116XTN02.3"),
+	EDP_PANEL_ENTRY('A', 'U', 'O', 0x405c, &auo_b116xak01.delay, "B116XAK01.0"),
 	EDP_PANEL_ENTRY('A', 'U', 'O', 0x582d, &delay_200_500_e50, "B133UAN01.0"),
 	EDP_PANEL_ENTRY('A', 'U', 'O', 0x615c, &delay_200_500_e50, "B116XAN06.1"),
 	EDP_PANEL_ENTRY('A', 'U', 'O', 0x8594, &delay_200_500_e50, "B133UAN01.0"),
@@ -1848,8 +1851,10 @@ static const struct edp_panel_entry edp_panels[] = {
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0786, &delay_200_500_p2e80, "NV116WHM-T01"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x07d1, &boe_nv133fhm_n61.delay, "NV133FHM-N61"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x082d, &boe_nv133fhm_n61.delay, "NV133FHM-N62"),
+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x09c3, &delay_200_500_e50, "NT116WHM-N21,836X2"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x094b, &delay_200_500_e50, "NT116WHM-N21"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x095f, &delay_200_500_e50, "NE135FBM-N41 v8.1"),
+	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0979, &delay_200_500_e50, "NV116WHM-N49 V8.0"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x098d, &boe_nv110wtm_n61.delay, "NV110WTM-N61"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x09dd, &delay_200_500_e50, "NT116WHM-N21"),
 	EDP_PANEL_ENTRY('B', 'O', 'E', 0x0a5d, &delay_200_500_e50, "NV116WHM-N45"),
drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c +1 -1
index ea5a85779382..f23d8832a1ad 100644
@@ -309,7 +309,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al02_desc = {
 	.off_func = s6d7aa0_lsl080al02_off,
 	.drm_mode = &s6d7aa0_lsl080al02_mode,
 	.mode_flags = MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_NO_HFP,
-	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
+	.bus_flags = 0,
 
 	.has_backlight = false,
 	.use_passwd3 = false,
drivers/gpu/drm/panel/panel-simple.c +2 -0
index 6e46e55d29a9..51f838befb32 100644
@@ -3782,6 +3782,7 @@ static const struct panel_desc tianma_tm070jdhg30 = {
 	},
 	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
 	.connector_type = DRM_MODE_CONNECTOR_LVDS,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
 };
 
 static const struct panel_desc tianma_tm070jvhg33 = {
@@ -3794,6 +3795,7 @@ static const struct panel_desc tianma_tm070jvhg33 = {
 	},
 	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
 	.connector_type = DRM_MODE_CONNECTOR_LVDS,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
 };
 
 static const struct display_timing tianma_tm070rvhg71_timing = {
drivers/gpu/drm/qxl/qxl_drv.c +1 -1
index b30ede1cf62d..91930e84a9cd 100644
@@ -283,7 +283,7 @@ static const struct drm_ioctl_desc qxl_ioctls[] = {
 };
 
 static struct drm_driver qxl_driver = {
-	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
+	.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC | DRIVER_CURSOR_HOTSPOT,
 
 	.dumb_create = qxl_mode_dumb_create,
 	.dumb_map_offset = drm_gem_ttm_dumb_map_offset,
drivers/gpu/drm/tidss/tidss_crtc.c +5 -5
index 5e5e466f35d1..7c78c074e3a2 100644
@@ -169,13 +169,13 @@ static void tidss_crtc_atomic_flush(struct drm_crtc *crtc,
 	struct tidss_device *tidss = to_tidss(ddev);
 	unsigned long flags;
 
-	dev_dbg(ddev->dev,
-		"%s: %s enabled %d, needs modeset %d, event %p\n", __func__,
[… more lines in the raw message]

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

drivers/gpu/drm/vboxvideo/vbox_drv.c +1 -1
index 047b95812334..cd9e66a06596 100644

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

drivers/gpu/drm/virtio/virtgpu_drv.c +1 -1
index 644b8ee51009..148f09aaf99a 100644

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

drivers/gpu/drm/virtio/virtgpu_plane.c +10 -0
index a2e045f3a000..a1ef657eba07 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +1 -1
index 8b24ecf60e3e..d3e308fdfd5b 100644

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

drivers/iio/adc/ad7091r-base.c +169 -0

169 lines not on this page · raw message

drivers/iio/adc/ad7091r-base.h +8 -0
index 509748aef9b1..b9e1c8bf3440 100644

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

drivers/iio/adc/ad7091r5.c +4 -24
index 2f048527b7b7..dae98c95ebb8 100644

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

drivers/media/common/videobuf2/videobuf2-dma-sg.c +8 -2
index 28f3fdfe23a2..6975a71d740f 100644

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

drivers/media/i2c/imx290.c +21 -21

42 lines not on this page · raw message

drivers/media/i2c/imx355.c +7 -5
index 9c79ae8dc842..059a41b7eefc 100644

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

drivers/media/i2c/ov01a10.c +14 -4
index 2b9e1b3a3bf4..9afe9bf50334 100644

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

drivers/media/i2c/ov13b10.c +9 -5
index 8ebdb32dd3db..124eaa4f9e2c 100644

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

drivers/media/i2c/ov9734.c +11 -8
index b6244772bc59..b36fc0fedad4 100644

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

drivers/media/i2c/st-mipid02.c +7 -2
index fa27638edc07..dab14787116b 100644

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

drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c +6 -6
index 60425c99a2b8..c3456c700c07 100644

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

drivers/media/v4l2-core/v4l2-cci.c +40 -12

52 lines not on this page · raw message

drivers/mmc/core/block.c +43 -3

46 lines not on this page · raw message

drivers/mmc/host/mmc_spi.c +5 -181

186 lines not on this page · raw message

drivers/mtd/maps/vmu-flash.c +1 -1
index a7ec947a3ebb..53019d313db7 100644

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

drivers/mtd/nand/raw/nand_base.c +74 -13

87 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt.c +8 -0
index 6039886a8544..dac4f9510c17 100644

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

drivers/net/ethernet/engleder/tsnep_main.c +15 -2
index 38da2d6c250e..08e113e785a7 100644

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

drivers/net/ethernet/freescale/fec_main.c +2 -0
index 35c95f07fd6d..54da59286df4 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +31 -16

47 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_txrx.c +23 -26

49 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_xsk.c +2 -2
index 7d991e4d9b89..1f8ae6f5d980 100644

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

drivers/net/ethernet/intel/ice/ice_base.c +23 -14
index 7fa43827a3f0..4f3e65b47cdc 100644

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

drivers/net/ethernet/intel/ice/ice_txrx.c +9 -10
index 52d0a126eb61..24c914015973 100644

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

drivers/net/ethernet/intel/ice/ice_txrx.h +1 -0
index 166413fc33f4..407d4c320097 100644

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

drivers/net/ethernet/intel/ice/ice_txrx_lib.h +22 -9
index 115969ecdf7b..b0e56675f98b 100644

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

drivers/net/ethernet/intel/ice/ice_xsk.c +2 -2
index 2a3f0834e139..307c609137bd 100644

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

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +26 -1
index 21c3f9b015c8..aca17082b9ec 100644

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

drivers/net/ethernet/mellanox/mlx5/core/cmd.c +3 -2
index 7013e1c8741a..55efb932ab2c 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c +1 -0
index e1283531e0b8..671adbad0a40 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/params.c +2 -2
index e097f336e1c4..30507b7c2fb1 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c +1 -1
index af3928eddafd..803035d4e597 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c +8 -2
index 5834e47e72d8..e2ffc572de18 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c +15 -11
index bb7f86c993e5..e66f486faafe 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +2 -1
index 25e44ee5121a..dc9b157a4499 100644

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

drivers/net/ethernet/mellanox/mlx5/core/esw/bridge_mcast.c +5 -9
index 7a01714b3780..22dd30cf8033 100644

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

drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c +2 -0
index a4b925331661..b29299c49ab3 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c +1 -1
index 40c7be124041..58bd749b5e4d 100644

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

drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c +12 -5
index 5b83da08692d..90c38cbbde18 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +41 -2

43 lines not on this page · raw message

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +3 -0
index 2f0678f15fb7..30d5e635190e 100644

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

drivers/net/fjes/fjes_hw.c +30 -7
index 704e949484d0..b9b5554ea862 100644

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

drivers/net/hyperv/netvsc_drv.c +2 -2
index 706ea5263e87..cd15d7b380ab 100644

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

drivers/net/phy/micrel.c +11 -0
index dfd5f8e78e29..27ca25bbd141 100644

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

drivers/net/tun.c +8 -2
index afa5497f7c35..4a4f8c8e79fa 100644

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

drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +2 -2
index ef5baee6c9c5..1df60d51905b 100644

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

drivers/opp/core.c +3 -3
index 919cc53bc02e..bceb27b1baa1 100644

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

drivers/parisc/power.c +1 -1
index 332bcc0053a5..498bae2e3403 100644

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

drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c +41 -41

82 lines not on this page · raw message

drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.h +16 -16
index 7afb69977c7e..0e5bf507e555 100644

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

drivers/platform/x86/p2sb.c +139 -41

180 lines not on this page · raw message

drivers/rpmsg/virtio_rpmsg_bus.c +1 -0
index 905ac7910c98..f1af0f674615 100644

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

drivers/rtc/rtc-cmos.c +17 -11
index 228fb2d11c70..7d99cd2c37a0 100644

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

drivers/rtc/rtc-mc146818-lib.c +30 -9
index f1c09f1db044..651bf3c279c7 100644

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

drivers/s390/crypto/vfio_ap_ops.c +178 -91

269 lines not on this page · raw message

drivers/s390/crypto/vfio_ap_private.h +3 -0
index 88aff8b81f2f..98d37aa27044 100644

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

drivers/scsi/scsi_error.c +6 -3
index 1223d34c04da..d983f4a0e9f1 100644

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

drivers/soc/fsl/qe/qmc.c +17 -18
index b3c292c9a14e..8dc73cc1a83b 100644

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

drivers/soc/fsl/qe/tsa.c +11 -11
index 3646153117b3..e0527b9efd05 100644

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

drivers/soc/qcom/pmic_glink_altmode.c +2 -2
index 6f8b2f7ae3cc..9b0000b5f064 100644

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

drivers/soundwire/amd_manager.c +8 -0
index 3a99f6dcdfaf..a3b1f4e6f0f9 100644

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

drivers/soundwire/bus.c +4 -0
index 0e7bc3c40f9d..e7553c38be59 100644

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

drivers/soundwire/debugfs.c +1 -1
index d1553cb77187..67abd7e52f09 100644

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

drivers/soundwire/intel_auxdevice.c +3 -0
index 7f15e3549e53..93698532deac 100644

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

drivers/soundwire/master.c +1 -1
index 9b05c9e25ebe..51abedbbaa66 100644

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

drivers/soundwire/qcom.c +3 -0
index 55be9f4b8d59..e3ae4e4e07ac 100644

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

drivers/soundwire/slave.c +6 -6
index c1c1a2ac293a..060c2982e26b 100644

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

drivers/spi/spi-bcm-qspi.c +2 -2
index ef08fcac2f6d..0407b91183ca 100644

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

drivers/spi/spi-cadence.c +9 -8
index bd96d8b546cd..5cab7caf4658 100644

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

drivers/spi/spi-intel-pci.c +0 -1
index 57d767a68e7b..b9918dcc3802 100644

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

drivers/spi/spi.c +4 -0
index 399e81d37b3b..1e08cd571d21 100644

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

drivers/thermal/gov_bang_bang.c +8 -15
index 1b121066521f..49cdfaa3a927 100644

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

drivers/thermal/gov_fair_share.c +3 -2
index 03c2daeb6ee8..2abeb8979f50 100644

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

drivers/thermal/gov_power_allocator.c +9 -4
index 8642f1096b91..fc969642f70b 100644

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

drivers/thermal/gov_step_wise.c +7 -9
index 1050fb4d94c2..849dc1ec8d27 100644

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

drivers/thermal/intel/intel_hfi.c +85 -21

106 lines not on this page · raw message

drivers/thermal/thermal_core.c +10 -5
index 2de524fb7be5..1494ffa59754 100644

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

drivers/thermal/thermal_core.h +3 -1
index de884bea28b6..024e82ebf592 100644

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

drivers/thermal/thermal_helpers.c +4 -1
index 4d66372c9629..c1d0af73c85d 100644

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

drivers/thermal/thermal_sysfs.c +2 -1
index 4e6a97db894e..eef40d4f3063 100644

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

drivers/thermal/thermal_trip.c +13 -3
index 597ac4144e33..afc9499128c2 100644

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

drivers/tty/serial/imx.c +0 -4
index cd36251ba1c0..2fbb9b597752 100644

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

drivers/tty/serial/sc16is7xx.c +203 -186

389 lines not on this page · raw message

drivers/tty/serial/serial_core.c +38 -20

58 lines not on this page · raw message

drivers/tty/serial/stm32-usart.c +2 -6
index 5e9cf0c48813..b6f4f436a565 100644

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

drivers/ufs/core/ufshcd.c +2 -5
index 0971ae37f2a7..44e0437bd19d 100644

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

fs/afs/dir.c +8 -0
index 5219182e52e1..2df2e9ee130d 100644

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

fs/btrfs/extent-tree.c +39 -14

53 lines not on this page · raw message

fs/btrfs/inode.c +13 -9
index 7bf5c2c1a54d..f250e2083c7e 100644

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

fs/btrfs/ioctl.c +7 -0
index e611b3a3ad38..908215928d6a 100644

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

fs/btrfs/ref-verify.c +4 -2
index e646662e61c6..1ea5bfb8876e 100644

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

fs/btrfs/scrub.c +22 -7
index 4445a52a0707..1e3ff87d0447 100644

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

fs/btrfs/sysfs.c +4 -0
index b1d1ac25237b..c9198723e4cb 100644

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

fs/btrfs/tree-checker.c +1 -1
index ab08a0b01311..cc6bc5985120 100644

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

fs/btrfs/zoned.c +2 -6
index 09bc325d075d..41a8cdce5d9f 100644

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

fs/dlm/lowcomms.c +7 -7
index f7bc22e74db2..32dbd1a828d0 100644

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

fs/erofs/decompressor.c +16 -15
index 8d1f86487d6e..d36b3963c0bf 100644

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

fs/exec.c +3 -0
index 6518e33ea813..2f2b0acec4f0 100644

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

fs/ext4/mballoc.c +10 -5
index d70f7a06bab4..9a4b73485ded 100644

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

fs/fscache/cache.c +2 -1
index d645f8b302a2..9397ed39b0b4 100644

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

fs/ioctl.c +1 -2
index f5fd99d6b0d4..76cf22ac97d7 100644

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

fs/namei.c +37 -23

60 lines not on this page · raw message

fs/nfsd/nfs4state.c +15 -11
index 529b3ed3b317..f4cccbf664ce 100644

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

fs/pipe.c +8 -11
index 139190165a1c..a234035cc375 100644

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

fs/smb/client/cifs_debug.c +5 -0
index a2584ad8808a..3230ed7eadde 100644

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

fs/smb/client/cifsglob.h +2 -0
index ec1e5e20a36b..5e32c79f03a7 100644

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

fs/smb/client/cifsproto.h +4 -1
index c858feaf4f92..c00f84420559 100644

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

fs/smb/client/connect.c +26 -5
index b82f60d6f47e..0ed6eb915c6a 100644

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

fs/smb/client/sess.c +84 -12

96 lines not on this page · raw message

fs/smb/client/smb2ops.c +3 -7
index 0604696f59c1..e33ed0fbc318 100644

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

fs/smb/client/smb2pdu.c +146 -16

162 lines not on this page · raw message

fs/smb/client/smb2transport.c +7 -1
index a136fc4cc2b5..5a3ca62d2f07 100644

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

fs/smb/client/transport.c +1 -1
index d553b7a54621..4f717ad7c21b 100644

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

fs/smb/server/connection.c +1 -0
index 7977827c6541..09e1e7771592 100644

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

fs/smb/server/ksmbd_netlink.h +2 -1
index b7521e41402e..0ebf91ffa236 100644

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

fs/smb/server/oplock.c +11 -5
index e0eb7cb2a525..53dfaac425c6 100644

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

fs/smb/server/smb2pdu.c +5 -3
index 297ed5c5ce8d..6ddfe3fef55f 100644

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

fs/smb/server/transport_ipc.c +2 -2
index b49d47bdafc9..f29bb03f0dc4 100644

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

fs/ubifs/dir.c +2 -0
index 2f48c58d47cd..be45972ff95d 100644

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

fs/xfs/xfs_super.c +17 -10
index 819a3568b28f..13007b6bc9f3 100644

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

include/drm/drm_drv.h +9 -0
index 9813fa759b75..0a72b13781f1 100644

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

include/drm/drm_file.h +12 -0
index 9c47a43f42a6..c8c2a63b9e7e 100644

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

include/drm/drm_plane.h +10 -0
index 79d62856defb..fef775200a81 100644

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

include/linux/async.h +2 -0
index cce4ad31e8fc..33c9ff4afb49 100644

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

include/linux/bpf-cgroup.h +37 -36

73 lines not on this page · raw message

include/linux/bpf_verifier.h +32 -0
index b6e58dab8e27..2d84d820a7ba 100644

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

include/linux/filter.h +1 -0
index 761af6b3cf2b..77db4263d68d 100644

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

include/linux/lsm_hook_defs.h +2 -0
index 2b8d85aae083..74c60f9446f8 100644

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

include/linux/mc146818rtc.h +2 -1
index b0da04fe087b..34dfcc77f505 100644

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

include/linux/mlx5/fs.h +2 -0
index 1e00c2436377..3fb428ce7d1c 100644

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

include/linux/mlx5/mlx5_ifc.h +1 -1
index 8ac6ae79e083..51eb83f77938 100644

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

include/linux/mmzone.h +11 -3
index b6b688b229ea..f43a1cdcc6e7 100644

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

include/linux/mtd/rawnand.h +2 -0
index c29ace15a053..9d0fc5109af6 100644

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

include/linux/pipe_fs_i.h +16 -0
index 608a9eb86bff..288a8081a9db 100644

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

include/linux/rmap.h +2 -2
index 51cc21ebb568..b1fb58b435a9 100644

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

include/linux/security.h +9 -0
index 5f16eecde00b..b50c7f566189 100644

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

include/linux/serial_core.h +79 -0

79 lines not on this page · raw message

include/linux/skmsg.h +0 -6
index c953b8c0d2f4..bd4418377bac 100644

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

include/linux/soundwire/sdw.h +3 -1
index 4f3d14bb1538..c383579a008b 100644

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

include/linux/stmmac.h +1 -0
index e3f7ee169c08..5acb77968902 100644

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

include/linux/syscalls.h +1 -0
index 22bc6bc147f8..bbbd6fac3aff 100644

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

include/media/v4l2-cci.h +11 -0
index 0f6803e4b17e..8b0b361b464c 100644

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

include/net/inet_connection_sock.h +8 -0
index 5d2fcc137b88..01a73bf74fa1 100644

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

include/net/inet_sock.h +0 -5
index 2de0e4d4a027..2790ba58ffe5 100644

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

include/net/llc_pdu.h +2 -4
index 7e73f8e5e497..1d55ba7c45be 100644

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

include/net/sch_generic.h +4 -0
index f232512505f8..e940debac400 100644

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

include/net/sock.h +17 -1
index 70a771d96467..e70c903b04f3 100644

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

include/net/xdp_sock_drv.h +27 -0
index 1f6fc8c7a84c..5425f7ad5ebd 100644

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

include/uapi/linux/btrfs.h +3 -0
index dbb8b96da50d..6f776faaa791 100644

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

kernel/async.c +63 -22

85 lines not on this page · raw message

kernel/bpf/btf.c +1 -0
index 8090d7fb11ef..a31704a6bb61 100644

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

kernel/bpf/cgroup.c +15 -2
index 03b3d4492980..ac37bd53aee0 100644

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

kernel/bpf/verifier.c +686 -189

875 lines not on this page · raw message

kernel/irq/irqdesc.c +1 -1
index 27ca1c866f29..371eb1711d34 100644

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

kernel/kexec_core.c +1 -0
index 9dc728982d79..b7246b7171b7 100644

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

kernel/power/swap.c +19 -19
index 74edbce2320b..d71c590550d2 100644

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

kernel/rcu/tree.c +33 -1
index 9af42eae1ba3..4fe47ed95eeb 100644

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

kernel/rcu/tree_exp.h +1 -2
index 8239b39d945b..6e87dc764f47 100644

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

kernel/time/clocksource.c +24 -1
index c108ed8a9804..3052b1f1168e 100644

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

kernel/time/tick-sched.c +5 -0
index 5cbd0cee83c0..55cbc49f70d1 100644

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

kernel/trace/tracing_map.c +6 -1
index c774e560f2f9..a4dcf0f24352 100644

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

lib/crypto/mpi/ec.c +3 -0
index 40f5908e57a4..e16dca1e23d5 100644

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

mm/memblock.c +3 -0
index 913b2520a9a0..6d18485571b4 100644

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

mm/migrate.c +34 -31

65 lines not on this page · raw message

mm/mm_init.c +6 -0
index 50f2f34745af..77fd04c83d04 100644

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

mm/page_alloc.c +8 -8
index 85741403948f..afed33fd8761 100644

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

mm/sparse.c +9 -8
index 77d91e565045..338cf946dee8 100644

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

net/8021q/vlan_netlink.c +4 -0
index 214532173536..a3b68243fd4b 100644

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

net/core/dev.c +9 -0
index e480afb50d4c..d72a4ff689ca 100644

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

net/core/dev.h +3 -0
index fa2e9c5c4122..f2037d402144 100644

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

net/core/filter.c +72 -7

79 lines not on this page · raw message

net/core/request_sock.c +0 -3
index f35c2e998406..63de5c635842 100644

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

net/core/sock.c +9 -2
index 5cd21e699f2d..383e30fe79f4 100644

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

net/ipv4/af_inet.c +8 -4
index b0a5de1303b5..1c58bd72e124 100644

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

net/ipv4/inet_connection_sock.c +4 -0
index 394a498c2823..762817d6c8d7 100644

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

net/ipv4/ping.c +1 -1
index 75e0aee35eb7..4cb0c896caf9 100644

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

net/ipv4/tcp.c +1 -0
index f124f6c63915..fb417aee86e6 100644

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

net/ipv4/tcp_ipv4.c +1 -1
index 4167e8a48b60..c7ffab37a34c 100644

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

net/ipv4/udp.c +6 -3
index 9cb22a6ae1dc..7be4ddc80d95 100644

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

net/ipv6/af_inet6.c +8 -4
index 368824fe9719..4375bfa4f608 100644

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

net/ipv6/ping.c +1 -1
index 5831aaa53d75..25243737fbc4 100644

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

net/ipv6/tcp_ipv6.c +1 -1
index 44b6949d72b2..3783334ef233 100644

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

net/ipv6/udp.c +4 -2
index f1170dcc21d9..438476a31313 100644

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

net/llc/af_llc.c +16 -8
index 9b06c380866b..20551cfb7da6 100644

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

net/llc/llc_core.c +0 -7
index 6e387aadffce..4f16d9c88350 100644

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

net/mac80211/sta_info.c +4 -1
index 0c5cc75857e4..e112300caaf7 100644

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

net/netfilter/nf_tables_api.c +10 -10
index b28fbcb86e94..4fc8348dd799 100644

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

net/netfilter/nft_chain_filter.c +9 -2
index 680fe557686e..274b6f7e6bb5 100644

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

net/netfilter/nft_compat.c +12 -0
index 5284cd2ad532..f0eeda97bfcd 100644

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

net/netfilter/nft_flow_offload.c +5 -0
index ab3362c483b4..397351fa4d5f 100644

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

net/netfilter/nft_limit.c +16 -7
index 79039afde34e..cefa25e0dbb0 100644

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

net/netfilter/nft_nat.c +5 -0
index 583885ce7232..808f5802c270 100644

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

net/netfilter/nft_rt.c +5 -0
index 35a2c28caa60..24d977138572 100644

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

net/netfilter/nft_socket.c +5 -0
index 9ed85be79452..f30163e2ca62 100644

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

net/netfilter/nft_synproxy.c +5 -2
index 13da882669a4..1d737f89dfc1 100644

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

net/netfilter/nft_tproxy.c +5 -0
index ae15cd693f0e..71412adb73d4 100644

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

net/netfilter/nft_xfrm.c +5 -0
index 452f8587adda..1c866757db55 100644

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

net/netlink/af_netlink.c +1 -1
index eb086b06d60d..d9107b545d36 100644

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

net/rds/af_rds.c +1 -1
index 01c4cdfef45d..8435a20968ef 100644

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

net/sched/cls_api.c +8 -1
index a193cc7b3241..84e18b5f72a3 100644

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

net/sched/cls_flower.c +23 -0
index e5314a31f75a..efb9d2811b73 100644

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

net/smc/smc_diag.c +1 -1
index 2c464d76b06c..37833b96b508 100644

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

net/sunrpc/svcsock.c +2 -2
index 998687421fa6..e0ce4276274b 100644

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

net/xdp/xsk.c +8 -4
index 774a6d1916e4..d849dc04a334 100644

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

net/xdp/xsk_buff_pool.c +1 -0
index 49cb9f9a09be..b0a611677865 100644

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

scripts/get_abi.pl +1 -1
index 0ffd5531242a..408bfd0216da 100755

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

security/security.c +18 -0
index 23b129d482a7..840a3d58a290 100644

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

security/selinux/hooks.c +28 -0
index aa0afc122f09..53cfeefb2f19 100644

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

security/smack/smack_lsm.c +1 -0
index 65130a791f57..1f1ea8529421 100644

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

security/tomoyo/tomoyo.c +1 -0
index 25006fddc964..298d182759c2 100644

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

sound/soc/intel/boards/sof_sdw.c +2 -2
index 24e966a2ac2b..9ed572141fe5 100644

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

tools/testing/selftests/bpf/prog_tests/verifier.c +2 -0
index e3e68c97b40c..e51d11c36a21 100644

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

tools/testing/selftests/bpf/progs/cb_refs.c +1 -0
index 76d661b20e87..56c764df8196 100644

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

tools/testing/selftests/bpf/progs/iters.c +695 -0

695 lines not on this page · raw message

tools/testing/selftests/bpf/progs/strobemeta.h +48 -30

78 lines not on this page · raw message

tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c new file +242 -0

242 lines not on this page · raw message

tools/testing/selftests/bpf/progs/verifier_subprog_precision.c +72 -14

86 lines not on this page · raw message

tools/testing/selftests/bpf/progs/xdp_synproxy_kern.c +52 -32

84 lines not on this page · raw message

tools/testing/selftests/drivers/net/bonding/bond_options.sh +4 -4
index c54d1697f439..d508486cc0bd 100755

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

tools/testing/selftests/drivers/net/bonding/settings +1 -1
index 6091b45d226b..79b65bdf05db 100644

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

tools/testing/selftests/drivers/net/netdevsim/udp_tunnel_nic.sh +9 -0
index 1b08e042cf94..185b02d2d4cd 100755

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

tools/testing/selftests/mm/hugepage-vmemmap.c +18 -11
index 5b354c209e93..894d28c3dd47 100644

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

tools/testing/selftests/net/config +28 -0
index 8da562a9ae87..19ff75051660 100644

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

tools/testing/selftests/net/rps_default_mask.sh +5 -1
index a26c5624429f..4287a8529890 100755

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

tools/testing/selftests/net/so_incoming_cpu.c +50 -18

68 lines not on this page · 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.