Skip to contentSkip to conversation

Linux 6.0.11

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

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.0.11 kernel.

All users of the 6.0 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml   |    7 
 Makefile                                                            |    2 
 arch/arm/boot/dts/am335x-pcm-953.dtsi                               |   28 -
 arch/arm/boot/dts/at91sam9g20ek_common.dtsi                         |    9 
 arch/arm/boot/dts/imx6q-prti6q.dts                                  |    4 
 arch/arm/mach-mxs/mach-mxs.c                                        |    4 
 arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts                 |    2 
 arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts                  |    7 
 arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts                  |    2 
 arch/arm64/include/asm/syscall_wrapper.h                            |    2 
 arch/loongarch/include/asm/pgtable.h                                |    8 
 arch/loongarch/kernel/process.c                                     |    9 
 arch/mips/include/asm/fw/fw.h                                       |    2 
 arch/mips/pic32/pic32mzda/early_console.c                           |   13 
 arch/mips/pic32/pic32mzda/init.c                                    |    2 
 arch/nios2/boot/Makefile                                            |    2 
 arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts                 |   38 +
 arch/riscv/kernel/vdso/Makefile                                     |    3 
 arch/riscv/kernel/vdso/vdso.lds.S                                   |    2 
 arch/s390/Kconfig                                                   |    6 
 arch/s390/Makefile                                                  |    2 
 arch/s390/boot/Makefile                                             |    3 
 arch/s390/boot/startup.c                                            |    3 
 arch/s390/kernel/crash_dump.c                                       |    2 
 arch/x86/hyperv/hv_init.c                                           |   54 +-
 arch/x86/include/asm/cpufeatures.h                                  |    3 
 arch/x86/kernel/cpu/tsx.c                                           |   38 -
 arch/x86/kvm/mmu/mmu.c                                              |   13 
 arch/x86/kvm/svm/nested.c                                           |    6 
 arch/x86/kvm/svm/svm.c                                              |   16 
 arch/x86/kvm/vmx/nested.c                                           |    3 
 arch/x86/kvm/x86.c                                                  |   18 
 arch/x86/kvm/xen.c                                                  |   32 +
 arch/x86/mm/ioremap.c                                               |    8 
 arch/x86/power/cpu.c                                                |   23 -
 block/bfq-cgroup.c                                                  |    4 
 block/blk-mq.c                                                      |    7 
 block/blk-settings.c                                                |    1 
 block/blk.h                                                         |    1 
 drivers/acpi/video_detect.c                                         |   14 
 drivers/android/binder_alloc.c                                      |    7 
 drivers/bus/intel-ixp4xx-eb.c                                       |    9 
 drivers/bus/sunxi-rsb.c                                             |   38 -
 drivers/cpufreq/Kconfig.x86                                         |    2 
 drivers/cpufreq/amd-pstate.c                                        |   21 
 drivers/dma-buf/dma-buf.c                                           |   23 -
 drivers/dma-buf/dma-heap.c                                          |   28 -
 drivers/fpga/Kconfig                                                |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c                |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c                    |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c                      |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c                             |    8 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c                             |    6 
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c                             |   16 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                              |   26 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h                              |   26 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c                           |    2 
 drivers/gpu/drm/amd/amdgpu/mes_v11_0.c                              |    6 
 drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h                      |   31 -
 drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm              |   27 +
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                   |   44 +-
 drivers/gpu/drm/amd/display/dc/dc.h                                 |    3 
 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c             |    3 
 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c                  |  213 ++++------
 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c               |    1 
 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c       |   11 
 drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c             |    1 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c                |   22 -
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c      |    1 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c              |    8 
 drivers/gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c        |   14 
 drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c                        |    9 
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c             |   25 -
 drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c             |    4 
 drivers/gpu/drm/display/drm_dp_mst_topology.c                       |    2 
 drivers/gpu/drm/drm_panel_orientation_quirks.c                      |   12 
 drivers/gpu/drm/i915/display/intel_display_power.c                  |    8 
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c                             |    4 
 drivers/gpu/drm/i915/gt/intel_gt.c                                  |    5 
 drivers/gpu/drm/i915/gvt/kvmgt.c                                    |    3 
 drivers/gpu/drm/tegra/drm.c                                         |    4 
 drivers/gpu/host1x/dev.c                                            |    4 
 drivers/hv/channel_mgmt.c                                           |    6 
 drivers/hv/vmbus_drv.c                                              |    1 
 drivers/iio/accel/bma400_core.c                                     |    4 
 drivers/iio/adc/aspeed_adc.c                                        |   11 
 drivers/iio/industrialio-sw-trigger.c                               |    6 
 drivers/iio/light/apds9960.c                                        |   12 
 drivers/input/misc/soc_button_array.c                               |   14 
 drivers/input/mouse/synaptics.c                                     |    1 
 drivers/input/serio/i8042-x86ia64io.h                               |    8 
 drivers/input/touchscreen/goodix.c                                  |   11 
 drivers/md/dm-integrity.c                                           |   21 
 drivers/md/dm-log-writes.c                                          |    1 
 drivers/net/arcnet/com20020_cs.c                                    |   11 
 drivers/net/bonding/bond_main.c                                     |   17 
 drivers/net/can/usb/gs_usb.c                                        |   39 -
 drivers/net/dsa/sja1105/sja1105_mdio.c                              |    6 
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c                   |   12 
 drivers/net/ethernet/cavium/liquidio/lio_main.c                     |    4 
 drivers/net/ethernet/cavium/thunder/thunder_bgx.c                   |    4 
 drivers/net/ethernet/davicom/dm9051.c                               |    4 
 drivers/net/ethernet/engleder/tsnep_main.c                          |   57 ++
 drivers/net/ethernet/freescale/enetc/enetc.c                        |   32 -
 drivers/net/ethernet/freescale/enetc/enetc.h                        |   10 
 drivers/net/ethernet/freescale/enetc/enetc_qos.c                    |   77 +--
 drivers/net/ethernet/intel/iavf/iavf.h                              |    1 
 drivers/net/ethernet/intel/iavf/iavf_main.c                         |   41 +
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c                     |    8 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c             |    3 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c                 |    2 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c                 |    7 
 drivers/net/ethernet/marvell/prestera/prestera_main.c               |    1 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                         |   12 
 drivers/net/ethernet/mellanox/mlx4/qp.c                             |    3 
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c                       |   47 +-
 drivers/net/ethernet/mellanox/mlx5/core/diag/cmd_tracepoint.h       |   45 ++
 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c            |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c           |   16 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.h           |    3 
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                     |   17 
 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c          |    2 
 drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c                  |    9 
 drivers/net/ethernet/mellanox/mlx5/core/main.c                      |    9 
 drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c                |   88 ++++
 drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c               |   14 
 drivers/net/ethernet/netronome/nfp/nfp_devlink.c                    |    2 
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c                |    3 
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c                |    6 
 drivers/net/ethernet/qlogic/qla3xxx.c                               |    1 
 drivers/net/ethernet/sfc/ef100_netdev.c                             |    1 
 drivers/net/ipvlan/ipvlan.h                                         |    1 
 drivers/net/ipvlan/ipvlan_main.c                                    |    2 
 drivers/net/macsec.c                                                |   28 -
 drivers/net/phy/at803x.c                                            |    4 
 drivers/net/usb/cdc_ncm.c                                           |    1 
 drivers/net/usb/qmi_wwan.c                                          |    1 
 drivers/net/virtio_net.c                                            |    3 
 drivers/net/wireless/ath/ath11k/qmi.h                               |    2 
 drivers/net/wireless/cisco/airo.c                                   |   18 
 drivers/net/wireless/mac80211_hwsim.c                               |    5 
 drivers/net/wireless/microchip/wilc1000/cfg80211.c                  |   39 +
 drivers/net/wireless/microchip/wilc1000/hif.c                       |   21 
 drivers/net/wwan/iosm/iosm_ipc_coredump.c                           |    1 
 drivers/net/wwan/iosm/iosm_ipc_devlink.c                            |    1 
 drivers/net/wwan/iosm/iosm_ipc_pcie.c                               |    2 
 drivers/net/wwan/t7xx/t7xx_modem_ops.c                              |    2 
 drivers/nfc/st-nci/se.c                                             |   49 +-
 drivers/nvme/host/core.c                                            |    3 
 drivers/nvme/host/pci.c                                             |    2 
 drivers/nvme/target/configfs.c                                      |    7 
 drivers/pci/controller/pci-hyperv.c                                 |   90 +++-
 drivers/pinctrl/qcom/pinctrl-sc8280xp.c                             |    4 
 drivers/platform/surface/surface_aggregator_registry.c              |   37 +
 drivers/platform/x86/acer-wmi.c                                     |    9 
 drivers/platform/x86/asus-wmi.c                                     |    2 
 drivers/platform/x86/hp-wmi.c                                       |    3 
 drivers/platform/x86/ideapad-laptop.c                               |   62 ++
 drivers/platform/x86/intel/hid.c                                    |    3 
 drivers/platform/x86/intel/pmt/class.c                              |   31 +
 drivers/platform/x86/thinkpad_acpi.c                                |    8 
 drivers/platform/x86/touchscreen_dmi.c                              |   25 +
 drivers/power/supply/ab8500_btemp.c                                 |    9 
 drivers/power/supply/ip5xxx_power.c                                 |    2 
 drivers/regulator/core.c                                            |    8 
 drivers/regulator/rt5759-regulator.c                                |    1 
 drivers/regulator/twl6030-regulator.c                               |    2 
 drivers/s390/block/dasd_eckd.c                                      |    6 
 drivers/s390/crypto/ap_bus.c                                        |    5 
 drivers/s390/crypto/zcrypt_msgtype6.c                               |   21 
 drivers/scsi/ibmvscsi/ibmvfc.c                                      |   14 
 drivers/scsi/mpi3mr/mpi3mr_os.c                                     |    3 
 drivers/scsi/scsi_debug.c                                           |    7 
 drivers/scsi/scsi_transport_iscsi.c                                 |   31 -
 drivers/scsi/storvsc_drv.c                                          |   69 +--
 drivers/spi/spi-dw-dma.c                                            |    3 
 drivers/spi/spi-imx.c                                               |   13 
 drivers/spi/spi-stm32.c                                             |    2 
 drivers/spi/spi-tegra210-quad.c                                     |    9 
 drivers/tee/optee/device.c                                          |    2 
 drivers/tty/n_gsm.c                                                 |   69 +--
 drivers/tty/serial/8250/8250_omap.c                                 |    7 
 drivers/usb/cdns3/cdnsp-gadget.c                                    |   12 
 drivers/usb/cdns3/cdnsp-ring.c                                      |   17 
 drivers/usb/dwc3/dwc3-exynos.c                                      |   11 
 drivers/usb/dwc3/gadget.c                                           |   22 -
 drivers/virt/coco/sev-guest/sev-guest.c                             |   84 +++
 drivers/xen/platform-pci.c                                          |    7 
 drivers/xen/xen-pciback/conf_space_capability.c                     |    9 
 fs/btrfs/ioctl.c                                                    |   23 -
 fs/btrfs/sysfs.c                                                    |    7 
 fs/btrfs/tree-log.c                                                 |   59 ++
 fs/btrfs/zoned.c                                                    |    9 
 fs/ceph/caps.c                                                      |   50 --
 fs/cifs/cifsfs.c                                                    |    4 
 fs/cifs/sess.c                                                      |    4 
 fs/ext4/extents.c                                                   |   18 
 fs/fs-writeback.c                                                   |   30 -
 fs/fscache/volume.c                                                 |    7 
 fs/fuse/file.c                                                      |   37 -
 fs/nfsd/vfs.c                                                       |    7 
 fs/nilfs2/sufile.c                                                  |    8 
 fs/zonefs/super.c                                                   |   60 ++
 fs/zonefs/zonefs.h                                                  |    6 
 include/linux/blkdev.h                                              |    1 
 include/linux/bpf.h                                                 |   39 +
 include/linux/fault-inject.h                                        |    7 
 include/linux/fscache.h                                             |    2 
 include/linux/mlx5/driver.h                                         |    1 
 include/net/neighbour.h                                             |    2 
 include/sound/sof/info.h                                            |    4 
 include/uapi/linux/audit.h                                          |    2 
 init/Kconfig                                                        |    2 
 io_uring/filetable.c                                                |    2 
 io_uring/io_uring.h                                                 |    9 
 io_uring/poll.c                                                     |   49 +-
 kernel/bpf/dispatcher.c                                             |   22 -
 kernel/gcov/clang.c                                                 |    2 
 lib/Kconfig.debug                                                   |    1 
 lib/fault-inject.c                                                  |   13 
 lib/vdso/Makefile                                                   |    2 
 mm/damon/sysfs.c                                                    |    4 
 mm/failslab.c                                                       |   12 
 mm/memcontrol.c                                                     |    2 
 mm/page_alloc.c                                                     |    7 
 mm/vmscan.c                                                         |   24 -
 net/9p/trans_fd.c                                                   |    2 
 net/core/flow_dissector.c                                           |    2 
 net/core/neighbour.c                                                |   58 +-
 net/dccp/ipv4.c                                                     |    2 
 net/dccp/ipv6.c                                                     |    2 
 net/ipv4/Kconfig                                                    |   10 
 net/ipv4/esp4_offload.c                                             |    3 
 net/ipv4/fib_trie.c                                                 |    4 
 net/ipv4/inet_hashtables.c                                          |   10 
 net/ipv4/ip_input.c                                                 |    5 
 net/ipv4/netfilter/ipt_CLUSTERIP.c                                  |    4 
 net/ipv4/tcp_ipv4.c                                                 |    2 
 net/ipv6/esp6_offload.c                                             |    3 
 net/ipv6/tcp_ipv6.c                                                 |    2 
 net/ipv6/xfrm6_policy.c                                             |    6 
 net/key/af_key.c                                                    |   34 +
 net/mac80211/main.c                                                 |    8 
 net/mac80211/mesh_pathtbl.c                                         |    2 
 net/netfilter/ipset/ip_set_hash_gen.h                               |    2 
 net/netfilter/ipset/ip_set_hash_ip.c                                |    8 
 net/netfilter/nf_conntrack_core.c                                   |    2 
 net/netfilter/nf_conntrack_netlink.c                                |   24 -
 net/netfilter/nf_conntrack_standalone.c                             |    2 
 net/netfilter/nf_flow_table_offload.c                               |    4 
 net/netfilter/nf_tables_api.c                                       |    6 
 net/netfilter/nft_ct.c                                              |    6 
 net/netfilter/xt_connmark.c                                         |   18 
 net/nfc/nci/core.c                                                  |    2 
 net/nfc/nci/data.c                                                  |    4 
 net/openvswitch/conntrack.c                                         |    8 
 net/rxrpc/ar-internal.h                                             |    1 
 net/rxrpc/conn_client.c                                             |   38 +
 net/sched/Kconfig                                                   |    2 
 net/sched/act_connmark.c                                            |    4 
 net/sched/act_ct.c                                                  |    8 
 net/sched/act_ctinfo.c                                              |    6 
 net/tipc/discover.c                                                 |    5 
 net/tipc/topsrv.c                                                   |   20 
 net/wireless/util.c                                                 |    6 
 net/xfrm/xfrm_device.c                                              |   15 
 net/xfrm/xfrm_replay.c                                              |    2 
 sound/hda/intel-dsp-config.c                                        |    5 
 sound/soc/amd/yc/acp6x-mach.c                                       |    7 
 sound/soc/codecs/hdac_hda.h                                         |    4 
 sound/soc/codecs/max98373-i2c.c                                     |    4 
 sound/soc/codecs/sgtl5000.c                                         |    1 
 sound/soc/intel/boards/bytcht_es8316.c                              |    7 
 sound/soc/intel/boards/sof_es8336.c                                 |   60 ++
 sound/soc/intel/common/soc-acpi-intel-icl-match.c                   |   13 
 sound/soc/soc-pcm.c                                                 |    5 
 sound/soc/sof/ipc3-topology.c                                       |   15 
 sound/soc/stm/stm32_adfsdm.c                                        |   11 
 sound/usb/endpoint.c                                                |    3 
 sound/usb/quirks.c                                                  |    2 
 sound/usb/usbaudio.h                                                |    3 
 tools/iio/iio_generic_buffer.c                                      |    4 
 tools/testing/selftests/bpf/verifier/ref_tracking.c                 |   36 +
 tools/testing/selftests/net/io_uring_zerocopy_tx.sh                 |    2 
 tools/testing/selftests/net/mptcp/mptcp_join.sh                     |    6 
 tools/testing/selftests/net/mptcp/mptcp_sockopt.sh                  |    9 
 tools/testing/selftests/net/mptcp/simult_flows.sh                   |    5 
 tools/testing/selftests/net/udpgro.sh                               |    4 
 tools/testing/selftests/net/udpgro_bench.sh                         |    2 
 tools/testing/selftests/net/udpgro_frglist.sh                       |    2 
 virt/kvm/pfncache.c                                                 |    7 
 293 files changed, 2598 insertions(+), 1226 deletions(-)

Adrien Thierry (1):
selftests/net: give more time to udpgro bg processes to complete startup

Ai Chao (1):
ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue

Alejandro Concepción Rodríguez (1):
iio: light: apds9960: fix wrong register for gesture gain

Aleksandr Miloserdov (1):
nvmet: fix memory leak in nvmet_subsys_attr_model_store_locked

Alex Deucher (2):
drm/amdgpu/psp: don't free PSP buffers on suspend
drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly when the edid is read"

Alexandre Belloni (1):
init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash

Alvin Lee (2):
drm/amd/display: Add debug option for allocating extra way for cursor drm/amd/display: Update MALL SS NumWays calculation

Aman Dhoot (1):
Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode

Anand Jain (3):
btrfs: free btrfs_path before copying inodes to userspace
btrfs: free btrfs_path before copying fspath to userspace
btrfs: free btrfs_path before copying subvol info to userspace

Andreas Kemnade (1):

      regulator: twl6030: re-add TWL6032_SUBCLASS

Andrzej Hajda (1):
drm/i915: fix TLB invalidation for Gen12 video and compute engines

Aneesh Kumar K.V (1):
mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1

Anjana Hari (1):

      pinctrl: qcom: sc8280xp: Rectify UFS reset pins

Arnav Rawat (1):
platform/x86: ideapad-laptop: Fix interrupt storm on fn-lock toggle on some Yoga laptops

Asher Song (1):
Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly""

Aurabindo Pillai (1):
drm/amd/display: Zeromem mypipe heap struct before using it

Baokun Li (1):
ext4: fix use-after-free in ext4_ext_shift_extents

Bart Van Assche (1):
scsi: scsi_debug: Make the READ CAPACITY response compliant with ZBC

Billy Tsai (2):
iio: adc: aspeed: Remove the trim valid dts property.
dt-bindings: iio: adc: Remove the property "aspeed,trim-data-valid"

Brent Mendelsohn (1):
ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table

Brian King (1):
scsi: ibmvfc: Avoid path failures during live migration

Carlos Llamas (1):

      binder: validate alloc->mm in ->mmap() handler

Chaitanya Dhere (1):
drm/amd/display: Fix FCLK deviation and tool compile issues

Chen Zhongjin (3):
xfrm: Fix ignored return value in xfrm6_init()
iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails
nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as dirty

Chen-Yu Tsai (1):
arm64: dts: rockchip: Fix Pine64 Quartz4-B PMIC interrupt

ChenXiaoSong (1):
cifs: fix missing unlock in cifs_file_copychunk_range()

Chris Mi (1):
net/mlx5e: Offload rule only when all encaps are valid

Christian König (1):
drm/amdgpu: always register an MMU notifier for userptr

Christian Langrock (1):
xfrm: replay: Fix ESN wrap around for GSO

Christoph Hellwig (3):
blk-mq: fix queue reference leak on blk_mq_alloc_disk_for_queue failure
btrfs: zoned: fix missing endianness conversion in sb_write_pointer
btrfs: use kvcalloc in btrfs_get_dev_zone_info

Chuck Lever (1):
NFSD: Fix reads with a non-zero offset that don't end on a page boundary

Damien Le Moal (2):
zonefs: Fix active zone accounting
zonefs: fix zone report size in __zonefs_io_error()

Dan Carpenter (1):
cifs: Use after free in debug code

Daniel Xu (1):
netfilter: conntrack: Fix data-races around ct mark

David Belanger (1):
drm/amdgpu: Enable SA software trap.

David E. Box (1):
platform/x86/intel/pmt: Sapphire Rapids PMT errata fix

David Howells (2):
rxrpc: Fix race between conn bundle lookup and bundle removal [ZDI-CAN-15975]
fscache: fix OOB Read in __fscache_acquire_volume

David Woodhouse (3):
KVM: x86/xen: Only do in-kernel acceleration of hypercalls for guest CPL0
KVM: x86/xen: Validate port number in SCHEDOP_poll
KVM: Update gfn_to_pfn_cache khva when it moves within the same page

Dawei Li (1):
dma-buf: fix racing conflict of dma_heap_add()

Detlev Casanova (1):
ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove

Dexuan Cui (1):
PCI: hv: Only reuse existing IRTE allocation for Multi-MSI

Diana Wang (1):
nfp: fill splittable of devlink_port_attrs correctly

Dillon Varone (2):
drm/amd/display: use uclk pstate latency for fw assisted mclk validation dcn32 drm/amd/display: Update soc bounding box for dcn32/dcn321

Dominik Haller (1):
ARM: dts: am335x-pcm-953: Define fixed regulators in root node

Dong Chenchen (1):
iio: accel: bma400: Fix memory leak in bma400_get_steps_reg()

Emil Renner Berthing (1):
riscv: dts: sifive unleashed: Add PWM controlled LEDs

Enrico Sau (1):

      net: usb: qmi_wwan: add Telit 0x103a composition

Eric Huang (1):
drm/amdkfd: Fix a memory limit issue

Eyal Birger (1):
xfrm: fix "disable_policy" on ipv4 early demux

Fabio Estevam (1):
ARM: dts: imx6q-prti6q: Fix ref/tcxo-clock-frequency properties

Fedor Pchelkin (2):
Revert "tty: n_gsm: avoid call of sleeping functions from atomic context" Revert "tty: n_gsm: replace kicktimer with delayed_work"

Felix Fietkau (1):
netfilter: flowtable_offload: add missing locking

Filipe Manana (1):
btrfs: do not modify log tree while holding a leaf from fs tree locked

Frieder Schrempf (1):
spi: spi-imx: Fix spi_bus_clk if requested clock is higher than input clock

Gaosheng Cui (1):
audit: fix undefined behavior in bit shift for AUDIT_BIT

George Shen (1):
drm/amd/display: Fix calculation for cursor CAB allocation

Gerhard Engleder (1):
tsnep: Fix rotten packets

Gleb Mazovetskiy (1):
tcp: configurable source port perturb table size

Greg Kroah-Hartman (2):
lib/vdso: use "grep -E" instead of "egrep"
Linux 6.0.11

Guchun Chen (1):
drm/amdgpu: disable BACO support on more cards

Hamza Mahfooz (1):
drm/amd/display: only fill dirty rectangles when PSR is enabled

Hangbin Liu (1):
bonding: fix ICMPv6 header handling when receiving IPv6 messages

Hanjun Guo (1):
net: wwan: t7xx: Fix the ACPI memory leak

Hans de Goede (10):
ACPI: video: Add backlight=native DMI quirk for Dell G15 5515 platform/x86: touchscreen_dmi: Add info for the RCA Cambio W101 v2 2-in-1
drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01
drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017)
ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01
Input: goodix - try resetting the controller when no config is set
Input: soc_button_array - add use_low_level_irq module parameter
Input: soc_button_array - add Acer Switch V 10 to dmi_use_low_level_irq[] platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017) platform/x86: ideapad-laptop: Add module parameters to match DMI quirk tables

Harald Freudenberger (1):
s390/zcrypt: fix warning about field-spanning write

Heiko Carstens (2):
s390: always build relocatable kernel s390/crashdump: fix TOD programmable field size

Herbert Xu (1):
af_key: Fix send_acquire race with pfkey_register

Huacai Chen (2):
LoongArch: Clear FPU/SIMD thread info flags for kernel thread
LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty()

Hui Tang (1):
net: mvpp2: fix possible invalid pointer dereference

Imre Deak (1):
drm/i915: Fix warn in intel_display_power_*_domain() functions

Ivan Hu (1):
platform/x86/intel/hid: Add some ACPI device IDs

Ivan Vecera (2):
iavf: Fix a crash during reset task
iavf: Do not restart Tx queues after reset task failure

Jack Xiao (1):
drm/amd/amdgpu: reserve vm invalidation engine for firmware

Jaco Coetzee (1):
nfp: add port from netdev validation for EEPROM access

Jakob Unterwurzacher (1):
arm64: dts: rockchip: lower rk3399-puma-haikou SD controller clock frequency

Jason A. Donenfeld (2):
wifi: airo: do not assign -1 to unsigned char
MIPS: pic32: treat port as signed integer

Jason Ekstrand (1):
dma-buf: Use dma_fence_unwrap_for_each when importing fences

Jay Cornwall (1):
drm/amdkfd: update GFX11 CWSR trap handler

Jens Axboe (1):
io_uring: clear TIF_NOTIFY_SIGNAL if set and task_work not available

Jiasheng Jiang (2):
ASoC: max98373: Add checks for devm_kcalloc
octeontx2-pf: Add check for devm_kcalloc

Johannes Weiner (1):
mm: vmscan: fix extreme overreclaim and swap floods

Jon Hunter (1):
spi: tegra210-quad: Don't initialise DMA if not supported

Jonas Jelonek (1):
wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support

Josef Bacik (1):
btrfs: free btrfs_path before copying root refs to userspace

Jozsef Kadlecsik (1):
netfilter: ipset: restore allowing 64 clashing elements in hash:net,iface

Junxiao Chang (1):
ASoC: hdac_hda: fix hda pcm buffer overflow issue

Kai Vehmanen (1):
ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and older

Kai-Heng Feng (1):
platform/x86: hp-wmi: Ignore Smart Experience App event

Kazuki Takiguchi (1):
KVM: x86/mmu: Fix race condition in direct_page_fault

Keith Busch (4):
nvme: quiet user passthrough command errors
block: make blk_set_default_limits() private
dm-integrity: set dma_alignment limit in io_hints
dm-log-writes: set dma_alignment limit in io_hints

Kenneth Lee (1):
ceph: Use kcalloc for allocating multiple elements

Krishna Yarlagadda (1):
spi: tegra210-quad: Fix duplicate resource error

Kuniyuki Iwashima (2):
arm64/syscall: Include asm/ptrace.h in syscall_wrapper header. dccp/tcp: Reset saddr on failure after inet6?_hash_connect().

Lee, Alvin (1):
drm/amd/display: Added debug option for forcing subvp num ways

Lennard Gäher (1):
platform/x86: thinkpad_acpi: Enable s2idle quirk for 21A1 machine type

Leon Romanovsky (1):
net: liquidio: simplify if expression

Lev Popov (1):
arm64: dts: rockchip: fix quartz64-a bluetooth configuration

Li Hua (1):
test_kprobes: fix implicit declaration error of test_kprobes

Li Liguang (1):
mm: correctly charge compressed memory to its memcg

Li Zetao (1):
virtio_net: Fix probe failed when modprobe virtio_net

Lin Ma (3):
nfc/nci: fix race with opening and closing io_uring/filetable: fix file reference underflow io_uring/poll: fix poll_refs race with cancelation

Linus Walleij (2):
power: supply: ab8500: Defer thermal zone probe
bus: ixp4xx: Don't touch bit 7 on IXP42x

Liu Jian (2):
net: ethernet: mtk_eth_soc: fix error handling in mtk_open()
net: sparx5: fix error handling in sparx5_port_open()

Liu Shixin (1):
NFC: nci: fix memory leak in nci_rx_data_packet()

Lukas Wunner (1):

      serial: 8250: 8250_omap: Avoid RS485 RTS glitch on ->set_termios()

Lyude Paul (2):
drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN

M Chetan Kumar (1):
net: wwan: iosm: fix kernel test robot reported errors

Mahesh Bandewar (1):
ipvlan: hold lower dev to avoid possible use-after-free

Manyi Li (1):
platform/x86: ideapad-laptop: Disable touchpad_switch

Marc Kleine-Budde (1):
spi: spi-imx: spi_imx_transfer_one(): check for DMA transfer first

Marek Marczykowski-Górecki (1):
xen-pciback: Allow setting PCI_MSIX_FLAGS_MASKALL too

Marek Szyprowski (1):
usb: dwc3: exynos: Fix remove() function

Martin Faltesek (3):
nfc: st-nci: fix incorrect validating logic in EVT_TRANSACTION
nfc: st-nci: fix memory leaks in EVT_TRANSACTION
nfc: st-nci: fix incorrect sizing calculations in EVT_TRANSACTION

Matthew Auld (1):
drm/i915/ttm: never purge busy objects

Matthieu Baerts (2):
selftests: mptcp: run mptcp_sockopt from a new netns
selftests: mptcp: fix mibit vs mbit mix up

Matti Vaittinen (1):
tools: iio: iio_generic_buffer: Fix read size

Maxim Levitsky (5):
KVM: x86: nSVM: leave nested mode on vCPU free
KVM: x86: forcibly leave nested mode on vCPU reset
KVM: x86: nSVM: harden svm_free_nested against freeing vmcb02 while still in use
KVM: x86: add kvm_leave_nested
KVM: x86: remove exit_int_info warning in svm_handle_exit

Maximilian Luz (2):
platform/surface: aggregator_registry: Add support for Surface Pro 9 platform/surface: aggregator_registry: Add support for Surface Laptop 5

Michael Grzeschik (2):
ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl
usb: dwc3: gadget: conditionally remove requests

Michael Kelley (2):
scsi: storvsc: Fix handling of srb_status and capacity change events x86/ioremap: Fix page aligned size calculation in __ioremap_caller()

Miklos Szeredi (1):
fuse: lock inode unconditionally in fuse_fallocate()

Mikulas Patocka (2):
dm integrity: flush the journal on suspend
dm integrity: clear the journal on suspend

Moshe Shemesh (4):
net/mlx5: Fix FW tracer timestamp calculation
net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint net/mlx5: Fix handling of entry refcount when command is not issued to FW net/mlx5: Fix sync reset event handler error flow

Mukesh Ojha (1):
gcov: clang: fix the buffer overflow issue

Nathan Chancellor (2):
RISC-V: vdso: Do not add missing symbols to version section in linker script
bpf: Add explicit cast to 'void *' for __BPF_DISPATCHER_UPDATE()

Nicolas Cavallari (1):
wifi: mac80211: Fix ack frame idr leak when mesh has no route

Olivier Moysan (1):
ASoC: stm32: dfsdm: manage cb buffers cleanup

Ondrej Jirman (1):
power: supply: ip5xxx: Fix integer overflow in current_now calculation

Pablo Neira Ayuso (1):
netfilter: nf_tables: do not set up extensions for end interval

Paolo Abeni (1):
selftests: mptcp: gives slow test-case more time

Paul Zhang (1):
wifi: cfg80211: Fix bitrates overflow issue

Pavel Begunkov (4):
selftests/net: don't tests batched TCP io_uring zc io_uring/poll: lockdep annote io_poll_req_insert_locked
io_uring: cmpxchg for poll arm refs release
io_uring: make poll refs more robust

Pawan Gupta (2):
x86/tsx: Add a feature bit for TSX control MSR support x86/pm: Add enumeration check before spec MSRs save/restore setup

Pawel Laszczak (2):
usb: cdnsp: Fix issue with Clear Feature Halt Endpoint
usb: cdnsp: fix issue with ZLP - added TD_SIZE = 1

Perry Yuan (1):
cpufreq: amd-pstate: change amd-pstate driver to be built-in type

Peter Gonda (1):
virt/sev-guest: Prevent IV reuse in the SNP guest driver

Peter Kosyh (1):
net/mlx4: Check retval of mlx4_bitmap_init

Peter Zijlstra (1):
bpf: Convert BPF_DISPATCHER to use static_call() (not ftrace)

Phil Turnbull (4):
wifi: wilc1000: validate pairwise and authentication suite offsets
wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_OPER_CHANNEL attribute
wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_CHANNEL_LIST attribute
wifi: wilc1000: validate number of channels

Philip Yang (1):
drm/amdgpu: Drop eviction lock when allocating PT BO

Pierre-Louis Bossart (2):
ASoC: Intel: soc-acpi: add ES83x6 support to IceLake
ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake

Qi Zheng (1):
mm: fix unexpected changes to {failslab|fail_page_alloc}.attr

Ramesh Errabolu (1):
drm/amdgpu: Enable Aldebaran devices to report CU Occupancy

Randy Dunlap (1):
nios2: add FORCE for vmlinuz.gz

Richard Fitzgerald (1):
ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open()

Robin Murphy (1):
gpu: host1x: Avoid trying to use GART on Tegra20

Roi Dayan (1):
net/mlx5: E-Switch, Set correctly vport destination

Roy Novich (1):
net/mlx5: Do not query pci info while pci disabled

Russ Weight (1):
fpga: m10bmc-sec: Fix kconfig dependencies

Sabrina Dubroca (1):
Revert "net: macsec: report real_dev features when HW offloading is enabled"

Samuel Holland (2):
bus: sunxi-rsb: Remove the shutdown callback
bus: sunxi-rsb: Support atomic transfers

Santiago Ruano Rincón (1):
net/cdc_ncm: Fix multicast RX support for CDC NCM devices with ZLP

Sean Christopherson (1):
drm/i915/gvt: Get reference to KVM iff attachment to VM is successful

Sean Nyekjaer (1):
spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run

SeongJae Park (1):
mm/damon/sysfs-schemes: skip stats update if the scheme directory is removed

Shay Drory (1):
net/mlx5: SF: Fix probing active SFs during driver probe phase

Shin'ichiro Kawasaki (1):
scsi: mpi3mr: Suppress command reply debug prints

Slawomir Laba (1):
iavf: Fix race condition between iavf_shutdown and iavf_remove

Stefan Assmann (1):
iavf: remove INITIAL_MAC_SET to allow gARP to work properly

Stefan Haberland (1):
s390/dasd: fix no record found for raw_track_access

Steve Su (1):
drm/amd/display: Fix gpio port mapping issue

Svyatoslav Feldsherov (1):
fs: do not update freeing inode i_io_list

Takashi Iwai (1):
Input: i8042 - apply probe defer to more ASUS ZenBook models

Thinh Nguyen (2):
usb: dwc3: gadget: Return -ESHUTDOWN on ep disable
usb: dwc3: gadget: Clear ep descriptor last

Thomas Jarosch (1):
xfrm: Fix oops in __xfrm_state_delete()

Thomas Zeitlhofer (1):
net: neigh: decrement the family specific qlen

Tsung-hua Lin (1):
drm/amd/display: No display after resume from WB/CB

Tyler J. Stachecki (1):
wifi: ath11k: Fix QCN9074 firmware boot on x86

Vasanth Sadhasivan (1):
can: gs_usb: remove dma allocations

Vishwanath Pai (1):
netfilter: ipset: regression in ip_set_hash_ip.c

Vitaly Kuznetsov (1):
x86/hyperv: Restore VP assist page after cpu offlining/onlining

Vladimir Oltean (3):
net: dsa: sja1105: disallow C45 transactions on the BASE-TX MDIO bus
net: enetc: cache accesses to &priv->si->hw
net: enetc: preserve TX ring priority across reconfiguration

Wang Hai (2):
net: pch_gbe: fix potential memleak in pch_gbe_tx_queue()
arcnet: fix potential memory leak in com20020_probe()

Wang ShaoBo (1):
net: wwan: iosm: use ACPI_FREE() but not kfree() in ipc_pcie_read_bios_cfg()

Wei Yongjun (2):
net: phy: at803x: fix error return code in at803x_probe() s390/ap: fix memory leak in ap_init_qci_info()

Wyes Karny (1):
cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at init

Xin Long (3):
tipc: set con sock in tipc_conn_alloc
tipc: add an extra conn_get in tipc_conn_alloc
net: sched: allow act_ct to be built without NF_NAT

Xiongfeng Wang (3):
spi: dw-dma: decrease reference count in dw_spi_dma_init_mfld()
octeontx2-af: Fix reference count issue in rvu_sdp_init() platform/x86: asus-wmi: add missing pci_dev_put() in asus_wmi_set_xusb2pr()

Xiubo Li (1):

      ceph: fix NULL pointer dereference for req->r_session

Yan Cangang (1):
net: ethernet: mtk_eth_soc: fix resource leak in error path

Yang Yingliang (8):
regulator: rt5759: fix OOB in validate_desc()
regulator: core: fix UAF in destroy_regulator()
tee: optee: fix possible memory leak in optee_register_device()
octeontx2-af: debugsfs: fix pci device refcount leak
net: pch_gbe: fix pci device refcount leak while module exiting
Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work()
Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register()
bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending()

Youlin Li (1):
selftests/bpf: Add verifier test for release_reference()

Yu Kuai (1):
block, bfq: fix null pointer dereference in bfq_bio_bfqg()

Yu Liao (1):
net: thunderx: Fix the ACPI memory leak

Yuan Can (1):

      net: dm9051: Fix missing dev_kfree_skb() in dm9051_loop_rx()

YueHaibing (2):
macsec: Fix invalid error code set
tipc: check skb_linearize() return value in tipc_disc_rcv()

Zeng Heng (1):
regulator: core: fix kobject release warning and memory leak in regulator_register()

Zhang Changzhong (3):
net/qla3xxx: fix potential memleak in ql3xxx_send()
sfc: fix potential memleak in __ef100_hard_start_xmit()
net: marvell: prestera: add missing unregister_netdev() in prestera_port_create()

Zhang Xiaoxu (1):
zonefs: Fix race between modprobe and mount

Zhen Lei (1):
btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs()

Zheng Yongjun (1):
ARM: mxs: fix memory leak in mxs_machine_init()

Zhengchao Shao (1):
9p/fd: fix issue of list_del corruption in p9_fd_cancel()

Zhou Guanghui (1):
scsi: iscsi: Fix possible memory leak when device_register() failed

Zhu Ning (1):
ASoC: sof_es8336: reduce pop noise on speaker

Ziyang Xuan (2):
net: ethernet: mtk_eth_soc: fix potential memory leak in mtk_rx_alloc()
ipv4: Fix error return code in fib_table_insert()

ruanjinjie (1):
xen/platform-pci: add missing free_irq() in error path

taozhang (1):
wifi: mac80211: fix memory free error when registering wiphy fail

author maintainer
#1 lore raw
Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml +0 -7
index b283c8ca2bbf..5c08d8b6e995 100644
@@ -62,13 +62,6 @@ properties:
     description:
       Inform the driver that last channel will be used to sensor battery.
 
-  aspeed,trim-data-valid:
-    type: boolean
-    description: |
-      The ADC reference voltage can be calibrated to obtain the trimming
-      data which will be stored in otp. This property informs the driver that
-      the data store in the otp is valid.
-
 required:
   - compatible
   - reg
Makefile +1 -1
index 4f7da26fef78..9fecb094c28a 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 0
-SUBLEVEL = 10
+SUBLEVEL = 11
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm/boot/dts/am335x-pcm-953.dtsi +13 -15
index dae448040a97..947497413977 100644
@@ -12,22 +12,20 @@ / {
 	compatible = "phytec,am335x-pcm-953", "phytec,am335x-phycore-som", "ti,am33xx";
 
 	/* Power */
-	regulators {
-		vcc3v3: fixedregulator@1 {
-			compatible = "regulator-fixed";
-			regulator-name = "vcc3v3";
-			regulator-min-microvolt = <3300000>;
-			regulator-max-microvolt = <3300000>;
-			regulator-boot-on;
-		};
+	vcc3v3: fixedregulator1 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+	};
 
-		vcc1v8: fixedregulator@2 {
-			compatible = "regulator-fixed";
-			regulator-name = "vcc1v8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			regulator-boot-on;
-		};
+	vcc1v8: fixedregulator2 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcc1v8";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-boot-on;
 	};
 
 	/* User IO */
arch/arm/boot/dts/at91sam9g20ek_common.dtsi +9 -0
index 60d61291f344..024af2db638e 100644
@@ -39,6 +39,13 @@ pinctrl_pck0_as_mck: pck0_as_mck {
 
 				};
 
+				usb1 {
+					pinctrl_usb1_vbus_gpio: usb1_vbus_gpio {
+						atmel,pins =
+							<AT91_PIOC 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PC5 GPIO */
+					};
+				};
+
 				mmc0_slot1 {
 					pinctrl_board_mmc0_slot1: mmc0_slot1-board {
 						atmel,pins =
@@ -84,6 +91,8 @@ macb0: ethernet@fffc4000 {
 			};
 
 			usb1: gadget@fffa4000 {
+				pinctrl-0 = <&pinctrl_usb1_vbus_gpio>;
+				pinctrl-names = "default";
 				atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
 				status = "okay";
 			};
arch/arm/boot/dts/imx6q-prti6q.dts +2 -2
index b4605edfd2ab..d8fa83effd63 100644
@@ -364,8 +364,8 @@ wifi {
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_wifi>;
 		interrupts-extended = <&gpio1 30 IRQ_TYPE_LEVEL_HIGH>;
-		ref-clock-frequency = "38400000";
-		tcxo-clock-frequency = "19200000";
+		ref-clock-frequency = <38400000>;
+		tcxo-clock-frequency = <19200000>;
 	};
 };
 
arch/arm/mach-mxs/mach-mxs.c +3 -1
index 25c9d184fa4c..1c57ac401649 100644
@@ -393,8 +393,10 @@ static void __init mxs_machine_init(void)
 
 	root = of_find_node_by_path("/");
 	ret = of_property_read_string(root, "model", &soc_dev_attr->machine);
-	if (ret)
+	if (ret) {
+		kfree(soc_dev_attr);
 		return;
+	}
 
 	soc_dev_attr->family = "Freescale MXS Family";
 	soc_dev_attr->soc_id = mxs_get_soc_id();
arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts +1 -1
index 04c752f49be9..115c14c0a3c6 100644
@@ -207,7 +207,7 @@ &sdmmc {
 	cap-sd-highspeed;
 	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
 	disable-wp;
-	max-frequency = <150000000>;
+	max-frequency = <40000000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
 	vmmc-supply = <&vcc3v3_baseboard>;
arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts +4 -3
index a05460b92415..25a8c781f4e7 100644
@@ -740,7 +740,7 @@ &uart0 {
 
 &uart1 {
 	pinctrl-names = "default";
-	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
+	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
 	status = "okay";
 	uart-has-rtscts;
 
@@ -748,13 +748,14 @@ bluetooth {
 		compatible = "brcm,bcm43438-bt";
 		clocks = <&rk817 1>;
 		clock-names = "lpo";
-		device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
-		host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
+		host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
+		device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
 		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
 		vbat-supply = <&vcc_sys>;
 		vddio-supply = <&vcca1v8_pmu>;
+		max-speed = <3000000>;
 	};
 };
 
arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts +1 -1
index 528bb4e8ac77..a2d0524e0ec9 100644
@@ -176,7 +176,7 @@ rk809: pmic@20 {
 		compatible = "rockchip,rk809";
 		reg = <0x20>;
 		interrupt-parent = <&gpio0>;
-		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
+		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
 		clock-output-names = "rk808-clkout1", "rk808-clkout2";
 
 		pinctrl-names = "default";
arch/arm64/include/asm/syscall_wrapper.h +1 -1
index b383b4802a7b..d30217c21eff 100644
@@ -8,7 +8,7 @@
 #ifndef __ASM_SYSCALL_WRAPPER_H
 #define __ASM_SYSCALL_WRAPPER_H
 
-struct pt_regs;
+#include <asm/ptrace.h>
 
 #define SC_ARM64_REGS_TO_ARGS(x, ...)				\
 	__MAP(x,__SC_ARGS					\
arch/loongarch/include/asm/pgtable.h +6 -2
index 8ea57e2f0e04..cc0674d1b8f0 100644
@@ -349,7 +349,9 @@ static inline pte_t pte_mkclean(pte_t pte)
 
 static inline pte_t pte_mkdirty(pte_t pte)
 {
-	pte_val(pte) |= (_PAGE_DIRTY | _PAGE_MODIFIED);
+	pte_val(pte) |= _PAGE_MODIFIED;
+	if (pte_val(pte) & _PAGE_WRITE)
+		pte_val(pte) |= _PAGE_DIRTY;
 	return pte;
 }
 
@@ -475,7 +477,9 @@ static inline pmd_t pmd_mkclean(pmd_t pmd)
 
 static inline pmd_t pmd_mkdirty(pmd_t pmd)
 {
-	pmd_val(pmd) |= (_PAGE_DIRTY | _PAGE_MODIFIED);
+	pmd_val(pmd) |= _PAGE_MODIFIED;
+	if (pmd_val(pmd) & _PAGE_WRITE)
+		pmd_val(pmd) |= _PAGE_DIRTY;
 	return pmd;
 }
 
arch/loongarch/kernel/process.c +5 -4
index 660492f064e7..6ae7c669ee64 100644
@@ -152,7 +152,7 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
 		childregs->csr_crmd = p->thread.csr_crmd;
 		childregs->csr_prmd = p->thread.csr_prmd;
 		childregs->csr_ecfg = p->thread.csr_ecfg;
-		return 0;
+		goto out;
 	}
 
 	/* user thread */
@@ -171,14 +171,15 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
 	 */
 	childregs->csr_euen = 0;
 
+	if (clone_flags & CLONE_SETTLS)
+		childregs->regs[2] = tls;
+
+out:
 	clear_tsk_thread_flag(p, TIF_USEDFPU);
 	clear_tsk_thread_flag(p, TIF_USEDSIMD);
 	clear_tsk_thread_flag(p, TIF_LSX_CTX_LIVE);
 	clear_tsk_thread_flag(p, TIF_LASX_CTX_LIVE);
 
-	if (clone_flags & CLONE_SETTLS)
-		childregs->regs[2] = tls;
-
 	return 0;
 }
 
arch/mips/include/asm/fw/fw.h +1 -1
index d0ef8b4892bb..d0494ce4b337 100644
@@ -26,6 +26,6 @@ extern char *fw_getcmdline(void);
 extern void fw_meminit(void);
 extern char *fw_getenv(char *name);
 extern unsigned long fw_getenvl(char *name);
-extern void fw_init_early_console(char port);
+extern void fw_init_early_console(void);
 
 #endif /* __ASM_FW_H_ */
arch/mips/pic32/pic32mzda/early_console.c +6 -7
index 25372e62783b..3cd1b408fa1c 100644
@@ -27,7 +27,7 @@
 #define U_BRG(x)	(UART_BASE(x) + 0x40)
 
 static void __iomem *uart_base;
-static char console_port = -1;
+static int console_port = -1;
 
 static int __init configure_uart_pins(int port)
 {
@@ -47,7 +47,7 @@ static int __init configure_uart_pins(int port)
 	return 0;
 }
 
-static void __init configure_uart(char port, int baud)
+static void __init configure_uart(int port, int baud)
 {
 	u32 pbclk;
 
@@ -60,7 +60,7 @@ static void __init configure_uart(char port, int baud)
 		     uart_base + PIC32_SET(U_STA(port)));
 }
 
-static void __init setup_early_console(char port, int baud)
+static void __init setup_early_console(int port, int baud)
 {
 	if (configure_uart_pins(port))
 		return;
@@ -130,16 +130,15 @@ static int __init get_baud_from_cmdline(char *arch_cmdline)
 	return baud;
 }
 
-void __init fw_init_early_console(char port)
+void __init fw_init_early_console(void)
 {
 	char *arch_cmdline = pic32_getcmdline();
-	int baud = -1;
+	int baud, port;
 
 	uart_base = ioremap(PIC32_BASE_UART, 0xc00);
 
 	baud = get_baud_from_cmdline(arch_cmdline);
-	if (port == -1)
-		port = get_port_from_cmdline(arch_cmdline);
+	port = get_port_from_cmdline(arch_cmdline);
 
 	if (port == -1)
 		port = EARLY_CONSOLE_PORT;
arch/mips/pic32/pic32mzda/init.c +1 -1
index d9c8c4e46aff..58d8ca730df7 100644
@@ -47,7 +47,7 @@ void __init plat_mem_setup(void)
 		strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
 
 #ifdef CONFIG_EARLY_PRINTK
-	fw_init_early_console(-1);
+	fw_init_early_console();
 #endif
 	pic32_config_init();
 }
arch/nios2/boot/Makefile +1 -1
index 8c3ad76602f3..29c11a06b750 100644
@@ -20,7 +20,7 @@ $(obj)/vmlinux.bin: vmlinux FORCE
 $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
 	$(call if_changed,gzip)
 
-$(obj)/vmImage: $(obj)/vmlinux.gz
+$(obj)/vmImage: $(obj)/vmlinux.gz FORCE
 	$(call if_changed,uimage)
 	@$(kecho) 'Kernel: $@ is ready'
 
arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts +38 -0
index ced0d4e47938..900a50526d77 100644
@@ -3,6 +3,8 @@
 
 #include "fu540-c000.dtsi"
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pwm/pwm.h>
 
 /* Clock frequency (in Hz) of the PCB crystal for rtcclk */
 #define RTCCLK_FREQ		1000000
@@ -42,6 +44,42 @@ gpio-restart {
 		compatible = "gpio-restart";
 		gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
 	};
+
+	led-controller {
+		compatible = "pwm-leds";
+
+		led-d1 {
+			pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>;
+			active-low;
+			color = <LED_COLOR_ID_GREEN>;
+			max-brightness = <255>;
+			label = "d1";
+		};
+
+		led-d2 {
+			pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>;
+			active-low;
+			color = <LED_COLOR_ID_GREEN>;
+			max-brightness = <255>;
+			label = "d2";
+		};
+
+		led-d3 {
+			pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>;
+			active-low;
+			color = <LED_COLOR_ID_GREEN>;
+			max-brightness = <255>;
+			label = "d3";
+		};
+
+		led-d4 {
+			pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>;
+			active-low;
+			color = <LED_COLOR_ID_GREEN>;
+			max-brightness = <255>;
+			label = "d4";
+		};
+	};
 };
 
 &uart0 {
arch/riscv/kernel/vdso/Makefile +3 -0
index 84ac0fe612e7..db6548509bb3 100644
@@ -28,6 +28,9 @@ obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
 
 obj-y += vdso.o
 CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
+ifneq ($(filter vgettimeofday, $(vdso-syms)),)
+CPPFLAGS_vdso.lds += -DHAS_VGETTIMEOFDAY
+endif
 
 # Disable -pg to prevent insert call site
 CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE)
arch/riscv/kernel/vdso/vdso.lds.S +2 -0
index 01d94aae5bf5..150b1a572e61 100644
@@ -68,9 +68,11 @@ VERSION
 	LINUX_4.15 {
 	global:
 		__vdso_rt_sigreturn;
+#ifdef HAS_VGETTIMEOFDAY
 		__vdso_gettimeofday;
 		__vdso_clock_gettime;
 		__vdso_clock_getres;
+#endif
 		__vdso_getcpu;
 		__vdso_flush_icache;
 	local: *;
arch/s390/Kconfig +3 -3
index 318fce77601d..de575af02ffe 100644
@@ -568,8 +568,7 @@ config EXPOLINE_FULL
 endchoice
 
 config RELOCATABLE
-	bool "Build a relocatable kernel"
-	default y
+	def_bool y
 	help
 	  This builds a kernel image that retains relocation information
 	  so it can be loaded at an arbitrary address.
@@ -578,10 +577,11 @@ config RELOCATABLE
 	  bootup process.
 	  The relocations make the kernel image about 15% larger (compressed
 	  10%), but are discarded at runtime.
+	  Note: this option exists only for documentation purposes, please do
+	  not remove it.
 
 config RANDOMIZE_BASE
 	bool "Randomize the address of the kernel image (KASLR)"
-	depends on RELOCATABLE
 	default y
 	help
 	  In support of Kernel Address Space Layout Randomization (KASLR),
arch/s390/Makefile +0 -2
index 4cb5d17e7ead..47bec926d6c0 100644
@@ -14,10 +14,8 @@ KBUILD_AFLAGS_MODULE += -fPIC
 KBUILD_CFLAGS_MODULE += -fPIC
 KBUILD_AFLAGS	+= -m64
 KBUILD_CFLAGS	+= -m64
-ifeq ($(CONFIG_RELOCATABLE),y)
 KBUILD_CFLAGS	+= -fPIE
 LDFLAGS_vmlinux	:= -pie
-endif
 aflags_dwarf	:= -Wa,-gdwarf-2
 KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
 ifndef CONFIG_AS_IS_LLVM
arch/s390/boot/Makefile +1 -2
index 883357a211a3..d52c3e2e16bc 100644
@@ -37,9 +37,8 @@ CFLAGS_sclp_early_core.o += -I$(srctree)/drivers/s390/char
 
 obj-y	:= head.o als.o startup.o mem_detect.o ipl_parm.o ipl_report.o
 obj-y	+= string.o ebcdic.o sclp_early_core.o mem.o ipl_vmparm.o cmdline.o
-obj-y	+= version.o pgm_check_info.o ctype.o ipl_data.o
+obj-y	+= version.o pgm_check_info.o ctype.o ipl_data.o machine_kexec_reloc.o
 obj-$(findstring y, $(CONFIG_PROTECTED_VIRTUALIZATION_GUEST) $(CONFIG_PGSTE))	+= uv.o
-obj-$(CONFIG_RELOCATABLE)	+= machine_kexec_reloc.o
 obj-$(CONFIG_RANDOMIZE_BASE)	+= kaslr.o
 obj-y	+= $(if $(CONFIG_KERNEL_UNCOMPRESSED),,decompressor.o) info.o
 obj-$(CONFIG_KERNEL_ZSTD) += clz_ctz.o
arch/s390/boot/startup.c +1 -2
index bc48fe82d949..e5026e1d277f 100644
@@ -285,8 +285,7 @@ void startup_kernel(void)
 
 	clear_bss_section();
 	copy_bootdata();
-	if (IS_ENABLED(CONFIG_RELOCATABLE))
-		handle_relocs(__kaslr_offset);
+	handle_relocs(__kaslr_offset);
 
 	if (__kaslr_offset) {
 		/*
arch/s390/kernel/crash_dump.c +1 -1
index bad8f47fc5d6..c1b2b0d4af77 100644
@@ -45,7 +45,7 @@ struct save_area {
 	u64 fprs[16];
 	u32 fpc;
 	u32 prefix;
-	u64 todpreg;
+	u32 todpreg;
 	u64 timer;
 	u64 todcmp;
 	u64 vxrs_low[16];
arch/x86/hyperv/hv_init.c +26 -28

67 lines not on this page · raw message

arch/x86/include/asm/cpufeatures.h +3 -0
index ef4775c6db01..dfa672bec610 100644
@@ -305,6 +305,9 @@
 #define X86_FEATURE_USE_IBPB_FW		(11*32+16) /* "" Use IBPB during runtime firmware calls */
 #define X86_FEATURE_RSB_VMEXIT_LITE	(11*32+17) /* "" Fill RSB on VM exit when EIBRS is enabled */
 
+
+#define X86_FEATURE_MSR_TSX_CTRL	(11*32+20) /* "" MSR IA32_TSX_CTRL (Intel) implemented */
+
 /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
 #define X86_FEATURE_AVX_VNNI		(12*32+ 4) /* AVX VNNI instructions */
 #define X86_FEATURE_AVX512_BF16		(12*32+ 5) /* AVX512 BFLOAT16 instructions */
arch/x86/kernel/cpu/tsx.c +17 -21
index ec7bbac3a9f2..8009c8346d8f 100644
@@ -58,24 +58,6 @@ static void tsx_enable(void)
 	wrmsrl(MSR_IA32_TSX_CTRL, tsx);
 }
 
-static bool tsx_ctrl_is_supported(void)
-{
-	u64 ia32_cap = x86_read_arch_cap_msr();
-
-	/*
-	 * TSX is controlled via MSR_IA32_TSX_CTRL.  However, support for this
-	 * MSR is enumerated by ARCH_CAP_TSX_MSR bit in MSR_IA32_ARCH_CAPABILITIES.
-	 *
-	 * TSX control (aka MSR_IA32_TSX_CTRL) is only available after a
-	 * microcode update on CPUs that have their MSR_IA32_ARCH_CAPABILITIES
-	 * bit MDS_NO=1. CPUs with MDS_NO=0 are not planned to get
-	 * MSR_IA32_TSX_CTRL support even after a microcode update. Thus,
-	 * tsx= cmdline requests will do nothing on CPUs without
-	 * MSR_IA32_TSX_CTRL support.
-	 */
-	return !!(ia32_cap & ARCH_CAP_TSX_CTRL_MSR);
-}
-
 static enum tsx_ctrl_states x86_get_tsx_auto_mode(void)
 {
 	if (boot_cpu_has_bug(X86_BUG_TAA))
@@ -135,7 +117,7 @@ static void tsx_clear_cpuid(void)
 		rdmsrl(MSR_TSX_FORCE_ABORT, msr);
 		msr |= MSR_TFA_TSX_CPUID_CLEAR;
 		wrmsrl(MSR_TSX_FORCE_ABORT, msr);
-	} else if (tsx_ctrl_is_supported()) {
+	} else if (cpu_feature_enabled(X86_FEATURE_MSR_TSX_CTRL)) {
 		rdmsrl(MSR_IA32_TSX_CTRL, msr);
 		msr |= TSX_CTRL_CPUID_CLEAR;
 		wrmsrl(MSR_IA32_TSX_CTRL, msr);
@@ -158,7 +140,8 @@ static void tsx_dev_mode_disable(void)
 	u64 mcu_opt_ctrl;
 
 	/* Check if RTM_ALLOW exists */
-	if (!boot_cpu_has_bug(X86_BUG_TAA) || !tsx_ctrl_is_supported() ||
+	if (!boot_cpu_has_bug(X86_BUG_TAA) ||
+	    !cpu_feature_enabled(X86_FEATURE_MSR_TSX_CTRL) ||
 	    !cpu_feature_enabled(X86_FEATURE_SRBDS_CTRL))
 		return;
 
@@ -191,7 +174,20 @@ void __init tsx_init(void)
 		return;
 	}
 
-	if (!tsx_ctrl_is_supported()) {
+	/*
+	 * TSX is controlled via MSR_IA32_TSX_CTRL.  However, support for this
+	 * MSR is enumerated by ARCH_CAP_TSX_MSR bit in MSR_IA32_ARCH_CAPABILITIES.
+	 *
+	 * TSX control (aka MSR_IA32_TSX_CTRL) is only available after a
+	 * microcode update on CPUs that have their MSR_IA32_ARCH_CAPABILITIES
+	 * bit MDS_NO=1. CPUs with MDS_NO=0 are not planned to get
+	 * MSR_IA32_TSX_CTRL support even after a microcode update. Thus,
+	 * tsx= cmdline requests will do nothing on CPUs without
+	 * MSR_IA32_TSX_CTRL support.
+	 */
+	if (x86_read_arch_cap_msr() & ARCH_CAP_TSX_CTRL_MSR) {
+		setup_force_cpu_cap(X86_FEATURE_MSR_TSX_CTRL);
+	} else {
 		tsx_ctrl_state = TSX_CTRL_NOT_SUPPORTED;
 		return;
 	}
arch/x86/kvm/mmu/mmu.c +7 -6
index 83e30e4db2ae..0a163ba9fa1a 100644
@@ -2431,6 +2431,7 @@ static bool __kvm_mmu_prepare_zap_page(struct kvm *kvm,
 {
 	bool list_unstable, zapped_root = false;
 
+	lockdep_assert_held_write(&kvm->mmu_lock);
 	trace_kvm_mmu_prepare_zap_page(sp);
 	++kvm->stat.mmu_shadow_zapped;
 	*nr_zapped = mmu_zap_unsync_children(kvm, sp, invalid_list);
@@ -4250,14 +4251,14 @@ static int direct_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault
 	if (is_page_fault_stale(vcpu, fault, mmu_seq))
 		goto out_unlock;
 
-	r = make_mmu_pages_available(vcpu);
-	if (r)
-		goto out_unlock;
-
-	if (is_tdp_mmu_fault)
+	if (is_tdp_mmu_fault) {
 		r = kvm_tdp_mmu_map(vcpu, fault);
-	else
+	} else {
+		r = make_mmu_pages_available(vcpu);
+		if (r)
+			goto out_unlock;
 		r = __direct_map(vcpu, fault);
+	}
 
 out_unlock:
 	if (is_tdp_mmu_fault)
arch/x86/kvm/svm/nested.c +3 -3
index 76dcc8a3e849..630359bce06d 100644
@@ -1143,6 +1143,9 @@ void svm_free_nested(struct vcpu_svm *svm)
 	if (!svm->nested.initialized)
 		return;
 
+	if (WARN_ON_ONCE(svm->vmcb != svm->vmcb01.ptr))
+		svm_switch_vmcb(svm, &svm->vmcb01);
+
 	svm_vcpu_free_msrpm(svm->nested.msrpm);
 	svm->nested.msrpm = NULL;
 
@@ -1161,9 +1164,6 @@ void svm_free_nested(struct vcpu_svm *svm)
 	svm->nested.initialized = false;
 }
 
-/*
- * Forcibly leave nested mode in order to be able to reset the VCPU later on.
- */
 void svm_leave_nested(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
arch/x86/kvm/svm/svm.c +1 -15
index e80756ab141b..6431019d0eff 100644
@@ -346,12 +346,6 @@ int svm_set_efer(struct kvm_vcpu *vcpu, u64 efer)
 	return 0;
 }
 
-static int is_external_interrupt(u32 info)
-{
-	info &= SVM_EVTINJ_TYPE_MASK | SVM_EVTINJ_VALID;
-	return info == (SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_INTR);
-}
-
 static u32 svm_get_interrupt_shadow(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
@@ -1440,6 +1434,7 @@ static void svm_vcpu_free(struct kvm_vcpu *vcpu)
 	 */
 	svm_clear_current_vmcb(svm->vmcb);
 
+	svm_leave_nested(vcpu);
 	svm_free_nested(svm);
 
 	sev_free_vcpu(vcpu);
@@ -3426,15 +3421,6 @@ static int svm_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath)
 		return 0;
 	}
 
-	if (is_external_interrupt(svm->vmcb->control.exit_int_info) &&
-	    exit_code != SVM_EXIT_EXCP_BASE + PF_VECTOR &&
-	    exit_code != SVM_EXIT_NPF && exit_code != SVM_EXIT_TASK_SWITCH &&
-	    exit_code != SVM_EXIT_INTR && exit_code != SVM_EXIT_NMI)
-		printk(KERN_ERR "%s: unexpected exit_int_info 0x%x "
-		       "exit_code 0x%x\n",
-		       __func__, svm->vmcb->control.exit_int_info,
-		       exit_code);
-
 	if (exit_fastpath != EXIT_FASTPATH_NONE)
 		return 1;
 
arch/x86/kvm/vmx/nested.c +0 -3
index 03d348fa6485..f56cc2382edf 100644
@@ -6294,9 +6294,6 @@ static int vmx_get_nested_state(struct kvm_vcpu *vcpu,
 	return kvm_state.size;
 }
 
-/*
- * Forcibly leave nested mode in order to be able to reset the VCPU later on.
- */
 void vmx_leave_nested(struct kvm_vcpu *vcpu)
 {
 	if (is_guest_mode(vcpu)) {
arch/x86/kvm/x86.c +17 -1
index 71cbafd67319..5d38409913a9 100644
@@ -611,6 +611,12 @@ void kvm_deliver_exception_payload(struct kvm_vcpu *vcpu)
 }
 EXPORT_SYMBOL_GPL(kvm_deliver_exception_payload);
 
+/* Forcibly leave the nested mode in cases like a vCPU reset */
+static void kvm_leave_nested(struct kvm_vcpu *vcpu)
+{
+	kvm_x86_ops.nested_ops->leave_nested(vcpu);
+}
+
 static void kvm_multiple_exception(struct kvm_vcpu *vcpu,
 		unsigned nr, bool has_error, u32 error_code,
 	        bool has_payload, unsigned long payload, bool reinject)
@@ -5154,7 +5160,7 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu,
 
 	if (events->flags & KVM_VCPUEVENT_VALID_SMM) {
 		if (!!(vcpu->arch.hflags & HF_SMM_MASK) != events->smi.smm) {
-			kvm_x86_ops.nested_ops->leave_nested(vcpu);
+			kvm_leave_nested(vcpu);
 			kvm_smm_changed(vcpu, events->smi.smm);
 		}
 
@@ -11789,8 +11795,18 @@ void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
 	WARN_ON_ONCE(!init_event &&
 		     (old_cr0 || kvm_read_cr3(vcpu) || kvm_read_cr4(vcpu)));
 
+	/*
+	 * SVM doesn't unconditionally VM-Exit on INIT and SHUTDOWN, thus it's
+	 * possible to INIT the vCPU while L2 is active.  Force the vCPU back
+	 * into L1 as EFER.SVME is cleared on INIT (along with all other EFER
+	 * bits), i.e. virtualization is disabled.
+	 */
+	if (is_guest_mode(vcpu))
+		kvm_leave_nested(vcpu);
+
 	kvm_lapic_reset(vcpu, init_event);
 
+	WARN_ON_ONCE(is_guest_mode(vcpu) || is_smm(vcpu));
 	vcpu->arch.hflags = 0;
 
 	vcpu->arch.smi_pending = 0;
arch/x86/kvm/xen.c +23 -9
index 9a1950879fc4..8333b6c50e93 100644
@@ -954,6 +954,14 @@ static int kvm_xen_hypercall_complete_userspace(struct kvm_vcpu *vcpu)
 	return kvm_xen_hypercall_set_result(vcpu, run->xen.u.hcall.result);
 }
 
+static inline int max_evtchn_port(struct kvm *kvm)
+{
+	if (IS_ENABLED(CONFIG_64BIT) && kvm->arch.xen.long_mode)
+		return EVTCHN_2L_NR_CHANNELS;
+	else
+		return COMPAT_EVTCHN_2L_NR_CHANNELS;
+}
+
 static bool wait_pending_event(struct kvm_vcpu *vcpu, int nr_ports,
 			       evtchn_port_t *ports)
 {
@@ -1042,6 +1050,10 @@ static bool kvm_xen_schedop_poll(struct kvm_vcpu *vcpu, bool longmode,
 			*r = -EFAULT;
 			goto out;
 		}
+		if (ports[i] >= max_evtchn_port(vcpu->kvm)) {
+			*r = -EINVAL;
+			goto out;
+		}
 	}
 
 	if (sched_poll.nr_ports == 1)
@@ -1216,6 +1228,7 @@ int kvm_xen_hypercall(struct kvm_vcpu *vcpu)
 	bool longmode;
 	u64 input, params[6], r = -ENOSYS;
 	bool handled = false;
+	u8 cpl;
 
 	input = (u64)kvm_register_read(vcpu, VCPU_REGS_RAX);
 
@@ -1243,9 +1256,17 @@ int kvm_xen_hypercall(struct kvm_vcpu *vcpu)
 		params[5] = (u64)kvm_r9_read(vcpu);
 	}
 #endif
+	cpl = static_call(kvm_x86_get_cpl)(vcpu);
 	trace_kvm_xen_hypercall(input, params[0], params[1], params[2],
 				params[3], params[4], params[5]);
 
+	/*
+	 * Only allow hypercall acceleration for CPL0. The rare hypercalls that
+	 * are permitted in guest userspace can be handled by the VMM.
+	 */
+	if (unlikely(cpl > 0))
+		goto handle_in_userspace;
+
 	switch (input) {
 	case __HYPERVISOR_xen_version:
 		if (params[0] == XENVER_version && vcpu->kvm->arch.xen.xen_version) {
@@ -1280,10 +1301,11 @@ int kvm_xen_hypercall(struct kvm_vcpu *vcpu)
 	if (handled)
 		return kvm_xen_hypercall_set_result(vcpu, r);
 
+handle_in_userspace:
 	vcpu->run->exit_reason = KVM_EXIT_XEN;
 	vcpu->run->xen.type = KVM_EXIT_XEN_HCALL;
 	vcpu->run->xen.u.hcall.longmode = longmode;
-	vcpu->run->xen.u.hcall.cpl = static_call(kvm_x86_get_cpl)(vcpu);
+	vcpu->run->xen.u.hcall.cpl = cpl;
 	vcpu->run->xen.u.hcall.input = input;
 	vcpu->run->xen.u.hcall.params[0] = params[0];
 	vcpu->run->xen.u.hcall.params[1] = params[1];
@@ -1298,14 +1320,6 @@ int kvm_xen_hypercall(struct kvm_vcpu *vcpu)
 	return 0;
 }
 
-static inline int max_evtchn_port(struct kvm *kvm)
-{
-	if (IS_ENABLED(CONFIG_64BIT) && kvm->arch.xen.long_mode)
-		return EVTCHN_2L_NR_CHANNELS;
-	else
-		return COMPAT_EVTCHN_2L_NR_CHANNELS;
-}
-
 static void kvm_xen_check_poller(struct kvm_vcpu *vcpu, int port)
 {
 	int poll_evtchn = vcpu->arch.xen.poll_evtchn;
arch/x86/mm/ioremap.c +7 -1
index 1ad0228f8ceb..19058d746695 100644
@@ -216,9 +216,15 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 	 * Mappings have to be page-aligned
 	 */
 	offset = phys_addr & ~PAGE_MASK;
-	phys_addr &= PHYSICAL_PAGE_MASK;
+	phys_addr &= PAGE_MASK;
 	size = PAGE_ALIGN(last_addr+1) - phys_addr;
 
+	/*
+	 * Mask out any bits not part of the actual physical
+	 * address, like memory encryption bits.
+	 */
+	phys_addr &= PHYSICAL_PAGE_MASK;
+
 	retval = memtype_reserve(phys_addr, (u64)phys_addr + size,
 						pcm, &new_pcm);
 	if (retval) {
arch/x86/power/cpu.c +15 -8
index 4cd39f304e20..93ae33248f42 100644
@@ -513,16 +513,23 @@ static int pm_cpu_check(const struct x86_cpu_id *c)
 
 static void pm_save_spec_msr(void)
 {
-	u32 spec_msr_id[] = {
-		MSR_IA32_SPEC_CTRL,
-		MSR_IA32_TSX_CTRL,
-		MSR_TSX_FORCE_ABORT,
-		MSR_IA32_MCU_OPT_CTRL,
-		MSR_AMD64_LS_CFG,
-		MSR_AMD64_DE_CFG,
+	struct msr_enumeration {
+		u32 msr_no;
+		u32 feature;
+	} msr_enum[] = {
+		{ MSR_IA32_SPEC_CTRL,	 X86_FEATURE_MSR_SPEC_CTRL },
+		{ MSR_IA32_TSX_CTRL,	 X86_FEATURE_MSR_TSX_CTRL },
+		{ MSR_TSX_FORCE_ABORT,	 X86_FEATURE_TSX_FORCE_ABORT },
+		{ MSR_IA32_MCU_OPT_CTRL, X86_FEATURE_SRBDS_CTRL },
+		{ MSR_AMD64_LS_CFG,	 X86_FEATURE_LS_CFG_SSBD },
+		{ MSR_AMD64_DE_CFG,	 X86_FEATURE_LFENCE_RDTSC },
 	};
+	int i;
 
-	msr_build_context(spec_msr_id, ARRAY_SIZE(spec_msr_id));
+	for (i = 0; i < ARRAY_SIZE(msr_enum); i++) {
+		if (boot_cpu_has(msr_enum[i].feature))
+			msr_build_context(&msr_enum[i].msr_no, 1);
+	}
 }
 
 static int pm_check_save_msr(void)
block/bfq-cgroup.c +4 -0
index 30b15a9a47c4..249f489d115f 100644
@@ -615,6 +615,10 @@ struct bfq_group *bfq_bio_bfqg(struct bfq_data *bfqd, struct bio *bio)
 	struct bfq_group *bfqg;
 
 	while (blkg) {
+		if (!blkg->online) {
+			blkg = blkg->parent;
+			continue;
+		}
 		bfqg = blkg_to_bfqg(blkg);
 		if (bfqg->online) {
 			bio_associate_blkg_from_css(bio, &blkg->blkcg->css);
block/blk-mq.c +6 -1
index 4402e4ecb8b1..3f1f5e3e0951 100644
@@ -3956,9 +3956,14 @@ EXPORT_SYMBOL(__blk_mq_alloc_disk);
 struct gendisk *blk_mq_alloc_disk_for_queue(struct request_queue *q,
 		struct lock_class_key *lkclass)
 {
+	struct gendisk *disk;
+
 	if (!blk_get_queue(q))
 		return NULL;
-	return __alloc_disk_node(q, NUMA_NO_NODE, lkclass);
+	disk = __alloc_disk_node(q, NUMA_NO_NODE, lkclass);
+	if (!disk)
+		blk_put_queue(q);
+	return disk;
 }
 EXPORT_SYMBOL(blk_mq_alloc_disk_for_queue);
 
block/blk-settings.c +0 -1
index 4949ed3ce7c9..8ac1038d0c79 100644
@@ -59,7 +59,6 @@ void blk_set_default_limits(struct queue_limits *lim)
 	lim->zone_write_granularity = 0;
 	lim->dma_alignment = 511;
 }
-EXPORT_SYMBOL(blk_set_default_limits);
 
 /**
  * blk_set_stacking_limits - set default limits for stacking devices
block/blk.h +1 -0
index 52432eab621e..ff0bec16f0fa 100644
@@ -324,6 +324,7 @@ void blk_rq_set_mixed_merge(struct request *rq);
 bool blk_rq_merge_ok(struct request *rq, struct bio *bio);
 enum elv_merge blk_try_merge(struct request *rq, struct bio *bio);
 
+void blk_set_default_limits(struct queue_limits *lim);
 int blk_dev_init(void);
 
 /*
drivers/acpi/video_detect.c +14 -0
index 68a566f69684..aae9261c424a 100644
@@ -578,6 +578,20 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
 		DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"),
 		},
 	},
+	/*
+	 * Models which have nvidia-ec-wmi support, but should not use it.
+	 * Note this indicates a likely firmware bug on these models and should
+	 * be revisited if/when Linux gets support for dynamic mux mode.
+	 */
+	{
+	 .callback = video_detect_force_native,
+	 /* Dell G15 5515 */
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "Dell G15 5515"),
+		},
+	},
+
 	/*
 	 * Desktops which falsely report a backlight and which our heuristics
 	 * for this do not catch.
drivers/android/binder_alloc.c +7 -0
index 9b1778c00610..64999777e0bf 100644
@@ -760,6 +760,12 @@ int binder_alloc_mmap_handler(struct binder_alloc *alloc,
 	const char *failure_string;
 	struct binder_buffer *buffer;
 
+	if (unlikely(vma->vm_mm != alloc->vma_vm_mm)) {
+		ret = -EINVAL;
+		failure_string = "invalid vma->vm_mm";
+		goto err_invalid_mm;
+	}
+
 	mutex_lock(&binder_alloc_mmap_lock);
 	if (alloc->buffer_size) {
 		ret = -EBUSY;
@@ -806,6 +812,7 @@ int binder_alloc_mmap_handler(struct binder_alloc *alloc,
 	alloc->buffer_size = 0;
 err_already_mapped:
 	mutex_unlock(&binder_alloc_mmap_lock);
+err_invalid_mm:
 	binder_alloc_debug(BINDER_DEBUG_USER_ERROR,
 			   "%s: %d %lx-%lx %s failed %d\n", __func__,
 			   alloc->pid, vma->vm_start, vma->vm_end,
drivers/bus/intel-ixp4xx-eb.c +3 -6
index a4388440aca7..91db001eb69a 100644
@@ -49,7 +49,7 @@
 #define IXP4XX_EXP_SIZE_SHIFT		10
 #define IXP4XX_EXP_CNFG_0		BIT(9) /* Always zero */
 #define IXP43X_EXP_SYNC_INTEL		BIT(8) /* Only on IXP43x */
-#define IXP43X_EXP_EXP_CHIP		BIT(7) /* Only on IXP43x */
+#define IXP43X_EXP_EXP_CHIP		BIT(7) /* Only on IXP43x, dangerous to touch on IXP42x */
 #define IXP4XX_EXP_BYTE_RD16		BIT(6)
 #define IXP4XX_EXP_HRDY_POL		BIT(5) /* Only on IXP42x */
 #define IXP4XX_EXP_MUX_EN		BIT(4)
@@ -57,8 +57,6 @@
 #define IXP4XX_EXP_WORD			BIT(2) /* Always zero */
 #define IXP4XX_EXP_WR_EN		BIT(1)
 #define IXP4XX_EXP_BYTE_EN		BIT(0)
-#define IXP42X_RESERVED			(BIT(30)|IXP4XX_EXP_CNFG_0|BIT(8)|BIT(7)|IXP4XX_EXP_WORD)
-#define IXP43X_RESERVED			(BIT(30)|IXP4XX_EXP_CNFG_0|BIT(5)|IXP4XX_EXP_WORD)
 
 #define IXP4XX_EXP_CNFG0		0x20
 #define IXP4XX_EXP_CNFG0_MEM_MAP	BIT(31)
@@ -252,10 +250,9 @@ static void ixp4xx_exp_setup_chipselect(struct ixp4xx_eb *eb,
 		cs_cfg |= val << IXP4XX_EXP_CYC_TYPE_SHIFT;
 	}
 
-	if (eb->is_42x)
-		cs_cfg &= ~IXP42X_RESERVED;
 	if (eb->is_43x) {
-		cs_cfg &= ~IXP43X_RESERVED;
+		/* Should always be zero */
+		cs_cfg &= ~IXP4XX_EXP_WORD;
 		/*
 		 * This bit for Intel strata flash is currently unused, but let's
 		 * report it if we find one.
drivers/bus/sunxi-rsb.c +21 -17
index 4cd2e127946e..3aa91aed3bf7 100644
@@ -267,6 +267,9 @@ EXPORT_SYMBOL_GPL(sunxi_rsb_driver_register);
 /* common code that starts a transfer */
 static int _sunxi_rsb_run_xfer(struct sunxi_rsb *rsb)
 {
+	u32 int_mask, status;
+	bool timeout;
+
 	if (readl(rsb->regs + RSB_CTRL) & RSB_CTRL_START_TRANS) {
 		dev_dbg(rsb->dev, "RSB transfer still in progress\n");
 		return -EBUSY;
@@ -274,13 +277,23 @@ static int _sunxi_rsb_run_xfer(struct sunxi_rsb *rsb)
 
 	reinit_completion(&rsb->complete);
 
-	writel(RSB_INTS_LOAD_BSY | RSB_INTS_TRANS_ERR | RSB_INTS_TRANS_OVER,
-	       rsb->regs + RSB_INTE);
+	int_mask = RSB_INTS_LOAD_BSY | RSB_INTS_TRANS_ERR | RSB_INTS_TRANS_OVER;
+	writel(int_mask, rsb->regs + RSB_INTE);
 	writel(RSB_CTRL_START_TRANS | RSB_CTRL_GLOBAL_INT_ENB,
 	       rsb->regs + RSB_CTRL);
 
-	if (!wait_for_completion_io_timeout(&rsb->complete,
-					    msecs_to_jiffies(100))) {
+	if (irqs_disabled()) {
+		timeout = readl_poll_timeout_atomic(rsb->regs + RSB_INTS,
+						    status, (status & int_mask),
+						    10, 100000);
+		writel(status, rsb->regs + RSB_INTS);
+	} else {
+		timeout = !wait_for_completion_io_timeout(&rsb->complete,
+							  msecs_to_jiffies(100));
+		status = rsb->status;
+	}
+
+	if (timeout) {
 		dev_dbg(rsb->dev, "RSB timeout\n");
 
 		/* abort the transfer */
@@ -292,18 +305,18 @@ static int _sunxi_rsb_run_xfer(struct sunxi_rsb *rsb)
 		return -ETIMEDOUT;
 	}
 
-	if (rsb->status & RSB_INTS_LOAD_BSY) {
+	if (status & RSB_INTS_LOAD_BSY) {
 		dev_dbg(rsb->dev, "RSB busy\n");
 		return -EBUSY;
 	}
 
-	if (rsb->status & RSB_INTS_TRANS_ERR) {
-		if (rsb->status & RSB_INTS_TRANS_ERR_ACK) {
+	if (status & RSB_INTS_TRANS_ERR) {
+		if (status & RSB_INTS_TRANS_ERR_ACK) {
 			dev_dbg(rsb->dev, "RSB slave nack\n");
 			return -EINVAL;
 		}
 
-		if (rsb->status & RSB_INTS_TRANS_ERR_DATA) {
+		if (status & RSB_INTS_TRANS_ERR_DATA) {
 			dev_dbg(rsb->dev, "RSB transfer data error\n");
 			return -EIO;
 		}
@@ -812,14 +825,6 @@ static int sunxi_rsb_remove(struct platform_device *pdev)
 	return 0;
 }
 
-static void sunxi_rsb_shutdown(struct platform_device *pdev)
-{
-	struct sunxi_rsb *rsb = platform_get_drvdata(pdev);
-
-	pm_runtime_disable(&pdev->dev);
-	sunxi_rsb_hw_exit(rsb);
-}
-
 static const struct dev_pm_ops sunxi_rsb_dev_pm_ops = {
 	SET_RUNTIME_PM_OPS(sunxi_rsb_runtime_suspend,
 			   sunxi_rsb_runtime_resume, NULL)
@@ -835,7 +840,6 @@ MODULE_DEVICE_TABLE(of, sunxi_rsb_of_match_table);
 static struct platform_driver sunxi_rsb_driver = {
 	.probe = sunxi_rsb_probe,
 	.remove	= sunxi_rsb_remove,
-	.shutdown = sunxi_rsb_shutdown,
 	.driver	= {
 		.name = RSB_CTRL_NAME,
 		.of_match_table = sunxi_rsb_of_match_table,
drivers/cpufreq/Kconfig.x86 +1 -1
index 55516043b656..8184378f67ef 100644
@@ -35,7 +35,7 @@ config X86_PCC_CPUFREQ
 	  If in doubt, say N.
 
 config X86_AMD_PSTATE
-	tristate "AMD Processor P-State driver"
+	bool "AMD Processor P-State driver"
 	depends on X86 && ACPI
 	select ACPI_PROCESSOR
 	select ACPI_CPPC_LIB if X86_64
drivers/cpufreq/amd-pstate.c +11 -10
index d63a28c5f95a..5b788492ce5e 100644
@@ -483,12 +483,22 @@ static void amd_pstate_boost_init(struct amd_cpudata *cpudata)
 	amd_pstate_driver.boost_enabled = true;
 }
 
+static void amd_perf_ctl_reset(unsigned int cpu)
+{
+	wrmsrl_on_cpu(cpu, MSR_AMD_PERF_CTL, 0);
+}
+
 static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
 {
 	int min_freq, max_freq, nominal_freq, lowest_nonlinear_freq, ret;
 	struct device *dev;
 	struct amd_cpudata *cpudata;
 
+	/*
+	 * Resetting PERF_CTL_MSR will put the CPU in P0 frequency,
+	 * which is ideal for initialization process.
+	 */
+	amd_perf_ctl_reset(policy->cpu);
 	dev = get_cpu_device(policy->cpu);
 	if (!dev)
 		return -ENODEV;
@@ -718,16 +728,7 @@ static int __init amd_pstate_init(void)
 
 	return ret;
 }
-
-static void __exit amd_pstate_exit(void)
-{
-	cpufreq_unregister_driver(&amd_pstate_driver);
-
-	amd_pstate_enable(false);
-}
-
-module_init(amd_pstate_init);
-module_exit(amd_pstate_exit);
+device_initcall(amd_pstate_init);
 
 MODULE_AUTHOR("Huang Rui <[email protected]>");
 MODULE_DESCRIPTION("AMD Processor P-state Frequency Driver");
drivers/dma-buf/dma-buf.c +17 -6
index efb4990b29e1..c6f08066e165 100644
@@ -15,6 +15,7 @@
 #include <linux/slab.h>
 #include <linux/dma-buf.h>
 #include <linux/dma-fence.h>
+#include <linux/dma-fence-unwrap.h>
 #include <linux/anon_inodes.h>
 #include <linux/export.h>
 #include <linux/debugfs.h>
@@ -391,8 +392,10 @@ static long dma_buf_import_sync_file(struct dma_buf *dmabuf,
 				     const void __user *user_data)
 {
 	struct dma_buf_import_sync_file arg;
-	struct dma_fence *fence;
+	struct dma_fence *fence, *f;
 	enum dma_resv_usage usage;
+	struct dma_fence_unwrap iter;
+	unsigned int num_fences;
 	int ret = 0;
 
 	if (copy_from_user(&arg, user_data, sizeof(arg)))
@@ -411,13 +414,21 @@ static long dma_buf_import_sync_file(struct dma_buf *dmabuf,
 	usage = (arg.flags & DMA_BUF_SYNC_WRITE) ? DMA_RESV_USAGE_WRITE :
 						   DMA_RESV_USAGE_READ;
 
-	dma_resv_lock(dmabuf->resv, NULL);
+	num_fences = 0;
+	dma_fence_unwrap_for_each(f, &iter, fence)
+		++num_fences;
 
-	ret = dma_resv_reserve_fences(dmabuf->resv, 1);
-	if (!ret)
-		dma_resv_add_fence(dmabuf->resv, fence, usage);
+	if (num_fences > 0) {
+		dma_resv_lock(dmabuf->resv, NULL);
 
-	dma_resv_unlock(dmabuf->resv);
+		ret = dma_resv_reserve_fences(dmabuf->resv, num_fences);
+		if (!ret) {
+			dma_fence_unwrap_for_each(f, &iter, fence)
+				dma_resv_add_fence(dmabuf->resv, f, usage);
+		}
+
+		dma_resv_unlock(dmabuf->resv);
+	}
 
 	dma_fence_put(fence);
 
drivers/dma-buf/dma-heap.c +15 -13
index 8f5848aa144f..59d158873f4c 100644
@@ -233,18 +233,6 @@ struct dma_heap *dma_heap_add(const struct dma_heap_export_info *exp_info)
 		return ERR_PTR(-EINVAL);
 	}
 
-	/* check the name is unique */
-	mutex_lock(&heap_list_lock);
-	list_for_each_entry(h, &heap_list, list) {
-		if (!strcmp(h->name, exp_info->name)) {
-			mutex_unlock(&heap_list_lock);
-			pr_err("dma_heap: Already registered heap named %s\n",
-			       exp_info->name);
-			return ERR_PTR(-EINVAL);
-		}
-	}
-	mutex_unlock(&heap_list_lock);
-
 	heap = kzalloc(sizeof(*heap), GFP_KERNEL);
 	if (!heap)
 		return ERR_PTR(-ENOMEM);
@@ -283,13 +271,27 @@ struct dma_heap *dma_heap_add(const struct dma_heap_export_info *exp_info)
 		err_ret = ERR_CAST(dev_ret);
 		goto err2;
 	}
-	/* Add heap to the list */
+
 	mutex_lock(&heap_list_lock);
+	/* check the name is unique */
+	list_for_each_entry(h, &heap_list, list) {
+		if (!strcmp(h->name, exp_info->name)) {
+			mutex_unlock(&heap_list_lock);
+			pr_err("dma_heap: Already registered heap named %s\n",
+			       exp_info->name);
+			err_ret = ERR_PTR(-EINVAL);
+			goto err3;
+		}
+	}
+
+	/* Add heap to the list */
 	list_add(&heap->list, &heap_list);
 	mutex_unlock(&heap_list_lock);
 
 	return heap;
 
+err3:
+	device_destroy(dma_heap_class, heap->heap_devt);
 err2:
 	cdev_del(&heap->heap_cdev);
 err1:
drivers/fpga/Kconfig +3 -1
index 6c416955da53..bbe0a7cabb75 100644
@@ -246,7 +246,9 @@ config FPGA_MGR_VERSAL_FPGA
 
 config FPGA_M10_BMC_SEC_UPDATE
 	tristate "Intel MAX10 BMC Secure Update driver"
-	depends on MFD_INTEL_M10_BMC && FW_UPLOAD
+	depends on MFD_INTEL_M10_BMC
+	select FW_LOADER
+	select FW_UPLOAD
 	help
 	  Secure update support for the Intel MAX10 board management
 	  controller.
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c +1 -0
index c8935d718207..4485bb29bec9 100644
@@ -41,5 +41,6 @@ const struct kfd2kgd_calls aldebaran_kfd2kgd = {
 	.get_atc_vmid_pasid_mapping_info =
 				kgd_gfx_v9_get_atc_vmid_pasid_mapping_info,
 	.set_vm_context_page_table_base = kgd_gfx_v9_set_vm_context_page_table_base,
+	.get_cu_occupancy = kgd_gfx_v9_get_cu_occupancy,
 	.program_trap_handler_settings = kgd_gfx_v9_program_trap_handler_settings
 };
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +1 -3
index 93ad00453f4b..7db4aef9c45c 100644
@@ -170,9 +170,7 @@ int amdgpu_amdkfd_reserve_mem_limit(struct amdgpu_device *adev,
 	    (kfd_mem_limit.ttm_mem_used + ttm_mem_needed >
 	     kfd_mem_limit.max_ttm_mem_limit) ||
 	    (adev && adev->kfd.vram_used + vram_needed >
-	     adev->gmc.real_vram_size -
-	     atomic64_read(&adev->vram_pin_size) -
-	     reserved_for_pt)) {
+	     adev->gmc.real_vram_size - reserved_for_pt)) {
 		ret = -ENOMEM;
 		goto release;
 	}
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +0 -1
index 491d4846fc02..cfb262911bfc 100644
@@ -328,7 +328,6 @@ static void amdgpu_connector_free_edid(struct drm_connector *connector)
 
 	kfree(amdgpu_connector->edid);
 	amdgpu_connector->edid = NULL;
-	drm_connector_update_edid_property(connector, NULL);
 }
 
 static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector)
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +3 -5
index 8ef31d687ef3..111484ceb47d 100644
@@ -413,11 +413,9 @@ int amdgpu_gem_userptr_ioctl(struct drm_device *dev, void *data,
 	if (r)
 		goto release_object;
 
-	if (args->flags & AMDGPU_GEM_USERPTR_REGISTER) {
-		r = amdgpu_mn_register(bo, args->addr);
-		if (r)
-			goto release_object;
-	}
+	r = amdgpu_mn_register(bo, args->addr);
+	if (r)
+		goto release_object;
 
 	if (args->flags & AMDGPU_GEM_USERPTR_VALIDATE) {
 		r = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages);
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +6 -0
index aebc384531ac..bff5d8c832ad 100644
@@ -479,6 +479,12 @@ int amdgpu_gmc_allocate_vm_inv_eng(struct amdgpu_device *adev)
 	unsigned i;
 	unsigned vmhub, inv_eng;
 
+	if (adev->enable_mes) {
+		/* reserve engine 5 for firmware */
+		for (vmhub = 0; vmhub < AMDGPU_MAX_VMHUBS; vmhub++)
+			vm_inv_engs[vmhub] &= ~(1 << 5);
+	}
+
 	for (i = 0; i < adev->num_rings; ++i) {
 		ring = adev->rings[i];
 		vmhub = ring->funcs->vmhub;
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +9 -7
index c9dec2434f37..cfa45a697d24 100644
@@ -171,6 +171,7 @@ void psp_ta_free_shared_buf(struct ta_mem_context *mem_ctx)
 {
 	amdgpu_bo_free_kernel(&mem_ctx->shared_bo, &mem_ctx->shared_mc_addr,
 			      &mem_ctx->shared_buf);
+	mem_ctx->shared_bo = NULL;
 }
 
 static void psp_free_shared_bufs(struct psp_context *psp)
@@ -181,6 +182,7 @@ static void psp_free_shared_bufs(struct psp_context *psp)
 	/* free TMR memory buffer */
 	pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL;
 	amdgpu_bo_free_kernel(&psp->tmr_bo, &psp->tmr_mc_addr, pptr);
+	psp->tmr_bo = NULL;
 
 	/* free xgmi shared memory */
 	psp_ta_free_shared_buf(&psp->xgmi_context.context.mem_context);
@@ -728,7 +730,7 @@ static int psp_load_toc(struct psp_context *psp,
 /* Set up Trusted Memory Region */
 static int psp_tmr_init(struct psp_context *psp)
 {
-	int ret;
+	int ret = 0;
 	int tmr_size;
 	void *tmr_buf;
 	void **pptr;
@@ -755,10 +757,12 @@ static int psp_tmr_init(struct psp_context *psp)
 		}
 	}
 
-	pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL;
-	ret = amdgpu_bo_create_kernel(psp->adev, tmr_size, PSP_TMR_ALIGNMENT,
-				      AMDGPU_GEM_DOMAIN_VRAM,
-				      &psp->tmr_bo, &psp->tmr_mc_addr, pptr);
+	if (!psp->tmr_bo) {
+		pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL;
+		ret = amdgpu_bo_create_kernel(psp->adev, tmr_size, PSP_TMR_ALIGNMENT,
+					      AMDGPU_GEM_DOMAIN_VRAM,
+					      &psp->tmr_bo, &psp->tmr_mc_addr, pptr);
+	}
 
 	return ret;
 }
@@ -2720,8 +2724,6 @@ static int psp_suspend(void *handle)
 	}
 
 out:
-	psp_free_shared_bufs(psp);
-
 	return ret;
 }
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +0 -26
index 04130f8813ef..369c0d03e3c6 100644
@@ -143,32 +143,6 @@ int amdgpu_vm_set_pasid(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 	return 0;
 }
 
-/*
- * vm eviction_lock can be taken in MMU notifiers. Make sure no reclaim-FS
- * happens while holding this lock anywhere to prevent deadlocks when
- * an MMU notifier runs in reclaim-FS context.
- */
-static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm)
-{
-	mutex_lock(&vm->eviction_lock);
-	vm->saved_flags = memalloc_noreclaim_save();
-}
-
-static inline int amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm)
-{
-	if (mutex_trylock(&vm->eviction_lock)) {
-		vm->saved_flags = memalloc_noreclaim_save();
-		return 1;
-	}
-	return 0;
-}
-
-static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm)
-{
-	memalloc_noreclaim_restore(vm->saved_flags);
-	mutex_unlock(&vm->eviction_lock);
-}
-
 /**
  * amdgpu_vm_bo_evicted - vm_bo is evicted
  *
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +26 -0
index 278512535b51..39d2898caede 100644
@@ -503,4 +503,30 @@ static inline uint64_t amdgpu_vm_tlb_seq(struct amdgpu_vm *vm)
 	return atomic64_read(&vm->tlb_seq);
 }
 
+/*
+ * vm eviction_lock can be taken in MMU notifiers. Make sure no reclaim-FS
+ * happens while holding this lock anywhere to prevent deadlocks when
+ * an MMU notifier runs in reclaim-FS context.
+ */
+static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm)
+{
+	mutex_lock(&vm->eviction_lock);
+	vm->saved_flags = memalloc_noreclaim_save();
+}
+
+static inline bool amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm)
+{
+	if (mutex_trylock(&vm->eviction_lock)) {
+		vm->saved_flags = memalloc_noreclaim_save();
+		return true;
+	}
+	return false;
+}
+
+static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm)
+{
+	memalloc_noreclaim_restore(vm->saved_flags);
+	mutex_unlock(&vm->eviction_lock);
+}
+
 #endif
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c +2 -0
index 88de9f0d4728..983899574464 100644
@@ -597,7 +597,9 @@ static int amdgpu_vm_pt_alloc(struct amdgpu_device *adev,
 	if (entry->bo)
 		return 0;
 
+	amdgpu_vm_eviction_unlock(vm);
 	r = amdgpu_vm_pt_create(adev, vm, cursor->level, immediate, &pt);
+	amdgpu_vm_eviction_lock(vm);
 	if (r)
 		return r;
 
drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +5 -1
index 3bff0ae15e64..3175b9c1849d 100644
@@ -190,7 +190,11 @@ static int mes_v11_0_add_hw_queue(struct amdgpu_mes *mes,
 	mes_add_queue_pkt.trap_handler_addr = input->tba_addr;
 	mes_add_queue_pkt.tma_addr = input->tma_addr;
 	mes_add_queue_pkt.is_kfd_process = input->is_kfd_process;
-	mes_add_queue_pkt.trap_en = 1;
+
+	if (!(((adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 4) &&
+		  (adev->ip_versions[GC_HWIP][0] >= IP_VERSION(11, 0, 0)) &&
+		  (adev->ip_versions[GC_HWIP][0] <= IP_VERSION(11, 0, 3))))
+		mes_add_queue_pkt.trap_en = 1;
 
 	/* For KFD, gds_size is re-used for queue size (needed in MES for AQL queues) */
 	mes_add_queue_pkt.is_aql_queue = input->is_aql_queue;
drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h +18 -13
index 60a81649cf12..0c4c5499bb5c 100644
@@ -742,7 +742,7 @@ static const uint32_t cwsr_trap_nv1x_hex[] = {
 	0xbf88fffe, 0x877aff7f,
 	0x04000000, 0x8f7a857a,
 	0x886d7a6d, 0xb97b02dc,
-	0x8f7b997b, 0xb97a2a05,
+	0x8f7b997b, 0xb97a3a05,
 	0x807a817a, 0xbf0d997b,
 	0xbf850002, 0x8f7a897a,
 	0xbf820001, 0x8f7a8a7a,
@@ -819,7 +819,7 @@ static const uint32_t cwsr_trap_nv1x_hex[] = {
 	0xbefe037c, 0xbefc0370,
 	0xf4611c7a, 0xf8000000,
 	0x80708470, 0xbefc037e,
-	0xb9702a05, 0x80708170,
+	0xb9703a05, 0x80708170,
 	0xbf0d9973, 0xbf850002,
 	0x8f708970, 0xbf820001,
 	0x8f708a70, 0xb97a1e06,
@@ -1069,7 +1069,7 @@ static const uint32_t cwsr_trap_nv1x_hex[] = {
 	0xb9f9f816, 0x876f7bff,
 	0xfffff800, 0x906f8b6f,
 	0xb9efa2c3, 0xb9f3f801,
-	0xb96e2a05, 0x806e816e,
+	0xb96e3a05, 0x806e816e,
 	0xbf0d9972, 0xbf850002,
 	0x8f6e896e, 0xbf820001,
 	0x8f6e8a6e, 0xb96f1e06,
@@ -2114,7 +2114,7 @@ static const uint32_t cwsr_trap_gfx10_hex[] = {
 	0x007a0000, 0x7e000280,
 	0xbefe037a, 0xbeff037b,
 	0xb97b02dc, 0x8f7b997b,
-	0xb97a2a05, 0x807a817a,
+	0xb97a3a05, 0x807a817a,
 	0xbf0d997b, 0xbf850002,
 	0x8f7a897a, 0xbf820001,
 	0x8f7a8a7a, 0xb97b1e06,
@@ -2157,7 +2157,7 @@ static const uint32_t cwsr_trap_gfx10_hex[] = {
 	0x01000000, 0xe0704100,
 	0x705d0100, 0xe0704200,
 	0x705d0200, 0xe0704300,
-	0x705d0300, 0xb9702a05,
+	0x705d0300, 0xb9703a05,
 	0x80708170, 0xbf0d9973,
 	0xbf850002, 0x8f708970,
 	0xbf820001, 0x8f708a70,
@@ -2189,7 +2189,7 @@ static const uint32_t cwsr_trap_gfx10_hex[] = {
 	0xbefe03ff, 0x0000ffff,
 	0xbeff0380, 0xe0704000,
 	0x705d0200, 0xbefe03c1,
-	0xb9702a05, 0x80708170,
+	0xb9703a05, 0x80708170,
 	0xbf0d9973, 0xbf850002,
 	0x8f708970, 0xbf820001,
 	0x8f708a70, 0xb97a1e06,
@@ -2475,7 +2475,7 @@ static const uint32_t cwsr_trap_gfx10_hex[] = {
 	0xb9ef4803, 0x876f7bff,
 	0xfffff800, 0x906f8b6f,
 	0xb9efa2c3, 0xb9f3f801,
-	0xb96e2a05, 0x806e816e,
+	0xb96e3a05, 0x806e816e,
 	0xbf0d9972, 0xbf850002,
 	0x8f6e896e, 0xbf820001,
 	0x8f6e8a6e, 0xb96f1e06,
@@ -2494,11 +2494,13 @@ static const uint32_t cwsr_trap_gfx10_hex[] = {
 	0xbf9f0000, 0xbf9f0000,
 	0xbf9f0000, 0x00000000,
 };
-
 static const uint32_t cwsr_trap_gfx11_hex[] = {
-	0xbfa00001, 0xbfa0021b,
+	0xbfa00001, 0xbfa00221,
 	0xb0804006, 0xb8f8f802,
-	0x91788678, 0xb8fbf803,
+	0x9178ff78, 0x00020006,
+	0xb8fbf803, 0xbf0d9e6d,
+	0xbfa10001, 0xbfbd0000,
+	0xbf0d9f6d, 0xbfa20006,
 	0x8b6eff78, 0x00002000,
 	0xbfa10009, 0x8b6eff6d,
 	0x00ff0000, 0xbfa2001e,
@@ -2766,7 +2768,7 @@ static const uint32_t cwsr_trap_gfx11_hex[] = {
 	0x701d0000, 0x807d817d,
 	0x8070ff70, 0x00000080,
 	0xbf0a7b7d, 0xbfa2fff8,
-	0xbfa00141, 0xbef4007e,
+	0xbfa00146, 0xbef4007e,
 	0x8b75ff7f, 0x0000ffff,
 	0x8c75ff75, 0x00040000,
 	0xbef60080, 0xbef700ff,
@@ -2926,8 +2928,11 @@ static const uint32_t cwsr_trap_gfx11_hex[] = {
 	0xf8000074, 0xbf89fc07,
 	0x8b6dff6d, 0x0000ffff,
 	0x8bfe7e7e, 0x8bea6a6a,
-	0xb97af802, 0xbe804a6c,
-	0xbfb00000, 0xbf9f0000,
+	0xb8eef802, 0xbf0d866e,
+	0xbfa20002, 0xb97af802,
+	0xbe80486c, 0xb97af802,
+	0xbe804a6c, 0xbfb00000,
 	0xbf9f0000, 0xbf9f0000,
 	0xbf9f0000, 0xbf9f0000,
+	0xbf9f0000, 0x00000000,
 };
drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm +27 -0
index 250ab007399b..8b92c33c2a7c 100644
@@ -43,12 +43,14 @@
 #define HAVE_XNACK (ASIC_FAMILY < CHIP_SIENNA_CICHLID)
 #define HAVE_SENDMSG_RTN (ASIC_FAMILY >= CHIP_PLUM_BONITO)
 #define HAVE_BUFFER_LDS_LOAD (ASIC_FAMILY < CHIP_PLUM_BONITO)
+#define SW_SA_TRAP (ASIC_FAMILY >= CHIP_PLUM_BONITO)
 
 var SINGLE_STEP_MISSED_WORKAROUND		= 1	//workaround for lost MODE.DEBUG_EN exception when SAVECTX raised
 
 var SQ_WAVE_STATUS_SPI_PRIO_MASK		= 0x00000006
 var SQ_WAVE_STATUS_HALT_MASK			= 0x2000
 var SQ_WAVE_STATUS_ECC_ERR_MASK			= 0x20000
+var SQ_WAVE_STATUS_TRAP_EN_SHIFT		= 6
 
 var SQ_WAVE_LDS_ALLOC_LDS_SIZE_SHIFT		= 12
 var SQ_WAVE_LDS_ALLOC_LDS_SIZE_SIZE		= 9
@@ -183,6 +185,19 @@ L_SKIP_RESTORE:
 
 	s_getreg_b32	s_save_trapsts, hwreg(HW_REG_TRAPSTS)
 
+#if SW_SA_TRAP
+	// If ttmp1[30] is set then issue s_barrier to unblock dependent waves.
+	s_bitcmp1_b32	s_save_pc_hi, 30
+	s_cbranch_scc0	L_TRAP_NO_BARRIER
+	s_barrier
+
+L_TRAP_NO_BARRIER:
+	// If ttmp1[31] is set then trap may occur early.
+	// Spin wait until SAVECTX exception is raised.
+	s_bitcmp1_b32	s_save_pc_hi, 31
+	s_cbranch_scc1  L_CHECK_SAVE
+#endif
+
 	s_and_b32       ttmp2, s_save_status, SQ_WAVE_STATUS_HALT_MASK
 	s_cbranch_scc0	L_NOT_HALTED
 
@@ -1061,8 +1076,20 @@ L_RESTORE_HWREG:
 	s_and_b32	s_restore_pc_hi, s_restore_pc_hi, 0x0000ffff		//pc[47:32] //Do it here in order not to affect STATUS
 	s_and_b64	exec, exec, exec					// Restore STATUS.EXECZ, not writable by s_setreg_b32
 	s_and_b64	vcc, vcc, vcc						// Restore STATUS.VCCZ, not writable by s_setreg_b32
+
+#if SW_SA_TRAP
+	// If traps are enabled then return to the shader with PRIV=0.
+	// Otherwise retain PRIV=1 for subsequent context save requests.
+	s_getreg_b32	s_restore_tmp, hwreg(HW_REG_STATUS)
+	s_bitcmp1_b32	s_restore_tmp, SQ_WAVE_STATUS_TRAP_EN_SHIFT
+	s_cbranch_scc1	L_RETURN_WITHOUT_PRIV
+
 	s_setreg_b32	hwreg(HW_REG_STATUS), s_restore_status			// SCC is included, which is changed by previous salu
+	s_setpc_b64	[s_restore_pc_lo, s_restore_pc_hi]
+L_RETURN_WITHOUT_PRIV:
+#endif
 
+	s_setreg_b32	hwreg(HW_REG_STATUS), s_restore_status			// SCC is included, which is changed by previous salu
 	s_rfe_b64	s_restore_pc_lo						//Return to the main shader program and resume execution
 
 L_END_PGM:
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +41 -3

57 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/dc.h +3 -0
index dbf8158b832e..fcddf60d3c10 100644
@@ -746,6 +746,9 @@ struct dc_debug_options {
 	bool force_disable_subvp;
 	bool force_subvp_mclk_switch;
 	bool allow_sw_cursor_fallback;
+	unsigned int force_subvp_num_ways;
+	unsigned int force_mall_ss_num_ways;
+	bool alloc_extra_way_for_cursor;
 	bool force_usr_allow;
 	/* uses value at boot and disables switch */
 	bool disable_dtb_ref_clk_switch;
drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c +2 -1
index 1b70b78e2fa1..af631085e88c 100644
@@ -359,7 +359,8 @@ static const struct dce_audio_registers audio_regs[] = {
 	audio_regs(2),
 	audio_regs(3),
 	audio_regs(4),
-	audio_regs(5)
+	audio_regs(5),
+	audio_regs(6),
 };
 
 #define DCE120_AUD_COMMON_MASK_SH_LIST(mask_sh)\
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c +99 -114

266 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c +1 -0
index c3b783cea8a0..6f1bcb45a3b2 100644
@@ -872,6 +872,7 @@ static const struct dc_debug_options debug_defaults_drv = {
 	.enable_single_display_2to1_odm_policy = true,
 	.enable_dp_dig_pixel_rate_div_policy = 1,
 	.allow_sw_cursor_fallback = false,
+	.alloc_extra_way_for_cursor = true,
 };
 
 static const struct dc_debug_options debug_defaults_diags = {
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c +8 -3
index 13cd1f2e50ca..7c37575d69c7 100644
@@ -54,13 +54,14 @@ uint32_t dcn32_helper_calculate_num_ways_for_subvp(struct dc *dc, struct dc_stat
 	uint32_t num_mblks = 0;
 	uint32_t cache_lines_per_plane = 0;
 	uint32_t i = 0, j = 0;
-	uint32_t mblk_width = 0;
-	uint32_t mblk_height = 0;
+	uint16_t mblk_width = 0;
+	uint16_t mblk_height = 0;
 	uint32_t full_vp_width_blk_aligned = 0;
 	uint32_t full_vp_height_blk_aligned = 0;
 	uint32_t mall_alloc_width_blk_aligned = 0;
 	uint32_t mall_alloc_height_blk_aligned = 0;
-	uint32_t full_vp_height = 0;
+	uint16_t full_vp_height = 0;
+	bool subvp_in_use = false;
 
 	for (i = 0; i < dc->res_pool->pipe_count; i++) {
 		struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
@@ -70,6 +71,7 @@ uint32_t dcn32_helper_calculate_num_ways_for_subvp(struct dc *dc, struct dc_stat
 				pipe->stream->mall_stream_config.type == SUBVP_PHANTOM) {
 			struct pipe_ctx *main_pipe = NULL;
 
+			subvp_in_use = true;
 			/* Get full viewport height from main pipe (required for MBLK calculation) */
 			for (j = 0; j < dc->res_pool->pipe_count; j++) {
 				main_pipe = &context->res_ctx.pipe_ctx[j];
@@ -129,6 +131,9 @@ uint32_t dcn32_helper_calculate_num_ways_for_subvp(struct dc *dc, struct dc_stat
 	if (cache_lines_used % lines_per_way > 0)
 		num_ways++;
 
+	if (subvp_in_use && dc->debug.force_subvp_num_ways > 0)
+		num_ways = dc->debug.force_subvp_num_ways;
+
 	return num_ways;
 }
 
drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c +1 -0
index 7309eed33a61..d074716dc197 100644
@@ -873,6 +873,7 @@ static const struct dc_debug_options debug_defaults_drv = {
 	.enable_single_display_2to1_odm_policy = true,
 	.enable_dp_dig_pixel_rate_div_policy = 1,
 	.allow_sw_cursor_fallback = false,
+	.alloc_extra_way_for_cursor = true,
 };
 
 static const struct dc_debug_options debug_defaults_diags = {
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c +18 -4
index b9d3a4000c3d..2f996fdaa70d 100644
@@ -157,7 +157,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_2_soc = {
 	.dispclk_dppclk_vco_speed_mhz = 4300.0,
 	.do_urgent_latency_adjustment = true,
 	.urgent_latency_adjustment_fabric_clock_component_us = 1.0,
-	.urgent_latency_adjustment_fabric_clock_reference_mhz = 1000,
+	.urgent_latency_adjustment_fabric_clock_reference_mhz = 3000,
 };
 
 void dcn32_build_wm_range_table_fpu(struct clk_mgr_internal *clk_mgr)
@@ -211,7 +211,7 @@ void dcn32_build_wm_range_table_fpu(struct clk_mgr_internal *clk_mgr)
 	/* 'DalDummyClockChangeLatencyNs' registry key option set to 0x7FFFFFFF can be used to disable Set C for dummy p-state */
 	if (clk_mgr->base.ctx->dc->bb_overrides.dummy_clock_change_latency_ns != 0x7FFFFFFF) {
 		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].valid = true;
-		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.pstate_latency_us = 38;
+		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.pstate_latency_us = 50;
 		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.fclk_change_latency_us = fclk_change_latency_us;
 		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.sr_exit_time_us = sr_exit_time_us;
 		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].dml_input.sr_enter_plus_exit_time_us = sr_enter_plus_exit_time_us;
@@ -221,7 +221,7 @@ void dcn32_build_wm_range_table_fpu(struct clk_mgr_internal *clk_mgr)
 		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.min_uclk = min_uclk_mhz;
 		clk_mgr->base.bw_params->wm_table.nv_entries[WM_C].pmfw_breakdown.max_uclk = 0xFFFF;
 		clk_mgr->base.bw_params->dummy_pstate_table[0].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[0].memclk_mhz * 16;
-		clk_mgr->base.bw_params->dummy_pstate_table[0].dummy_pstate_latency_us = 38;
+		clk_mgr->base.bw_params->dummy_pstate_table[0].dummy_pstate_latency_us = 50;
 		clk_mgr->base.bw_params->dummy_pstate_table[1].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[1].memclk_mhz * 16;
 		clk_mgr->base.bw_params->dummy_pstate_table[1].dummy_pstate_latency_us = 9;
 		clk_mgr->base.bw_params->dummy_pstate_table[2].dram_speed_mts = clk_mgr->base.bw_params->clk_table.entries[2].memclk_mhz * 16;
@@ -1700,6 +1700,12 @@ void dcn32_calculate_wm_and_dlg_fpu(struct dc *dc, struct dc_state *context,
 			 */
 			context->bw_ctx.dml.soc.dram_clock_change_latency_us =
 					dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
+			/* For DCN32/321 need to validate with fclk pstate change latency equal to dummy so
+			 * prefetch is scheduled correctly to account for dummy pstate.
+			 */
+			if (dummy_latency_index == 0)
+				context->bw_ctx.dml.soc.fclk_change_latency_us =
+						dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
 			dcn32_internal_validate_bw(dc, context, pipes, &pipe_cnt, &vlevel, false);
 			maxMpcComb = context->bw_ctx.dml.vba.maxMpcComb;
 			dcfclk = context->bw_ctx.dml.vba.DCFCLKState[vlevel][context->bw_ctx.dml.vba.maxMpcComb];
@@ -1879,6 +1885,10 @@ void dcn32_calculate_wm_and_dlg_fpu(struct dc *dc, struct dc_state *context,
 
 	context->perf_params.stutter_period_us = context->bw_ctx.dml.vba.StutterPeriod;
 
+	if (context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching && dummy_latency_index == 0)
+		context->bw_ctx.dml.soc.fclk_change_latency_us =
+				dc->clk_mgr->bw_params->dummy_pstate_table[dummy_latency_index].dummy_pstate_latency_us;
+
 	dcn32_calculate_dlg_params(dc, context, pipes, pipe_cnt, vlevel);
 
 	if (!pstate_en)
@@ -1886,8 +1896,12 @@ void dcn32_calculate_wm_and_dlg_fpu(struct dc *dc, struct dc_state *context,
 		context->bw_ctx.dml.soc.dram_clock_change_latency_us =
 				dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.pstate_latency_us;
 
-	if (context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching)
+	if (context->bw_ctx.bw.dcn.clk.fw_based_mclk_switching) {
 		dcn30_setup_mclk_switch_using_fw_based_vblank_stretch(dc, context);
+		if (dummy_latency_index == 0)
+			context->bw_ctx.dml.soc.fclk_change_latency_us =
+					dc->clk_mgr->bw_params->wm_table.nv_entries[WM_A].dml_input.fclk_change_latency_us;
+	}
 }
 
 static void dcn32_get_optimal_dcfclk_fclk_for_uclk(unsigned int uclk_mts,
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c +1 -0
index bea380407151..042f9a62c4c5 100644
@@ -3197,6 +3197,7 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
 							mode_lib->vba.FCLKChangeLatency, mode_lib->vba.UrgLatency[i],
 							mode_lib->vba.SREnterPlusExitTime);
 
+					memset(&v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull, 0, sizeof(DmlPipe));
 					v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.myPipe.Dppclk = mode_lib->vba.RequiredDPPCLK[i][j][k];
 					v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.myPipe.Dispclk = mode_lib->vba.RequiredDISPCLK[i][j];
 					v->dummy_vars.dml32_ModeSupportAndSystemConfigurationFull.myPipe.PixelClock = mode_lib->vba.PixelClock[k];
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.c +1 -1
index 67af8f4df8b8..d9141ef2fefd 100644
@@ -4396,7 +4396,7 @@ void dml32_CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport(
 
 		if (v->NumberOfActiveSurfaces > 1) {
 			ActiveClockChangeLatencyHidingY = ActiveClockChangeLatencyHidingY
-					- (1 - 1 / v->NumberOfActiveSurfaces) * SwathHeightY[k] * v->HTotal[k]
+					- (1.0 - 1.0 / v->NumberOfActiveSurfaces) * SwathHeightY[k] * v->HTotal[k]
 							/ v->PixelClock[k] / v->VRatio[k];
 		}
 
drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h +1 -1
index 0b427d89b3c5..f174f5c5ff92 100644
@@ -30,7 +30,7 @@
 #include "os_types.h"
 #include "../dc_features.h"
 #include "../display_mode_structs.h"
-#include "dml/display_mode_vba.h"
+#include "../display_mode_vba.h"
 
 unsigned int dml32_dscceComputeDelay(
 		unsigned int bpc,
drivers/gpu/drm/amd/display/dc/dml/dcn321/dcn321_fpu.c +4 -4
index aa976fe4d426..0ab8e48b6841 100644
@@ -125,9 +125,9 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_21_soc = {
 	.sr_enter_plus_exit_z8_time_us = 320,
 	.writeback_latency_us = 12.0,
 	.round_trip_ping_latency_dcfclk_cycles = 263,
-	.urgent_latency_pixel_data_only_us = 9.35,
-	.urgent_latency_pixel_mixed_with_vm_data_us = 9.35,
-	.urgent_latency_vm_data_only_us = 9.35,
+	.urgent_latency_pixel_data_only_us = 4,
+	.urgent_latency_pixel_mixed_with_vm_data_us = 4,
+	.urgent_latency_vm_data_only_us = 4,
 	.fclk_change_latency_us = 20,
 	.usr_retraining_latency_us = 2,
 	.smn_latency_us = 2,
@@ -155,7 +155,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_21_soc = {
 	.dispclk_dppclk_vco_speed_mhz = 4300.0,
 	.do_urgent_latency_adjustment = true,
 	.urgent_latency_adjustment_fabric_clock_component_us = 1.0,
-	.urgent_latency_adjustment_fabric_clock_reference_mhz = 1000,
+	.urgent_latency_adjustment_fabric_clock_reference_mhz = 3000,
 };
 
 static void get_optimal_ntuple(struct _vcs_dpi_voltage_scaling_st *entry)
drivers/gpu/drm/amd/display/dc/gpio/dcn32/hw_factory_dcn32.c +14 -0
index d635b73af46f..0ea52ba5ac82 100644
@@ -107,6 +107,13 @@ static const struct ddc_registers ddc_data_regs_dcn[] = {
 	ddc_data_regs_dcn2(3),
 	ddc_data_regs_dcn2(4),
 	ddc_data_regs_dcn2(5),
+	{
+		// add a dummy entry for cases no such port
+		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,},
+		.ddc_setup = 0,
+		.phy_aux_cntl = 0,
+		.dc_gpio_aux_ctrl_5 = 0
+	},
 	{
 			DDC_GPIO_VGA_REG_LIST(DATA),
 			.ddc_setup = 0,
@@ -121,6 +128,13 @@ static const struct ddc_registers ddc_clk_regs_dcn[] = {
 	ddc_clk_regs_dcn2(3),
 	ddc_clk_regs_dcn2(4),
 	ddc_clk_regs_dcn2(5),
+	{
+		// add a dummy entry for cases no such port
+		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,},
+		.ddc_setup = 0,
+		.phy_aux_cntl = 0,
+		.dc_gpio_aux_ctrl_5 = 0
+	},
 	{
 			DDC_GPIO_VGA_REG_LIST(CLK),
 			.ddc_setup = 0,
drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c +6 -3
index 6fd38cdd68c0..525bc8881950 100644
@@ -94,11 +94,14 @@ static enum gpio_result set_config(
 		 * is required for detection of AUX mode */
 		if (hw_gpio->base.en != GPIO_DDC_LINE_VIP_PAD) {
 			if (!ddc_data_pd_en || !ddc_clk_pd_en) {
-
-				REG_SET_2(gpio.MASK_reg, regval,
+				if (hw_gpio->base.en == GPIO_DDC_LINE_DDC_VGA) {
+					// bit 4 of mask has different usage in some cases
+					REG_SET(gpio.MASK_reg, regval, DC_GPIO_DDC1DATA_PD_EN, 1);
+				} else {
+					REG_SET_2(gpio.MASK_reg, regval,
 						DC_GPIO_DDC1DATA_PD_EN, 1,
 						DC_GPIO_DDC1CLK_PD_EN, 1);
-
+				}
 				if (config_data->type ==
 						GPIO_CONFIG_TYPE_I2C_AUX_DUAL_MODE)
 					msleep(3);
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c +12 -13
index dad3e3741a4e..190af79f3236 100644
@@ -67,22 +67,21 @@ int vega10_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr,
 int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,
 		uint32_t *speed)
 {
-	uint32_t current_rpm;
-	uint32_t percent = 0;
-
-	if (hwmgr->thermal_controller.fanInfo.bNoFan)
-		return 0;
+	struct amdgpu_device *adev = hwmgr->adev;
+	uint32_t duty100, duty;
+	uint64_t tmp64;
 
-	if (vega10_get_current_rpm(hwmgr, &current_rpm))
-		return -1;
+	duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1),
+				CG_FDO_CTRL1, FMAX_DUTY100);
+	duty = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_THERMAL_STATUS),
+				CG_THERMAL_STATUS, FDO_PWM_DUTY);
 
-	if (hwmgr->thermal_controller.
-			advanceFanControlParameters.usMaxFanRPM != 0)
-		percent = current_rpm * 255 /
-			hwmgr->thermal_controller.
-			advanceFanControlParameters.usMaxFanRPM;
+	if (!duty100)
+		return -EINVAL;
 
-	*speed = MIN(percent, 255);
+	tmp64 = (uint64_t)duty * 255;
+	do_div(tmp64, duty100);
+	*speed = MIN((uint32_t)tmp64, 255);
 
 	return 0;
 }
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c +4 -0
index 8292839bc42a..9ce0dcc5bb90 100644
@@ -378,6 +378,10 @@ static void sienna_cichlid_check_bxco_support(struct smu_context *smu)
 		    ((adev->pdev->device == 0x73BF) &&
 		    (adev->pdev->revision == 0xCF)) ||
 		    ((adev->pdev->device == 0x7422) &&
+		    (adev->pdev->revision == 0x00)) ||
+		    ((adev->pdev->device == 0x73A3) &&
+		    (adev->pdev->revision == 0x00)) ||
+		    ((adev->pdev->device == 0x73E3) &&
 		    (adev->pdev->revision == 0x00)))
 			smu_baco->platform_support = false;
 
drivers/gpu/drm/display/drm_dp_mst_topology.c +1 -1
index 7a94a5288e8d..855297e69f04 100644
@@ -5293,7 +5293,7 @@ int drm_dp_mst_add_affected_dsc_crtcs(struct drm_atomic_state *state, struct drm
 	mst_state = drm_atomic_get_mst_topology_state(state, mgr);
 
 	if (IS_ERR(mst_state))
-		return -EINVAL;
+		return PTR_ERR(mst_state);
 
 	list_for_each_entry(pos, &mst_state->vcpis, next) {
 
drivers/gpu/drm/drm_panel_orientation_quirks.c +12 -0
index 8a0c0e0bb5bd..52d8800a8ab8 100644
@@ -134,6 +134,12 @@ static const struct dmi_system_id orientation_data[] = {
 		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
 		},
 		.driver_data = (void *)&lcd800x1280_rightside_up,
+	}, {	/* Acer Switch V 10 (SW5-017) */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"),
+		},
+		.driver_data = (void *)&lcd800x1280_rightside_up,
 	}, {	/* Anbernic Win600 */
 		.matches = {
 		  DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Anbernic"),
@@ -319,6 +325,12 @@ static const struct dmi_system_id orientation_data[] = {
 		 DMI_MATCH(DMI_BIOS_VERSION, "BLADE_21"),
 		},
 		.driver_data = (void *)&lcd1200x1920_rightside_up,
+	}, {	/* Nanote UMPC-01 */
+		.matches = {
+		 DMI_MATCH(DMI_SYS_VENDOR, "RWC CO.,LTD"),
+		 DMI_MATCH(DMI_PRODUCT_NAME, "UMPC-01"),
+		},
+		.driver_data = (void *)&lcd1200x1920_rightside_up,
 	}, {	/* OneGX1 Pro */
 		.matches = {
 		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SYSTEM_MANUFACTURER"),
drivers/gpu/drm/i915/display/intel_display_power.c +4 -4
index 589af257edeb..3bb113b42cfa 100644
@@ -2427,7 +2427,7 @@ intel_display_power_ddi_io_domain(struct drm_i915_private *i915, enum port port)
 {
 	const struct intel_ddi_port_domains *domains = intel_port_domains_for_port(i915, port);
 
-	if (drm_WARN_ON(&i915->drm, !domains) || domains->ddi_io == POWER_DOMAIN_INVALID)
+	if (drm_WARN_ON(&i915->drm, !domains || domains->ddi_io == POWER_DOMAIN_INVALID))
 		return POWER_DOMAIN_PORT_DDI_IO_A;
 
 	return domains->ddi_io + (int)(port - domains->port_start);
@@ -2438,7 +2438,7 @@ intel_display_power_ddi_lanes_domain(struct drm_i915_private *i915, enum port po
 {
 	const struct intel_ddi_port_domains *domains = intel_port_domains_for_port(i915, port);
 
-	if (drm_WARN_ON(&i915->drm, !domains) || domains->ddi_lanes == POWER_DOMAIN_INVALID)
+	if (drm_WARN_ON(&i915->drm, !domains || domains->ddi_lanes == POWER_DOMAIN_INVALID))
 		return POWER_DOMAIN_PORT_DDI_LANES_A;
 
 	return domains->ddi_lanes + (int)(port - domains->port_start);
@@ -2464,7 +2464,7 @@ intel_display_power_legacy_aux_domain(struct drm_i915_private *i915, enum aux_ch
 {
 	const struct intel_ddi_port_domains *domains = intel_port_domains_for_aux_ch(i915, aux_ch);
 
-	if (drm_WARN_ON(&i915->drm, !domains) || domains->aux_legacy_usbc == POWER_DOMAIN_INVALID)
+	if (drm_WARN_ON(&i915->drm, !domains || domains->aux_legacy_usbc == POWER_DOMAIN_INVALID))
 		return POWER_DOMAIN_AUX_A;
 
 	return domains->aux_legacy_usbc + (int)(aux_ch - domains->aux_ch_start);
@@ -2475,7 +2475,7 @@ intel_display_power_tbt_aux_domain(struct drm_i915_private *i915, enum aux_ch au
 {
 	const struct intel_ddi_port_domains *domains = intel_port_domains_for_aux_ch(i915, aux_ch);
 
-	if (drm_WARN_ON(&i915->drm, !domains) || domains->aux_tbt == POWER_DOMAIN_INVALID)
+	if (drm_WARN_ON(&i915->drm, !domains || domains->aux_tbt == POWER_DOMAIN_INVALID))
 		return POWER_DOMAIN_AUX_TBT1;
 
 	return domains->aux_tbt + (int)(aux_ch - domains->aux_ch_start);
drivers/gpu/drm/i915/gem/i915_gem_ttm.c +4 -0
index e85cfc36359a..f5a803060515 100644
@@ -642,6 +642,10 @@ static int i915_ttm_truncate(struct drm_i915_gem_object *obj)
 
 	WARN_ON_ONCE(obj->mm.madv == I915_MADV_WILLNEED);
 
+	err = ttm_bo_wait(bo, true, false);
+	if (err)
+		return err;
+
 	err = i915_ttm_move_notify(bo);
 	if (err)
 		return err;
drivers/gpu/drm/i915/gt/intel_gt.c +5 -0
index f435e06125aa..f158f6a08e75 100644
@@ -961,6 +961,11 @@ static void mmio_invalidate_full(struct intel_gt *gt)
 		if (!i915_mmio_reg_offset(rb.reg))
 			continue;
 
+		if (GRAPHICS_VER(i915) == 12 && (engine->class == VIDEO_DECODE_CLASS ||
+		    engine->class == VIDEO_ENHANCEMENT_CLASS ||
+		    engine->class == COMPUTE_CLASS))
+			rb.bit = _MASKED_BIT_ENABLE(rb.bit);
+
 		intel_uncore_write_fw(uncore, rb.reg, rb.bit);
 		awake |= engine->mask;
 	}
drivers/gpu/drm/i915/gvt/kvmgt.c +1 -2
index de89946c4817..f671ae5a3b7b 100644
@@ -765,8 +765,6 @@ static int intel_vgpu_open_device(struct vfio_device *vfio_dev)
 		return -ESRCH;
 	}
 
-	kvm_get_kvm(vgpu->vfio_device.kvm);
-
 	if (__kvmgt_vgpu_exist(vgpu))
 		return -EEXIST;
 
@@ -777,6 +775,7 @@ static int intel_vgpu_open_device(struct vfio_device *vfio_dev)
 
 	vgpu->track_node.track_write = kvmgt_page_track_write;
 	vgpu->track_node.track_flush_slot = kvmgt_page_track_flush_slot;
+	kvm_get_kvm(vgpu->vfio_device.kvm);
 	kvm_page_track_register_notifier(vgpu->vfio_device.kvm,
 					 &vgpu->track_node);
 
drivers/gpu/drm/tegra/drm.c +4 -0
index 6748ec1e0005..a1f909dac89a 100644
@@ -1093,6 +1093,10 @@ static bool host1x_drm_wants_iommu(struct host1x_device *dev)
 	struct host1x *host1x = dev_get_drvdata(dev->dev.parent);
 	struct iommu_domain *domain;
 
+	/* Our IOMMU usage policy doesn't currently play well with GART */
+	if (of_machine_is_compatible("nvidia,tegra20"))
+		return false;
+
 	/*
 	 * If the Tegra DRM clients are backed by an IOMMU, push buffers are
 	 * likely to be allocated beyond the 32-bit boundary if sufficient
drivers/gpu/host1x/dev.c +4 -0
index 0cd3f97e7e49..f60ea24db0ec 100644
@@ -292,6 +292,10 @@ static void host1x_setup_virtualization_tables(struct host1x *host)
 
 static bool host1x_wants_iommu(struct host1x *host1x)
 {
+	/* Our IOMMU usage policy doesn't currently play well with GART */
+	if (of_machine_is_compatible("nvidia,tegra20"))
+		return false;
+
 	/*
 	 * If we support addressing a maximum of 32 bits of physical memory
 	 * and if the host1x firewall is enabled, there's no need to enable
drivers/hv/channel_mgmt.c +5 -1
index 5b120402d405..cc23b90cae02 100644
@@ -533,13 +533,17 @@ static void vmbus_add_channel_work(struct work_struct *work)
 	 * Add the new device to the bus. This will kick off device-driver
 	 * binding which eventually invokes the device driver's AddDevice()
 	 * method.
+	 *
+	 * If vmbus_device_register() fails, the 'device_obj' is freed in
+	 * vmbus_device_release() as called by device_unregister() in the
+	 * error path of vmbus_device_register(). In the outside error
+	 * path, there's no need to free it.
 	 */
 	ret = vmbus_device_register(newchannel->device_obj);
 
 	if (ret != 0) {
 		pr_err("unable to add child device object (relid %d)\n",
 			newchannel->offermsg.child_relid);
-		kfree(newchannel->device_obj);
 		goto err_deq_chan;
 	}
 
drivers/hv/vmbus_drv.c +1 -0
index 3c833ea60db6..939ccf921e71 100644
@@ -2083,6 +2083,7 @@ int vmbus_device_register(struct hv_device *child_device_obj)
 	ret = device_register(&child_device_obj->device);
 	if (ret) {
 		pr_err("Unable to register child device\n");
+		put_device(&child_device_obj->device);
 		return ret;
 	}
 
drivers/iio/accel/bma400_core.c +3 -1
index 29c9fa99c2bd..dea438b9eb9e 100644
@@ -673,8 +673,10 @@ static int bma400_get_steps_reg(struct bma400_data *data, int *val)
 
 	ret = regmap_bulk_read(data->regmap, BMA400_STEP_CNT0_REG,
 			       steps_raw, BMA400_STEP_RAW_LEN);
-	if (ret)
+	if (ret) {
+		kfree(steps_raw);
 		return ret;
+	}
 	*val = get_unaligned_le24(steps_raw);
 	kfree(steps_raw);
 	return IIO_VAL_INT;
drivers/iio/adc/aspeed_adc.c +5 -6
index 9341e0e0eb55..998e8bcc06e1 100644
@@ -202,6 +202,8 @@ static int aspeed_adc_set_trim_data(struct iio_dev *indio_dev)
 				((scu_otp) &
 				 (data->model_data->trim_locate->field)) >>
 				__ffs(data->model_data->trim_locate->field);
+			if (!trimming_val)
+				trimming_val = 0x8;
 		}
 		dev_dbg(data->dev,
 			"trimming val = %d, offset = %08x, fields = %08x\n",
@@ -563,12 +565,9 @@ static int aspeed_adc_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	if (of_find_property(data->dev->of_node, "aspeed,trim-data-valid",
-			     NULL)) {
-		ret = aspeed_adc_set_trim_data(indio_dev);
-		if (ret)
-			return ret;
-	}
+	ret = aspeed_adc_set_trim_data(indio_dev);
+	if (ret)
+		return ret;
 
 	if (of_find_property(data->dev->of_node, "aspeed,battery-sensing",
 			     NULL)) {
drivers/iio/industrialio-sw-trigger.c +5 -1
index 994f03a71520..d86a3305d9e8 100644
@@ -58,8 +58,12 @@ int iio_register_sw_trigger_type(struct iio_sw_trigger_type *t)
 
 	t->group = configfs_register_default_group(iio_triggers_group, t->name,
 						&iio_trigger_type_group_type);
-	if (IS_ERR(t->group))
+	if (IS_ERR(t->group)) {
+		mutex_lock(&iio_trigger_types_lock);
+		list_del(&t->list);
+		mutex_unlock(&iio_trigger_types_lock);
 		ret = PTR_ERR(t->group);
+	}
 
 	return ret;
 }
drivers/iio/light/apds9960.c +6 -6
index 09b831f9f40b..795224a38bef 100644
@@ -54,9 +54,6 @@
 #define APDS9960_REG_CONTROL_PGAIN_MASK_SHIFT	2
 
 #define APDS9960_REG_CONFIG_2	0x90
-#define APDS9960_REG_CONFIG_2_GGAIN_MASK	0x60
-#define APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT	5
-
 #define APDS9960_REG_ID		0x92
 
 #define APDS9960_REG_STATUS	0x93
@@ -77,6 +74,9 @@
 #define APDS9960_REG_GCONF_1_GFIFO_THRES_MASK_SHIFT	6
 
 #define APDS9960_REG_GCONF_2	0xa3
+#define APDS9960_REG_GCONF_2_GGAIN_MASK			0x60
+#define APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT		5
+
 #define APDS9960_REG_GOFFSET_U	0xa4
 #define APDS9960_REG_GOFFSET_D	0xa5
 #define APDS9960_REG_GPULSE	0xa6
@@ -396,9 +396,9 @@ static int apds9960_set_pxs_gain(struct apds9960_data *data, int val)
 			}
 
 			ret = regmap_update_bits(data->regmap,
-				APDS9960_REG_CONFIG_2,
-				APDS9960_REG_CONFIG_2_GGAIN_MASK,
-				idx << APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT);
+				APDS9960_REG_GCONF_2,
+				APDS9960_REG_GCONF_2_GGAIN_MASK,
+				idx << APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT);
 			if (!ret)
 				data->pxs_gain = idx;
 			mutex_unlock(&data->lock);
drivers/input/misc/soc_button_array.c +13 -1
index 480476121c01..09489380afda 100644
@@ -18,6 +18,10 @@
 #include <linux/gpio.h>
 #include <linux/platform_device.h>
 
+static bool use_low_level_irq;
+module_param(use_low_level_irq, bool, 0444);
+MODULE_PARM_DESC(use_low_level_irq, "Use low-level triggered IRQ instead of edge triggered");
+
 struct soc_button_info {
 	const char *name;
 	int acpi_index;
@@ -73,6 +77,13 @@ static const struct dmi_system_id dmi_use_low_level_irq[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW5-012"),
 		},
 	},
+	{
+		/* Acer Switch V 10 SW5-017, same issue as Acer Switch 10 SW5-012. */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "SW5-017"),
+		},
+	},
 	{
 		/*
 		 * Acer One S1003. _LID method messes with power-button GPIO
@@ -164,7 +175,8 @@ soc_button_device_create(struct platform_device *pdev,
 		}
 
 		/* See dmi_use_low_level_irq[] comment */
-		if (!autorepeat && dmi_check_system(dmi_use_low_level_irq)) {
+		if (!autorepeat && (use_low_level_irq ||
+				    dmi_check_system(dmi_use_low_level_irq))) {
 			irq_set_irq_type(irq, IRQ_TYPE_LEVEL_LOW);
 			gpio_keys[n_buttons].irq = irq;
 			gpio_keys[n_buttons].gpio = -ENOENT;
drivers/input/mouse/synaptics.c +1 -0
index ffad142801b3..973a4c1d5d09 100644
@@ -191,6 +191,7 @@ static const char * const smbus_pnp_ids[] = {
 	"SYN3221", /* HP 15-ay000 */
 	"SYN323d", /* HP Spectre X360 13-w013dx */
 	"SYN3257", /* HP Envy 13-ad105ng */
+	"SYN3286", /* HP Laptop 15-da3001TU */
 	NULL
 };
 
drivers/input/serio/i8042-x86ia64io.h +4 -4
index 4fbec7bbecca..5043dc7b8fb3 100644
@@ -114,18 +114,18 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
 		.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_NEVER)
 	},
 	{
-		/* ASUS ZenBook UX425UA */
+		/* ASUS ZenBook UX425UA/QA */
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
-			DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425UA"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425"),
 		},
 		.driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER)
 	},
 	{
-		/* ASUS ZenBook UM325UA */
+		/* ASUS ZenBook UM325UA/QA */
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
-			DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UA_UM325UA"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325"),
 		},
 		.driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER)
 	},
drivers/input/touchscreen/goodix.c +11 -0
index 21c0dddbe41d..25e6ba132bbc 100644
@@ -1158,6 +1158,7 @@ static int goodix_configure_dev(struct goodix_ts_data *ts)
 	input_set_abs_params(ts->input_dev, ABS_MT_WIDTH_MAJOR, 0, 255, 0, 0);
 	input_set_abs_params(ts->input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
 
+retry_read_config:
 	/* Read configuration and apply touchscreen parameters */
 	goodix_read_config(ts);
 
@@ -1165,6 +1166,16 @@ static int goodix_configure_dev(struct goodix_ts_data *ts)
 	touchscreen_parse_properties(ts->input_dev, true, &ts->prop);
 
 	if (!ts->prop.max_x || !ts->prop.max_y || !ts->max_touch_num) {
+		if (!ts->reset_controller_at_probe &&
+		    ts->irq_pin_access_method != IRQ_PIN_ACCESS_NONE) {
+			dev_info(&ts->client->dev, "Config not set, resetting controller\n");
+			/* Retry after a controller reset */
+			ts->reset_controller_at_probe = true;
+			error = goodix_reset(ts);
+			if (error)
+				return error;
+			goto retry_read_config;
+		}
 		dev_err(&ts->client->dev,
 			"Invalid config (%d, %d, %d), using defaults\n",
 			ts->prop.max_x, ts->prop.max_y, ts->max_touch_num);
drivers/md/dm-integrity.c +15 -6
index aaf2472df6e5..e97e9f97456d 100644
@@ -263,6 +263,7 @@ struct dm_integrity_c {
 
 	struct completion crypto_backoff;
 
+	bool wrote_to_journal;
 	bool journal_uptodate;
 	bool just_formatted;
 	bool recalculate_flag;
@@ -2375,6 +2376,8 @@ static void integrity_commit(struct work_struct *w)
 	if (!commit_sections)
 		goto release_flush_bios;
 
+	ic->wrote_to_journal = true;
+
 	i = commit_start;
 	for (n = 0; n < commit_sections; n++) {
 		for (j = 0; j < ic->journal_section_entries; j++) {
@@ -2591,10 +2594,6 @@ static void integrity_writer(struct work_struct *w)
 
 	unsigned prev_free_sectors;
 
-	/* the following test is not needed, but it tests the replay code */
-	if (unlikely(dm_post_suspending(ic->ti)) && !ic->meta_dev)
-		return;
-
 	spin_lock_irq(&ic->endio_wait.lock);
 	write_start = ic->committed_section;
 	write_sections = ic->n_committed_sections;
@@ -3101,10 +3100,17 @@ static void dm_integrity_postsuspend(struct dm_target *ti)
 	drain_workqueue(ic->commit_wq);
 
 	if (ic->mode == 'J') {
-		if (ic->meta_dev)
-			queue_work(ic->writer_wq, &ic->writer_work);
+		queue_work(ic->writer_wq, &ic->writer_work);
 		drain_workqueue(ic->writer_wq);
 		dm_integrity_flush_buffers(ic, true);
+		if (ic->wrote_to_journal) {
+			init_journal(ic, ic->free_section,
+				     ic->journal_sections - ic->free_section, ic->commit_seq);
+			if (ic->free_section) {
+				init_journal(ic, 0, ic->free_section,
+					     next_commit_seq(ic->commit_seq));
+			}
+		}
 	}
 
 	if (ic->mode == 'B') {
@@ -3132,6 +3138,8 @@ static void dm_integrity_resume(struct dm_target *ti)
 
 	DEBUG_print("resume\n");
 
+	ic->wrote_to_journal = false;
+
 	if (ic->provided_data_sectors != old_provided_data_sectors) {
 		if (ic->provided_data_sectors > old_provided_data_sectors &&
 		    ic->mode == 'B' &&
@@ -3370,6 +3378,7 @@ static void dm_integrity_io_hints(struct dm_target *ti, struct queue_limits *lim
 		limits->logical_block_size = ic->sectors_per_block << SECTOR_SHIFT;
 		limits->physical_block_size = ic->sectors_per_block << SECTOR_SHIFT;
 		blk_limits_io_min(limits, ic->sectors_per_block << SECTOR_SHIFT);
+		limits->dma_alignment = limits->logical_block_size - 1;
 	}
 }
 
drivers/md/dm-log-writes.c +1 -0
index 20fd688f72e7..178e13a5b059 100644
@@ -875,6 +875,7 @@ static void log_writes_io_hints(struct dm_target *ti, struct queue_limits *limit
 	limits->logical_block_size = bdev_logical_block_size(lc->dev->bdev);
 	limits->physical_block_size = bdev_physical_block_size(lc->dev->bdev);
 	limits->io_min = limits->physical_block_size;
+	limits->dma_alignment = limits->logical_block_size - 1;
 }
 
 #if IS_ENABLED(CONFIG_FS_DAX)
drivers/net/arcnet/com20020_cs.c +9 -2
index 24150c933fcb..dc3253b318da 100644
@@ -113,6 +113,7 @@ static int com20020_probe(struct pcmcia_device *p_dev)
 	struct com20020_dev *info;
 	struct net_device *dev;
 	struct arcnet_local *lp;
+	int ret = -ENOMEM;
 
 	dev_dbg(&p_dev->dev, "com20020_attach()\n");
 
@@ -142,12 +143,18 @@ static int com20020_probe(struct pcmcia_device *p_dev)
 	info->dev = dev;
 	p_dev->priv = info;
 
-	return com20020_config(p_dev);
+	ret = com20020_config(p_dev);
+	if (ret)
+		goto fail_config;
+
+	return 0;
 
+fail_config:
+	free_arcdev(dev);
 fail_alloc_dev:
 	kfree(info);
 fail_alloc_info:
-	return -ENOMEM;
+	return ret;
 } /* com20020_attach */
 
 static void com20020_detach(struct pcmcia_device *link)
drivers/net/bonding/bond_main.c +12 -5
index 86d42306aa5e..76dd5ff1d99d 100644
@@ -3231,16 +3231,23 @@ static int bond_na_rcv(const struct sk_buff *skb, struct bonding *bond,
 		       struct slave *slave)
 {
 	struct slave *curr_active_slave, *curr_arp_slave;
-	struct icmp6hdr *hdr = icmp6_hdr(skb);
 	struct in6_addr *saddr, *daddr;
+	struct {
+		struct ipv6hdr ip6;
+		struct icmp6hdr icmp6;
+	} *combined, _combined;
 
 	if (skb->pkt_type == PACKET_OTHERHOST ||
-	    skb->pkt_type == PACKET_LOOPBACK ||
-	    hdr->icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT)
+	    skb->pkt_type == PACKET_LOOPBACK)
+		goto out;
+
+	combined = skb_header_pointer(skb, 0, sizeof(_combined), &_combined);
+	if (!combined || combined->ip6.nexthdr != NEXTHDR_ICMP ||
+	    combined->icmp6.icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT)
 		goto out;
 
-	saddr = &ipv6_hdr(skb)->saddr;
-	daddr = &ipv6_hdr(skb)->daddr;
+	saddr = &combined->ip6.saddr;
+	daddr = &combined->ip6.saddr;
 
 	slave_dbg(bond->dev, slave->dev, "%s: %s/%d av %d sv %d sip %pI6c tip %pI6c\n",
 		  __func__, slave->dev->name, bond_slave_state(slave),
drivers/net/can/usb/gs_usb.c +6 -33
index cd4115a1b81c..0deac073d9cf 100644
@@ -268,8 +268,6 @@ struct gs_can {
 
 	struct usb_anchor tx_submitted;
 	atomic_t active_tx_urbs;
-	void *rxbuf[GS_MAX_RX_URBS];
-	dma_addr_t rxbuf_dma[GS_MAX_RX_URBS];
 };
 
 /* usb interface struct */
@@ -587,9 +585,6 @@ static void gs_usb_xmit_callback(struct urb *urb)
 
 	if (urb->status)
 		netdev_info(netdev, "usb xmit fail %u\n", txc->echo_id);
-
-	usb_free_coherent(urb->dev, urb->transfer_buffer_length,
-			  urb->transfer_buffer, urb->transfer_dma);
 }
 
 static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb,
@@ -618,8 +613,7 @@ static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb,
 	if (!urb)
 		goto nomem_urb;
 
-	hf = usb_alloc_coherent(dev->udev, dev->hf_size_tx, GFP_ATOMIC,
-				&urb->transfer_dma);
+	hf = kmalloc(dev->hf_size_tx, GFP_ATOMIC);
 	if (!hf) {
 		netdev_err(netdev, "No memory left for USB buffer\n");
 		goto nomem_hf;
@@ -663,7 +657,7 @@ static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb,
 			  hf, dev->hf_size_tx,
 			  gs_usb_xmit_callback, txc);
 
-	urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+	urb->transfer_flags |= URB_FREE_BUFFER;
 	usb_anchor_urb(urb, &dev->tx_submitted);
 
 	can_put_echo_skb(skb, netdev, idx, 0);
@@ -678,8 +672,6 @@ static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb,
 		gs_free_tx_context(txc);
 
 		usb_unanchor_urb(urb);
-		usb_free_coherent(dev->udev, urb->transfer_buffer_length,
-				  urb->transfer_buffer, urb->transfer_dma);
 
 		if (rc == -ENODEV) {
 			netif_device_detach(netdev);
@@ -699,8 +691,7 @@ static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb,
 	return NETDEV_TX_OK;
 
  badidx:
-	usb_free_coherent(dev->udev, urb->transfer_buffer_length,
-			  urb->transfer_buffer, urb->transfer_dma);
+	kfree(hf);
  nomem_hf:
 	usb_free_urb(urb);
 
@@ -744,7 +735,6 @@ static int gs_can_open(struct net_device *netdev)
 		for (i = 0; i < GS_MAX_RX_URBS; i++) {
 			struct urb *urb;
 			u8 *buf;
-			dma_addr_t buf_dma;
 
 			/* alloc rx urb */
 			urb = usb_alloc_urb(0, GFP_KERNEL);
@@ -752,10 +742,8 @@ static int gs_can_open(struct net_device *netdev)
 				return -ENOMEM;
 
 			/* alloc rx buffer */
-			buf = usb_alloc_coherent(dev->udev,
-						 dev->parent->hf_size_rx,
-						 GFP_KERNEL,
-						 &buf_dma);
+			buf = kmalloc(dev->parent->hf_size_rx,
+				      GFP_KERNEL);
 			if (!buf) {
 				netdev_err(netdev,
 					   "No memory left for USB buffer\n");
@@ -763,8 +751,6 @@ static int gs_can_open(struct net_device *netdev)
 				return -ENOMEM;
 			}
 
-			urb->transfer_dma = buf_dma;
-
 			/* fill, anchor, and submit rx urb */
 			usb_fill_bulk_urb(urb,
 					  dev->udev,
@@ -773,7 +759,7 @@ static int gs_can_open(struct net_device *netdev)
 					  buf,
 					  dev->parent->hf_size_rx,
 					  gs_usb_receive_bulk_callback, parent);
-			urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+			urb->transfer_flags |= URB_FREE_BUFFER;
 
 			usb_anchor_urb(urb, &parent->rx_submitted);
 
@@ -786,17 +772,10 @@ static int gs_can_open(struct net_device *netdev)
 					   "usb_submit failed (err=%d)\n", rc);
 
 				usb_unanchor_urb(urb);
-				usb_free_coherent(dev->udev,
-						  sizeof(struct gs_host_frame),
-						  buf,
-						  buf_dma);
 				usb_free_urb(urb);
 				break;
 			}
 
-			dev->rxbuf[i] = buf;
-			dev->rxbuf_dma[i] = buf_dma;
-
 			/* Drop reference,
 			 * USB core will take care of freeing it
 			 */
@@ -854,7 +833,6 @@ static int gs_can_close(struct net_device *netdev)
 	int rc;
 	struct gs_can *dev = netdev_priv(netdev);
 	struct gs_usb *parent = dev->parent;
-	unsigned int i;
 
 	netif_stop_queue(netdev);
 
@@ -862,11 +840,6 @@ static int gs_can_close(struct net_device *netdev)
 	parent->active_channels--;
 	if (!parent->active_channels) {
 		usb_kill_anchored_urbs(&parent->rx_submitted);
-		for (i = 0; i < GS_MAX_RX_URBS; i++)
-			usb_free_coherent(dev->udev,
-					  sizeof(struct gs_host_frame),
-					  dev->rxbuf[i],
-					  dev->rxbuf_dma[i]);
 	}
 
 	/* Stop sending URBs */
drivers/net/dsa/sja1105/sja1105_mdio.c +6 -0
index 215dd17ca790..4059fcc8c832 100644
@@ -256,6 +256,9 @@ static int sja1105_base_tx_mdio_read(struct mii_bus *bus, int phy, int reg)
 	u32 tmp;
 	int rc;
 
+	if (reg & MII_ADDR_C45)
+		return -EOPNOTSUPP;
+
 	rc = sja1105_xfer_u32(priv, SPI_READ, regs->mdio_100base_tx + reg,
 			      &tmp, NULL);
 	if (rc < 0)
@@ -272,6 +275,9 @@ static int sja1105_base_tx_mdio_write(struct mii_bus *bus, int phy, int reg,
 	const struct sja1105_regs *regs = priv->info->regs;
 	u32 tmp = val;
 
+	if (reg & MII_ADDR_C45)
+		return -EOPNOTSUPP;
+
 	return sja1105_xfer_u32(priv, SPI_WRITE, regs->mdio_100base_tx + reg,
 				&tmp, NULL);
 }
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +8 -4
index 11d15cd03600..77d4cb4ad782 100644
@@ -795,16 +795,20 @@ static void bnx2x_vf_enable_traffic(struct bnx2x *bp, struct bnx2x_virtf *vf)
 
 static u8 bnx2x_vf_is_pcie_pending(struct bnx2x *bp, u8 abs_vfid)
 {
-	struct pci_dev *dev;
 	struct bnx2x_virtf *vf = bnx2x_vf_by_abs_fid(bp, abs_vfid);
+	struct pci_dev *dev;
+	bool pending;
 
 	if (!vf)
 		return false;
 
 	dev = pci_get_domain_bus_and_slot(vf->domain, vf->bus, vf->devfn);
-	if (dev)
-		return bnx2x_is_pcie_pending(dev);
-	return false;
+	if (!dev)
+		return false;
+	pending = bnx2x_is_pcie_pending(dev);
+	pci_dev_put(dev);
+
+	return pending;
 }
 
 int bnx2x_vf_flr_clnup_epilog(struct bnx2x *bp, u8 abs_vfid)
drivers/net/ethernet/cavium/liquidio/lio_main.c +2 -2
index bf6a72143040..1e5dc0ea0e31 100644
@@ -1799,7 +1799,7 @@ static int liquidio_open(struct net_device *netdev)
 
 	ifstate_set(lio, LIO_IFSTATE_RUNNING);
 
-	if (!OCTEON_CN23XX_PF(oct) || (OCTEON_CN23XX_PF(oct) && !oct->msix_on)) {
+	if (!OCTEON_CN23XX_PF(oct) || !oct->msix_on) {
 		ret = setup_tx_poll_fn(netdev);
 		if (ret)
 			goto err_poll;
@@ -1829,7 +1829,7 @@ static int liquidio_open(struct net_device *netdev)
 	return 0;
 
 err_rx_ctrl:
-	if (!OCTEON_CN23XX_PF(oct) || (OCTEON_CN23XX_PF(oct) && !oct->msix_on))
+	if (!OCTEON_CN23XX_PF(oct) || !oct->msix_on)
 		cleanup_tx_poll_fn(netdev);
 err_poll:
 	if (lio->ptp_clock) {
drivers/net/ethernet/cavium/thunder/thunder_bgx.c +3 -1
index 2f6484dc186a..7eb2ddbe9bad 100644
@@ -1436,8 +1436,10 @@ static acpi_status bgx_acpi_match_id(acpi_handle handle, u32 lvl,
 		return AE_OK;
 	}
 
-	if (strncmp(string.pointer, bgx_sel, 4))
+	if (strncmp(string.pointer, bgx_sel, 4)) {
+		kfree(string.pointer);
 		return AE_OK;
+	}
 
 	acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 1,
 			    bgx_acpi_register_phy, NULL, bgx, NULL);
drivers/net/ethernet/davicom/dm9051.c +3 -1
index a523ddda7609..de7105a84747 100644
@@ -798,8 +798,10 @@ static int dm9051_loop_rx(struct board_info *db)
 		}
 
 		ret = dm9051_stop_mrcmd(db);
-		if (ret)
+		if (ret) {
+			dev_kfree_skb(skb);
 			return ret;
+		}
 
 		skb->protocol = eth_type_trans(skb, db->ndev);
 		if (db->ndev->features & NETIF_F_RXCSUM)
drivers/net/ethernet/engleder/tsnep_main.c +56 -1

83 lines not on this page · raw message

drivers/net/ethernet/freescale/enetc/enetc.c +20 -12
index d0fd3045ce11..1d8ec1b120a1 100644
@@ -2058,7 +2058,7 @@ static void enetc_setup_txbdr(struct enetc_hw *hw, struct enetc_bdr *tx_ring)
 	/* enable Tx ints by setting pkt thr to 1 */
 	enetc_txbdr_wr(hw, idx, ENETC_TBICR0, ENETC_TBICR0_ICEN | 0x1);
 
-	tbmr = ENETC_TBMR_EN;
+	tbmr = ENETC_TBMR_EN | ENETC_TBMR_SET_PRIO(tx_ring->prio);
 	if (tx_ring->ndev->features & NETIF_F_HW_VLAN_CTAG_TX)
 		tbmr |= ENETC_TBMR_VIH;
 
@@ -2121,13 +2121,14 @@ static void enetc_setup_rxbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring)
 
 static void enetc_setup_bdrs(struct enetc_ndev_priv *priv)
 {
+	struct enetc_hw *hw = &priv->si->hw;
 	int i;
 
 	for (i = 0; i < priv->num_tx_rings; i++)
-		enetc_setup_txbdr(&priv->si->hw, priv->tx_ring[i]);
+		enetc_setup_txbdr(hw, priv->tx_ring[i]);
 
 	for (i = 0; i < priv->num_rx_rings; i++)
-		enetc_setup_rxbdr(&priv->si->hw, priv->rx_ring[i]);
+		enetc_setup_rxbdr(hw, priv->rx_ring[i]);
 }
 
 static void enetc_clear_rxbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring)
@@ -2160,13 +2161,14 @@ static void enetc_clear_txbdr(struct enetc_hw *hw, struct enetc_bdr *tx_ring)
 
 static void enetc_clear_bdrs(struct enetc_ndev_priv *priv)
 {
+	struct enetc_hw *hw = &priv->si->hw;
 	int i;
 
 	for (i = 0; i < priv->num_tx_rings; i++)
-		enetc_clear_txbdr(&priv->si->hw, priv->tx_ring[i]);
+		enetc_clear_txbdr(hw, priv->tx_ring[i]);
 
 	for (i = 0; i < priv->num_rx_rings; i++)
-		enetc_clear_rxbdr(&priv->si->hw, priv->rx_ring[i]);
+		enetc_clear_rxbdr(hw, priv->rx_ring[i]);
 
 	udelay(1);
 }
@@ -2174,13 +2176,13 @@ static void enetc_clear_bdrs(struct enetc_ndev_priv *priv)
 static int enetc_setup_irqs(struct enetc_ndev_priv *priv)
 {
 	struct pci_dev *pdev = priv->si->pdev;
+	struct enetc_hw *hw = &priv->si->hw;
 	int i, j, err;
 
 	for (i = 0; i < priv->bdr_int_num; i++) {
 		int irq = pci_irq_vector(pdev, ENETC_BDR_INT_BASE_IDX + i);
 		struct enetc_int_vector *v = priv->int_vector[i];
 		int entry = ENETC_BDR_INT_BASE_IDX + i;
-		struct enetc_hw *hw = &priv->si->hw;
 
 		snprintf(v->name, sizeof(v->name), "%s-rxtx%d",
 			 priv->ndev->name, i);
@@ -2268,13 +2270,14 @@ static void enetc_setup_interrupts(struct enetc_ndev_priv *priv)
 
 static void enetc_clear_interrupts(struct enetc_ndev_priv *priv)
 {
+	struct enetc_hw *hw = &priv->si->hw;
 	int i;
 
 	for (i = 0; i < priv->num_tx_rings; i++)
-		enetc_txbdr_wr(&priv->si->hw, i, ENETC_TBIER, 0);
+		enetc_txbdr_wr(hw, i, ENETC_TBIER, 0);
 
 	for (i = 0; i < priv->num_rx_rings; i++)
-		enetc_rxbdr_wr(&priv->si->hw, i, ENETC_RBIER, 0);
+		enetc_rxbdr_wr(hw, i, ENETC_RBIER, 0);
 }
 
 static int enetc_phylink_connect(struct net_device *ndev)
@@ -2441,6 +2444,7 @@ int enetc_setup_tc_mqprio(struct net_device *ndev, void *type_data)
 {
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
 	struct tc_mqprio_qopt *mqprio = type_data;
+	struct enetc_hw *hw = &priv->si->hw;
 	struct enetc_bdr *tx_ring;
 	int num_stack_tx_queues;
 	u8 num_tc;
@@ -2457,7 +2461,8 @@ int enetc_setup_tc_mqprio(struct net_device *ndev, void *type_data)
 		/* Reset all ring priorities to 0 */
 		for (i = 0; i < priv->num_tx_rings; i++) {
 			tx_ring = priv->tx_ring[i];
-			enetc_set_bdr_prio(&priv->si->hw, tx_ring->index, 0);
+			tx_ring->prio = 0;
+			enetc_set_bdr_prio(hw, tx_ring->index, tx_ring->prio);
 		}
 
 		return 0;
@@ -2476,7 +2481,8 @@ int enetc_setup_tc_mqprio(struct net_device *ndev, void *type_data)
 	 */
 	for (i = 0; i < num_tc; i++) {
 		tx_ring = priv->tx_ring[i];
-		enetc_set_bdr_prio(&priv->si->hw, tx_ring->index, i);
+		tx_ring->prio = i;
+		enetc_set_bdr_prio(hw, tx_ring->index, tx_ring->prio);
 	}
 
 	/* Reset the number of netdev queues based on the TC count */
@@ -2589,19 +2595,21 @@ static int enetc_set_rss(struct net_device *ndev, int en)
 static void enetc_enable_rxvlan(struct net_device *ndev, bool en)
 {
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
+	struct enetc_hw *hw = &priv->si->hw;
 	int i;
 
 	for (i = 0; i < priv->num_rx_rings; i++)
-		enetc_bdr_enable_rxvlan(&priv->si->hw, i, en);
+		enetc_bdr_enable_rxvlan(hw, i, en);
 }
 
 static void enetc_enable_txvlan(struct net_device *ndev, bool en)
 {
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
+	struct enetc_hw *hw = &priv->si->hw;
 	int i;
 
 	for (i = 0; i < priv->num_tx_rings; i++)
-		enetc_bdr_enable_txvlan(&priv->si->hw, i, en);
+		enetc_bdr_enable_txvlan(hw, i, en);
 }
 
 void enetc_set_features(struct net_device *ndev, netdev_features_t features)
drivers/net/ethernet/freescale/enetc/enetc.h +6 -4
index 2cfe6944ebd3..bb1b3b0e40e4 100644
@@ -95,6 +95,7 @@ struct enetc_bdr {
 		void __iomem *rcir;
 	};
 	u16 index;
+	u16 prio;
 	int bd_count; /* # of BDs */
 	int next_to_use;
 	int next_to_clean;
@@ -467,19 +468,20 @@ int enetc_set_psfp(struct net_device *ndev, bool en);
 
 static inline void enetc_get_max_cap(struct enetc_ndev_priv *priv)
 {
+	struct enetc_hw *hw = &priv->si->hw;
 	u32 reg;
 
-	reg = enetc_port_rd(&priv->si->hw, ENETC_PSIDCAPR);
+	reg = enetc_port_rd(hw, ENETC_PSIDCAPR);
 	priv->psfp_cap.max_streamid = reg & ENETC_PSIDCAPR_MSK;
 	/* Port stream filter capability */
-	reg = enetc_port_rd(&priv->si->hw, ENETC_PSFCAPR);
+	reg = enetc_port_rd(hw, ENETC_PSFCAPR);
 	priv->psfp_cap.max_psfp_filter = reg & ENETC_PSFCAPR_MSK;
 	/* Port stream gate capability */
-	reg = enetc_port_rd(&priv->si->hw, ENETC_PSGCAPR);
+	reg = enetc_port_rd(hw, ENETC_PSGCAPR);
 	priv->psfp_cap.max_psfp_gate = (reg & ENETC_PSGCAPR_SGIT_MSK);
 	priv->psfp_cap.max_psfp_gatelist = (reg & ENETC_PSGCAPR_GCL_MSK) >> 16;
 	/* Port flow meter capability */
-	reg = enetc_port_rd(&priv->si->hw, ENETC_PFMCAPR);
+	reg = enetc_port_rd(hw, ENETC_PFMCAPR);
 	priv->psfp_cap.max_psfp_meter = reg & ENETC_PFMCAPR_MSK;
 }
 
drivers/net/ethernet/freescale/enetc/enetc_qos.c +38 -39

136 lines not on this page · raw message

drivers/net/ethernet/intel/iavf/iavf.h +0 -1
index 3f6187c16424..0d1bab4ac1b0 100644

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

drivers/net/ethernet/intel/iavf/iavf_main.c +23 -18

41 lines not on this page · raw message

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +6 -2
index eaa51cd7456b..8f86be995092 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +3 -0
index f42a09f04b25..70cda1571324 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +2 -0
index 0879a48411f3..3dc90060d70d 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c +5 -2
index b04fb226f708..ae50d56258ec 100644

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

drivers/net/ethernet/marvell/prestera/prestera_main.c +1 -0
index a0ad0bcbf89f..9f588ecba93e 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +8 -4
index 84433f3a3e22..5380caf0acc2 100644

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

drivers/net/ethernet/mellanox/mlx4/qp.c +2 -1
index b149e601f673..48cfaa7eaf50 100644

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

drivers/net/ethernet/mellanox/mlx5/core/cmd.c +25 -22

47 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/diag/cmd_tracepoint.h new file +45 -0

45 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +1 -1
index 978a2bb8e122..21831386b26e 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c +8 -8
index 5aff97914367..ff73d25bc6eb 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.h +1 -2
index d542b8476491..8ad273dde40e 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +6 -11
index 229c14b1af00..949ef560df78 100644

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +1 -1
index 3c68cac4a9c2..061ac8799354 100644

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

drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c +7 -2
index 9d908a0ccfef..1e46f9afa40e 100644

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

drivers/net/ethernet/mellanox/mlx5/core/main.c +6 -3
index e5e32430b6af..ac178796e484 100644

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

drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c +88 -0

88 lines not on this page · raw message

drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +12 -2
index af4d3e1f1a6d..3f112a897a60 100644

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

drivers/net/ethernet/netronome/nfp/nfp_devlink.c +1 -1
index 405786c00334..cb08d7bf9524 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +3 -0
index b19bff0db1fd..400b22ad6a34 100644

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

drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +5 -1
index 46da937ad27f..63b6b7d86ccb 100644

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

drivers/net/ethernet/qlogic/qla3xxx.c +1 -0
index 06f4d9a9e938..5a2d70a91868 100644

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

drivers/net/ethernet/sfc/ef100_netdev.c +1 -0
index 17b9d37218cb..4c33c3b5f32b 100644

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

drivers/net/ipvlan/ipvlan.h +1 -0
index de94921cbef9..025e0c19ec25 100644

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

drivers/net/ipvlan/ipvlan_main.c +2 -0
index 49ba8a50dfb1..9043bcd1b41d 100644

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

drivers/net/macsec.c +4 -24
index ddfa853ec9b5..104fc564a766 100644

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

drivers/net/phy/at803x.c +3 -1
index 59fe356942b5..249e7ee4a2bb 100644

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

drivers/net/usb/cdc_ncm.c +1 -0
index 8d5cbda33f66..0897fdb6254b 100644

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

drivers/net/usb/qmi_wwan.c +1 -0
index 26c34a7c21bd..afd6faa4c2ec 100644

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

drivers/net/virtio_net.c +1 -2
index 9cce7dec7366..f5c88d232b11 100644

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

drivers/net/wireless/ath/ath11k/qmi.h +1 -1
index 2ec56a34fa81..0909d53cefeb 100644

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

drivers/net/wireless/cisco/airo.c +14 -4
index 10daef81c355..fb2c35bd73bb 100644

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

drivers/net/wireless/mac80211_hwsim.c +5 -0
index a074552bcec3..3179682daca7 100644

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

drivers/net/wireless/microchip/wilc1000/cfg80211.c +30 -9
index 3ac373d29d93..7362d4d5ea85 100644

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

drivers/net/wireless/microchip/wilc1000/hif.c +16 -5
index eb1d1ba3a443..67df8221b5ae 100644

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

drivers/net/wwan/iosm/iosm_ipc_coredump.c +1 -0
index 9acd87724c9d..26ca30476f40 100644

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

drivers/net/wwan/iosm/iosm_ipc_devlink.c +1 -0
index 17da85a8f337..2fe724d623c0 100644

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

drivers/net/wwan/iosm/iosm_ipc_pcie.c +1 -1
index 97cb6846c6ae..f604d4a01e1b 100644

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

drivers/net/wwan/t7xx/t7xx_modem_ops.c +2 -0
index 3458af31e864..7d0f5e4f0a78 100644

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

drivers/nfc/st-nci/se.c +36 -13

49 lines not on this page · raw message

drivers/nvme/host/core.c +1 -2
index ed47c256dbd2..01c36284e542 100644

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

drivers/nvme/host/pci.c +0 -2
index 1a6423e94eb3..0f34114c4596 100644

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

drivers/nvme/target/configfs.c +5 -2
index 7f52d9dac443..a79eadb953de 100644

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

drivers/pci/controller/pci-hyperv.c +75 -15

90 lines not on this page · raw message

drivers/pinctrl/qcom/pinctrl-sc8280xp.c +2 -2
index aa2075390f3e..e96c00686a25 100644

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

drivers/platform/surface/surface_aggregator_registry.c +37 -0
index 585911020cea..023f126121d7 100644

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

drivers/platform/x86/acer-wmi.c +9 -0
index f1259d81d86d..df4c1f08f0c6 100644

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

drivers/platform/x86/asus-wmi.c +2 -0
index eec7d0ed7cf2..8e1979b477a7 100644

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

drivers/platform/x86/hp-wmi.c +3 -0
index 4fbe91769c91..788381e4c6a6 100644

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

drivers/platform/x86/ideapad-laptop.c +59 -3

62 lines not on this page · raw message

drivers/platform/x86/intel/hid.c +3 -0
index 79cff1fc675c..b6313ecd190c 100644

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

drivers/platform/x86/intel/pmt/class.c +30 -1
index 53d7fd2943b4..46598dcb634a 100644

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

drivers/platform/x86/thinkpad_acpi.c +8 -0
index 353507d18e11..67dc335fca0c 100644

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

drivers/platform/x86/touchscreen_dmi.c +25 -0
index bc97bfa8e8a6..baae3120efd0 100644

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

drivers/power/supply/ab8500_btemp.c +8 -1
index 863fabe05bdc..307ee6f71042 100644

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

drivers/power/supply/ip5xxx_power.c +1 -1
index 218e8e689a3f..00221e9c0bfc 100644

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

drivers/regulator/core.c +6 -2
index c3871565fd7d..c0f368f1b49f 100644

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

drivers/regulator/rt5759-regulator.c +1 -0
index 6b96899eb27e..8488417f4b2c 100644

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

drivers/regulator/twl6030-regulator.c +2 -0
index 430265c404d6..7c7e3648ea4b 100644

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

drivers/s390/block/dasd_eckd.c +2 -4
index 3cc93e2e4e15..2dec81e7e6ab 100644

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

drivers/s390/crypto/ap_bus.c +4 -1
index 59ac98f2bd27..b02c631f3b71 100644

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

drivers/s390/crypto/zcrypt_msgtype6.c +15 -6
index 8fb34b8eeb18..5ad251477593 100644

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

drivers/scsi/ibmvscsi/ibmvfc.c +11 -3
index 00684e11976b..1a0c0b7289d2 100644

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

drivers/scsi/mpi3mr/mpi3mr_os.c +2 -1
index bfa1165e23b6..1b4d1e562de8 100644

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

drivers/scsi/scsi_debug.c +7 -0
index 95f940f5c996..7346098c1c68 100644

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

drivers/scsi/scsi_transport_iscsi.c +16 -15
index cd3db9684e52..f473c002fa4d 100644

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

drivers/scsi/storvsc_drv.c +34 -35

69 lines not on this page · raw message

drivers/spi/spi-dw-dma.c +3 -0
index 1322b8cce5b7..ababb910b391 100644

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

drivers/spi/spi-imx.c +8 -5
index 30d82cc7300b..d209930069cf 100644

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

drivers/spi/spi-stm32.c +1 -1
index 3c2fa2e2f94a..def09cf0dc14 100644

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

drivers/spi/spi-tegra210-quad.c +8 -1
index 904972606bd4..9f356612ba7e 100644

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

drivers/tee/optee/device.c +1 -1
index f3947be13e2e..64f0e047c23d 100644

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

drivers/tty/n_gsm.c +37 -32

69 lines not on this page · raw message

drivers/tty/serial/8250/8250_omap.c +4 -3
index b96fbf8d31df..2ad735dd6c05 100644

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

drivers/usb/cdns3/cdnsp-gadget.c +4 -8
index c67715f6f756..f9aa50ff14d4 100644

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

drivers/usb/cdns3/cdnsp-ring.c +12 -5
index 794e413800ae..2f29431f612e 100644

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

drivers/usb/dwc3/dwc3-exynos.c +1 -10
index 0ecf20eeceee..4be6a873bd07 100644

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

drivers/usb/dwc3/gadget.c +11 -11
index 0ed9826a4c47..6f61a288073b 100644

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

drivers/virt/coco/sev-guest/sev-guest.c +70 -14

84 lines not on this page · raw message

drivers/xen/platform-pci.c +5 -2
index 18f0ed8b1f93..6ebd819338ec 100644

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

drivers/xen/xen-pciback/conf_space_capability.c +6 -3
index 5e53b4817f16..097316a74126 100644

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

fs/btrfs/ioctl.c +13 -10
index fe0cc816b4eb..4fff0067bd2a 100644

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

fs/btrfs/sysfs.c +5 -2
index d5d0717fd09a..00b97e6eb507 100644

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

fs/btrfs/tree-log.c +55 -4

59 lines not on this page · raw message

fs/btrfs/zoned.c +5 -4
index a227d27a63bf..9ea40ddcc425 100644

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

fs/ceph/caps.c +13 -37

50 lines not on this page · raw message

fs/cifs/cifsfs.c +3 -1
index 6bc8be9ed2a5..ccad85feb24e 100644

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

fs/cifs/sess.c +2 -2
index 11cd06aa74f0..6a85136da27c 100644

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

fs/ext4/extents.c +13 -5
index 5235974126bd..8378b86c1b49 100644

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

fs/fs-writeback.c +19 -11
index 443f83382b9b..9958d4020771 100644

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

fs/fscache/volume.c +5 -2
index a058e0136bfe..ab8ceddf9efa 100644

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

fs/fuse/file.c +16 -21
index 71bfb663aac5..89f4741728ba 100644

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

fs/nfsd/vfs.c +4 -3
index fc17b0ac8729..f3cd614e1f1e 100644

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

fs/nilfs2/sufile.c +8 -0
index 77ff8e95421f..dc359b56fdfa 100644

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

fs/zonefs/super.c +44 -16

60 lines not on this page · raw message

fs/zonefs/zonefs.h +4 -2
index 4b3de66c3233..1dbe78119ff1 100644

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

include/linux/blkdev.h +0 -1
index 79624711fda7..e6bf06dc0770 100644

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

include/linux/bpf.h +38 -1
index 73662fbabd78..e811e2f99a61 100644

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

include/linux/fault-inject.h +5 -2
index 9f6e25467844..444236dadcf0 100644

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

include/linux/fscache.h +1 -1
index 36e5dd84cf59..8e312c8323a8 100644

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

include/linux/mlx5/driver.h +1 -0
index 454dab40baf6..2d56cfe0911d 100644

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

include/net/neighbour.h +1 -1
index 3827a6b395fd..bce6b228cf56 100644

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

include/sound/sof/info.h +4 -0
index 65e86e4e9fd8..75193850ead0 100644

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

include/uapi/linux/audit.h +1 -1
index 7c1dc818b1d5..d676ed2b246e 100644

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

init/Kconfig +1 -1
index 532362fcfe31..d1d779d6ba43 100644

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

io_uring/filetable.c +0 -2
index 7b473259f3f4..68dfc6936aa7 100644

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

io_uring/io_uring.h +7 -2
index 1b552d213763..585f97b31a93 100644

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

io_uring/poll.c +42 -7

49 lines not on this page · raw message

kernel/bpf/dispatcher.c +8 -14
index fa64b80b8bca..c19719f48ce0 100644

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

kernel/gcov/clang.c +2 -0
index cbb0bed958ab..7670a811a565 100644

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

lib/Kconfig.debug +1 -0
index cb131fad117c..997d23641448 100644

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

lib/fault-inject.c +8 -5
index 423784d9c058..70768d8a2200 100644

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

lib/vdso/Makefile +1 -1
index c415a685d61b..e814061d6aa0 100644

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

mm/damon/sysfs.c +4 -0
index bdef9682d0a0..b4b9614eecbe 100644

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

mm/failslab.c +10 -2
index 58df9789f1d2..ffc420c0e767 100644

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

mm/memcontrol.c +1 -1
index b69979c9ced5..6a95ea7c5ee7 100644

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

mm/page_alloc.c +5 -2
index 19749f5409e7..5d9b98774a82 100644

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

mm/vmscan.c +17 -7
index 382dbe97329f..a69f32dd5ce5 100644

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

net/9p/trans_fd.c +2 -0
index 0191f22d1ec3..8487321c1fc7 100644

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

net/core/flow_dissector.c +1 -1
index 7105529abb0f..c433b1fb961a 100644

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

net/core/neighbour.c +30 -28

58 lines not on this page · raw message

net/dccp/ipv4.c +2 -0
index da6e3b20cd75..60379ad7ae06 100644

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

net/dccp/ipv6.c +2 -0
index fd44638ec16b..f9ed81a0ddbb 100644

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

net/ipv4/Kconfig +10 -0
index e983bb0c5012..2dfb12230f08 100644

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

net/ipv4/esp4_offload.c +3 -0
index 170152772d33..3969fa805679 100644

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

net/ipv4/fib_trie.c +3 -1
index 452ff177e4da..f26d5ac117d6 100644

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

net/ipv4/inet_hashtables.c +5 -5
index f5950a7172d6..1e45fe6276f7 100644

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

net/ipv4/ip_input.c +5 -0
index 1b512390b3cf..e880ce77322a 100644

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

net/ipv4/netfilter/ipt_CLUSTERIP.c +2 -2
index f8e176c77d1c..b3cc416ed292 100644

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

net/ipv4/tcp_ipv4.c +2 -0
index fe9a6022db66..ef8013e2134f 100644

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

net/ipv6/esp6_offload.c +3 -0
index 79d43548279c..242f4295940e 100644

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

net/ipv6/tcp_ipv6.c +2 -0
index e54eee80ce5f..5516cfb96c48 100644

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

net/ipv6/xfrm6_policy.c +5 -1
index 4a4b0e49ec92..ea435eba3053 100644

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

net/key/af_key.c +23 -11
index c85df5b958d2..95edcbedf6ef 100644

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

net/mac80211/main.c +6 -2
index 5b1c47ed0cc0..87e24bba4c67 100644

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

net/mac80211/mesh_pathtbl.c +1 -1
index acc1c299f1ae..69d5e1ec6ede 100644

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

net/netfilter/ipset/ip_set_hash_gen.h +1 -1
index 3adc291d9ce1..7499192af586 100644

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

net/netfilter/ipset/ip_set_hash_ip.c +3 -5
index dd30c03d5a23..75d556d71652 100644

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

net/netfilter/nf_conntrack_core.c +1 -1
index 8f261cd5b3a5..60289c074eef 100644

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

net/netfilter/nf_conntrack_netlink.c +14 -10
index 7562b215b932..d71150a40fb0 100644

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

net/netfilter/nf_conntrack_standalone.c +1 -1
index 4ffe84c5a82c..bca839ab1ae8 100644

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

net/netfilter/nf_flow_table_offload.c +4 -0
index b04645ced89b..00b522890d77 100644

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

net/netfilter/nf_tables_api.c +4 -2
index 42e370575c30..0a6f3c1e9ab7 100644

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

net/netfilter/nft_ct.c +3 -3
index a3f01f209a53..641dc21f92b4 100644

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

net/netfilter/xt_connmark.c +10 -8
index e5ebc0810675..ad3c033db64e 100644

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

net/nfc/nci/core.c +1 -1
index 6a193cce2a75..4ffdf2f45c44 100644

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

net/nfc/nci/data.c +3 -1
index aa5e712adf07..3d36ea5701f0 100644

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

net/openvswitch/conntrack.c +4 -4
index 4e70df91d0f2..fc5b374fe568 100644

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

net/rxrpc/ar-internal.h +1 -0
index 62c70709d798..e0123efa2a62 100644

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

net/rxrpc/conn_client.c +23 -15
index 3c9eeb5b750c..bdb335cb2d05 100644

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

net/sched/Kconfig +1 -1
index 1e8ab4749c6c..4662a6ce8a7e 100644

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

net/sched/act_connmark.c +2 -2
index 09e2aafc8943..0deb4e96a6c2 100644

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

net/sched/act_ct.c +4 -4
index 5950974ae8f6..a015915e5b72 100644

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

net/sched/act_ctinfo.c +3 -3
index 0281e45987a4..65a20f3c9514 100644

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

net/tipc/discover.c +4 -1
index e8630707901e..e8dcdf267c0c 100644

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

net/tipc/topsrv.c +11 -9
index d92ec92f0b71..e3b427a70398 100644

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

net/wireless/util.c +4 -2
index 775836f6785a..450d609b512a 100644

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

net/xfrm/xfrm_device.c +14 -1
index 637ca8838436..9af6bf1652e4 100644

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

net/xfrm/xfrm_replay.c +1 -1
index 9277d81b344c..49dd788859d8 100644

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

sound/hda/intel-dsp-config.c +5 -0
index b9eb3208f288..ae31bb127594 100644

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

sound/soc/amd/yc/acp6x-mach.c +7 -0
index 6c0f1de10429..d9715bea965e 100644

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

sound/soc/codecs/hdac_hda.h +2 -2
index d0efc5e254ae..da0ed74758b0 100644

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

sound/soc/codecs/max98373-i2c.c +4 -0
index 3e04c7f0cce4..ec0905df65d1 100644

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

sound/soc/codecs/sgtl5000.c +1 -0
index 3fafd9fc5cfd..75a45ad55aa8 100644

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

sound/soc/intel/boards/bytcht_es8316.c +7 -0
index 6432b83f616f..a935c5fd9edb 100644

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

sound/soc/intel/boards/sof_es8336.c +46 -14

60 lines not on this page · raw message

sound/soc/intel/common/soc-acpi-intel-icl-match.c +13 -0
index b032bc07de8b..d0062f2cd256 100644

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

sound/soc/soc-pcm.c +0 -5
index 4d9b91e7e14f..f6a996f0f9c7 100644

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

sound/soc/sof/ipc3-topology.c +10 -5
index a39b43850f0e..bf8a46463cec 100644

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

sound/soc/stm/stm32_adfsdm.c +11 -0
index 643fc8a17018..837c1848d9bf 100644

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

sound/usb/endpoint.c +2 -1
index 2420dc994632..4c9ea13f72d4 100644

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

sound/usb/quirks.c +2 -0
index 250bda7cda07..4f914dce6bbf 100644

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

sound/usb/usbaudio.h +3 -0
index 2c6575029b1c..e97141ef730a 100644

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

tools/iio/iio_generic_buffer.c +2 -2
index 2491c54a5e4f..f8deae4e26a1 100644

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

tools/testing/selftests/bpf/verifier/ref_tracking.c +36 -0
index 57a83d763ec1..6dc65b2501ed 100644

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

tools/testing/selftests/net/io_uring_zerocopy_tx.sh +1 -1
index 32aa6e9dacc2..9ac4456d48fc 100755

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

tools/testing/selftests/net/mptcp/mptcp_join.sh +3 -3
index ff83ef426df5..e52b79440123 100755

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

tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +5 -4
index 0879da915014..80d36f7cfee8 100755

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

tools/testing/selftests/net/mptcp/simult_flows.sh +3 -2
index ffa13a957a36..40aeb5a71a2a 100755

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

tools/testing/selftests/net/udpgro.sh +2 -2
index ebbd0b282432..6a443ca3cd3a 100755

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

tools/testing/selftests/net/udpgro_bench.sh +1 -1
index fad2d1a71cac..8a1109a545db 100755

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

tools/testing/selftests/net/udpgro_frglist.sh +1 -1
index 832c738cc3c2..7fe85ba51075 100755

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

virt/kvm/pfncache.c +6 -1
index 346e47f15572..7c248193ca26 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.