Skip to contentSkip to conversation

Linux 5.19.4

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Aug 25, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.19.4 kernel.

All users of the 5.19 kernel series must upgrade.

The updated 5.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.19.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/admin-guide/sysctl/kernel.rst                             |   12 
 Documentation/atomic_bitops.txt                                         |    2 
 Documentation/devicetree/bindings/arm/qcom.yaml                         |   18 
 Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml           |   16 
 Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml |    4 
 Documentation/devicetree/bindings/gpio/gpio-zynq.yaml                   |    6 
 Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml             |   28 
 Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml              |   15 
 Documentation/devicetree/bindings/pci/qcom,pcie.yaml                    |    2 
 Documentation/devicetree/bindings/pinctrl/pinctrl-mt8186.yaml           |   29 
 Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml           |   58 -
 Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml           |   37 
 Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml  |   11 
 Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml           |    5 
 Documentation/devicetree/bindings/spi/spi-cadence.yaml                  |    7 
 Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml              |    7 
 Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml            |    1 
 Documentation/firmware-guide/acpi/apei/einj.rst                         |    2 
 Makefile                                                                |    8 
 arch/arm64/include/asm/kvm_host.h                                       |    4 
 arch/arm64/kvm/arm.c                                                    |    3 
 arch/arm64/kvm/guest.c                                                  |    2 
 arch/arm64/kvm/sys_regs.c                                               |    4 
 arch/csky/kernel/probes/kprobes.c                                       |    4 
 arch/m68k/coldfire/device.c                                             |    6 
 arch/mips/cavium-octeon/octeon-platform.c                               |    3 
 arch/mips/mm/tlbex.c                                                    |    4 
 arch/nios2/include/asm/entry.h                                          |    3 
 arch/nios2/include/asm/ptrace.h                                         |    2 
 arch/nios2/kernel/entry.S                                               |   22 
 arch/nios2/kernel/signal.c                                              |    3 
 arch/nios2/kernel/syscall_table.c                                       |    1 
 arch/openrisc/include/asm/io.h                                          |    2 
 arch/openrisc/mm/ioremap.c                                              |    2 
 arch/powerpc/Makefile                                                   |   26 
 arch/powerpc/include/asm/nmi.h                                          |    2 
 arch/powerpc/kernel/head_book3s_32.S                                    |    4 
 arch/powerpc/kernel/pci-common.c                                        |   16 
 arch/powerpc/kernel/prom.c                                              |    7 
 arch/powerpc/kernel/watchdog.c                                          |   21 
 arch/powerpc/kvm/book3s_hv_p9_entry.c                                   |   13 
 arch/powerpc/mm/book3s32/mmu.c                                          |   10 
 arch/powerpc/platforms/Kconfig.cputype                                  |   21 
 arch/powerpc/platforms/powernv/pci-ioda.c                               |    2 
 arch/powerpc/platforms/pseries/mobility.c                               |   43 
 arch/riscv/boot/dts/canaan/k210.dtsi                                    |   12 
 arch/riscv/boot/dts/sifive/fu740-c000.dtsi                              |   24 
 arch/riscv/kernel/sys_riscv.c                                           |    5 
 arch/riscv/kernel/traps.c                                               |    4 
 arch/um/os-Linux/skas/process.c                                         |   17 
 arch/x86/include/asm/ibt.h                                              |   11 
 arch/x86/kernel/kprobes/core.c                                          |    2 
 arch/x86/kvm/emulate.c                                                  |    3 
 arch/x86/mm/init_64.c                                                   |    2 
 block/blk-mq.c                                                          |    2 
 drivers/acpi/pci_mcfg.c                                                 |    3 
 drivers/acpi/pptt.c                                                     |  102 --
 drivers/acpi/property.c                                                 |    8 
 drivers/ata/libata-eh.c                                                 |    1 
 drivers/atm/idt77252.c                                                  |    1 
 drivers/block/virtio_blk.c                                              |   24 
 drivers/block/zram/zcomp.c                                              |   11 
 drivers/clk/imx/clk-imx93.c                                             |    2 
 drivers/clk/qcom/clk-alpha-pll.c                                        |    2 
 drivers/clk/qcom/gcc-ipq8074.c                                          |    1 
 drivers/clk/ti/clk-44xx.c                                               |  210 ++--
 drivers/clk/ti/clk-54xx.c                                               |  160 +--
 drivers/clk/ti/clkctrl.c                                                |    4 
 drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c                          |   11 
 drivers/dma/sprd-dma.c                                                  |    5 
 drivers/dma/tegra186-gpc-dma.c                                          |   26 
 drivers/gpu/drm/amd/amdgpu/aldebaran.c                                  |   45 
 drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c                        |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                                  |    8 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                              |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h                               |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c                                |    3 
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c                                  |    3 
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c                                  |    3 
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c                                   |    3 
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c                                   |    7 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                       |    7 
 drivers/gpu/drm/amd/display/dc/dcn303/dcn303_resource.c                 |    2 
 drivers/gpu/drm/bridge/lvds-codec.c                                     |    2 
 drivers/gpu/drm/i915/gem/i915_gem_object.c                              |   16 
 drivers/gpu/drm/i915/gem/i915_gem_object_types.h                        |    3 
 drivers/gpu/drm/i915/gem/i915_gem_pages.c                               |   25 
 drivers/gpu/drm/i915/gt/intel_gt.c                                      |   77 +
 drivers/gpu/drm/i915/gt/intel_gt.h                                      |   12 
 drivers/gpu/drm/i915/gt/intel_gt_pm.h                                   |    3 
 drivers/gpu/drm/i915/gt/intel_gt_types.h                                |   18 
 drivers/gpu/drm/i915/gt/intel_migrate.c                                 |   23 
 drivers/gpu/drm/i915/gt/intel_ppgtt.c                                   |    8 
 drivers/gpu/drm/i915/i915_drv.h                                         |    4 
 drivers/gpu/drm/i915/i915_vma.c                                         |   33 
 drivers/gpu/drm/i915/i915_vma.h                                         |    1 
 drivers/gpu/drm/i915/i915_vma_resource.c                                |    5 
 drivers/gpu/drm/i915/i915_vma_resource.h                                |    6 
 drivers/gpu/drm/imx/dcss/dcss-kms.c                                     |    2 
 drivers/gpu/drm/meson/meson_drv.c                                       |    5 
 drivers/gpu/drm/meson/meson_viu.c                                       |   22 
 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c                       |   22 
 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c                                  |   10 
 drivers/gpu/drm/ttm/ttm_bo.c                                            |    2 
 drivers/hid/hid-multitouch.c                                            |   13 
 drivers/hwtracing/coresight/coresight-etm4x.h                           |    3 
 drivers/i2c/busses/i2c-imx.c                                            |   20 
 drivers/i2c/busses/i2c-qcom-geni.c                                      |    5 
 drivers/infiniband/core/umem_dmabuf.c                                   |    8 
 drivers/infiniband/hw/cxgb4/cm.c                                        |   25 
 drivers/infiniband/hw/mlx5/main.c                                       |   34 
 drivers/infiniband/sw/rxe/rxe_loc.h                                     |    1 
 drivers/infiniband/sw/rxe/rxe_mr.c                                      |  199 +---
 drivers/infiniband/sw/rxe/rxe_mw.c                                      |    6 
 drivers/infiniband/sw/rxe/rxe_param.h                                   |    6 
 drivers/infiniband/sw/rxe/rxe_task.c                                    |   16 
 drivers/infiniband/sw/rxe/rxe_verbs.c                                   |   39 
 drivers/infiniband/sw/rxe/rxe_verbs.h                                   |   21 
 drivers/infiniband/ulp/iser/iser_initiator.c                            |    7 
 drivers/input/keyboard/mt6779-keypad.c                                  |    8 
 drivers/input/misc/iqs7222.c                                            |  178 ++-
 drivers/input/touchscreen/exc3000.c                                     |    7 
 drivers/iommu/io-pgtable-arm-v7s.c                                      |   75 +
 drivers/irqchip/irq-tegra.c                                             |   10 
 drivers/md/md.c                                                         |    1 
 drivers/md/raid5.c                                                      |    4 
 drivers/media/platform/qcom/venus/pm_helpers.c                          |   10 
 drivers/misc/cxl/irq.c                                                  |    1 
 drivers/misc/habanalabs/common/sysfs.c                                  |    2 
 drivers/misc/habanalabs/gaudi/gaudi.c                                   |   50 -
 drivers/misc/habanalabs/goya/goya_hwmgr.c                               |    2 
 drivers/misc/uacce/uacce.c                                              |  133 +-
 drivers/mmc/host/meson-gx-mmc.c                                         |    6 
 drivers/mmc/host/pxamci.c                                               |    4 
 drivers/mmc/host/renesas_sdhi.h                                         |    1 
 drivers/mmc/host/renesas_sdhi_core.c                                    |   34 
 drivers/mmc/host/renesas_sdhi_internal_dmac.c                           |    6 
 drivers/mmc/host/tmio_mmc.c                                             |    2 
 drivers/mmc/host/tmio_mmc.h                                             |    6 
 drivers/mmc/host/tmio_mmc_core.c                                        |   28 
 drivers/net/can/spi/mcp251x.c                                           |   18 
 drivers/net/can/usb/ems_usb.c                                           |    2 
 drivers/net/dsa/microchip/ksz9477.c                                     |    3 
 drivers/net/dsa/mv88e6060.c                                             |    3 
 drivers/net/dsa/ocelot/felix.c                                          |    3 
 drivers/net/dsa/ocelot/felix_vsc9959.c                                  |  491 +++++++---
 drivers/net/dsa/ocelot/seville_vsc9953.c                                |  484 +++++++--
 drivers/net/dsa/sja1105/sja1105_devlink.c                               |    2 
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c                         |   21 
 drivers/net/ethernet/broadcom/bgmac.c                                   |    2 
 drivers/net/ethernet/broadcom/genet/bcmmii.c                            |    3 
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h                             |    2 
 drivers/net/ethernet/engleder/tsnep_main.c                              |    8 
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c                        |    4 
 drivers/net/ethernet/freescale/fec_ptp.c                                |    6 
 drivers/net/ethernet/intel/i40e/i40e_main.c                             |    4 
 drivers/net/ethernet/intel/i40e/i40e_txrx.c                             |    8 
 drivers/net/ethernet/intel/iavf/iavf_adminq.c                           |   15 
 drivers/net/ethernet/intel/iavf/iavf_main.c                             |   22 
 drivers/net/ethernet/intel/ice/ice_fltr.c                               |    8 
 drivers/net/ethernet/intel/ice/ice_lib.c                                |    8 
 drivers/net/ethernet/intel/ice/ice_main.c                               |   12 
 drivers/net/ethernet/intel/ice/ice_switch.c                             |    9 
 drivers/net/ethernet/intel/ice/ice_vf_lib.c                             |   15 
 drivers/net/ethernet/intel/ice/ice_virtchnl.c                           |   57 +
 drivers/net/ethernet/intel/igb/igb.h                                    |    2 
 drivers/net/ethernet/intel/igb/igb_main.c                               |   12 
 drivers/net/ethernet/marvell/octeontx2/af/rvu.c                         |    6 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c                     |   15 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c                  |    3 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c                |   19 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h                |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c                     |    4 
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c                          |    2 
 drivers/net/ethernet/moxa/moxart_ether.c                                |   20 
 drivers/net/ethernet/mscc/ocelot.c                                      |   51 -
 drivers/net/ethernet/mscc/ocelot_net.c                                  |   55 -
 drivers/net/ethernet/mscc/ocelot_vsc7514.c                              |  468 +++++++--
 drivers/net/ethernet/mscc/vsc7514_regs.c                                |   26 
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c                    |    2 
 drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c                       |    1 
 drivers/net/geneve.c                                                    |   15 
 drivers/net/phy/phy-c45.c                                               |   34 
 drivers/net/phy/phy_device.c                                            |    6 
 drivers/net/plip/plip.c                                                 |    2 
 drivers/net/tap.c                                                       |   20 
 drivers/net/virtio_net.c                                                |    9 
 drivers/net/vxlan/vxlan_core.c                                          |    2 
 drivers/ntb/test/ntb_tool.c                                             |    8 
 drivers/nvme/host/fc.c                                                  |    3 
 drivers/nvme/target/tcp.c                                               |    3 
 drivers/of/overlay.c                                                    |   11 
 drivers/pci/controller/pci-aardvark.c                                   |   33 
 drivers/pci/quirks.c                                                    |    3 
 drivers/phy/samsung/phy-exynos-pcie.c                                   |   25 
 drivers/pinctrl/intel/pinctrl-intel.c                                   |   14 
 drivers/pinctrl/nomadik/pinctrl-nomadik.c                               |    4 
 drivers/pinctrl/pinctrl-amd.c                                           |   11 
 drivers/pinctrl/qcom/pinctrl-msm8916.c                                  |    4 
 drivers/pinctrl/qcom/pinctrl-sm8250.c                                   |    2 
 drivers/pinctrl/renesas/pinctrl-rzg2l.c                                 |    2 
 drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c                             |    1 
 drivers/pinctrl/sunxi/pinctrl-sunxi.c                                   |    7 
 drivers/platform/chrome/cros_ec_proto.c                                 |    8 
 drivers/rtc/rtc-spear.c                                                 |    2 
 drivers/s390/crypto/ap_bus.c                                            |    3 
 drivers/s390/crypto/ap_bus.h                                            |    4 
 drivers/scsi/lpfc/lpfc_debugfs.c                                        |   20 
 drivers/scsi/lpfc/lpfc_sli.c                                            |    4 
 drivers/scsi/scsi_transport_iscsi.c                                     |    2 
 drivers/spi/spi-meson-spicc.c                                           |  129 ++
 drivers/staging/r8188eu/core/rtw_cmd.c                                  |   15 
 drivers/staging/r8188eu/core/rtw_efuse.c                                |   33 
 drivers/staging/r8188eu/core/rtw_fw.c                                   |   72 +
 drivers/staging/r8188eu/core/rtw_led.c                                  |   16 
 drivers/staging/r8188eu/core/rtw_mlme_ext.c                             |   62 +
 drivers/staging/r8188eu/core/rtw_pwrctrl.c                              |    9 
 drivers/staging/r8188eu/core/rtw_wlan_util.c                            |   20 
 drivers/staging/r8188eu/hal/Hal8188ERateAdaptive.c                      |   21 
 drivers/staging/r8188eu/hal/HalPhyRf_8188e.c                            |   21 
 drivers/staging/r8188eu/hal/HalPwrSeqCmd.c                              |    9 
 drivers/staging/r8188eu/hal/hal_com.c                                   |   27 
 drivers/staging/r8188eu/hal/rtl8188e_cmd.c                              |   37 
 drivers/staging/r8188eu/hal/rtl8188e_dm.c                               |    6 
 drivers/staging/r8188eu/hal/rtl8188e_hal_init.c                         |  136 ++
 drivers/staging/r8188eu/hal/rtl8188e_phycfg.c                           |   30 
 drivers/staging/r8188eu/hal/usb_halinit.c                               |  251 ++++-
 drivers/staging/r8188eu/hal/usb_ops_linux.c                             |   33 
 drivers/staging/r8188eu/include/rtw_io.h                                |    6 
 drivers/staging/r8188eu/os_dep/ioctl_linux.c                            |   47 
 drivers/staging/r8188eu/os_dep/os_intfs.c                               |   19 
 drivers/thunderbolt/tmu.c                                               |   13 
 drivers/tty/serial/ucc_uart.c                                           |    2 
 drivers/ufs/core/ufshcd.c                                               |   11 
 drivers/ufs/host/ufs-exynos.c                                           |   17 
 drivers/ufs/host/ufs-mediatek.c                                         |   60 +
 drivers/usb/cdns3/cdns3-gadget.c                                        |    2 
 drivers/usb/dwc2/gadget.c                                               |    3 
 drivers/usb/gadget/function/uvc_queue.c                                 |   17 
 drivers/usb/gadget/function/uvc_video.c                                 |    2 
 drivers/usb/gadget/legacy/inode.c                                       |    1 
 drivers/usb/host/ohci-ppc-of.c                                          |    1 
 drivers/usb/renesas_usbhs/rza.c                                         |    4 
 drivers/vdpa/vdpa_sim/vdpa_sim.c                                        |    4 
 drivers/vdpa/vdpa_sim/vdpa_sim_blk.c                                    |    6 
 drivers/vfio/vfio.c                                                     |    1 
 drivers/video/fbdev/i740fb.c                                            |    9 
 drivers/virt/vboxguest/vboxguest_linux.c                                |    9 
 drivers/virtio/Kconfig                                                  |    3 
 drivers/xen/xenbus/xenbus_dev_frontend.c                                |    4 
 fs/btrfs/block-group.c                                                  |    4 
 fs/btrfs/relocation.c                                                   |    7 
 fs/btrfs/tree-log.c                                                     |    8 
 fs/ceph/caps.c                                                          |   27 
 fs/ceph/mds_client.c                                                    |    7 
 fs/ceph/mds_client.h                                                    |    6 
 fs/cifs/misc.c                                                          |    6 
 fs/cifs/smb2ops.c                                                       |    5 
 fs/ext4/mballoc.c                                                       |   21 
 fs/ext4/namei.c                                                         |    7 
 fs/ext4/resize.c                                                        |   10 
 fs/f2fs/f2fs.h                                                          |    6 
 fs/f2fs/file.c                                                          |   32 
 fs/f2fs/node.c                                                          |    6 
 fs/f2fs/segment.c                                                       |   17 
 fs/fscache/cookie.c                                                     |    7 
 fs/nfs/nfs4idmap.c                                                      |   46 
 fs/nfs/nfs4proc.c                                                       |   20 
 fs/ntfs3/fslog.c                                                        |    2 
 fs/ntfs3/fsntfs.c                                                       |    7 
 fs/ntfs3/index.c                                                        |    2 
 fs/ntfs3/inode.c                                                        |    1 
 fs/ntfs3/super.c                                                        |    8 
 fs/ntfs3/xattr.c                                                        |   22 
 fs/overlayfs/super.c                                                    |    7 
 include/asm-generic/bitops/atomic.h                                     |    6 
 include/linux/bpfptr.h                                                  |    8 
 include/linux/io-pgtable.h                                              |   15 
 include/linux/nmi.h                                                     |    2 
 include/linux/sunrpc/xdr.h                                              |    4 
 include/linux/sunrpc/xprt.h                                             |    3 
 include/linux/uacce.h                                                   |    6 
 include/linux/usb/typec_mux.h                                           |   44 
 include/net/mptcp.h                                                     |    4 
 include/net/netns/conntrack.h                                           |    2 
 include/soc/mscc/ocelot.h                                               |  113 ++
 include/sound/control.h                                                 |    2 
 include/sound/core.h                                                    |    8 
 include/sound/pcm.h                                                     |    2 
 include/uapi/linux/atm_zatm.h                                           |   47 
 include/uapi/linux/f2fs.h                                               |    2 
 include/ufs/ufshcd.h                                                    |   12 
 kernel/bpf/arraymap.c                                                   |    6 
 kernel/bpf/hashtab.c                                                    |    8 
 kernel/bpf/syscall.c                                                    |   20 
 kernel/trace/trace_eprobe.c                                             |   91 +
 kernel/trace/trace_event_perf.c                                         |    7 
 kernel/trace/trace_events.c                                             |    1 
 kernel/trace/trace_probe.c                                              |   29 
 kernel/watchdog.c                                                       |   21 
 lib/list_debug.c                                                        |   12 
 net/can/j1939/socket.c                                                  |    5 
 net/can/j1939/transport.c                                               |    8 
 net/core/bpf_sk_storage.c                                               |   12 
 net/core/devlink.c                                                      |    4 
 net/core/gen_stats.c                                                    |    2 
 net/core/rtnetlink.c                                                    |    1 
 net/core/sock_map.c                                                     |   20 
 net/dsa/port.c                                                          |    7 
 net/ipv6/ip6_output.c                                                   |    3 
 net/ipv6/ndisc.c                                                        |    3 
 net/mptcp/protocol.c                                                    |   47 
 net/mptcp/protocol.h                                                    |   13 
 net/mptcp/subflow.c                                                     |    3 
 net/netfilter/nf_conntrack_ftp.c                                        |   24 
 net/netfilter/nf_conntrack_h323_main.c                                  |   10 
 net/netfilter/nf_conntrack_irc.c                                        |   12 
 net/netfilter/nf_conntrack_sane.c                                       |   68 -
 net/netfilter/nf_tables_api.c                                           |   74 +
 net/netfilter/nf_tables_core.c                                          |   21 
 net/netfilter/nfnetlink.c                                               |   83 +
 net/netlink/genetlink.c                                                 |    6 
 net/netlink/policy.c                                                    |   14 
 net/qrtr/mhi.c                                                          |   12 
 net/rds/ib_recv.c                                                       |    1 
 net/sunrpc/auth.c                                                       |    2 
 net/sunrpc/backchannel_rqst.c                                           |   14 
 net/sunrpc/clnt.c                                                       |    1 
 net/sunrpc/sysfs.c                                                      |    6 
 net/sunrpc/xprt.c                                                       |   27 
 net/sunrpc/xprtsock.c                                                   |   12 
 net/vmw_vsock/af_vsock.c                                                |   10 
 scripts/Makefile.gcc-plugins                                            |    2 
 scripts/dummy-tools/gcc                                                 |    8 
 scripts/mod/modpost.c                                                   |    4 
 scripts/module.lds.S                                                    |    2 
 security/apparmor/apparmorfs.c                                          |    2 
 security/apparmor/audit.c                                               |    2 
 security/apparmor/domain.c                                              |    2 
 security/apparmor/include/lib.h                                         |    5 
 security/apparmor/include/policy.h                                      |    2 
 security/apparmor/label.c                                               |   13 
 security/apparmor/mount.c                                               |    8 
 security/apparmor/policy_unpack.c                                       |   12 
 sound/core/control.c                                                    |    7 
 sound/core/info.c                                                       |    6 
 sound/core/misc.c                                                       |   94 +
 sound/core/pcm.c                                                        |    1 
 sound/core/pcm_lib.c                                                    |    2 
 sound/core/pcm_native.c                                                 |    2 
 sound/core/timer.c                                                      |   11 
 sound/pci/hda/hda_codec.c                                               |   14 
 sound/pci/hda/patch_realtek.c                                           |    3 
 sound/soc/codecs/lpass-va-macro.c                                       |   11 
 sound/soc/codecs/nau8821.c                                              |   10 
 sound/soc/codecs/tas2770.c                                              |   98 -
 sound/soc/codecs/tas2770.h                                              |    5 
 sound/soc/codecs/tlv320aic32x4.c                                        |    9 
 sound/soc/intel/avs/core.c                                              |    1 
 sound/soc/intel/avs/pcm.c                                               |    4 
 sound/soc/intel/boards/sof_es8336.c                                     |   35 
 sound/soc/intel/boards/sof_nau8825.c                                    |   10 
 sound/soc/qcom/qdsp6/q6apm-dai.c                                        |    6 
 sound/soc/sh/rcar/ssiu.c                                                |    2 
 sound/soc/soc-pcm.c                                                     |    3 
 sound/soc/sof/debug.c                                                   |    6 
 sound/soc/sof/intel/cnl.c                                               |   37 
 sound/soc/sof/intel/hda-ipc.c                                           |   39 
 sound/soc/sof/intel/hda.c                                               |    9 
 sound/soc/sof/sof-client-probes.c                                       |    4 
 sound/usb/card.c                                                        |    8 
 sound/usb/mixer_maps.c                                                  |   34 
 tools/build/feature/test-libcrypto.c                                    |   15 
 tools/lib/bpf/skel_internal.h                                           |    4 
 tools/objtool/check.c                                                   |    3 
 tools/perf/tests/switch-tracking.c                                      |   18 
 tools/perf/util/parse-events.c                                          |   14 
 tools/perf/util/probe-event.c                                           |    6 
 tools/testing/cxl/test/cxl.c                                            |    1 
 tools/testing/cxl/test/mock.c                                           |    8 
 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc    |    1 
 tools/testing/selftests/net/forwarding/custom_multipath_hash.sh         |   24 
 tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh     |   24 
 tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh  |   24 
 tools/testing/selftests/net/mptcp/mptcp_connect.c                       |   26 
 tools/tracing/rtla/Makefile                                             |    4 
 tools/vm/slabinfo.c                                                     |   32 
 virt/kvm/kvm_main.c                                                     |   14 
 388 files changed, 5446 insertions(+), 2430 deletions(-)

Aaron Lu (1):
x86/mm: Use proper mask when setting PUD mapping

Adrian Hunter (2):
perf parse-events: Fix segfault when event parser gets an error perf tests: Fix Track with sched_switch test for hybrid case

Akhil R (1):
dmaengine: tegra: Add terminate() for Tegra234

Al Viro (6):
nios2: page fault et.al. are *not* restartable syscalls...
nios2: don't leave NULLs in sys_call_table[]
nios2: traced syscall does need to check the syscall number
nios2: fix syscall restart checks
nios2: restarts apply only to the first sigframe we build...
nios2: add force_successful_syscall_return()

Alan Brady (1):
i40e: Fix to stop tx_timeout recovery if GLOBR fails

Alex Deucher (1):
drm/amdgpu: Only disable prefer_shadow on hawaii

Alexei Starovoitov (1):
bpf: Disallow bpf programs call prog_run command.

Alexey Kardashevskiy (1):
powerpc/ioda/iommu/debugfs: Generate unique debugfs entries

Allen-KH Cheng (1):
dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp

Amadeusz Sławiński (2):
ALSA: info: Fix llseek return value when using callback
ASoC: Intel: avs: Set max DMA segment size

Amelie Delaunay (1):
usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch

Amit Cohen (1):
mlxsw: spectrum: Clear PTP configuration after unregistering the netdevice

Andrew Donnellan (1):
gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file

Andrey Turkin (2):
ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option
ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines

Andy Shevchenko (1):
pinctrl: intel: Check against matching data instead of ACPI companion

AngeloGioacchino Del Regno (2):
dt-bindings: pinctrl: mt8195: Fix name for mediatek,rsel-resistance-in-si-unit
dt-bindings: pinctrl: mt8195: Add and use drive-strength-microamp

Arun Ramadoss (1):
net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry

Arunpravin Paneer Selvam (1):
drm/ttm: Fix dummy res NULL ptr deref bug

Aurabindo Pillai (1):
drm/amd/display: Check correct bounds for stream encoder instances for DCN303

Basavaraj Natikar (1):
pinctrl: amd: Don't save/restore interrupt status and wake status bits

Ben Dooks (2):
dmaengine: dw-axi-dmac: do not print NULL LLI during error
dmaengine: dw-axi-dmac: ignore interrupt if no descriptor

Ben Hutchings (1):
tools/rtla: Fix command symlinks

Benjamin Mikailenko (2):
ice: Fix VSI rebuild WARN_ON check for VF
ice: Ignore error message when setting same promiscuous mode

Bob Pearson (1):
RDMA/rxe: Limit the number of calls to each tasklet

Bryan O'Donoghue (1):
dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks

Celeste Liu (1):
riscv: mmap with PROT_WRITE but no PROT_READ is invalid

Cezar Bulinaru (1):

      net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null

Cezary Rojewski (1):
ALSA: hda: Fix page fault in snd_hda_codec_shutdown()

Chanho Park (1):
scsi: ufs: ufs-exynos: Change ufs phy control sequence

Chao Yu (2):
f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()
f2fs: fix to do sanity check on segment type in build_sit_entries()

Chen Lin (1):
dpaa2-eth: trace the allocated address instead of page struct

Chia-Lin Kao (AceLan) (1):
net: atlantic: fix aq_vec index out of range error

Chris Wilson (5):
drm/i915/gem: Remove shared locking on freeing objects drm/i915/gt: Ignore TLB invalidations on idle engines drm/i915/gt: Invalidate TLB of the OA unit at TLB invalidations drm/i915/gt: Skip TLB invalidations once wedged drm/i915/gt: Batch TLB invalidations

Christoffer Sandberg (1):
ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU

Christoph Hellwig (1):
nvme-fc: fix the fc_appid_store return value

Christophe JAILLET (6):
mmc: pxamci: Fix another error handling path in pxamci_probe()
mmc: pxamci: Fix an error handling path in pxamci_probe()
mmc: meson-gx: Fix an error handling path in meson_mmc_probe()
perf probe: Fix an error handling path in 'parse_perf_probe_command()'
stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove()
cxl: Fix a memory leak in an error handling path

Christophe Leroy (2):
powerpc/32: Set an IBAT covering up to _einittext during init powerpc/32: Don't always pass -mcpu=powerpc to the compiler

Chuck Lever (1):
SUNRPC: Fix xdr_encode_bool()

Conor Dooley (2):
riscv: dts: sifive: Add fu740 topology information
riscv: dts: canaan: Add k210 topology information

Csókás Bence (1):
fec: Fix timer capture timing in fec_ptp_enable_pps()

Daeho Jeong (1):
f2fs: revive F2FS_IOC_ABORT_VOLATILE_WRITE

Dafna Hirschfeld (1):
habanalabs: add terminating NULL to attrs arrays

Damien Le Moal (1):
ata: libata-eh: Add missing command name

Dan Aloni (1):
sunrpc: fix expiry of auth creds

Dan Carpenter (4):
NTB: ntb_tool: uninitialized heap data in tool_fn_write() xen/xenbus: fix return type in xenbus_file_read() fs/ntfs3: Don't clear upper bits accidentally in log_replay() fs/ntfs3: uninitialized variable in ntfs_set_acl_ex()

Dan Williams (2):
tools/testing/cxl: Fix decoder default state tools/testing/cxl: Fix cxl_hdm_decode_init() calling convention

Dmitry Baryshkov (1):
dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources

Duoming Zhou (1):
atm: idt77252: fix use-after-free bugs caused by tst_timer

Fabiano Rosas (1):
KVM: PPC: Book3S HV: Fix "rm_exit" entry in debugfs timings

Fedor Pchelkin (2):
can: j1939: j1939_session_destroy(): fix memory leak of skbs
can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()

Filipe Manana (2):
btrfs: fix lost error handling when looking up extended ref on log replay
btrfs: fix warning during log replay when bumping inode link count

Florian Fainelli (2):
net: phy: Warn about incorrect mdio_bus_phy_resume() state
net: bcmgenet: Indicate MAC is in charge of PHY PM

Florian Westphal (9):
netfilter: nf_tables: fix crash when nf_trace is enabled
selftests: mptcp: make sendfile selftest work
plip: avoid rcu debug splat
netfilter: nfnetlink: re-enable conntrack expectation events
netfilter: nf_ct_sane: remove pseudo skb linearization
netfilter: nf_ct_h323: cap packet size at 64k
netfilter: nf_ct_ftp: prefer skb_linearize
netfilter: nf_ct_irc: cap packet search space to 4k
netfilter: nf_tables: fix scheduling-while-atomic splat

Frank Li (1):
usb: cdns3 fix use-after-free at workaround 2

Frieder Schrempf (1):
regulator: pca9450: Remove restrictions for regulator-name

Geert Uytterhoeven (1):
of: overlay: Move devicetree_corrupt() check up

Gerhard Engleder (1):
tsnep: Fix tsnep_tx_unmap() error path usage

Gil Fine (1):
thunderbolt: Change downstream router's TMU rate in both TMU uni/bidir mode

Greg Kroah-Hartman (1):

      Linux 5.19.4

Grzegorz Siwik (3):
ice: Fix double VLAN error when entering promisc mode
ice: Ignore EEXIST when setting promisc mode
ice: Fix clearing of promisc mode with bridge over bond

Guenter Roeck (1):
lib/list_debug.c: Detect uninitialized lists

Harald Freudenberger (1):
s390/ap: fix crash on older machines based on QCI info missing

Harman Kalra (1):
octeontx2-af: suppress external profile loading warning

Hector Martin (1):
locking/atomic: Make test_and_*_bit() ordered on failure

Helge Deller (1):
modules: Ensure natural alignment for .altinstructions and __bug_table sections

Hou Tao (5):
bpf: Acquire map uref in .init_seq_private for array map iterator
bpf: Acquire map uref in .init_seq_private for hash map iterator
bpf: Acquire map uref in .init_seq_private for sock local storage map iterator
bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator
bpf: Check the validity of max_rdwr_access for sock local storage map iterator

Huacai Chen (1):
PCI/ACPI: Guard ARM64-specific mcfg_quirks

Ido Schimmel (2):
devlink: Fix use-after-free after a failed reload
selftests: forwarding: Fix failing tests with old libnet

Ivan Vecera (1):
iavf: Fix deadlock in initialization

Jacky Bai (1):
clk: imx93: Correct the edma1's parent clock

Jakub Kicinski (2):
net: atm: bring back zatm uAPI
net: genl: fix error path memory leak in policy dumping

James Smart (2):
scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input
scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE

Jason A. Donenfeld (1):
um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups

Jason Gunthorpe (1):
RDMA: Handle the return code from dma_resv_wait_timeout() properly

Jean-Philippe Brucker (1):
uacce: Handle parent device removal or parent driver module rmmod

Jeff LaBundy (9):
Input: iqs7222 - correct slider event disable logic
Input: iqs7222 - fortify slider event reporting
Input: iqs7222 - protect volatile registers
Input: iqs7222 - acknowledge reset before writing registers
Input: iqs7222 - handle reset during ATI
Input: iqs7222 - remove support for RF filter
dt-bindings: input: iqs7222: Remove support for RF filter
dt-bindings: input: iqs7222: Correct bottom speed step size
dt-bindings: input: iqs7222: Extend slider-mapped GPIO to IQS7222C

Jeff Layton (2):
ceph: don't leak snap_rwsem in handle_cap_grant
fscache: don't leak cookie access refs if invalidation is in progress or failed

Jianhua Lu (1):
pinctrl: qcom: sm8250: Fix PDC map

Jinghao Jia (1):
BPF: Fix potential bad pointer dereference in bpf_sys_bpf()

Jiri Olsa (1):
mptcp, btf: Add struct mptcp_sock definition when CONFIG_MPTCP is disabled

Johan Hovold (1):
dt-bindings: PCI: qcom: Fix reset conditional

John Johansen (5):
apparmor: fix quiet_denied for file rules
apparmor: fix absroot causing audited secids to begin with =
apparmor: Fix failed mount permission check error message
apparmor: fix setting unconfined mode on a loaded profile
apparmor: fix overlapping attachment computation

Josef Bacik (1):
btrfs: reset RO counter on block group if we fail to relocate

Josh Poimboeuf (2):
x86/ibt, objtool: Add IBT_NOSEAL()
x86/kvm: Fix "missing ENDBR" BUG for fastop functions

Jozef Martiniak (1):
gadgetfs: ep_io - wait until IRQ finishes

Kai-Heng Feng (1):
ALSA: hda/realtek: Enable speaker and mute LEDs for HP laptops

Karol Herbst (1):
drm/nouveau: recognise GA103

Kiselev, Oleg (1):
ext4: avoid resizing to a partial cluster size

Konstantin Komarov (3):
fs/ntfs3: Fix double free on remount fs/ntfs3: Do not change mode if ntfs_set_ea failed fs/ntfs3: Fix missing i_op in ntfs_read_mft

Krzysztof Kozlowski (7):
dt-bindings: arm: qcom: fix Alcatel OneTouch Idol 3 compatibles
dt-bindings: arm: qcom: fix Longcheer L8150 compatibles
dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
dt-bindings: arm: qcom: fix MSM8994 boards compatibles
spi: dt-bindings: cadence: add missing 'required'
spi: dt-bindings: zynqmp-qspi: add missing 'required'
spi: dt-bindings: qcom,spi-geni-qcom: allow three interconnects

Kumar Kartikeya Dwivedi (1):
bpf: Don't reinit map value in prealloc_lru_pop

Kuninori Morimoto (1):
ASoC: rsnd: care default case on rsnd_ssiu_busif_err_irq_ctrl()

Lad Prabhakar (1):
pinctrl: renesas: rzg2l: Return -EINVAL for pins which have input disabled

Laurent Dufour (3):
watchdog: export lockup_detector_reconfigure powerpc/watchdog: introduce a NMI watchdog's factor powerpc/pseries/mobility: set NMI watchdog factor during an LPM

Laurentiu Palcu (1):
drm/imx/dcss: get rid of HPD warning message

Li Zhijian (1):
Revert "RDMA/rxe: Create duplicate mapping tables for FMRs"

Liang He (5):
drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
usb: host: ohci-ppc-of: Fix refcount leak bug
usb: renesas: Fix refcount leak bug
tty: serial: Fix refcount leak bug in ucc_uart.c
mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start

Liao Chang (1):
csky/kprobe: reclaim insn_slot on kprobe unregistration

Lijo Lazar (1):
drm/amdgpu: Avoid another list of reset devices

Likun Gao (1):
drm/amdgpu: change vram width algorithm for vram_info v3_0

Lin Ma (1):
igb: Add lock to avoid data race

Logan Gunthorpe (2):
md: Notify sysfs sync_completed in md_reap_sync_thread() md/raid5: Make logic blocking check consistent with logic that blocks

Lukas Czerner (1):
ext4: block range must be validated before use in ext4_mb_clear_bb()

Luís Henriques (1):
ceph: use correct index when encoding client supported features

Marc Kleine-Budde (1):
can: ems_usb: fix clang's -Wunaligned-access warning

Marek Szyprowski (1):
phy: samsung: phy-exynos-pcie: sanitize init/power_on callbacks

Marek Vasut (1):
drm/bridge: lvds-codec: Fix error checking of drm_of_lvds_get_data_mapping()

Mark Bloch (1):
RDMA/mlx5: Use the proper number of ports

Mark Brown (1):
ASoC: nau8821: Don't unconditionally free interrupt

Martin Povišer (4):
ASoC: tas2770: Set correct FSYNC polarity
ASoC: tas2770: Allow mono streams
ASoC: tas2770: Drop conflicting set_bias_level power setting
ASoC: tas2770: Fix handling of mute/unmute

Masahiro Yamada (2):
modpost: fix module versioning when a symbol lacks valid CRC
kbuild: fix the modules order between drivers and libs

Matthew Auld (1):
drm/i915/ttm: don't leak the ccs state

Matthias May (5):
geneve: do not use RT_TOS for IPv6 flowlabel
vxlan: do not use RT_TOS for IPv6 flowlabel
mlx5: do not use RT_TOS for IPv6 flowlabel
ipv6: do not use RT_TOS for IPv6 flowlabel
geneve: fix TOS inheriting for ipv4

Mattijs Korpershoek (1):
Input: mt6779-keypad - match hardware matrix organization

Mauro Carvalho Chehab (1):
drm/i915: pass a pointer for tlb seqno at vma_invalidate_tlb()

Maxim Kochetkov (1):
net: qrtr: start MHI channel after endpoit creation

Maíra Canal (1):
drm/amdgpu: Fix use-after-free on amdgpu_bo_list mutex

Miaoqian Lin (2):
pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
Input: exc3000 - fix return value check of wait_for_completion_timeout

Michael Ellerman (1):
powerpc/pci: Fix get_phb_number() locking

Michael Grzeschik (2):
usb: gadget: uvc: calculate the number of request depending on framesize
usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info

Michael S. Tsirkin (2):
virtio: VIRTIO_HARDEN_NOTIFICATION is broken
virtio_net: fix endian-ness for RSS

Michal Jaron (1):
ice: Fix call trace with null VSI during VF reset

Michal Simek (1):
dt-bindings: gpio: zynq: Add missing compatible strings

Mike Christie (1):
scsi: iscsi: Fix HW conn removal use after free

Miklos Szeredi (1):
ovl: warn if trusted xattr creation fails

Mikulas Patocka (1):
rds: add missing barrier to release_refill

Mohan Kumar (1):
ALSA: hda: Fix crash due to jack poll in suspend

Nadav Amit (1):
x86/kprobes: Fix JNG/JNLE emulation

Nathan Chancellor (1):
MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0

Naveen Mamindlapalli (1):
octeontx2-pf: Fix NIX_AF_TL3_TL2X_LINKX_CFG register configuration

Neil Armstrong (1):
spi: meson-spicc: add local pow2 clock ops to preserve rate between messages

Nick Desaulniers (1):
coresight: etm4x: avoid build failure with unrolled loops

Nikita Travkin (1):
pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed

Nícolas F. R. A. Prado (3):
dt-bindings: usb: mtk-xhci: Allow wakeup interrupt-names to be optional
dt-bindings: pinctrl: mt8192: Add drive-strength-microamp
dt-bindings: pinctrl: mt8192: Use generic bias instead of pull-*-adv

Oded Gabbay (1):
habanalabs/gaudi: mask constant value before cast

Ofir Bitton (1):
habanalabs/gaudi: fix shift out of bounds

Oleksij Rempel (1):
net: phy: c45 baset1: do not skip aneg configuration if clock role is not specified

Oliver Upton (2):
KVM: arm64: Treat PMCR_EL1.LC as RES1 on asymmetric systems
KVM: arm64: Reject 32bit user PSTATE on asymmetric systems

Ondrej Mosnacek (1):
kbuild: dummy-tools: avoid tmpdir leak in dummy gcc

Pablo Neira Ayuso (8):
netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id access
netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with NFT_SET_ELEM_INTERVAL_END flag
netfilter: nf_tables: possible module reference underflow in error path
netfilter: nf_tables: really skip inactive sets when allocating name
netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags
netfilter: nf_tables: disallow NFT_SET_ELEM_CATCHALL and NFT_SET_ELEM_INTERVAL_END
netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified

Pali Rohár (1):
PCI: aardvark: Fix reporting Slot capabilities on emulated bridge

Paolo Abeni (2):
mptcp: move subflow cleanup in mptcp_destroy_common()
mptcp: do not queue data on closed subflows

Pascal Terjan (1):
vboxguest: Do not use devm for irq

Pavan Chebbi (1):

      PCI: Add ACS quirk for Broadcom BCM5750x NICs

Pavel Skripkin (4):
fs/ntfs3: Fix NULL deref in ntfs_update_mftmirr
staging: r8188eu: add error handling of rtw_read8
staging: r8188eu: add error handling of rtw_read16
staging: r8188eu: add error handling of rtw_read32

Peilin Ye (2):
vsock: Fix memory leak in vsock_connect()
vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()

Peter Ujfalusi (3):
ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot
ASoC: SOF: Intel: hda-ipc: Do not process IPC reply before firmware boot
ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used

Philipp Zabel (1):
ASoC: codec: tlv320aic32x4: fix mono playback via I2S

Pierre-Louis Bossart (1):
ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT

Po-Wen Kao (1):
scsi: ufs: ufs-mediatek: Fix the timing of configuring device regulators

Potnuri Bharat Teja (1):
RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size

Prashant Malani (1):
usb: typec: mux: Add CONFIG guards for functions

Przemyslaw Patynowski (4):
iavf: Fix adminq error handling
iavf: Fix NULL pointer dereference in iavf_get_link_ksettings
iavf: Fix reset error handling
i40e: Fix tunnel checksum offload with fragmented traffic

Qifu Zhang (1):
Documentation: ACPI: EINJ: Fix obsolete example

Randy Dunlap (1):
m68k: coldfire/device.c: protect FLEXCAN blocks

Ren Zhijie (1):
scsi: ufs: ufs-mediatek: Fix build error and type mismatch

Robert Marko (1):
clk: qcom: ipq8074: dont disable gcc_sleep_clk_src

Roberto Sassu (1):
tools build: Switch to new openssl API for test-libcrypto

Robin Reckmann (1):
i2c: qcom-geni: Fix GPI DMA buffer sync-back

Rustam Subkhankulov (1):
net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions()

Sagi Grimberg (1):
nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown

Sai Prakash Ranjan (2):
irqchip/tegra: Fix overflow implicit truncation warnings drm/meson: Fix overflow implicit truncation warnings

Sakari Ailus (1):
ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool

Samuel Holland (3):
pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
dt-bindings: display: sun4i: Add D1 TCONs to conditionals drm/sun4i: dsi: Prevent underflow when computing packet sizes

Sandor Bodo-Merle (1):
net: bgmac: Fix a BUG triggered by wrong bytes_compl

Schspa Shi (1):

      vfio: Clear the caps->buf to NULL after free

Sean Christopherson (1):
KVM: Unconditionally get a ref to /dev/kvm module when creating a VM

Sebastian Würl (1):
can: mcp251x: Fix race condition on receive interrupt

Sergei Antonov (2):
net: dsa: mv88e6060: prevent crash on an unused port
net: moxa: pass pdev instead of ndev to DMA functions

Sergey Gorenko (1):
IB/iser: Fix login with authentication

Sergey Senozhatsky (1):
zram: do not lookup algorithm in backends table

Shigeru Yoshida (1):
virtio-blk: Avoid use-after-free on suspend/resume

Srinivas Kandagatla (2):
ASoC: qdsp6: q6apm-dai: unprepare stream if its already prepared
ASoC: codecs: va-macro: use fsgen as clock

Stafford Horne (1):
openrisc: io: Define iounmap argument as volatile

Stanimir Varbanov (1):
venus: pm_helpers: Fix warning in OPP during probe

Stanislaw Kardach (1):
octeontx2-af: Apply tx nibble fixup always

Stefano Garzarella (2):
vdpa_sim: use max_iotlb_entries as a limit in vhost_iotlb_init
vdpa_sim_blk: set number of address spaces and virtqueue groups

Steve French (1):
smb3: check xattr value length earlier

Steven Rostedt (Google) (8):
tracing/perf: Fix double put of trace event when init fails tracing/eprobes: Do not allow eprobes to use $stack, or % for regs tracing/eprobes: Do not hardcode $comm as a string tracing/eprobes: Fix reading of string fields tracing/eprobes: Have event probes be consistent with kprobes and uprobes tracing/probes: Have kprobes and uprobes use $COMM too
tracing: Have filter accept "common_cpu" to be consistent selftests/kprobe: Do not test for GRP/ without event failures

Subbaraya Sundeep (2):
octeontx2-af: Fix mcam entry resource leak
octeontx2-af: Fix key checking for source mac

Sudeep Holla (1):
ACPI: PPTT: Leave the table mapped for the runtime usage

Sylwester Dziedziuch (1):
ice: Fix VF not able to send tagged traffic with no VLAN filters

Takashi Iwai (10):
ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II
ASoC: Intel: avs: Fix potential buffer overflow by snprintf()
ASoC: SOF: debug: Fix potential buffer overflow by snprintf()
ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf()
ASoC: DPCM: Don't pick up BE without substream
ALSA: core: Add async signal helpers
ALSA: timer: Use deferred fasync helper
ALSA: pcm: Use deferred fasync helper
ALSA: control: Use deferred fasync helper
Revert "ALSA: hda: Fix page fault in snd_hda_codec_shutdown()"

Takeshi Saito (1):
mmc: renesas_sdhi: newer SoCs don't need manual tap correction

Tal Cohen (1):
habanalabs/gaudi: invoke device reset from one code block

Tao Jin (1):
HID: multitouch: new device class fix Lenovo X12 trackpad sticky

Tom Rix (1):
apparmor: fix aa_label_asxprint return check

Tony Lindgren (1):
clk: ti: Stop using legacy clkctrl names for omap4 and 5

Trond Myklebust (6):
NFSv4.1: Don't decrease the value of seq_nr_highest_sent NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
NFSv4: Fix races in the legacy idmapper upcall NFSv4/pnfs: Fix a use-after-free bug in open
SUNRPC: Reinitialise the backchannel request buffers before reuse
SUNRPC: Don't reuse bvec on retransmission of the request

Tzung-Bi Shih (1):
platform/chrome: cros_ec_proto: don't show MKBP version if unsupported

Uwe Kleine-König (2):
i2c: imx: Make sure to unregister adapter on remove()
dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed

Vladimir Oltean (9):
net: dsa: felix: suppress non-changes to the tagging protocol
net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters
net: mscc: ocelot: fix incorrect ndo_get_stats64 packet counters
net: mscc: ocelot: fix address of SYS_COUNT_TX_AGING counter
net: dsa: don't warn in dsa_port_set_state_now() when driver doesn't support it
net: mscc: ocelot: turn stats_lock into a spinlock
net: mscc: ocelot: fix race between ndo_get_stats64 and ocelot_check_stats_work
net: mscc: ocelot: make struct ocelot_stat_layout array indexable
net: mscc: ocelot: report ndo_get_stats64 from the wraparound-resistant ocelot->stats

Vladimir Zapolskiy (1):
clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description

Wentao_Liang (1):
drivers:md:fix a potential use-after-free bug

Wolfram Sang (1):
mmc: tmio: avoid glitches when resetting

Xianting Tian (1):
RISC-V: Add fast call path of crash_kexec()

Xin Xiong (3):
apparmor: fix reference count leak in aa_pivotroot() net/sunrpc: fix potential memory leaks in rpc_sysfs_xprt_state_change()
net: fix potential refcount leak in ndisc_router_discovery()

Xiu Jianfeng (1):
apparmor: Fix memleak in aa_simple_write_to_buffer()

Xuan Zhuo (1):
virtio_net: fix memory leak inside XPD_TX with mergeable

Yan Lei (1):
fs/ntfs3: Fix using uninitialized value n when calling indx_read

Ye Bin (2):
ext4: avoid remove directory when directory is corrupted
f2fs: fix null-ptr-deref in f2fs_get_dnode_of_data

Yong Zhi (1):
ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe

Yoshihiro Shimoda (2):
scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS
scsi: ufs: core: Add UFSHCD_QUIRK_HIBERN_FASTAUTO

Yu Xiao (1):
nfp: ethtool: fix the display error of ethtool -m DEVNAME

Yuanzheng Song (1):
tools/vm/slabinfo: use alphabetic order when two values are equal

Yufen Yu (1):
blk-mq: run queue no matter whether the request is the last request

Yunfei Wang (1):
iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit

Zeng Jingxiang (1):
rtc: spear: set range max

Zhang Xianwei (1):
NFSv4.1: RECLAIM_COMPLETE must handle EACCES

Zhang Xiaoxu (1):
cifs: Fix memory leak on the deferred close

Zhengchao Shao (2):
net: rtnetlink: fix module reference count leak issue in rtnetlink_rcv_msg
net: sched: fix misuse of qcpu->backlog in gnet_stats_add_queue_cpu

Zheyu Ma (1):
video: fbdev: i740fb: Check the argument of i740_calc_vclk()

Zhouyi Zhou (1):
powerpc/64: Init jump labels before parse_early_param()

Zixuan Fu (1):
btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()

author maintainer
#1 lore raw
Documentation/admin-guide/sysctl/kernel.rst +12 -0
index ddccd1077462..9b7fa1baf225 100644
@@ -592,6 +592,18 @@ to the guest kernel command line (see
 Documentation/admin-guide/kernel-parameters.rst).
 
 
+nmi_wd_lpm_factor (PPC only)
+============================
+
+Factor to apply to the NMI watchdog timeout (only when ``nmi_watchdog`` is
+set to 1). This factor represents the percentage added to
+``watchdog_thresh`` when calculating the NMI watchdog timeout during an
+LPM. The soft lockup timeout is not impacted.
+
+A value of 0 means no change. The default value is 200 meaning the NMI
+watchdog is set to 30s (based on ``watchdog_thresh`` equal to 10).
+
+
 numa_balancing
 ==============
 
Documentation/atomic_bitops.txt +1 -1
index 093cdaefdb37..d8b101c97031 100644
@@ -59,7 +59,7 @@ Like with atomic_t, the rule of thumb is:
  - RMW operations that have a return value are fully ordered.
 
  - RMW operations that are conditional are unordered on FAILURE,
-   otherwise the above rules apply. In the case of test_and_{}_bit() operations,
+   otherwise the above rules apply. In the case of test_and_set_bit_lock(),
    if the bit in memory is unchanged by the operation then it is deemed to have
    failed.
 
Documentation/devicetree/bindings/arm/qcom.yaml +12 -6
index 5c06d1bfc046..88759f8a3049 100644
@@ -153,28 +153,34 @@ properties:
           - const: qcom,msm8974
 
       - items:
-          - enum:
-              - alcatel,idol347
-          - const: qcom,msm8916-mtp/1
           - const: qcom,msm8916-mtp
+          - const: qcom,msm8916-mtp/1
           - const: qcom,msm8916
 
       - items:
           - enum:
-              - longcheer,l8150
+              - alcatel,idol347
               - samsung,a3u-eur
               - samsung,a5u-eur
           - const: qcom,msm8916
 
+      - items:
+          - const: longcheer,l8150
+          - const: qcom,msm8916-v1-qrd/9-v1
+          - const: qcom,msm8916
+
       - items:
           - enum:
               - sony,karin_windy
+          - const: qcom,apq8094
+
+      - items:
+          - enum:
               - sony,karin-row
               - sony,satsuki-row
               - sony,sumire-row
               - sony,suzuran-row
-              - qcom,msm8994
-          - const: qcom,apq8094
+          - const: qcom,msm8994
 
       - items:
           - enum:
Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml +16 -0
index 5a5b2214f0ca..005e0edd4609 100644
@@ -22,16 +22,32 @@ properties:
     const: qcom,gcc-msm8996
 
   clocks:
+    minItems: 3
     items:
       - description: XO source
       - description: Second XO source
       - description: Sleep clock source
+      - description: PCIe 0 PIPE clock (optional)
+      - description: PCIe 1 PIPE clock (optional)
+      - description: PCIe 2 PIPE clock (optional)
+      - description: USB3 PIPE clock (optional)
+      - description: UFS RX symbol 0 clock (optional)
+      - description: UFS RX symbol 1 clock (optional)
+      - description: UFS TX symbol 0 clock (optional)
 
   clock-names:
+    minItems: 3
     items:
       - const: cxo
       - const: cxo2
       - const: sleep_clk
+      - const: pcie_0_pipe_clk_src
+      - const: pcie_1_pipe_clk_src
+      - const: pcie_2_pipe_clk_src
+      - const: usb3_phy_pipe_clk_src
+      - const: ufs_rx_symbol_0_clk_src
+      - const: ufs_rx_symbol_1_clk_src
+      - const: ufs_tx_symbol_0_clk_src
 
   '#clock-cells':
     const: 1
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml +4 -0
index 4a92a4c7dcd7..f8168986a0a9 100644
@@ -233,6 +233,7 @@ allOf:
               - allwinner,sun8i-a83t-tcon-lcd
               - allwinner,sun8i-v3s-tcon
               - allwinner,sun9i-a80-tcon-lcd
+              - allwinner,sun20i-d1-tcon-lcd
 
     then:
       properties:
@@ -252,6 +253,7 @@ allOf:
               - allwinner,sun8i-a83t-tcon-tv
               - allwinner,sun8i-r40-tcon-tv
               - allwinner,sun9i-a80-tcon-tv
+              - allwinner,sun20i-d1-tcon-tv
 
     then:
       properties:
@@ -278,6 +280,7 @@ allOf:
               - allwinner,sun9i-a80-tcon-lcd
               - allwinner,sun4i-a10-tcon
               - allwinner,sun8i-a83t-tcon-lcd
+              - allwinner,sun20i-d1-tcon-lcd
 
     then:
       required:
@@ -294,6 +297,7 @@ allOf:
               - allwinner,sun8i-a23-tcon
               - allwinner,sun8i-a33-tcon
               - allwinner,sun8i-a83t-tcon-lcd
+              - allwinner,sun20i-d1-tcon-lcd
 
     then:
       properties:
Documentation/devicetree/bindings/gpio/gpio-zynq.yaml +5 -1
index 378da2649e66..980f92ad9eba 100644
@@ -11,7 +11,11 @@ maintainers:
 
 properties:
   compatible:
-    const: xlnx,zynq-gpio-1.0
+    enum:
+      - xlnx,zynq-gpio-1.0
+      - xlnx,zynqmp-gpio-1.0
+      - xlnx,versal-gpio-1.0
+      - xlnx,pmc-gpio-1.0
 
   reg:
     maxItems: 1
Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml +14 -14
index a3a1e5a65306..32d0d5190334 100644
@@ -37,10 +37,6 @@ properties:
       device is temporarily held in hardware reset prior to initialization if
       this property is present.
 
-  azoteq,rf-filt-enable:
-    type: boolean
-    description: Enables the device's internal RF filter.
-
   azoteq,max-counts:
     $ref: /schemas/types.yaml#/definitions/uint32
     enum: [0, 1, 2, 3]
@@ -537,9 +533,8 @@ patternProperties:
 
       azoteq,bottom-speed:
         $ref: /schemas/types.yaml#/definitions/uint32
-        multipleOf: 4
         minimum: 0
-        maximum: 1020
+        maximum: 255
         description:
           Specifies the speed of movement after which coordinate filtering is
           linearly reduced.
@@ -616,16 +611,15 @@ patternProperties:
           azoteq,gpio-select:
             $ref: /schemas/types.yaml#/definitions/uint32-array
             minItems: 1
-            maxItems: 1
+            maxItems: 3
             items:
               minimum: 0
-              maximum: 0
+              maximum: 2
             description: |
-              Specifies an individual GPIO mapped to a tap, swipe or flick
-              gesture as follows:
+              Specifies one or more GPIO mapped to the event as follows:
               0: GPIO0
-              1: GPIO3 (reserved)
-              2: GPIO4 (reserved)
+              1: GPIO3 (IQS7222C only)
+              2: GPIO4 (IQS7222C only)
 
               Note that although multiple events can be mapped to a single
               GPIO, they must all be of the same type (proximity, touch or
@@ -710,6 +704,14 @@ allOf:
               multipleOf: 4
               maximum: 1020
 
+          patternProperties:
+            "^event-(press|tap|(swipe|flick)-(pos|neg))$":
+              properties:
+                azoteq,gpio-select:
+                  maxItems: 1
+                  items:
+                    maximum: 0
+
     else:
       patternProperties:
         "^channel-([0-9]|1[0-9])$":
@@ -726,8 +728,6 @@ allOf:
 
                 azoteq,gesture-dist: false
 
-                azoteq,gpio-select: false
-
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml +15 -0
index 30f7b596d609..59663e897dae 100644
@@ -98,6 +98,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 0>;
                 operating-points-v2 = <&cluster0_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_0>;
                 L2_0: l2-cache {
@@ -115,6 +117,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 0>;
                 operating-points-v2 = <&cluster0_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_0>;
             };
@@ -128,6 +132,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 1>;
                 operating-points-v2 = <&cluster1_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_1>;
                 L2_1: l2-cache {
@@ -145,6 +151,8 @@ examples:
                 capacity-dmips-mhz = <1024>;
                 clocks = <&kryocc 1>;
                 operating-points-v2 = <&cluster1_opp>;
+                power-domains = <&cpr>;
+                power-domain-names = "cpr";
                 #cooling-cells = <2>;
                 next-level-cache = <&L2_1>;
             };
@@ -182,18 +190,21 @@ examples:
                 opp-microvolt = <905000 905000 1140000>;
                 opp-supported-hw = <0x7>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp1>;
             };
             opp-1401600000 {
                 opp-hz = /bits/ 64 <1401600000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x5>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp2>;
             };
             opp-1593600000 {
                 opp-hz = /bits/ 64 <1593600000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x1>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp3>;
             };
         };
 
@@ -207,24 +218,28 @@ examples:
                 opp-microvolt = <905000 905000 1140000>;
                 opp-supported-hw = <0x7>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp1>;
             };
             opp-1804800000 {
                 opp-hz = /bits/ 64 <1804800000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x6>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp4>;
             };
             opp-1900800000 {
                 opp-hz = /bits/ 64 <1900800000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x4>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp5>;
             };
             opp-2150400000 {
                 opp-hz = /bits/ 64 <2150400000>;
                 opp-microvolt = <1140000 905000 1140000>;
                 opp-supported-hw = <0x1>;
                 clock-latency-ns = <200000>;
+                required-opps = <&cpr_opp6>;
             };
         };
 
Documentation/devicetree/bindings/pci/qcom,pcie.yaml +1 -1
index 0b69b12b849e..9b3ebee938e8 100644
@@ -614,7 +614,7 @@ allOf:
   - if:
       not:
         properties:
-          compatibles:
+          compatible:
             contains:
               enum:
                 - qcom,pcie-msm8996
Documentation/devicetree/bindings/pinctrl/pinctrl-mt8186.yaml +3 -26
index 8a2bb8608291..dbc41d1c4c7d 100644
@@ -105,31 +105,8 @@ patternProperties:
           drive-strength:
             enum: [2, 4, 6, 8, 10, 12, 14, 16]
 
-          mediatek,drive-strength-adv:
-            description: |
-              Describe the specific driving setup property.
-              For I2C pins, the existing generic driving setup can only support
-              2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
-              can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
-              driving setup, the existing generic setup will be disabled.
-              The specific driving setup is controlled by E1E0EN.
-              When E1=0/E0=0, the strength is 0.125mA.
-              When E1=0/E0=1, the strength is 0.25mA.
-              When E1=1/E0=0, the strength is 0.5mA.
-              When E1=1/E0=1, the strength is 1mA.
-              EN is used to enable or disable the specific driving setup.
-              Valid arguments are described as below:
-              0: (E1, E0, EN) = (0, 0, 0)
-              1: (E1, E0, EN) = (0, 0, 1)
-              2: (E1, E0, EN) = (0, 1, 0)
-              3: (E1, E0, EN) = (0, 1, 1)
-              4: (E1, E0, EN) = (1, 0, 0)
-              5: (E1, E0, EN) = (1, 0, 1)
-              6: (E1, E0, EN) = (1, 1, 0)
-              7: (E1, E0, EN) = (1, 1, 1)
-              So the valid arguments are from 0 to 7.
-            $ref: /schemas/types.yaml#/definitions/uint32
-            enum: [0, 1, 2, 3, 4, 5, 6, 7]
+          drive-strength-microamp:
+            enum: [125, 250, 500, 1000]
 
           bias-pull-down:
             oneOf:
@@ -291,7 +268,7 @@ examples:
           pinmux = <PINMUX_GPIO127__FUNC_SCL0>,
                    <PINMUX_GPIO128__FUNC_SDA0>;
           bias-pull-up = <MTK_PULL_SET_RSEL_001>;
-          mediatek,drive-strength-adv = <7>;
+          drive-strength-microamp = <1000>;
         };
       };
     };
Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml +18 -40

64 lines not on this page · raw message

Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml +7 -30
index c5b755514c46..3d8afb3d5695 100644
@@ -49,7 +49,7 @@ properties:
     description: The interrupt outputs to sysirq.
     maxItems: 1
 
-  mediatek,rsel_resistance_in_si_unit:
+  mediatek,rsel-resistance-in-si-unit:
     type: boolean
     description: |
       Identifying i2c pins pull up/down type which is RSEL. It can support
@@ -98,31 +98,8 @@ patternProperties:
           drive-strength:
             enum: [2, 4, 6, 8, 10, 12, 14, 16]
 
-          mediatek,drive-strength-adv:
-            description: |
-              Describe the specific driving setup property.
-              For I2C pins, the existing generic driving setup can only support
-              2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
-              can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
-              driving setup, the existing generic setup will be disabled.
-              The specific driving setup is controlled by E1E0EN.
-              When E1=0/E0=0, the strength is 0.125mA.
-              When E1=0/E0=1, the strength is 0.25mA.
-              When E1=1/E0=0, the strength is 0.5mA.
-              When E1=1/E0=1, the strength is 1mA.
-              EN is used to enable or disable the specific driving setup.
-              Valid arguments are described as below:
-              0: (E1, E0, EN) = (0, 0, 0)
-              1: (E1, E0, EN) = (0, 0, 1)
-              2: (E1, E0, EN) = (0, 1, 0)
-              3: (E1, E0, EN) = (0, 1, 1)
-              4: (E1, E0, EN) = (1, 0, 0)
-              5: (E1, E0, EN) = (1, 0, 1)
-              6: (E1, E0, EN) = (1, 1, 0)
-              7: (E1, E0, EN) = (1, 1, 1)
-              So the valid arguments are from 0 to 7.
-            $ref: /schemas/types.yaml#/definitions/uint32
-            enum: [0, 1, 2, 3, 4, 5, 6, 7]
+          drive-strength-microamp:
+            enum: [125, 250, 500, 1000]
 
           bias-pull-down:
             oneOf:
@@ -142,7 +119,7 @@ patternProperties:
               "MTK_PUPD_SET_R1R0_11" define in mt8195.
               For pull down type is RSEL, it can add RSEL define & resistance
               value(ohm) to set different resistance by identifying property
-              "mediatek,rsel_resistance_in_si_unit".
+              "mediatek,rsel-resistance-in-si-unit".
               It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001"
               & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011"
               & "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101"
@@ -161,7 +138,7 @@ patternProperties:
               };
               An example of using si unit resistance value(ohm):
               &pio {
-                mediatek,rsel_resistance_in_si_unit;
+                mediatek,rsel-resistance-in-si-unit;
               }
               pincontroller {
                 i2c0_pin {
@@ -190,7 +167,7 @@ patternProperties:
               "MTK_PUPD_SET_R1R0_11" define in mt8195.
               For pull up type is RSEL, it can add RSEL define & resistance
               value(ohm) to set different resistance by identifying property
-              "mediatek,rsel_resistance_in_si_unit".
+              "mediatek,rsel-resistance-in-si-unit".
               It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001"
               & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011"
               & "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101"
@@ -209,7 +186,7 @@ patternProperties:
               };
               An example of using si unit resistance value(ohm):
               &pio {
-                mediatek,rsel_resistance_in_si_unit;
+                mediatek,rsel-resistance-in-si-unit;
               }
               pincontroller {
                 i2c0-pins {
Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml +0 -11
index b539781e39aa..835b53302db8 100644
@@ -47,12 +47,6 @@ properties:
         description:
           Properties for single LDO regulator.
 
-        properties:
-          regulator-name:
-            pattern: "^LDO[1-5]$"
-            description:
-              should be "LDO1", ..., "LDO5"
-
         unevaluatedProperties: false
 
       "^BUCK[1-6]$":
@@ -62,11 +56,6 @@ properties:
           Properties for single BUCK regulator.
 
         properties:
-          regulator-name:
-            pattern: "^BUCK[1-6]$"
-            description:
-              should be "BUCK1", ..., "BUCK6"
-
           nxp,dvs-run-voltage:
             $ref: "/schemas/types.yaml#/definitions/uint32"
             minimum: 600000
Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml +4 -1
index 78ceb9d67754..2e20ca313ec1 100644
@@ -45,12 +45,15 @@ properties:
       - const: rx
 
   interconnects:
-    maxItems: 2
+    minItems: 2
+    maxItems: 3
 
   interconnect-names:
+    minItems: 2
     items:
       - const: qup-core
       - const: qup-config
+      - const: qup-memory
 
   interrupts:
     maxItems: 1
Documentation/devicetree/bindings/spi/spi-cadence.yaml +7 -0
index 9787be21318e..82d0ca5c00f3 100644
@@ -49,6 +49,13 @@ properties:
     enum: [ 0, 1 ]
     default: 0
 
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clock-names
+  - clocks
+
 unevaluatedProperties: false
 
 examples:
Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml +7 -0
index ea72c8001256..fafde1c06be6 100644
@@ -30,6 +30,13 @@ properties:
   clocks:
     maxItems: 2
 
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clock-names
+  - clocks
+
 unevaluatedProperties: false
 
 examples:
Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml +1 -0
index 084d7135b2d9..5603359e7b29 100644
@@ -57,6 +57,7 @@ properties:
       - description: optional, wakeup interrupt used to support runtime PM
 
   interrupt-names:
+    minItems: 1
     items:
       - const: host
       - const: wakeup
Documentation/firmware-guide/acpi/apei/einj.rst +1 -1
index 55e2331a6438..d6b61d22f525 100644
@@ -168,7 +168,7 @@ An error injection example::
   0x00000008	Memory Correctable
   0x00000010	Memory Uncorrectable non-fatal
   # echo 0x12345000 > param1		# Set memory address for injection
-  # echo $((-1 << 12)) > param2		# Mask 0xfffffffffffff000 - anywhere in this page
+  # echo 0xfffffffffffff000 > param2		# Mask - anywhere in this page
   # echo 0x8 > error_type			# Choose correctable memory error
   # echo 1 > error_inject			# Inject now
 
Makefile +3 -5
index 8595916561f3..65dc4f93ffdb 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 19
-SUBLEVEL = 3
+SUBLEVEL = 4
 EXTRAVERSION =
 NAME = Superb Owl
 
@@ -1112,13 +1112,11 @@ vmlinux-alldirs	:= $(sort $(vmlinux-dirs) Documentation \
 		     $(patsubst %/,%,$(filter %/, $(core-) \
 			$(drivers-) $(libs-))))
 
-subdir-modorder := $(addsuffix modules.order,$(filter %/, \
-			$(core-y) $(core-m) $(libs-y) $(libs-m) \
-			$(drivers-y) $(drivers-m)))
-
 build-dirs	:= $(vmlinux-dirs)
 clean-dirs	:= $(vmlinux-alldirs)
 
+subdir-modorder := $(addsuffix /modules.order, $(build-dirs))
+
 # Externally visible symbols (used by link-vmlinux.sh)
 KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
 KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
arch/arm64/include/asm/kvm_host.h +4 -0
index de32152cea04..7aaf75577096 100644
@@ -838,6 +838,10 @@ bool kvm_arm_vcpu_is_finalized(struct kvm_vcpu *vcpu);
 	(system_supports_mte() &&				\
 	 test_bit(KVM_ARCH_FLAG_MTE_ENABLED, &(kvm)->arch.flags))
 
+#define kvm_supports_32bit_el0()				\
+	(system_supports_32bit_el0() &&				\
+	 !static_branch_unlikely(&arm64_mismatched_32bit_el0))
+
 int kvm_trng_call(struct kvm_vcpu *vcpu);
 #ifdef CONFIG_KVM
 extern phys_addr_t hyp_mem_base;
arch/arm64/kvm/arm.c +1 -2
index 83a7f61354d3..e21b24574118 100644
@@ -751,8 +751,7 @@ static bool vcpu_mode_is_bad_32bit(struct kvm_vcpu *vcpu)
 	if (likely(!vcpu_mode_is_32bit(vcpu)))
 		return false;
 
-	return !system_supports_32bit_el0() ||
-		static_branch_unlikely(&arm64_mismatched_32bit_el0);
+	return !kvm_supports_32bit_el0();
 }
 
 /**
arch/arm64/kvm/guest.c +1 -1
index 8c607199cad1..f802a3b3f8db 100644
@@ -242,7 +242,7 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
 		u64 mode = (*(u64 *)valp) & PSR_AA32_MODE_MASK;
 		switch (mode) {
 		case PSR_AA32_MODE_USR:
-			if (!system_supports_32bit_el0())
+			if (!kvm_supports_32bit_el0())
 				return -EINVAL;
 			break;
 		case PSR_AA32_MODE_FIQ:
arch/arm64/kvm/sys_regs.c +2 -2
index c06c0477fab5..be7edd21537f 100644
@@ -692,7 +692,7 @@ static void reset_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r)
 	 */
 	val = ((pmcr & ~ARMV8_PMU_PMCR_MASK)
 	       | (ARMV8_PMU_PMCR_MASK & 0xdecafbad)) & (~ARMV8_PMU_PMCR_E);
-	if (!system_supports_32bit_el0())
+	if (!kvm_supports_32bit_el0())
 		val |= ARMV8_PMU_PMCR_LC;
 	__vcpu_sys_reg(vcpu, r->reg) = val;
 }
@@ -741,7 +741,7 @@ static bool access_pmcr(struct kvm_vcpu *vcpu, struct sys_reg_params *p,
 		val = __vcpu_sys_reg(vcpu, PMCR_EL0);
 		val &= ~ARMV8_PMU_PMCR_MASK;
 		val |= p->regval & ARMV8_PMU_PMCR_MASK;
-		if (!system_supports_32bit_el0())
+		if (!kvm_supports_32bit_el0())
 			val |= ARMV8_PMU_PMCR_LC;
 		__vcpu_sys_reg(vcpu, PMCR_EL0) = val;
 		kvm_pmu_handle_pmcr(vcpu, val);
arch/csky/kernel/probes/kprobes.c +4 -0
index 34ba684d5962..3c6e5c725d81 100644
@@ -124,6 +124,10 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
 
 void __kprobes arch_remove_kprobe(struct kprobe *p)
 {
+	if (p->ainsn.api.insn) {
+		free_insn_slot(p->ainsn.api.insn, 0);
+		p->ainsn.api.insn = NULL;
+	}
 }
 
 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb)
arch/m68k/coldfire/device.c +3 -3
index 4218750414bb..7dab46728aed 100644
@@ -581,7 +581,7 @@ static struct platform_device mcf_esdhc = {
 };
 #endif /* MCFSDHC_BASE */
 
-#if IS_ENABLED(CONFIG_CAN_FLEXCAN)
+#ifdef MCFFLEXCAN_SIZE
 
 #include <linux/can/platform/flexcan.h>
 
@@ -620,7 +620,7 @@ static struct platform_device mcf_flexcan0 = {
 	.resource = mcf5441x_flexcan0_resource,
 	.dev.platform_data = &mcf5441x_flexcan_info,
 };
-#endif /* IS_ENABLED(CONFIG_CAN_FLEXCAN) */
+#endif /* MCFFLEXCAN_SIZE */
 
 static struct platform_device *mcf_devices[] __initdata = {
 	&mcf_uart,
@@ -657,7 +657,7 @@ static struct platform_device *mcf_devices[] __initdata = {
 #ifdef MCFSDHC_BASE
 	&mcf_esdhc,
 #endif
-#if IS_ENABLED(CONFIG_CAN_FLEXCAN)
+#ifdef MCFFLEXCAN_SIZE
 	&mcf_flexcan0,
 #endif
 };
arch/mips/cavium-octeon/octeon-platform.c +2 -1
index a994022e32c9..ce05c0dd3acd 100644
@@ -86,11 +86,12 @@ static void octeon2_usb_clocks_start(struct device *dev)
 					 "refclk-frequency", &clock_rate);
 		if (i) {
 			dev_err(dev, "No UCTL \"refclk-frequency\"\n");
+			of_node_put(uctl_node);
 			goto exit;
 		}
 		i = of_property_read_string(uctl_node,
 					    "refclk-type", &clock_type);
-
+		of_node_put(uctl_node);
 		if (!i && strcmp("crystal", clock_type) == 0)
 			is_crystal_clock = true;
 	}
arch/mips/mm/tlbex.c +2 -2
index 8dbbd99fc7e8..be4d4670d649 100644
@@ -626,7 +626,7 @@ static __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
 		return;
 	}
 
-	if (cpu_has_rixi && !!_PAGE_NO_EXEC) {
+	if (cpu_has_rixi && _PAGE_NO_EXEC != 0) {
 		if (fill_includes_sw_bits) {
 			UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL));
 		} else {
@@ -2565,7 +2565,7 @@ static void check_pabits(void)
 	unsigned long entry;
 	unsigned pabits, fillbits;
 
-	if (!cpu_has_rixi || !_PAGE_NO_EXEC) {
+	if (!cpu_has_rixi || _PAGE_NO_EXEC == 0) {
 		/*
 		 * We'll only be making use of the fact that we can rotate bits
 		 * into the fill if the CPU supports RIXI, so don't bother
arch/nios2/include/asm/entry.h +2 -1
index cf37f55efbc2..bafb7b2ca59f 100644
@@ -50,7 +50,8 @@
 	stw	r13, PT_R13(sp)
 	stw	r14, PT_R14(sp)
 	stw	r15, PT_R15(sp)
-	stw	r2, PT_ORIG_R2(sp)
+	movi	r24, -1
+	stw	r24, PT_ORIG_R2(sp)
 	stw	r7, PT_ORIG_R7(sp)
 
 	stw	ra, PT_RA(sp)
arch/nios2/include/asm/ptrace.h +2 -0
index 642462144872..9da34c3022a2 100644
@@ -74,6 +74,8 @@ extern void show_regs(struct pt_regs *);
 	((struct pt_regs *)((unsigned long)current_thread_info() + THREAD_SIZE)\
 		- 1)
 
+#define force_successful_syscall_return() (current_pt_regs()->orig_r2 = -1)
+
 int do_syscall_trace_enter(void);
 void do_syscall_trace_exit(void);
 #endif /* __ASSEMBLY__ */
arch/nios2/kernel/entry.S +15 -7
index 0794cd7803df..99f0a65e6234 100644
@@ -185,6 +185,7 @@ ENTRY(handle_system_call)
 	ldw	r5, PT_R5(sp)
 
 local_restart:
+	stw	r2, PT_ORIG_R2(sp)
 	/* Check that the requested system call is within limits */
 	movui	r1, __NR_syscalls
 	bgeu	r2, r1, ret_invsyscall
@@ -192,7 +193,6 @@ local_restart:
 	movhi	r11, %hiadj(sys_call_table)
 	add	r1, r1, r11
 	ldw	r1, %lo(sys_call_table)(r1)
-	beq	r1, r0, ret_invsyscall
 
 	/* Check if we are being traced */
 	GET_THREAD_INFO r11
@@ -213,6 +213,9 @@ local_restart:
 translate_rc_and_ret:
 	movi	r1, 0
 	bge	r2, zero, 3f
+	ldw	r1, PT_ORIG_R2(sp)
+	addi	r1, r1, 1
+	beq	r1, zero, 3f
 	sub	r2, zero, r2
 	movi	r1, 1
 3:
@@ -255,9 +258,9 @@ traced_system_call:
 	ldw	r6, PT_R6(sp)
 	ldw	r7, PT_R7(sp)
 
-	/* Fetch the syscall function, we don't need to check the boundaries
-	 * since this is already done.
-	 */
+	/* Fetch the syscall function. */
+	movui	r1, __NR_syscalls
+	bgeu	r2, r1, traced_invsyscall
 	slli	r1, r2, 2
 	movhi	r11,%hiadj(sys_call_table)
 	add	r1, r1, r11
@@ -276,6 +279,9 @@ traced_system_call:
 translate_rc_and_ret2:
 	movi	r1, 0
 	bge	r2, zero, 4f
+	ldw	r1, PT_ORIG_R2(sp)
+	addi	r1, r1, 1
+	beq	r1, zero, 4f
 	sub	r2, zero, r2
 	movi	r1, 1
 4:
@@ -287,6 +293,11 @@ end_translate_rc_and_ret2:
 	RESTORE_SWITCH_STACK
 	br	ret_from_exception
 
+	/* If the syscall number was invalid return ENOSYS */
+traced_invsyscall:
+	movi	r2, -ENOSYS
+	br	translate_rc_and_ret2
+
 Luser_return:
 	GET_THREAD_INFO	r11			/* get thread_info pointer */
 	ldw	r10, TI_FLAGS(r11)		/* get thread_info->flags */
@@ -336,9 +347,6 @@ external_interrupt:
 	/* skip if no interrupt is pending */
 	beq	r12, r0, ret_from_interrupt
 
-	movi	r24, -1
-	stw	r24, PT_ORIG_R2(sp)
-
 	/*
 	 * Process an external hardware interrupt.
 	 */
arch/nios2/kernel/signal.c +2 -1
index cb0b91589cf2..a5b93a30c6eb 100644
@@ -242,7 +242,7 @@ static int do_signal(struct pt_regs *regs)
 	/*
 	 * If we were from a system call, check for system call restarting...
 	 */
-	if (regs->orig_r2 >= 0) {
+	if (regs->orig_r2 >= 0 && regs->r1) {
 		continue_addr = regs->ea;
 		restart_addr = continue_addr - 4;
 		retval = regs->r2;
@@ -264,6 +264,7 @@ static int do_signal(struct pt_regs *regs)
 			regs->ea = restart_addr;
 			break;
 		}
+		regs->orig_r2 = -1;
 	}
 
 	if (get_signal(&ksig)) {
arch/nios2/kernel/syscall_table.c +1 -0
index 6176d63023c1..c2875a6dd5a4 100644
@@ -13,5 +13,6 @@
 #define __SYSCALL(nr, call) [nr] = (call),
 
 void *sys_call_table[__NR_syscalls] = {
+	[0 ... __NR_syscalls-1] = sys_ni_syscall,
 #include <asm/unistd.h>
 };
arch/openrisc/include/asm/io.h +1 -1
index c298061c70a7..8aa3e78181e9 100644
@@ -31,7 +31,7 @@
 void __iomem *ioremap(phys_addr_t offset, unsigned long size);
 
 #define iounmap iounmap
-extern void iounmap(void __iomem *addr);
+extern void iounmap(volatile void __iomem *addr);
 
 #include <asm-generic/io.h>
 
arch/openrisc/mm/ioremap.c +1 -1
index daae13a76743..8ec0dafecf25 100644
@@ -77,7 +77,7 @@ void __iomem *__ref ioremap(phys_addr_t addr, unsigned long size)
 }
 EXPORT_SYMBOL(ioremap);
 
-void iounmap(void __iomem *addr)
+void iounmap(volatile void __iomem *addr)
 {
 	/* If the page is from the fixmap pool then we just clear out
 	 * the fixmap mapping.
arch/powerpc/Makefile +1 -25
index a0cd70712061..d54e1fe03551 100644
@@ -15,23 +15,6 @@ HAS_BIARCH	:= $(call cc-option-yn, -m32)
 # Set default 32 bits cross compilers for vdso and boot wrapper
 CROSS32_COMPILE ?=
 
-ifeq ($(HAS_BIARCH),y)
-ifeq ($(CROSS32_COMPILE),)
-ifdef CONFIG_PPC32
-# These options will be overridden by any -mcpu option that the CPU
-# or platform code sets later on the command line, but they are needed
-# to set a sane 32-bit cpu target for the 64-bit cross compiler which
-# may default to the wrong ISA.
-KBUILD_CFLAGS		+= -mcpu=powerpc
-KBUILD_AFLAGS		+= -mcpu=powerpc
-endif
-endif
-endif
-
-ifdef CONFIG_PPC_BOOK3S_32
-KBUILD_CFLAGS		+= -mcpu=powerpc
-endif
-
 # If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use
 # ppc64_defconfig because we have nothing better to go on.
 uname := $(shell uname -m)
@@ -183,6 +166,7 @@ endif
 endif
 
 CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
+AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
 
 # Altivec option not allowed with e500mc64 in GCC.
 ifdef CONFIG_ALTIVEC
@@ -193,14 +177,6 @@ endif
 CFLAGS-$(CONFIG_E5500_CPU) += $(E5500_CPU)
 CFLAGS-$(CONFIG_E6500_CPU) += $(call cc-option,-mcpu=e6500,$(E5500_CPU))
 
-ifdef CONFIG_PPC32
-ifdef CONFIG_PPC_E500MC
-CFLAGS-y += $(call cc-option,-mcpu=e500mc,-mcpu=powerpc)
-else
-CFLAGS-$(CONFIG_E500) += $(call cc-option,-mcpu=8540 -msoft-float,-mcpu=powerpc)
-endif
-endif
-
 asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1)
 
 KBUILD_CPPFLAGS	+= -I $(srctree)/arch/$(ARCH) $(asinstr)
arch/powerpc/include/asm/nmi.h +2 -0
index ea0e487f87b1..c3c7adef74de 100644
@@ -5,8 +5,10 @@
 #ifdef CONFIG_PPC_WATCHDOG
 extern void arch_touch_nmi_watchdog(void);
 long soft_nmi_interrupt(struct pt_regs *regs);
+void watchdog_nmi_set_timeout_pct(u64 pct);
 #else
 static inline void arch_touch_nmi_watchdog(void) {}
+static inline void watchdog_nmi_set_timeout_pct(u64 pct) {}
 #endif
 
 #ifdef CONFIG_NMI_IPI
arch/powerpc/kernel/head_book3s_32.S +2 -2
index 6c739beb938c..519b60695167 100644
@@ -418,14 +418,14 @@ InstructionTLBMiss:
  */
 	/* Get PTE (linux-style) and check access */
 	mfspr	r3,SPRN_IMISS
-#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KFENCE)
+#ifdef CONFIG_MODULES
 	lis	r1, TASK_SIZE@h		/* check if kernel address */
 	cmplw	0,r1,r3
 #endif
 	mfspr	r2, SPRN_SDR1
 	li	r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC | _PAGE_USER
 	rlwinm	r2, r2, 28, 0xfffff000
-#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KFENCE)
+#ifdef CONFIG_MODULES
 	bgt-	112f
 	lis	r2, (swapper_pg_dir - PAGE_OFFSET)@ha	/* if kernel address, use */
 	li	r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC
arch/powerpc/kernel/pci-common.c +10 -6
index c787df126ada..2df8e1350297 100644
@@ -67,10 +67,6 @@ void __init set_pci_dma_ops(const struct dma_map_ops *dma_ops)
 	pci_dma_ops = dma_ops;
 }
 
-/*
- * This function should run under locking protection, specifically
- * hose_spinlock.
- */
 static int get_phb_number(struct device_node *dn)
 {
 	int ret, phb_id = -1;
@@ -107,15 +103,20 @@ static int get_phb_number(struct device_node *dn)
 	if (!ret)
 		phb_id = (int)(prop & (MAX_PHBS - 1));
 
+	spin_lock(&hose_spinlock);
+
 	/* We need to be sure to not use the same PHB number twice. */
 	if ((phb_id >= 0) && !test_and_set_bit(phb_id, phb_bitmap))
-		return phb_id;
+		goto out_unlock;
 
 	/* If everything fails then fallback to dynamic PHB numbering. */
 	phb_id = find_first_zero_bit(phb_bitmap, MAX_PHBS);
 	BUG_ON(phb_id >= MAX_PHBS);
 	set_bit(phb_id, phb_bitmap);
 
+out_unlock:
+	spin_unlock(&hose_spinlock);
+
 	return phb_id;
 }
 
@@ -126,10 +127,13 @@ struct pci_controller *pcibios_alloc_controller(struct device_node *dev)
 	phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL);
 	if (phb == NULL)
 		return NULL;
-	spin_lock(&hose_spinlock);
+
 	phb->global_number = get_phb_number(dev);
+
+	spin_lock(&hose_spinlock);
 	list_add_tail(&phb->list_node, &hose_list);
 	spin_unlock(&hose_spinlock);
+
 	phb->dn = dev;
 	phb->is_dynamic = slab_is_available();
 #ifdef CONFIG_PPC64
arch/powerpc/kernel/prom.c +7 -0
index feae8509b59c..b64c3f06c069 100644
@@ -751,6 +751,13 @@ void __init early_init_devtree(void *params)
 	early_init_dt_scan_root();
 	early_init_dt_scan_memory_ppc();
 
+	/*
+	 * As generic code authors expect to be able to use static keys
+	 * in early_param() handlers, we initialize the static keys just
+	 * before parsing early params (it's fine to call jump_label_init()
+	 * more than once).
+	 */
+	jump_label_init();
 	parse_early_param();
 
 	/* make sure we've parsed cmdline for mem= before this */
arch/powerpc/kernel/watchdog.c +20 -1
index 7d28b9553654..5d903e63f932 100644
@@ -91,6 +91,10 @@ static cpumask_t wd_smp_cpus_pending;
 static cpumask_t wd_smp_cpus_stuck;
 static u64 wd_smp_last_reset_tb;
 
+#ifdef CONFIG_PPC_PSERIES
+static u64 wd_timeout_pct;
+#endif
+
 /*
  * Try to take the exclusive watchdog action / NMI IPI / printing lock.
  * wd_smp_lock must be held. If this fails, we should return and wait
@@ -527,7 +531,13 @@ static int stop_watchdog_on_cpu(unsigned int cpu)
 
 static void watchdog_calc_timeouts(void)
 {
-	wd_panic_timeout_tb = watchdog_thresh * ppc_tb_freq;
+	u64 threshold = watchdog_thresh;
+
+#ifdef CONFIG_PPC_PSERIES
+	threshold += (READ_ONCE(wd_timeout_pct) * threshold) / 100;
+#endif
+
+	wd_panic_timeout_tb = threshold * ppc_tb_freq;
 
 	/* Have the SMP detector trigger a bit later */
 	wd_smp_panic_timeout_tb = wd_panic_timeout_tb * 3 / 2;
@@ -570,3 +580,12 @@ int __init watchdog_nmi_probe(void)
 	}
 	return 0;
 }
+
+#ifdef CONFIG_PPC_PSERIES
+void watchdog_nmi_set_timeout_pct(u64 pct)
+{
+	pr_info("Set the NMI watchdog timeout factor to %llu%%\n", pct);
+	WRITE_ONCE(wd_timeout_pct, pct);
+	lockup_detector_reconfigure();
+}
+#endif
arch/powerpc/kvm/book3s_hv_p9_entry.c +2 -11
index 112a09b33328..7f88be386b27 100644
@@ -438,15 +438,6 @@ void restore_p9_host_os_sprs(struct kvm_vcpu *vcpu,
 EXPORT_SYMBOL_GPL(restore_p9_host_os_sprs);
 
 #ifdef CONFIG_KVM_BOOK3S_HV_EXIT_TIMING
-static void __start_timing(struct kvm_vcpu *vcpu, struct kvmhv_tb_accumulator *next)
-{
-	struct kvmppc_vcore *vc = vcpu->arch.vcore;
-	u64 tb = mftb() - vc->tb_offset_applied;
-
-	vcpu->arch.cur_activity = next;
-	vcpu->arch.cur_tb_start = tb;
-}
-
 static void __accumulate_time(struct kvm_vcpu *vcpu, struct kvmhv_tb_accumulator *next)
 {
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
@@ -478,8 +469,8 @@ static void __accumulate_time(struct kvm_vcpu *vcpu, struct kvmhv_tb_accumulator
 	curr->seqcount = seq + 2;
 }
 
-#define start_timing(vcpu, next) __start_timing(vcpu, next)
-#define end_timing(vcpu) __start_timing(vcpu, NULL)
+#define start_timing(vcpu, next) __accumulate_time(vcpu, next)
+#define end_timing(vcpu) __accumulate_time(vcpu, NULL)
 #define accumulate_time(vcpu, next) __accumulate_time(vcpu, next)
 #else
 #define start_timing(vcpu, next) do {} while (0)
arch/powerpc/mm/book3s32/mmu.c +4 -6
index 49a737fbbd18..40029280c320 100644
@@ -159,7 +159,10 @@ unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
 {
 	unsigned long done;
 	unsigned long border = (unsigned long)__init_begin - PAGE_OFFSET;
+	unsigned long size;
 
+	size = roundup_pow_of_two((unsigned long)_einittext - PAGE_OFFSET);
+	setibat(0, PAGE_OFFSET, 0, size, PAGE_KERNEL_X);
 
 	if (debug_pagealloc_enabled_or_kfence() || __map_without_bats) {
 		pr_debug_once("Read-Write memory mapped without BATs\n");
@@ -245,10 +248,9 @@ void mmu_mark_rodata_ro(void)
 }
 
 /*
- * Set up one of the I/D BAT (block address translation) register pairs.
+ * Set up one of the D BAT (block address translation) register pairs.
  * The parameters are not checked; in particular size must be a power
  * of 2 between 128k and 256M.
- * On 603+, only set IBAT when _PAGE_EXEC is set
  */
 void __init setbat(int index, unsigned long virt, phys_addr_t phys,
 		   unsigned int size, pgprot_t prot)
@@ -284,10 +286,6 @@ void __init setbat(int index, unsigned long virt, phys_addr_t phys,
 		/* G bit must be zero in IBATs */
 		flags &= ~_PAGE_EXEC;
 	}
-	if (flags & _PAGE_EXEC)
-		bat[0] = bat[1];
-	else
-		bat[0].batu = bat[0].batl = 0;
 
 	bat_addrs[index].start = virt;
 	bat_addrs[index].limit = virt + ((bl + 1) << 17) - 1;
arch/powerpc/platforms/Kconfig.cputype +18 -3
index 3629fd73083e..18115cabaedf 100644
@@ -136,9 +136,9 @@ config GENERIC_CPU
 	select ARCH_HAS_FAST_MULTIPLIER
 	select PPC_64S_HASH_MMU
 
-config GENERIC_CPU
+config POWERPC_CPU
 	bool "Generic 32 bits powerpc"
-	depends on PPC32 && !PPC_8xx
+	depends on PPC32 && !PPC_8xx && !PPC_85xx
 
 config CELL_CPU
 	bool "Cell Broadband Engine"
@@ -197,11 +197,23 @@ config G4_CPU
 	depends on PPC_BOOK3S_32
 	select ALTIVEC
 
+config E500_CPU
+	bool "e500 (8540)"
+	depends on PPC_85xx && !PPC_E500MC
+
+config E500MC_CPU
+	bool "e500mc"
+	depends on PPC_85xx && PPC_E500MC
+
+config TOOLCHAIN_DEFAULT_CPU
+	bool "Rely on the toolchain's implicit default CPU"
+	depends on PPC32
+
 endchoice
 
 config TARGET_CPU_BOOL
 	bool
-	default !GENERIC_CPU
+	default !GENERIC_CPU && !TOOLCHAIN_DEFAULT_CPU
 
 config TARGET_CPU
 	string
@@ -216,6 +228,9 @@ config TARGET_CPU
 	default "e300c2" if E300C2_CPU
 	default "e300c3" if E300C3_CPU
 	default "G4" if G4_CPU
+	default "8540" if E500_CPU
+	default "e500mc" if E500MC_CPU
+	default "powerpc" if POWERPC_CPU
 
 config PPC_BOOK3S
 	def_bool y
arch/powerpc/platforms/powernv/pci-ioda.c +2 -0
index c8cf2728031a..9de9b2fb163d 100644
@@ -1609,6 +1609,7 @@ static void pnv_pci_ioda1_setup_dma_pe(struct pnv_phb *phb,
 	tbl->it_ops = &pnv_ioda1_iommu_ops;
 	pe->table_group.tce32_start = tbl->it_offset << tbl->it_page_shift;
 	pe->table_group.tce32_size = tbl->it_size << tbl->it_page_shift;
+	tbl->it_index = (phb->hose->global_number << 16) | pe->pe_number;
 	if (!iommu_init_table(tbl, phb->hose->node, 0, 0))
 		panic("Failed to initialize iommu table");
 
@@ -1779,6 +1780,7 @@ static long pnv_pci_ioda2_setup_default_config(struct pnv_ioda_pe *pe)
 		res_end = min(window_size, SZ_4G) >> tbl->it_page_shift;
 	}
 
+	tbl->it_index = (pe->phb->hose->global_number << 16) | pe->pe_number;
 	if (iommu_init_table(tbl, pe->phb->hose->node, res_start, res_end))
 		rc = pnv_pci_ioda2_set_window(&pe->table_group, 0, tbl);
 	else
arch/powerpc/platforms/pseries/mobility.c +43 -0

68 lines not on this page · raw message

arch/riscv/boot/dts/canaan/k210.dtsi +12 -0
index 44d338514761..ec944d1537dc 100644
@@ -65,6 +65,18 @@ cpu1_intc: interrupt-controller {
 				compatible = "riscv,cpu-intc";
 			};
 		};
+
+		cpu-map {
+			cluster0 {
+				core0 {
+					cpu = <&cpu0>;
+				};
+
+				core1 {
+					cpu = <&cpu1>;
+				};
+			};
+		};
 	};
 
 	sram: memory@80000000 {
arch/riscv/boot/dts/sifive/fu740-c000.dtsi +24 -0
index 7b77c13496d8..43bed6c0a84f 100644
@@ -134,6 +134,30 @@ cpu4_intc: interrupt-controller {
 				interrupt-controller;
 			};
 		};
+
+		cpu-map {
+			cluster0 {
+				core0 {
+					cpu = <&cpu0>;
+				};
+
+				core1 {
+					cpu = <&cpu1>;
+				};
+
+				core2 {
+					cpu = <&cpu2>;
+				};
+
+				core3 {
+					cpu = <&cpu3>;
+				};
+
+				core4 {
+					cpu = <&cpu4>;
+				};
+			};
+		};
 	};
 	soc {
 		#address-cells = <2>;
arch/riscv/kernel/sys_riscv.c +2 -3
index 9c0194f176fc..571556bb9261 100644
@@ -18,9 +18,8 @@ static long riscv_sys_mmap(unsigned long addr, unsigned long len,
 	if (unlikely(offset & (~PAGE_MASK >> page_shift_offset)))
 		return -EINVAL;
 
-	if ((prot & PROT_WRITE) && (prot & PROT_EXEC))
-		if (unlikely(!(prot & PROT_READ)))
-			return -EINVAL;
+	if (unlikely((prot & PROT_WRITE) && !(prot & PROT_READ)))
+		return -EINVAL;
 
 	return ksys_mmap_pgoff(addr, len, prot, flags, fd,
 			       offset >> (PAGE_SHIFT - page_shift_offset));
arch/riscv/kernel/traps.c +4 -0
index b40426509244..39d0f8bba4b4 100644
@@ -16,6 +16,7 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/irq.h>
+#include <linux/kexec.h>
 
 #include <asm/asm-prototypes.h>
 #include <asm/bug.h>
@@ -44,6 +45,9 @@ void die(struct pt_regs *regs, const char *str)
 
 	ret = notify_die(DIE_OOPS, str, regs, 0, regs->cause, SIGSEGV);
 
+	if (regs && kexec_should_crash(current))
+		crash_kexec(regs);
+
 	bust_spinlocks(0);
 	add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
 	spin_unlock_irq(&die_lock);
arch/um/os-Linux/skas/process.c +16 -1
index c316c993a949..b24db6017ded 100644
@@ -5,6 +5,7 @@
  */
 
 #include <stdlib.h>
+#include <stdbool.h>
 #include <unistd.h>
 #include <sched.h>
 #include <errno.h>
@@ -707,10 +708,24 @@ void halt_skas(void)
 	UML_LONGJMP(&initial_jmpbuf, INIT_JMP_HALT);
 }
 
+static bool noreboot;
+
+static int __init noreboot_cmd_param(char *str, int *add)
+{
+	noreboot = true;
+	return 0;
+}
+
+__uml_setup("noreboot", noreboot_cmd_param,
+"noreboot\n"
+"    Rather than rebooting, exit always, akin to QEMU's -no-reboot option.\n"
+"    This is useful if you're using CONFIG_PANIC_TIMEOUT in order to catch\n"
+"    crashes in CI\n");
+
 void reboot_skas(void)
 {
 	block_signals_trace();
-	UML_LONGJMP(&initial_jmpbuf, INIT_JMP_REBOOT);
+	UML_LONGJMP(&initial_jmpbuf, noreboot ? INIT_JMP_HALT : INIT_JMP_REBOOT);
 }
 
 void __switch_mm(struct mm_id *mm_idp)
arch/x86/include/asm/ibt.h +11 -0
index 689880eca9ba..9b08082a5d9f 100644
@@ -31,6 +31,16 @@
 
 #define __noendbr	__attribute__((nocf_check))
 
+/*
+ * Create a dummy function pointer reference to prevent objtool from marking
+ * the function as needing to be "sealed" (i.e. ENDBR converted to NOP by
+ * apply_ibt_endbr()).
+ */
+#define IBT_NOSEAL(fname)				\
+	".pushsection .discard.ibt_endbr_noseal\n\t"	\
+	_ASM_PTR fname "\n\t"				\
+	".popsection\n\t"
+
 static inline __attribute_const__ u32 gen_endbr(void)
 {
 	u32 endbr;
@@ -84,6 +94,7 @@ extern __noendbr void ibt_restore(u64 save);
 #ifndef __ASSEMBLY__
 
 #define ASM_ENDBR
+#define IBT_NOSEAL(name)
 
 #define __noendbr
 
arch/x86/kernel/kprobes/core.c +1 -1
index 74167dc5f55e..4c3c27b6aea3 100644
@@ -505,7 +505,7 @@ static void kprobe_emulate_jcc(struct kprobe *p, struct pt_regs *regs)
 		match = ((regs->flags & X86_EFLAGS_SF) >> X86_EFLAGS_SF_BIT) ^
 			((regs->flags & X86_EFLAGS_OF) >> X86_EFLAGS_OF_BIT);
 		if (p->ainsn.jcc.type >= 0xe)
-			match = match && (regs->flags & X86_EFLAGS_ZF);
+			match = match || (regs->flags & X86_EFLAGS_ZF);
 	}
 	__kprobe_emulate_jmp(p, regs, (match && !invert) || (!match && invert));
 }
arch/x86/kvm/emulate.c +2 -1
index aa907cec0918..09fa8a94807b 100644
@@ -316,7 +316,8 @@ static int fastop(struct x86_emulate_ctxt *ctxt, fastop_t fop);
 	".align " __stringify(FASTOP_SIZE) " \n\t" \
 	".type " name ", @function \n\t" \
 	name ":\n\t" \
-	ASM_ENDBR
+	ASM_ENDBR \
+	IBT_NOSEAL(name)
 
 #define FOP_FUNC(name) \
 	__FOP_FUNC(#name)
arch/x86/mm/init_64.c +1 -1
index 39c5246964a9..0fe690ebc269 100644
@@ -645,7 +645,7 @@ phys_pud_init(pud_t *pud_page, unsigned long paddr, unsigned long paddr_end,
 			pages++;
 			spin_lock(&init_mm.page_table_lock);
 
-			prot = __pgprot(pgprot_val(prot) | __PAGE_KERNEL_LARGE);
+			prot = __pgprot(pgprot_val(prot) | _PAGE_PSE);
 
 			set_pte_init((pte_t *)pud,
 				     pfn_pte((paddr & PUD_MASK) >> PAGE_SHIFT,
block/blk-mq.c +1 -1
index 93d9d60980fb..1eb13d57a946 100644
@@ -2568,7 +2568,7 @@ static void blk_mq_plug_issue_direct(struct blk_plug *plug, bool from_schedule)
 			break;
 		case BLK_STS_RESOURCE:
 		case BLK_STS_DEV_RESOURCE:
-			blk_mq_request_bypass_insert(rq, false, last);
+			blk_mq_request_bypass_insert(rq, false, true);
 			blk_mq_commit_rqs(hctx, &queued, from_schedule);
 			return;
 		default:
drivers/acpi/pci_mcfg.c +3 -0
index 53cab975f612..63b98eae5e75 100644
@@ -41,6 +41,8 @@ struct mcfg_fixup {
 static struct mcfg_fixup mcfg_quirks[] = {
 /*	{ OEM_ID, OEM_TABLE_ID, REV, SEGMENT, BUS_RANGE, ops, cfgres }, */
 
+#ifdef CONFIG_ARM64
+
 #define AL_ECAM(table_id, rev, seg, ops) \
 	{ "AMAZON", table_id, rev, seg, MCFG_BUS_ANY, ops }
 
@@ -169,6 +171,7 @@ static struct mcfg_fixup mcfg_quirks[] = {
 	ALTRA_ECAM_QUIRK(1, 13),
 	ALTRA_ECAM_QUIRK(1, 14),
 	ALTRA_ECAM_QUIRK(1, 15),
+#endif /* ARM64 */
 };
 
 static char mcfg_oem_id[ACPI_OEM_ID_SIZE];
drivers/acpi/pptt.c +47 -55

180 lines not on this page · raw message

drivers/acpi/property.c +4 -4
index d3173811614e..bc9a645f8bb7 100644
@@ -155,10 +155,10 @@ static bool acpi_nondev_subnode_ok(acpi_handle scope,
 	return acpi_nondev_subnode_data_ok(handle, link, list, parent);
 }
 
-static int acpi_add_nondev_subnodes(acpi_handle scope,
-				    const union acpi_object *links,
-				    struct list_head *list,
-				    struct fwnode_handle *parent)
+static bool acpi_add_nondev_subnodes(acpi_handle scope,
+				     const union acpi_object *links,
+				     struct list_head *list,
+				     struct fwnode_handle *parent)
 {
 	bool ret = false;
 	int i;
drivers/ata/libata-eh.c +1 -0
index 3307ed45fe4d..ceb0c64cb670 100644
@@ -2122,6 +2122,7 @@ const char *ata_get_cmd_name(u8 command)
 		{ ATA_CMD_WRITE_QUEUED_FUA_EXT, "WRITE DMA QUEUED FUA EXT" },
 		{ ATA_CMD_FPDMA_READ,		"READ FPDMA QUEUED" },
 		{ ATA_CMD_FPDMA_WRITE,		"WRITE FPDMA QUEUED" },
+		{ ATA_CMD_NCQ_NON_DATA,		"NCQ NON-DATA" },
 		{ ATA_CMD_FPDMA_SEND,		"SEND FPDMA QUEUED" },
 		{ ATA_CMD_FPDMA_RECV,		"RECEIVE FPDMA QUEUED" },
 		{ ATA_CMD_PIO_READ,		"READ SECTOR(S)" },
drivers/atm/idt77252.c +1 -0
index 81ce81a75fc6..681cb3786794 100644
@@ -3752,6 +3752,7 @@ static void __exit idt77252_exit(void)
 		card = idt77252_chain;
 		dev = card->atmdev;
 		idt77252_chain = card->next;
+		del_timer_sync(&card->tst_timer);
 
 		if (dev->phy->stop)
 			dev->phy->stop(dev);
drivers/block/virtio_blk.c +10 -14
index 6fc7850c2b0a..d756423e0059 100644
@@ -101,6 +101,14 @@ static inline blk_status_t virtblk_result(struct virtblk_req *vbr)
 	}
 }
 
+static inline struct virtio_blk_vq *get_virtio_blk_vq(struct blk_mq_hw_ctx *hctx)
+{
+	struct virtio_blk *vblk = hctx->queue->queuedata;
+	struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num];
+
+	return vq;
+}
+
 static int virtblk_add_req(struct virtqueue *vq, struct virtblk_req *vbr)
 {
 	struct scatterlist hdr, status, *sgs[3];
@@ -416,7 +424,7 @@ static void virtio_queue_rqs(struct request **rqlist)
 	struct request *requeue_list = NULL;
 
 	rq_list_for_each_safe(rqlist, req, next) {
-		struct virtio_blk_vq *vq = req->mq_hctx->driver_data;
+		struct virtio_blk_vq *vq = get_virtio_blk_vq(req->mq_hctx);
 		bool kick;
 
 		if (!virtblk_prep_rq_batch(req)) {
@@ -837,7 +845,7 @@ static void virtblk_complete_batch(struct io_comp_batch *iob)
 static int virtblk_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
 {
 	struct virtio_blk *vblk = hctx->queue->queuedata;
-	struct virtio_blk_vq *vq = hctx->driver_data;
+	struct virtio_blk_vq *vq = get_virtio_blk_vq(hctx);
 	struct virtblk_req *vbr;
 	unsigned long flags;
 	unsigned int len;
@@ -862,22 +870,10 @@ static int virtblk_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
 	return found;
 }
 
-static int virtblk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
-			  unsigned int hctx_idx)
-{
-	struct virtio_blk *vblk = data;
-	struct virtio_blk_vq *vq = &vblk->vqs[hctx_idx];
-
-	WARN_ON(vblk->tag_set.tags[hctx_idx] != hctx->tags);
-	hctx->driver_data = vq;
-	return 0;
-}
-
 static const struct blk_mq_ops virtio_mq_ops = {
 	.queue_rq	= virtio_queue_rq,
 	.queue_rqs	= virtio_queue_rqs,
 	.commit_rqs	= virtio_commit_rqs,
-	.init_hctx	= virtblk_init_hctx,
 	.complete	= virtblk_request_done,
 	.map_queues	= virtblk_map_queues,
 	.poll		= virtblk_poll,
drivers/block/zram/zcomp.c +5 -6
index 052aa3f65514..0916de952e09 100644
@@ -63,12 +63,6 @@ static int zcomp_strm_init(struct zcomp_strm *zstrm, struct zcomp *comp)
 
 bool zcomp_available_algorithm(const char *comp)
 {
-	int i;
-
-	i = sysfs_match_string(backends, comp);
-	if (i >= 0)
-		return true;
-
 	/*
 	 * Crypto does not ignore a trailing new line symbol,
 	 * so make sure you don't supply a string containing
@@ -217,6 +211,11 @@ struct zcomp *zcomp_create(const char *compress)
 	struct zcomp *comp;
 	int error;
 
+	/*
+	 * Crypto API will execute /sbin/modprobe if the compression module
+	 * is not loaded yet. We must do it here, otherwise we are about to
+	 * call /sbin/modprobe under CPU hot-plug lock.
+	 */
 	if (!zcomp_available_algorithm(compress))
 		return ERR_PTR(-EINVAL);
 
drivers/clk/imx/clk-imx93.c +1 -1
index 26885bd3971c..f5c9fa40491c 100644
@@ -160,7 +160,7 @@ static const struct imx93_clk_ccgr {
 	{ IMX93_CLK_SEMA2_GATE,		"sema2",	"bus_wakeup_root",	0x8480, },
 	{ IMX93_CLK_MU_A_GATE,		"mu_a",		"bus_aon_root",		0x84c0, },
 	{ IMX93_CLK_MU_B_GATE,		"mu_b",		"bus_aon_root",		0x8500, },
-	{ IMX93_CLK_EDMA1_GATE,		"edma1",	"wakeup_axi_root",	0x8540, },
+	{ IMX93_CLK_EDMA1_GATE,		"edma1",	"m33_root",		0x8540, },
 	{ IMX93_CLK_EDMA2_GATE,		"edma2",	"wakeup_axi_root",	0x8580, },
 	{ IMX93_CLK_FLEXSPI1_GATE,	"flexspi",	"flexspi_root",		0x8640, },
 	{ IMX93_CLK_GPIO1_GATE,		"gpio1",	"m33_root",		0x8880, },
drivers/clk/qcom/clk-alpha-pll.c +1 -1
index 4406cf609aae..288692f0ea39 100644
@@ -1439,7 +1439,7 @@ const struct clk_ops clk_alpha_pll_postdiv_fabia_ops = {
 EXPORT_SYMBOL_GPL(clk_alpha_pll_postdiv_fabia_ops);
 
 /**
- * clk_lucid_pll_configure - configure the lucid pll
+ * clk_trion_pll_configure - configure the trion pll
  *
  * @pll: clk alpha pll
  * @regmap: register map
drivers/clk/qcom/gcc-ipq8074.c +1 -0
index 2c2ecfc5e61f..d6d5defb82c9 100644
@@ -662,6 +662,7 @@ static struct clk_branch gcc_sleep_clk_src = {
 			},
 			.num_parents = 1,
 			.ops = &clk_branch2_ops,
+			.flags = CLK_IS_CRITICAL,
 		},
 	},
 };
drivers/clk/ti/clk-44xx.c +105 -105

339 lines not on this page · raw message

drivers/clk/ti/clk-54xx.c +80 -80

249 lines not on this page · raw message

drivers/clk/ti/clkctrl.c +0 -4
index 617360e20d86..e23bf0458632 100644
@@ -528,10 +528,6 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node)
 	char *c;
 	u16 soc_mask = 0;
 
-	if (!(ti_clk_get_features()->flags & TI_CLK_CLKCTRL_COMPAT) &&
-	    of_node_name_eq(node, "clk"))
-		ti_clk_features.flags |= TI_CLK_CLKCTRL_COMPAT;
-
 	addrp = of_get_address(node, 0, NULL, NULL);
 	addr = (u32)of_translate_address(node, addrp);
 
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c +11 -0
index c741da02b67e..a183d93bd7e2 100644
@@ -982,6 +982,11 @@ static int dw_axi_dma_chan_slave_config(struct dma_chan *dchan,
 static void axi_chan_dump_lli(struct axi_dma_chan *chan,
 			      struct axi_dma_hw_desc *desc)
 {
+	if (!desc->lli) {
+		dev_err(dchan2dev(&chan->vc.chan), "NULL LLI\n");
+		return;
+	}
+
 	dev_err(dchan2dev(&chan->vc.chan),
 		"SAR: 0x%llx DAR: 0x%llx LLP: 0x%llx BTS 0x%x CTL: 0x%x:%08x",
 		le64_to_cpu(desc->lli->sar),
@@ -1049,6 +1054,11 @@ static void axi_chan_block_xfer_complete(struct axi_dma_chan *chan)
 
 	/* The completed descriptor currently is in the head of vc list */
 	vd = vchan_next_desc(&chan->vc);
+	if (!vd) {
+		dev_err(chan2dev(chan), "BUG: %s, IRQ with no descriptors\n",
+			axi_chan_name(chan));
+		goto out;
+	}
 
 	if (chan->cyclic) {
 		desc = vd_to_axi_desc(vd);
@@ -1078,6 +1088,7 @@ static void axi_chan_block_xfer_complete(struct axi_dma_chan *chan)
 		axi_chan_start_first_queued(chan);
 	}
 
+out:
 	spin_unlock_irqrestore(&chan->vc.lock, flags);
 }
 
drivers/dma/sprd-dma.c +1 -4
index 2138b80435ab..474d3ba8ec9f 100644
@@ -1237,11 +1237,8 @@ static int sprd_dma_remove(struct platform_device *pdev)
 {
 	struct sprd_dma_dev *sdev = platform_get_drvdata(pdev);
 	struct sprd_dma_chn *c, *cn;
-	int ret;
 
-	ret = pm_runtime_get_sync(&pdev->dev);
-	if (ret < 0)
-		return ret;
+	pm_runtime_get_sync(&pdev->dev);
 
 	/* explicitly free the irq */
 	if (sdev->irq > 0)
drivers/dma/tegra186-gpc-dma.c +24 -2
index 05cd451f541d..fa9bda4a2bc6 100644
@@ -157,8 +157,8 @@
  * If any burst is in flight and DMA paused then this is the time to complete
  * on-flight burst and update DMA status register.
  */
-#define TEGRA_GPCDMA_BURST_COMPLETE_TIME	20
-#define TEGRA_GPCDMA_BURST_COMPLETION_TIMEOUT	100
+#define TEGRA_GPCDMA_BURST_COMPLETE_TIME	10
+#define TEGRA_GPCDMA_BURST_COMPLETION_TIMEOUT	5000 /* 5 msec */
 
 /* Channel base address offset from GPCDMA base address */
 #define TEGRA_GPCDMA_CHANNEL_BASE_ADD_OFFSET	0x20000
@@ -432,6 +432,17 @@ static int tegra_dma_device_resume(struct dma_chan *dc)
 	return 0;
 }
 
+static inline int tegra_dma_pause_noerr(struct tegra_dma_channel *tdc)
+{
+	/* Return 0 irrespective of PAUSE status.
+	 * This is useful to recover channels that can exit out of flush
+	 * state when the channel is disabled.
+	 */
+
+	tegra_dma_pause(tdc);
+	return 0;
+}
+
 static void tegra_dma_disable(struct tegra_dma_channel *tdc)
 {
 	u32 csr, status;
@@ -1292,6 +1303,14 @@ static const struct tegra_dma_chip_data tegra194_dma_chip_data = {
 	.terminate = tegra_dma_pause,
 };
 
+static const struct tegra_dma_chip_data tegra234_dma_chip_data = {
+	.nr_channels = 31,
+	.channel_reg_size = SZ_64K,
+	.max_dma_count = SZ_1G,
+	.hw_support_pause = true,
+	.terminate = tegra_dma_pause_noerr,
+};
+
 static const struct of_device_id tegra_dma_of_match[] = {
 	{
 		.compatible = "nvidia,tegra186-gpcdma",
@@ -1299,6 +1318,9 @@ static const struct of_device_id tegra_dma_of_match[] = {
 	}, {
 		.compatible = "nvidia,tegra194-gpcdma",
 		.data = &tegra194_dma_chip_data,
+	}, {
+		.compatible = "nvidia,tegra234-gpcdma",
+		.data = &tegra234_dma_chip_data,
 	}, {
 	},
 };
drivers/gpu/drm/amd/amdgpu/aldebaran.c +14 -31

94 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c +1 -1
index fd8f3731758e..b81b77a9efa6 100644
@@ -314,7 +314,7 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
 					mem_channel_number = vram_info->v30.channel_num;
 					mem_channel_width = vram_info->v30.channel_width;
 					if (vram_width)
-						*vram_width = mem_channel_number * mem_channel_width;
+						*vram_width = mem_channel_number * (1 << mem_channel_width);
 					break;
 				default:
 					return -EINVAL;
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +2 -6
index d8f1335bc68f..b7bae833c804 100644
@@ -837,16 +837,12 @@ static int amdgpu_cs_vm_handling(struct amdgpu_cs_parser *p)
 			continue;
 
 		r = amdgpu_vm_bo_update(adev, bo_va, false);
-		if (r) {
-			mutex_unlock(&p->bo_list->bo_list_mutex);
+		if (r)
 			return r;
-		}
 
 		r = amdgpu_sync_fence(&p->job->sync, bo_va->last_pt_update);
-		if (r) {
-			mutex_unlock(&p->bo_list->bo_list_mutex);
+		if (r)
 			return r;
-		}
 	}
 
 	r = amdgpu_vm_handle_moved(adev, vm);
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +2 -0
index 58df107e3beb..3adebb63680e 100644
@@ -4746,6 +4746,8 @@ int amdgpu_do_asic_reset(struct list_head *device_list_handle,
 	tmp_adev = list_first_entry(device_list_handle, struct amdgpu_device,
 				    reset_list);
 	amdgpu_reset_reg_dumps(tmp_adev);
+
+	reset_context->reset_device_list = device_list_handle;
 	r = amdgpu_reset_perform_reset(tmp_adev, reset_context);
 	/* If reset handler not implemented, continue; otherwise return */
 	if (r == -ENOSYS)
drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h +1 -0
index 1949dbe28a86..0c3ad85d84a4 100644
@@ -37,6 +37,7 @@ struct amdgpu_reset_context {
 	struct amdgpu_device *reset_req_dev;
 	struct amdgpu_job *job;
 	struct amdgpu_hive_info *hive;
+	struct list_head *reset_device_list;
 	unsigned long flags;
 };
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c +1 -2
index 108e8e8a1a36..576849e95296 100644
@@ -496,8 +496,7 @@ static int amdgpu_vkms_sw_init(void *handle)
 	adev_to_drm(adev)->mode_config.max_height = YRES_MAX;
 
 	adev_to_drm(adev)->mode_config.preferred_depth = 24;
-	/* disable prefer shadow for now due to hibernation issues */
-	adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	adev_to_drm(adev)->mode_config.prefer_shadow = 1;
 
 	adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
 
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c +1 -2
index 9c964cd3b5d4..288fce7dc0ed 100644
@@ -2796,8 +2796,7 @@ static int dce_v10_0_sw_init(void *handle)
 	adev_to_drm(adev)->mode_config.max_height = 16384;
 
 	adev_to_drm(adev)->mode_config.preferred_depth = 24;
-	/* disable prefer shadow for now due to hibernation issues */
-	adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	adev_to_drm(adev)->mode_config.prefer_shadow = 1;
 
 	adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
 
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +1 -2
index e0ad9f27dc3f..cbe5250b31cb 100644
@@ -2914,8 +2914,7 @@ static int dce_v11_0_sw_init(void *handle)
 	adev_to_drm(adev)->mode_config.max_height = 16384;
 
 	adev_to_drm(adev)->mode_config.preferred_depth = 24;
-	/* disable prefer shadow for now due to hibernation issues */
-	adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	adev_to_drm(adev)->mode_config.prefer_shadow = 1;
 
 	adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
 
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c +1 -2
index 3caf6f386042..982855e6cf52 100644
@@ -2673,8 +2673,7 @@ static int dce_v6_0_sw_init(void *handle)
 	adev_to_drm(adev)->mode_config.max_width = 16384;
 	adev_to_drm(adev)->mode_config.max_height = 16384;
 	adev_to_drm(adev)->mode_config.preferred_depth = 24;
-	/* disable prefer shadow for now due to hibernation issues */
-	adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	adev_to_drm(adev)->mode_config.prefer_shadow = 1;
 	adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
 	adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base;
 
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +5 -2
index 7c75df5bffed..cf44d1b054ac 100644
@@ -2693,8 +2693,11 @@ static int dce_v8_0_sw_init(void *handle)
 	adev_to_drm(adev)->mode_config.max_height = 16384;
 
 	adev_to_drm(adev)->mode_config.preferred_depth = 24;
-	/* disable prefer shadow for now due to hibernation issues */
-	adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	if (adev->asic_type == CHIP_HAWAII)
+		/* disable prefer shadow for now due to hibernation issues */
+		adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	else
+		adev_to_drm(adev)->mode_config.prefer_shadow = 1;
 
 	adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true;
 
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +5 -2
index d055d3c7eed6..0424570c736f 100644
@@ -3894,8 +3894,11 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
 	adev_to_drm(adev)->mode_config.max_height = 16384;
 
 	adev_to_drm(adev)->mode_config.preferred_depth = 24;
-	/* disable prefer shadow for now due to hibernation issues */
-	adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	if (adev->asic_type == CHIP_HAWAII)
+		/* disable prefer shadow for now due to hibernation issues */
+		adev_to_drm(adev)->mode_config.prefer_shadow = 0;
+	else
+		adev_to_drm(adev)->mode_config.prefer_shadow = 1;
 	/* indicates support for immediate flip */
 	adev_to_drm(adev)->mode_config.async_page_flip = true;
 
drivers/gpu/drm/amd/display/dc/dcn303/dcn303_resource.c +1 -1
index 76f863eb86ef..401ccc676ae9 100644
@@ -372,7 +372,7 @@ static struct stream_encoder *dcn303_stream_encoder_create(enum engine_id eng_id
 	int afmt_inst;
 
 	/* Mapping of VPG, AFMT, DME register blocks to DIO block instance */
-	if (eng_id <= ENGINE_ID_DIGE) {
+	if (eng_id <= ENGINE_ID_DIGB) {
 		vpg_inst = eng_id;
 		afmt_inst = eng_id;
 	} else
drivers/gpu/drm/bridge/lvds-codec.c +1 -1
index 702ea803a743..39e7004de720 100644
@@ -180,7 +180,7 @@ static int lvds_codec_probe(struct platform_device *pdev)
 		of_node_put(bus_node);
 		if (ret == -ENODEV) {
 			dev_warn(dev, "missing 'data-mapping' DT property\n");
-		} else if (ret) {
+		} else if (ret < 0) {
 			dev_err(dev, "invalid 'data-mapping' DT property\n");
 			return ret;
 		} else {
drivers/gpu/drm/i915/gem/i915_gem_object.c +4 -12
index 06b1b188ce5a..cbe607cadd7f 100644
@@ -268,7 +268,7 @@ static void __i915_gem_object_free_mmaps(struct drm_i915_gem_object *obj)
  */
 void __i915_gem_object_pages_fini(struct drm_i915_gem_object *obj)
 {
-	assert_object_held(obj);
+	assert_object_held_shared(obj);
 
 	if (!list_empty(&obj->vma.list)) {
 		struct i915_vma *vma;
@@ -331,15 +331,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
 			continue;
 		}
 
-		if (!i915_gem_object_trylock(obj, NULL)) {
-			/* busy, toss it back to the pile */
-			if (llist_add(&obj->freed, &i915->mm.free_list))
-				queue_delayed_work(i915->wq, &i915->mm.free_work, msecs_to_jiffies(10));
-			continue;
-		}
-
 		__i915_gem_object_pages_fini(obj);
-		i915_gem_object_unlock(obj);
 		__i915_gem_free_object(obj);
 
 		/* But keep the pointer alive for RCU-protected lookups */
@@ -359,7 +351,7 @@ void i915_gem_flush_free_objects(struct drm_i915_private *i915)
 static void __i915_gem_free_work(struct work_struct *work)
 {
 	struct drm_i915_private *i915 =
-		container_of(work, struct drm_i915_private, mm.free_work.work);
+		container_of(work, struct drm_i915_private, mm.free_work);
 
 	i915_gem_flush_free_objects(i915);
 }
@@ -391,7 +383,7 @@ static void i915_gem_free_object(struct drm_gem_object *gem_obj)
 	 */
 
 	if (llist_add(&obj->freed, &i915->mm.free_list))
-		queue_delayed_work(i915->wq, &i915->mm.free_work, 0);
+		queue_work(i915->wq, &i915->mm.free_work);
 }
 
 void __i915_gem_object_flush_frontbuffer(struct drm_i915_gem_object *obj,
@@ -719,7 +711,7 @@ bool i915_gem_object_placement_possible(struct drm_i915_gem_object *obj,
 
 void i915_gem_init__objects(struct drm_i915_private *i915)
 {
-	INIT_DELAYED_WORK(&i915->mm.free_work, __i915_gem_free_work);
+	INIT_WORK(&i915->mm.free_work, __i915_gem_free_work);
 }
 
 void i915_objects_module_exit(void)
drivers/gpu/drm/i915/gem/i915_gem_object_types.h +2 -1
index 2c88bdb8ff7c..4e224ef35940 100644
@@ -335,7 +335,6 @@ struct drm_i915_gem_object {
 #define I915_BO_READONLY          BIT(7)
 #define I915_TILING_QUIRK_BIT     8 /* unknown swizzling; do not release! */
 #define I915_BO_PROTECTED         BIT(9)
-#define I915_BO_WAS_BOUND_BIT     10
 	/**
 	 * @mem_flags - Mutable placement-related flags
 	 *
@@ -598,6 +597,8 @@ struct drm_i915_gem_object {
 		 * pages were last acquired.
 		 */
 		bool dirty:1;
+
+		u32 tlb;
 	} mm;
 
 	struct {
drivers/gpu/drm/i915/gem/i915_gem_pages.c +16 -9
index 97c820eee115..8357dbdcab5c 100644
@@ -6,14 +6,15 @@
 
 #include <drm/drm_cache.h>
 
+#include "gt/intel_gt.h"
+#include "gt/intel_gt_pm.h"
+
 #include "i915_drv.h"
 #include "i915_gem_object.h"
 #include "i915_scatterlist.h"
 #include "i915_gem_lmem.h"
 #include "i915_gem_mman.h"
 
-#include "gt/intel_gt.h"
-
 void __i915_gem_object_set_pages(struct drm_i915_gem_object *obj,
 				 struct sg_table *pages,
 				 unsigned int sg_page_sizes)
@@ -190,6 +191,18 @@ static void unmap_object(struct drm_i915_gem_object *obj, void *ptr)
 		vunmap(ptr);
 }
 
+static void flush_tlb_invalidate(struct drm_i915_gem_object *obj)
+{
+	struct drm_i915_private *i915 = to_i915(obj->base.dev);
+	struct intel_gt *gt = to_gt(i915);
+
+	if (!obj->mm.tlb)
+		return;
+
+	intel_gt_invalidate_tlb(gt, obj->mm.tlb);
+	obj->mm.tlb = 0;
+}
+
 struct sg_table *
 __i915_gem_object_unset_pages(struct drm_i915_gem_object *obj)
 {
@@ -215,13 +228,7 @@ __i915_gem_object_unset_pages(struct drm_i915_gem_object *obj)
 	__i915_gem_object_reset_page_iter(obj);
 	obj->mm.page_sizes.phys = obj->mm.page_sizes.sg = 0;
 
-	if (test_and_clear_bit(I915_BO_WAS_BOUND_BIT, &obj->flags)) {
-		struct drm_i915_private *i915 = to_i915(obj->base.dev);
-		intel_wakeref_t wakeref;
-
-		with_intel_runtime_pm_if_active(&i915->runtime_pm, wakeref)
-			intel_gt_invalidate_tlbs(to_gt(i915));
-	}
+	flush_tlb_invalidate(obj);
 
 	return pages;
 }
drivers/gpu/drm/i915/gt/intel_gt.c +60 -17

152 lines not on this page · raw message

drivers/gpu/drm/i915/gt/intel_gt.h +11 -1
index 44c6cb63ccbc..d5a2af76d6a5 100644
@@ -123,7 +123,17 @@ void intel_gt_info_print(const struct intel_gt_info *info,
 
 void intel_gt_watchdog_work(struct work_struct *work);
 
-void intel_gt_invalidate_tlbs(struct intel_gt *gt);
+static inline u32 intel_gt_tlb_seqno(const struct intel_gt *gt)
+{
+	return seqprop_sequence(&gt->tlb.seqno);
+}
+
+static inline u32 intel_gt_next_invalidate_tlb_full(const struct intel_gt *gt)
+{
+	return intel_gt_tlb_seqno(gt) | 1;
+}
+
+void intel_gt_invalidate_tlb(struct intel_gt *gt, u32 seqno);
 
 struct resource intel_pci_resource(struct pci_dev *pdev, int bar);
 
drivers/gpu/drm/i915/gt/intel_gt_pm.h +3 -0
index bc898df7a48c..a334787a4939 100644
@@ -55,6 +55,9 @@ static inline void intel_gt_pm_might_put(struct intel_gt *gt)
 	for (tmp = 1, intel_gt_pm_get(gt); tmp; \
 	     intel_gt_pm_put(gt), tmp = 0)
 
+#define with_intel_gt_pm_if_awake(gt, wf) \
+	for (wf = intel_gt_pm_get_if_awake(gt); wf; intel_gt_pm_put_async(gt), wf = 0)
+
 static inline int intel_gt_pm_wait_for_idle(struct intel_gt *gt)
 {
 	return intel_wakeref_wait_for_idle(&gt->wakeref);
drivers/gpu/drm/i915/gt/intel_gt_types.h +17 -1
index edd7a3cf5f5f..b1120f73dc8c 100644
@@ -11,6 +11,7 @@
 #include <linux/llist.h>
 #include <linux/mutex.h>
 #include <linux/notifier.h>
+#include <linux/seqlock.h>
 #include <linux/spinlock.h>
 #include <linux/types.h>
 #include <linux/workqueue.h>
@@ -76,7 +77,22 @@ struct intel_gt {
 	struct intel_uc uc;
 	struct intel_gsc gsc;
 
-	struct mutex tlb_invalidate_lock;
+	struct {
+		/* Serialize global tlb invalidations */
+		struct mutex invalidate_lock;
+
+		/*
+		 * Batch TLB invalidations
+		 *
+		 * After unbinding the PTE, we need to ensure the TLB
+		 * are invalidated prior to releasing the physical pages.
+		 * But we only need one such invalidation for all unbinds,
+		 * so we track how many TLB invalidations have been
+		 * performed since unbind the PTE and only emit an extra
+		 * invalidate if no full barrier has been passed.
+		 */
+		seqcount_mutex_t seqno;
+	} tlb;
 
 	struct i915_wa_list wa_list;
 
drivers/gpu/drm/i915/gt/intel_migrate.c +22 -1
index 2c35324b5f68..2b10b96b17b5 100644
@@ -708,7 +708,7 @@ intel_context_migrate_copy(struct intel_context *ce,
 	u8 src_access, dst_access;
 	struct i915_request *rq;
 	int src_sz, dst_sz;
-	bool ccs_is_src;
+	bool ccs_is_src, overwrite_ccs;
 	int err;
 
 	GEM_BUG_ON(ce->vm != ce->engine->gt->migrate.context->vm);
@@ -749,6 +749,8 @@ intel_context_migrate_copy(struct intel_context *ce,
 			get_ccs_sg_sgt(&it_ccs, bytes_to_cpy);
 	}
 
+	overwrite_ccs = HAS_FLAT_CCS(i915) && !ccs_bytes_to_cpy && dst_is_lmem;
+
 	src_offset = 0;
 	dst_offset = CHUNK_SZ;
 	if (HAS_64K_PAGES(ce->engine->i915)) {
@@ -852,6 +854,25 @@ intel_context_migrate_copy(struct intel_context *ce,
 			if (err)
 				goto out_rq;
 			ccs_bytes_to_cpy -= ccs_sz;
+		} else if (overwrite_ccs) {
+			err = rq->engine->emit_flush(rq, EMIT_INVALIDATE);
+			if (err)
+				goto out_rq;
+
+			/*
+			 * While we can't always restore/manage the CCS state,
+			 * we still need to ensure we don't leak the CCS state
+			 * from the previous user, so make sure we overwrite it
+			 * with something.
+			 */
+			err = emit_copy_ccs(rq, dst_offset, INDIRECT_ACCESS,
+					    dst_offset, DIRECT_ACCESS, len);
+			if (err)
+				goto out_rq;
+
+			err = rq->engine->emit_flush(rq, EMIT_INVALIDATE);
+			if (err)
+				goto out_rq;
 		}
 
 		/* Arbitration is re-enabled between requests. */
drivers/gpu/drm/i915/gt/intel_ppgtt.c +6 -2
index d8b94d638559..6ee8d1127016 100644
@@ -206,8 +206,12 @@ void ppgtt_bind_vma(struct i915_address_space *vm,
 void ppgtt_unbind_vma(struct i915_address_space *vm,
 		      struct i915_vma_resource *vma_res)
 {
-	if (vma_res->allocated)
-		vm->clear_range(vm, vma_res->start, vma_res->vma_size);
+	if (!vma_res->allocated)
+		return;
+
+	vm->clear_range(vm, vma_res->start, vma_res->vma_size);
+	if (vma_res->tlb)
+		vma_invalidate_tlb(vm, vma_res->tlb);
 }
 
 static unsigned long pd_count(u64 size, int shift)
drivers/gpu/drm/i915/i915_drv.h +2 -2
index 00d7eeae33bd..5184d70d4838 100644
@@ -254,7 +254,7 @@ struct i915_gem_mm {
 	 * List of objects which are pending destruction.
 	 */
 	struct llist_head free_list;
-	struct delayed_work free_work;
+	struct work_struct free_work;
 	/**
 	 * Count of objects pending destructions. Used to skip needlessly
 	 * waiting on an RCU barrier if no objects are waiting to be freed.
@@ -1415,7 +1415,7 @@ static inline void i915_gem_drain_freed_objects(struct drm_i915_private *i915)
 	 * armed the work again.
 	 */
 	while (atomic_read(&i915->mm.free_count)) {
-		flush_delayed_work(&i915->mm.free_work);
+		flush_work(&i915->mm.free_work);
 		flush_delayed_work(&i915->bdev.wq);
 		rcu_barrier();
 	}
drivers/gpu/drm/i915/i915_vma.c +26 -7
index 04d12f278f57..16460b169ed2 100644
@@ -537,8 +537,6 @@ int i915_vma_bind(struct i915_vma *vma,
 				   bind_flags);
 	}
 
-	set_bit(I915_BO_WAS_BOUND_BIT, &vma->obj->flags);
-
 	atomic_or(bind_flags, &vma->flags);
 	return 0;
 }
@@ -1301,6 +1299,19 @@ I915_SELFTEST_EXPORT int i915_vma_get_pages(struct i915_vma *vma)
 	return err;
 }
 
+void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb)
+{
+	/*
+	 * Before we release the pages that were bound by this vma, we
+	 * must invalidate all the TLBs that may still have a reference
+	 * back to our physical address. It only needs to be done once,
+	 * so after updating the PTE to point away from the pages, record
+	 * the most recent TLB invalidation seqno, and if we have not yet
+	 * flushed the TLBs upon release, perform a full invalidation.
+	 */
+	WRITE_ONCE(*tlb, intel_gt_next_invalidate_tlb_full(vm->gt));
+}
+
 static void __vma_put_pages(struct i915_vma *vma, unsigned int count)
 {
 	/* We allocate under vma_get_pages, so beware the shrinker */
@@ -1927,7 +1938,12 @@ struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async)
 		vma->vm->skip_pte_rewrite;
 	trace_i915_vma_unbind(vma);
 
-	unbind_fence = i915_vma_resource_unbind(vma_res);
+	if (async)
+		unbind_fence = i915_vma_resource_unbind(vma_res,
+							&vma->obj->mm.tlb);
+	else
+		unbind_fence = i915_vma_resource_unbind(vma_res, NULL);
+
 	vma->resource = NULL;
 
 	atomic_and(~(I915_VMA_BIND_MASK | I915_VMA_ERROR | I915_VMA_GGTT_WRITE),
@@ -1935,10 +1951,13 @@ struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async)
 
 	i915_vma_detach(vma);
 
-	if (!async && unbind_fence) {
-		dma_fence_wait(unbind_fence, false);
-		dma_fence_put(unbind_fence);
-		unbind_fence = NULL;
+	if (!async) {
+		if (unbind_fence) {
+			dma_fence_wait(unbind_fence, false);
+			dma_fence_put(unbind_fence);
+			unbind_fence = NULL;
+		}
+		vma_invalidate_tlb(vma->vm, &vma->obj->mm.tlb);
 	}
 
 	/*
drivers/gpu/drm/i915/i915_vma.h +1 -0
index 88ca0bd9c900..33a58f605d75 100644
@@ -213,6 +213,7 @@ bool i915_vma_misplaced(const struct i915_vma *vma,
 			u64 size, u64 alignment, u64 flags);
 void __i915_vma_set_map_and_fenceable(struct i915_vma *vma);
 void i915_vma_revoke_mmap(struct i915_vma *vma);
+void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb);
 struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async);
 int __i915_vma_unbind(struct i915_vma *vma);
 int __must_check i915_vma_unbind(struct i915_vma *vma);
drivers/gpu/drm/i915/i915_vma_resource.c +4 -1
index 27c55027387a..5a67995ea5fe 100644
@@ -223,10 +223,13 @@ i915_vma_resource_fence_notify(struct i915_sw_fence *fence,
  * Return: A refcounted pointer to a dma-fence that signals when unbinding is
  * complete.
  */
-struct dma_fence *i915_vma_resource_unbind(struct i915_vma_resource *vma_res)
+struct dma_fence *i915_vma_resource_unbind(struct i915_vma_resource *vma_res,
+					   u32 *tlb)
 {
 	struct i915_address_space *vm = vma_res->vm;
 
+	vma_res->tlb = tlb;
+
 	/* Reference for the sw fence */
 	i915_vma_resource_get(vma_res);
 
drivers/gpu/drm/i915/i915_vma_resource.h +5 -1
index 5d8427caa2ba..06923d1816e7 100644
@@ -67,6 +67,7 @@ struct i915_page_sizes {
  * taken when the unbind is scheduled.
  * @skip_pte_rewrite: During ggtt suspend and vm takedown pte rewriting
  * needs to be skipped for unbind.
+ * @tlb: pointer for obj->mm.tlb, if async unbind. Otherwise, NULL
[… more lines in the raw message]

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

drivers/gpu/drm/imx/dcss/dcss-kms.c +0 -2
index 9b84df34a6a1..8cf3352d8858 100644

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

drivers/gpu/drm/meson/meson_drv.c +4 -1
index 1b70938cfd2c..bd4ca11d3ff5 100644

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

drivers/gpu/drm/meson/meson_viu.c +11 -11
index 259f3e6bec90..bb7e109534de 100644

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

drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +22 -0
index 62efbd0f3846..b7246b146e51 100644

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

drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +5 -5
index b4dfa166eccd..34234a144e87 100644

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

drivers/gpu/drm/ttm/ttm_bo.c +1 -1
index 406e9c324e76..5bf7124ece96 100644

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

drivers/hid/hid-multitouch.c +12 -1
index 6bb3890b0f2c..2e72922e36f5 100644

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

drivers/hwtracing/coresight/coresight-etm4x.h +2 -1
index 33869c1d20c3..a7bfea31f7d8 100644

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

drivers/i2c/busses/i2c-imx.c +11 -9
index 78fb1a4274a6..e47fa3465671 100644

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

drivers/i2c/busses/i2c-qcom-geni.c +3 -2
index 3bec7c782824..906df87a89f2 100644

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

drivers/infiniband/core/umem_dmabuf.c +7 -1
index fce80a4a5147..04c04e6d24c3 100644

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

drivers/infiniband/hw/cxgb4/cm.c +9 -16
index c16017f6e8db..14392c942f49 100644

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

drivers/infiniband/hw/mlx5/main.c +16 -18
index b68fddeac0f1..63c89a72cc35 100644

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

drivers/infiniband/sw/rxe/rxe_loc.h +0 -1
index 37484a559d20..d86253c6d6b5 100644

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

drivers/infiniband/sw/rxe/rxe_mr.c +66 -133

199 lines not on this page · raw message

drivers/infiniband/sw/rxe/rxe_mw.c +3 -3
index 824739008d5b..6c24bc4318e8 100644

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

drivers/infiniband/sw/rxe/rxe_param.h +6 -0
index 568a7cbd13d4..86c7a8bf3cbb 100644

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

drivers/infiniband/sw/rxe/rxe_task.c +12 -4
index 0c4db5bb17d7..2248cf33d776 100644

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

drivers/infiniband/sw/rxe/rxe_verbs.c +27 -12
index 9d995854a174..d2b4e68402d4 100644

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

drivers/infiniband/sw/rxe/rxe_verbs.h +8 -13
index 9bdf33346511..3d524238e5c4 100644

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

drivers/infiniband/ulp/iser/iser_initiator.c +6 -1
index bd5f3b5e1727..7b83f48f60c5 100644

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

drivers/input/keyboard/mt6779-keypad.c +5 -3
index 2e7c9187c10f..bd86cb95bde3 100644

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

drivers/input/misc/iqs7222.c +116 -62

178 lines not on this page · raw message

drivers/input/touchscreen/exc3000.c +4 -3
index cbe0dd412912..4b7eee01c6aa 100644

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

drivers/iommu/io-pgtable-arm-v7s.c +56 -19

75 lines not on this page · raw message

drivers/irqchip/irq-tegra.c +5 -5
index e1f771c72fc4..ad3e2c1b3c87 100644

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

drivers/md/md.c +1 -0
index 660c52d48256..522b3d6b8c46 100644

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

drivers/md/raid5.c +2 -2
index c8539d0e12dd..1c1310d539f2 100644

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

drivers/media/platform/qcom/venus/pm_helpers.c +5 -5
index cb48c5ff3dee..c93d2906e4c7 100644

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

drivers/misc/cxl/irq.c +1 -0
index 5f0e2dcebb34..ac3795a7e1f6 100644

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

drivers/misc/habanalabs/common/sysfs.c +2 -0
index 9ebeb18ab85e..da8181068895 100644

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

drivers/misc/habanalabs/gaudi/gaudi.c +30 -20

50 lines not on this page · raw message

drivers/misc/habanalabs/goya/goya_hwmgr.c +2 -0
index 6580fc6a486a..b595721751c1 100644

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

drivers/misc/uacce/uacce.c +87 -46

133 lines not on this page · raw message

drivers/mmc/host/meson-gx-mmc.c +4 -2
index 2f08d442e557..fc462995cf94 100644

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

drivers/mmc/host/pxamci.c +2 -2
index 0db9490dc659..e4003f6058eb 100644

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

drivers/mmc/host/renesas_sdhi.h +1 -0
index 1a1e3e020a8c..c4abfee1ebae 100644

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

drivers/mmc/host/renesas_sdhi_core.c +16 -18
index 0d258b6e1a43..6edbf5c161ab 100644

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

drivers/mmc/host/renesas_sdhi_internal_dmac.c +6 -0
index 3084b15ae2cb..52915404eb07 100644

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

drivers/mmc/host/tmio_mmc.c +1 -1
index b55a29c53d9c..53a2ad9a24b8 100644

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

drivers/mmc/host/tmio_mmc.h +5 -1
index e754bb3f5c32..501613c74406 100644

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

drivers/mmc/host/tmio_mmc_core.c +22 -6
index a5850d83908b..437048bb8027 100644

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

drivers/net/can/spi/mcp251x.c +15 -3
index 666a4505a55a..fa46a54d22ed 100644

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

drivers/net/can/usb/ems_usb.c +1 -1
index bbec3311d893..e09b6732117c 100644

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

drivers/net/dsa/microchip/ksz9477.c +3 -0
index ab40b700cf1a..ebad795e4e95 100644

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

drivers/net/dsa/mv88e6060.c +3 -0
index a4c6eb9a52d0..83dca9179aa0 100644

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

drivers/net/dsa/ocelot/felix.c +3 -0
index 859196898a7d..aadb0bd7c24f 100644

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

drivers/net/dsa/ocelot/felix_vsc9959.c +387 -104

491 lines not on this page · raw message

drivers/net/dsa/ocelot/seville_vsc9953.c +382 -102

484 lines not on this page · raw message

drivers/net/dsa/sja1105/sja1105_devlink.c +1 -1
index 0569ff066634..10c6fea1227f 100644

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

drivers/net/ethernet/aquantia/atlantic/aq_nic.c +8 -13
index e11cc29d3264..06508eebb585 100644

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

drivers/net/ethernet/broadcom/bgmac.c +1 -1
index 2dfc1e32bbb3..93580484a3f4 100644

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

drivers/net/ethernet/broadcom/genet/bcmmii.c +3 -0
index c888ddee1fc4..7ded559842e8 100644

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

drivers/net/ethernet/chelsio/cxgb4/t4_msg.h +1 -1
index 26433a62d7f0..fed5f93bf620 100644

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

drivers/net/ethernet/engleder/tsnep_main.c +4 -4
index cb069a0af7b9..251ea16ed0fa 100644

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

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +2 -2
index cd9ec80522e7..75d51572693d 100644

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

drivers/net/ethernet/freescale/fec_ptp.c +1 -5
index 7d49c28215f3..3dc3c0b626c2 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +3 -1
index 685556e968f2..71a8e1698ed4 100644

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

drivers/net/ethernet/intel/i40e/i40e_txrx.c +5 -3
index 7bc1174edf6b..af69ccc6e8d2 100644

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

drivers/net/ethernet/intel/iavf/iavf_adminq.c +13 -2
index cd4e6a22d0f9..9ffbd24d83cb 100644

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

drivers/net/ethernet/intel/iavf/iavf_main.c +17 -5
index 3dbfaead2ac7..6d159334da9e 100644

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

drivers/net/ethernet/intel/ice/ice_fltr.c +4 -4
index 85a94483c2ed..40e678cfb507 100644

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

drivers/net/ethernet/intel/ice/ice_lib.c +6 -2
index f7f9c973ec54..d6aafa272fb0 100644

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

drivers/net/ethernet/intel/ice/ice_main.c +11 -1
index bc68dc5c6927..bfd97a9a8f2e 100644

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

drivers/net/ethernet/intel/ice/ice_switch.c +8 -1
index 9b2872e89151..b78a79c058bf 100644

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

drivers/net/ethernet/intel/ice/ice_vf_lib.c +10 -5
index 7adf9ddf129e..7775aaa8cc43 100644

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

drivers/net/ethernet/intel/ice/ice_virtchnl.c +50 -7

57 lines not on this page · raw message

drivers/net/ethernet/intel/igb/igb.h +2 -0
index 2d3daf022651..015b78144114 100644

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

drivers/net/ethernet/intel/igb/igb_main.c +11 -1
index c5f04c40284b..281a3b21d425 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu.c +6 -0
index 54e1b27a7dfe..1484d332e594 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +11 -4
index 3a31fb8cc155..13f8dfaa2ecb 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c +2 -1
index 19c53e591d0d..64654bd11884 100644

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

drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +14 -5
index fb8db5888d2f..d686c7b6252f 100644

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

drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h +1 -0
index ce2766317c0b..f9c0d2f08e87 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c +2 -2
index d87bbb0be7c8..e6f64d890fb3 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum.c +1 -1
index cafd206e8d7e..49a9dca93529 100644

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

drivers/net/ethernet/moxa/moxart_ether.c +10 -10
index a3214a762e4b..f11f1cb92025 100644

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

drivers/net/ethernet/mscc/ocelot.c +32 -19

51 lines not on this page · raw message

drivers/net/ethernet/mscc/ocelot_net.c +30 -25

55 lines not on this page · raw message

drivers/net/ethernet/mscc/ocelot_vsc7514.c +373 -95

468 lines not on this page · raw message

drivers/net/ethernet/mscc/vsc7514_regs.c +14 -12
index c2af4eb8ca5d..8ff935f7f150 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +2 -0
index df0afd271a21..e6ee45afd80c 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +1 -0
index 3fe720c5dc9f..aec0d973ced0 100644

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

drivers/net/geneve.c +9 -6
index 018d365f9deb..7962c37b3f14 100644

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

drivers/net/phy/phy-c45.c +16 -18
index 29b1df03f3e8..a87a4b3ffce4 100644

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

drivers/net/phy/phy_device.c +6 -0
index 46acddd865a7..608de5a94165 100644

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

drivers/net/plip/plip.c +1 -1
index dafd3e9ebbf8..c8791e9b451d 100644

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

drivers/net/tap.c +11 -9
index c3d42062559d..9e75ed3f08ce 100644

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

drivers/net/virtio_net.c +6 -3
index ec8e1b3108c3..d4e0a775b1ba 100644

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

drivers/net/vxlan/vxlan_core.c +1 -1
index 6991bf7c1cf0..52f58f2fc462 100644

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

drivers/ntb/test/ntb_tool.c +5 -3
index b7bf3f863d79..5ee0afa621a9 100644

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

drivers/nvme/host/fc.c +2 -1
index 3c778bb0c294..4aff83b1b0c0 100644

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

drivers/nvme/target/tcp.c +2 -1
index 0a9542599ad1..dc3b4dc8fe08 100644

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

drivers/of/overlay.c +5 -6
index 4044ddcb02c6..84a8d402009c 100644

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

drivers/pci/controller/pci-aardvark.c +24 -9
index ffec82c8a523..62db476a8651 100644

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

drivers/pci/quirks.c +3 -0
index 41aeaa235132..2e68f50bc7ae 100644

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

drivers/phy/samsung/phy-exynos-pcie.c +9 -16
index 578cfe07d07a..53c9230c2907 100644

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

drivers/pinctrl/intel/pinctrl-intel.c +6 -8
index ffc045f7bf00..fd093e36c3a8 100644

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

drivers/pinctrl/nomadik/pinctrl-nomadik.c +3 -1
index 640e50d94f27..f5014d09d81a 100644

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

drivers/pinctrl/pinctrl-amd.c +9 -2
index 0645c2c24f50..06923e8859b7 100644

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

drivers/pinctrl/qcom/pinctrl-msm8916.c +2 -2
index 396db12ae904..bf68913ba821 100644

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

drivers/pinctrl/qcom/pinctrl-sm8250.c +1 -1
index af144e724bd9..3bd7f9fedcc3 100644

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

drivers/pinctrl/renesas/pinctrl-rzg2l.c +2 -0
index a48cac55152c..c3cdf52b7294 100644

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

drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c +1 -0
index c7d90c44e87a..7b4b9f3d4555 100644

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

drivers/pinctrl/sunxi/pinctrl-sunxi.c +4 -3
index dd928402af99..09639e1d6709 100644

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

drivers/platform/chrome/cros_ec_proto.c +4 -4
index ff767dccdf0f..40dc048d18ad 100644

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

drivers/rtc/rtc-spear.c +1 -1
index d4777b01ab22..736fe535cd45 100644

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

drivers/s390/crypto/ap_bus.c +3 -0
index 0a9045b49c50..052a9114b2a6 100644

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

drivers/s390/crypto/ap_bus.h +4 -0
index 0c40af157df2..0f17933954fb 100644

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

drivers/scsi/lpfc/lpfc_debugfs.c +10 -10
index 7b24c932e812..25deacc92b02 100644

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

drivers/scsi/lpfc/lpfc_sli.c +3 -1
index 80ac3a051c19..e2127e85ff32 100644

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

drivers/scsi/scsi_transport_iscsi.c +0 -2
index 2a38cd2d24ef..02899e8849dd 100644

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

drivers/spi/spi-meson-spicc.c +101 -28

129 lines not on this page · raw message

drivers/staging/r8188eu/core/rtw_cmd.c +13 -2
index 06523d91939a..5b6a891b5d67 100644

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

drivers/staging/r8188eu/core/rtw_efuse.c +25 -8
index 0e0e60638880..8005ed8d3a20 100644

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

drivers/staging/r8188eu/core/rtw_fw.c +55 -17

72 lines not on this page · raw message

drivers/staging/r8188eu/core/rtw_led.c +13 -3
index 2f3000428af7..25989acf5259 100644

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

drivers/staging/r8188eu/core/rtw_mlme_ext.c +52 -10

62 lines not on this page · raw message

drivers/staging/r8188eu/core/rtw_pwrctrl.c +8 -1
index 7b816b824947..45e85b593665 100644

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

drivers/staging/r8188eu/core/rtw_wlan_util.c +17 -3
index 392a65783f32..9bd059b86d0c 100644

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

drivers/staging/r8188eu/hal/Hal8188ERateAdaptive.c +17 -4
index 57e8f5573846..3cefdf90d6e0 100644

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

drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +17 -4
index b944c8071a3b..525deab10820 100644

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

drivers/staging/r8188eu/hal/HalPwrSeqCmd.c +7 -2
index 150ea380c39e..4a4563b900b3 100644

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

drivers/staging/r8188eu/hal/hal_com.c +21 -6
index 910cc07f656c..e9a32dd84a8e 100644

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

drivers/staging/r8188eu/hal/rtl8188e_cmd.c +31 -6
index 475650dc7301..b01ee1695fee 100644

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

drivers/staging/r8188eu/hal/rtl8188e_dm.c +5 -1
index 6d28e3dc0d26..0399872c4546 100644

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

drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +103 -33

136 lines not on this page · raw message

drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +24 -6
index 4864dafd887b..dea6d915a1f4 100644

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

drivers/staging/r8188eu/hal/usb_halinit.c +209 -42

251 lines not on this page · raw message

drivers/staging/r8188eu/hal/usb_ops_linux.c +20 -13
index d5e674542a78..c1a4d023f627 100644

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

drivers/staging/r8188eu/include/rtw_io.h +3 -3
index 6910e2b430e2..1c6097367a67 100644

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

drivers/staging/r8188eu/os_dep/ioctl_linux.c +36 -11

47 lines not on this page · raw message

drivers/staging/r8188eu/os_dep/os_intfs.c +16 -3
index 891c85b088ca..cac9553666e6 100644

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

drivers/thunderbolt/tmu.c +7 -6
index e4a07a26f693..93ba1d00335b 100644

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

drivers/tty/serial/ucc_uart.c +2 -0
index 6000853973c1..3cc9ef08455c 100644

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

drivers/ufs/core/ufshcd.c +9 -2
index 8d91be0fd1a4..a51ca56a0ebe 100644

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

drivers/ufs/host/ufs-exynos.c +10 -7
index a81d8cbd542f..25995667c832 100644

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

drivers/ufs/host/ufs-mediatek.c +55 -5

60 lines not on this page · raw message

drivers/usb/cdns3/cdns3-gadget.c +1 -1
index 87cfa91a758d..d21b69997e75 100644

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

drivers/usb/dwc2/gadget.c +2 -1
index fe2a58c75861..8b15742d9e8a 100644

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

drivers/usb/gadget/function/uvc_queue.c +12 -5
index 951934aa4454..ec500ee499ee 100644

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

drivers/usb/gadget/function/uvc_video.c +1 -1
index ce421d9cc241..c00ce0e91f5d 100644

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

drivers/usb/gadget/legacy/inode.c +1 -0
index 79990597c39f..01c3ead7d1b4 100644

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

drivers/usb/host/ohci-ppc-of.c +1 -0
index 1960b8dfdba5..591f675cc930 100644

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

drivers/usb/renesas_usbhs/rza.c +4 -0
index 24de64edb674..2d77edefb4b3 100644

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

drivers/vdpa/vdpa_sim/vdpa_sim.c +2 -2
index 0f2865899647..3e81532c01cb 100644

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

drivers/vdpa/vdpa_sim/vdpa_sim_blk.c +6 -0
index 42d401d43911..03a28def8eee 100644

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

drivers/vfio/vfio.c +1 -0
index 18fc0916587e..277cd1152dd8 100644

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

drivers/video/fbdev/i740fb.c +7 -2
index 09dd85553d4f..7f09a0daaaa2 100644

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

drivers/virt/vboxguest/vboxguest_linux.c +6 -3
index 73eb34849eab..4ccfd30c2a30 100644

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

drivers/virtio/Kconfig +2 -1
index 56c77f63cd22..dd9e6f68de24 100644

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

drivers/xen/xenbus/xenbus_dev_frontend.c +2 -2
index 597af455a522..0792fda49a15 100644

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

fs/btrfs/block-group.c +3 -1
index 5627b43d4cc2..deaed255f301 100644

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

fs/btrfs/relocation.c +6 -1
index a6dc827e75af..33411baf5c7a 100644

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

fs/btrfs/tree-log.c +5 -3
index 3c962bfd204f..42f02cffe06b 100644

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

fs/ceph/caps.c +13 -14
index ac8fd5e7f540..2b1f22322e8f 100644

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

fs/ceph/mds_client.c +5 -2
index 33f517d549ce..0aded10375fd 100644

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

fs/ceph/mds_client.h +0 -6
index 1140aecd82ce..2a49e331987b 100644

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

fs/cifs/misc.c +6 -0
index 0e84e6fcf8ab..197f3c09d3f3 100644

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

fs/cifs/smb2ops.c +3 -2
index 8802995b2d3d..aa4c1d403708 100644

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

fs/ext4/mballoc.c +20 -1
index 9e06334771a3..38e7dc2531b1 100644

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

fs/ext4/namei.c +2 -5
index 4af441494e09..3a31b662f661 100644

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

fs/ext4/resize.c +10 -0
index e5c2713aa11a..cb5a64293881 100644

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

fs/f2fs/f2fs.h +6 -0
index 5c950298837f..7006fa7dd5cb 100644

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

fs/f2fs/file.c +29 -3
index fc0f30738b21..ecd833ba35fc 100644

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

fs/f2fs/node.c +5 -1
index cf6f7fc83c08..02e92a72511b 100644

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

fs/f2fs/segment.c +15 -2
index 874c1b9c41a2..52df19a0638b 100644

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

fs/fscache/cookie.c +5 -2
index 74920826d8f6..26a6d395737a 100644

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

fs/nfs/nfs4idmap.c +24 -22

46 lines not on this page · raw message

fs/nfs/nfs4proc.c +11 -9
index bb0e84a46d61..77e5a99846d6 100644

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

fs/ntfs3/fslog.c +1 -1
index 49b7df616778..614513460b8e 100644

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

fs/ntfs3/fsntfs.c +6 -1
index 3de5700a9b83..891125ca6848 100644

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

fs/ntfs3/index.c +1 -1
index 6f81e3a49abf..76ebea253fa2 100644

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

fs/ntfs3/inode.c +1 -0
index be4ebdd8048b..803ff4c63c31 100644

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

fs/ntfs3/super.c +4 -4
index 0c6de6287737..b41d7c824a50 100644

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

fs/ntfs3/xattr.c +11 -11
index 5e0e0280e70d..1b8c89dbf668 100644

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

fs/overlayfs/super.c +5 -2
index 1ce5c9698393..4c2096130209 100644

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

include/asm-generic/bitops/atomic.h +0 -6
index 3096f086b5a3..71ab4ba9c25d 100644

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

include/linux/bpfptr.h +6 -2
index 46e1757d06a3..79b2f78eec1a 100644

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

include/linux/io-pgtable.h +10 -5
index 86af6f0a00a2..ca98aeadcc80 100644

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

include/linux/nmi.h +2 -0
index 750c7f395ca9..f700ff2df074 100644

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

include/linux/sunrpc/xdr.h +2 -2
index 5860f32e3958..986c8a17ca5e 100644

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

include/linux/sunrpc/xprt.h +2 -1
index 522bbf937957..99f54d4f4bca 100644

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

include/linux/uacce.h +4 -2
index 48e319f40275..9ce88c28b0a8 100644

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

include/linux/usb/typec_mux.h +38 -6

44 lines not on this page · raw message

include/net/mptcp.h +4 -0
index 4d761ad530c9..e2ff509da019 100644

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

include/net/netns/conntrack.h +1 -1
index 0677cd3de034..c396a3862e80 100644

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

include/soc/mscc/ocelot.h +102 -11

113 lines not on this page · raw message

include/sound/control.h +1 -1
index 985c51a8fb74..a1fc7e0a47d9 100644

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

include/sound/core.h +8 -0
index 6d4cc49584c6..39cee40ac22e 100644

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

include/sound/pcm.h +1 -1
index 6b99310b5b88..6987110843f0 100644

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

include/uapi/linux/atm_zatm.h new file +47 -0

47 lines not on this page · raw message

include/uapi/linux/f2fs.h +1 -1
index 352a822d4370..3121d127d5aa 100644

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

include/ufs/ufshcd.h +12 -0
index a92271421718..991aea081ec7 100644

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

kernel/bpf/arraymap.c +6 -0
index 1d05d63e6fa5..a50cf0bb520a 100644

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

kernel/bpf/hashtab.c +3 -5
index 17fb69c0e0dc..4dd5e0005afa 100644

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

kernel/bpf/syscall.c +14 -6
index 2b69306d3c6e..82e83cfb4114 100644

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

kernel/trace/trace_eprobe.c +85 -6

91 lines not on this page · raw message

kernel/trace/trace_event_perf.c +4 -3
index a114549720d6..61e3a2620fa3 100644

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

kernel/trace/trace_events.c +1 -0
index 181f08186d32..0356cae0cf74 100644

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

kernel/trace/trace_probe.c +18 -11
index 80863c6508e5..d7626c936b98 100644

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

kernel/watchdog.c +16 -5
index ecb0e8346e65..8e61f21e7e33 100644

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

lib/list_debug.c +10 -2
index 9daa3fb9d1cd..d98d43f80958 100644

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

net/can/j1939/socket.c +4 -1
index f5ecfdcf57b2..b670ba03a675 100644

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

net/can/j1939/transport.c +7 -1
index 307ee1174a6e..d7d86c944d76 100644

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

net/core/bpf_sk_storage.c +10 -2
index a25ec93729b9..1b7f385643b4 100644

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

net/core/devlink.c +2 -2
index 5cc88490f18f..5e36723cbc21 100644

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

net/core/gen_stats.c +1 -1
index a10335b4ba2d..c8d137ef5980 100644

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

net/core/rtnetlink.c +1 -0
index ac45328607f7..4b5b15c684ed 100644

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

net/core/sock_map.c +19 -1
index 81d4b4756a02..b8ba578c5a50 100644

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

net/dsa/port.c +5 -2
index 2dd76eb1621c..a8895ee3cd60 100644

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

net/ipv6/ip6_output.c +1 -2
index 77e3f5970ce4..ec62f472aa1c 100644

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

net/ipv6/ndisc.c +3 -0
index b0dfe97ea4ee..7ad4542ecc60 100644

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

net/mptcp/protocol.c +22 -25

47 lines not on this page · raw message

net/mptcp/protocol.h +8 -5
index 480c5320b86e..092154d5bc75 100644

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

net/mptcp/subflow.c +2 -1
index af28f3b60389..ac41b55b0a81 100644

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

net/netfilter/nf_conntrack_ftp.c +6 -18
index a414274338cf..0d9332e9cf71 100644

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

net/netfilter/nf_conntrack_h323_main.c +9 -1
index 2eb31ffb3d14..04479d0aab8d 100644

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

net/netfilter/nf_conntrack_irc.c +9 -3
index 08ee4e760a3d..1796c456ac98 100644

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

net/netfilter/nf_conntrack_sane.c +30 -38

68 lines not on this page · raw message

net/netfilter/nf_tables_api.c +57 -17

74 lines not on this page · raw message

net/netfilter/nf_tables_core.c +10 -11
index 3ddce24ac76d..cee3e4e905ec 100644

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

net/netfilter/nfnetlink.c +71 -12

83 lines not on this page · raw message

net/netlink/genetlink.c +5 -1
index 1afca2a6c2ac..57010927e20a 100644

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

net/netlink/policy.c +12 -2
index 8d7c900e27f4..87e3de0fde89 100644

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

net/qrtr/mhi.c +7 -5
index 18196e1c8c2f..9ced13c0627a 100644

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

net/rds/ib_recv.c +1 -0
index 6fdedd9dbbc2..cfbf0e129cba 100644

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

net/sunrpc/auth.c +1 -1
index 682fcd24bf43..2324d1e58f21 100644

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

net/sunrpc/backchannel_rqst.c +14 -0
index 5a6b61dcdf2d..ad8ef1fb08b4 100644

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

net/sunrpc/clnt.c +0 -1
index b6781ada3aa8..733f9f226092 100644

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

net/sunrpc/sysfs.c +4 -2
index a3a2f8aeb80e..d1a15c6d3fd9 100644

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

net/sunrpc/xprt.c +18 -9
index 86d62cffba0d..53b024cea3b3 100644

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

net/sunrpc/xprtsock.c +2 -10
index fcdd0fca408e..95a15b74667d 100644

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

net/vmw_vsock/af_vsock.c +9 -1
index f04abf662ec6..b4ee163154a6 100644

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

scripts/Makefile.gcc-plugins +1 -1
index 692d64a70542..e4deaf5fa571 100644

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

scripts/dummy-tools/gcc +2 -6
index b2483149bbe5..7db825843435 100755

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

scripts/mod/modpost.c +1 -3
index 620dc8c4c814..c664a0a1f7d6 100644

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

scripts/module.lds.S +2 -0
index 1d0e1e4dc3d2..3a3aa2354ed8 100644

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

security/apparmor/apparmorfs.c +1 -1
index 0797edb2fb3d..d307fb1edd76 100644

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

security/apparmor/audit.c +1 -1
index f7e97c7e80f3..704b0c895605 100644

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

security/apparmor/domain.c +1 -1
index a29e69d2c300..97721115340f 100644

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

security/apparmor/include/lib.h +5 -0
index e2e8df0c6f1c..f42359f58eb5 100644

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

security/apparmor/include/policy.h +1 -1
index cb5ef21991b7..232d3d9566eb 100644

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

security/apparmor/label.c +7 -6
index 0b0265da1926..3fca010a5829 100644

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

security/apparmor/mount.c +5 -3
index aa6fcfde3051..f7bb47daf2ad 100644

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

security/apparmor/policy_unpack.c +7 -5
index 0acca6f2a93f..9f23cdde784f 100644

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

sound/core/control.c +4 -3
index a25c0d64d104..f66fe4be30d3 100644

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

sound/core/info.c +3 -3
index 782fba87cc04..e952441f7140 100644

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

sound/core/misc.c +94 -0

94 lines not on this page · raw message

sound/core/pcm.c +1 -0
index 977d54320a5c..c917ac84a7e5 100644

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

sound/core/pcm_lib.c +1 -1
index 1fc7c50ffa62..40751e5aff09 100644

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

sound/core/pcm_native.c +1 -1
index 4adaee62ef33..16fcf57c6f03 100644

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

sound/core/timer.c +6 -5
index b3214baa8919..e08a37c23add 100644

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

sound/pci/hda/hda_codec.c +9 -5
index 7579a6982f47..ccb195b7cb08 100644

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

sound/pci/hda/patch_realtek.c +3 -0
index 619e6025ba97..1ae9674fa8a3 100644

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

sound/soc/codecs/lpass-va-macro.c +9 -2
index d18b56e60433..1ea10dc70748 100644

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

sound/soc/codecs/nau8821.c +0 -10
index ce4e7f46bb06..e078d2ffb3f6 100644

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

sound/soc/codecs/tas2770.c +43 -55

98 lines not on this page · raw message

sound/soc/codecs/tas2770.h +5 -0
index d156666bcc55..f75f40781ab1 100644

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

sound/soc/codecs/tlv320aic32x4.c +9 -0
index 8f42fd7bc053..9b082cc5ecc4 100644

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

sound/soc/intel/avs/core.c +1 -0
index 3a0997c3af2b..cf373969bb69 100644

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

sound/soc/intel/avs/pcm.c +2 -2
index 668f533578a6..8d36d35e6eaa 100644

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

sound/soc/intel/boards/sof_es8336.c +18 -17
index 23d03e0f7759..d70d8255b8c7 100644

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

sound/soc/intel/boards/sof_nau8825.c +5 -5
index 97dcd204a246..9b3a2ff4d9cd 100644

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

sound/soc/qcom/qdsp6/q6apm-dai.c +6 -0
index ee59ef36b85a..e45210c0e25e 100644

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

sound/soc/sh/rcar/ssiu.c +2 -0
index 4b8a63e336c7..d7f4646ee029 100644

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

sound/soc/soc-pcm.c +3 -0
index a827cc3c158a..0c1de5624842 100644

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

sound/soc/sof/debug.c +3 -3
index cf1271eb29b2..15c906e9fe2e 100644

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

sound/soc/sof/intel/cnl.c +24 -13
index cd6e5f8a5eb4..6c98f65635fc 100644

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

sound/soc/sof/intel/hda-ipc.c +25 -14
index f08011249955..65e688f749ea 100644

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

sound/soc/sof/intel/hda.c +8 -1
index bc07df1fc39f..17f2f3a982c3 100644

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

sound/soc/sof/sof-client-probes.c +4 -0
index 34e6bd356e71..60e4250fac87 100644

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

sound/usb/card.c +8 -0
index 0fff96a5d3ab..d356743de2ff 100644

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

sound/usb/mixer_maps.c +25 -9
index 3c795675f048..f4bd1e8ae4b6 100644

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

tools/build/feature/test-libcrypto.c +11 -4
index a98174e0569c..bc34a5bbb504 100644

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

tools/lib/bpf/skel_internal.h +2 -2
index bd6f4505e7b1..70adf7b119b9 100644

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

tools/objtool/check.c +2 -1
index b341f8a8c7c5..31c719f99f66 100644

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

tools/perf/tests/switch-tracking.c +13 -5
index 0c0c2328bf4e..6f53bee33f7c 100644

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

tools/perf/util/parse-events.c +11 -3
index 7ed235740431..700c95eafd62 100644

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

tools/perf/util/probe-event.c +4 -2
index 062b5cbe67af..dee6c527021c 100644

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

tools/testing/cxl/test/cxl.c +0 -1
index 431f2bddf6c8..1f4f72d887f9 100644

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

tools/testing/cxl/test/mock.c +5 -3
index f1f8c40948c5..bce6a21df0d5 100644

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

tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc +0 -1
index fa928b431555..7c02509c71d0 100644

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

tools/testing/selftests/net/forwarding/custom_multipath_hash.sh +16 -8
index a15d21dc035a..56eb83d1a3bd 100755

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

tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh +16 -8
index a73f52efcb6c..0446db9c6f74 100755

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

tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh +16 -8
index 8fea2c2e0b25..d40183b4eccc 100755

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

tools/testing/selftests/net/mptcp/mptcp_connect.c +17 -9
index e2ea6c126c99..24d4e9cb617e 100644

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

tools/tracing/rtla/Makefile +2 -2
index 1bea2d16d4c1..b8fe10d941ce 100644

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

tools/vm/slabinfo.c +22 -10
index 5b98f3ee58a5..0fffaeedee76 100644

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

virt/kvm/kvm_main.c +4 -10
index 98246f3dea87..c56861ed0e38 100644

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

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

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