Skip to contentSkip to conversation

Linux 6.8.10

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

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.8.10 kernel.

All users of the 6.8 kernel series must upgrade.

The updated 6.8.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.8.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/health/maxim,max30102.yaml      |    2 
 Documentation/devicetree/bindings/net/mediatek,net.yaml               |   22 -
 Documentation/netlink/specs/rt_link.yaml                              |    6 
 Makefile                                                              |    2 
 arch/arm/kernel/sleep.S                                               |    4 
 arch/arm/net/bpf_jit_32.c                                             |   56 ++-
 arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts           |    3 
 arch/arm64/boot/dts/qcom/sa8155p-adp.dts                              |   30 -
 arch/arm64/kvm/vgic/vgic-kvm-device.c                                 |    8 
 arch/arm64/net/bpf_jit_comp.c                                         |    6 
 arch/mips/include/asm/ptrace.h                                        |    2 
 arch/mips/kernel/asm-offsets.c                                        |    1 
 arch/mips/kernel/ptrace.c                                             |   15 
 arch/mips/kernel/scall32-o32.S                                        |   23 -
 arch/mips/kernel/scall64-n32.S                                        |    3 
 arch/mips/kernel/scall64-n64.S                                        |    3 
 arch/mips/kernel/scall64-o32.S                                        |   33 -
 arch/powerpc/crypto/chacha-p10-glue.c                                 |    8 
 arch/powerpc/include/asm/plpks.h                                      |    5 
 arch/powerpc/platforms/pseries/iommu.c                                |    8 
 arch/powerpc/platforms/pseries/plpks.c                                |   10 
 arch/riscv/net/bpf_jit_comp64.c                                       |    6 
 arch/s390/include/asm/dwarf.h                                         |    1 
 arch/s390/kernel/vdso64/vdso_user_wrapper.S                           |    2 
 arch/s390/mm/gmap.c                                                   |    2 
 arch/s390/mm/hugetlbpage.c                                            |    2 
 arch/x86/kernel/apic/apic.c                                           |   16 
 arch/xtensa/include/asm/processor.h                                   |    8 
 arch/xtensa/include/asm/ptrace.h                                      |    2 
 arch/xtensa/kernel/process.c                                          |    5 
 arch/xtensa/kernel/stacktrace.c                                       |    3 
 block/blk-iocost.c                                                    |   14 
 block/ioctl.c                                                         |    5 
 drivers/accel/ivpu/ivpu_drv.c                                         |   20 -
 drivers/accel/ivpu/ivpu_drv.h                                         |    3 
 drivers/accel/ivpu/ivpu_hw_37xx.c                                     |    4 
 drivers/accel/ivpu/ivpu_mmu.c                                         |    8 
 drivers/accel/ivpu/ivpu_pm.c                                          |    9 
 drivers/ata/sata_gemini.c                                             |    5 
 drivers/base/regmap/regmap.c                                          |   37 ++
 drivers/bluetooth/btqca.c                                             |  138 ++++++-
 drivers/bluetooth/btqca.h                                             |    3 
 drivers/bluetooth/hci_qca.c                                           |    2 
 drivers/clk/clk.c                                                     |   12 
 drivers/clk/qcom/clk-smd-rpm.c                                        |    1 
 drivers/clk/samsung/clk-exynos-clkout.c                               |   13 
 drivers/clk/sunxi-ng/ccu-sun50i-a64.c                                 |    2 
 drivers/clk/sunxi-ng/ccu-sun50i-h6.c                                  |   19 -
 drivers/clk/sunxi-ng/ccu_common.c                                     |   19 +
 drivers/clk/sunxi-ng/ccu_common.h                                     |    3 
 drivers/dma/idxd/cdev.c                                               |   77 ++++
 drivers/dma/idxd/idxd.h                                               |    3 
 drivers/dma/idxd/init.c                                               |    4 
 drivers/dma/idxd/registers.h                                          |    3 
 drivers/dma/idxd/sysfs.c                                              |   27 +
 drivers/edac/versal_edac.c                                            |    4 
 drivers/firewire/nosy.c                                               |    6 
 drivers/firewire/ohci.c                                               |   14 
 drivers/firmware/efi/unaccepted_memory.c                              |    4 
 drivers/firmware/microchip/mpfs-auto-update.c                         |    2 
 drivers/gpio/gpio-crystalcove.c                                       |    2 
 drivers/gpio/gpio-lpc32xx.c                                           |    1 
 drivers/gpio/gpio-wcove.c                                             |    2 
 drivers/gpio/gpiolib-cdev.c                                           |   16 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                            |   26 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c                         |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c                               |    7 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c                            |   14 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h                            |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c                               |   52 +-
 drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c                            |   15 
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c                              |   16 
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c                              |   11 
 drivers/gpu/drm/amd/amdkfd/kfd_device.c                               |   17 
 drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c                      |    3 
 drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c                      |    3 
 drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c                       |    3 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                     |   15 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c             |   48 +-
 drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c                    |    1 
 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_link_encoder.c      |    6 
 drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c               |   33 +
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c                             |   27 +
 drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h                         |    1 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c                  |    8 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c                  |    2 
 drivers/gpu/drm/drm_connector.c                                       |    2 
 drivers/gpu/drm/i915/display/intel_audio.c                            |  113 ------
 drivers/gpu/drm/i915/display/intel_bios.c                             |   19 -
 drivers/gpu/drm/i915/display/intel_vbt_defs.h                         |    5 
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c                           |    6 
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h                           |    2 
 drivers/gpu/drm/i915/gt/intel_workarounds.c                           |    4 
 drivers/gpu/drm/imagination/pvr_fw_mips.h                             |    5 
 drivers/gpu/drm/meson/meson_dw_hdmi.c                                 |   70 +--
 drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h                     |    4 
 drivers/gpu/drm/nouveau/nouveau_dp.c                                  |   13 
 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c                        |   79 ++--
 drivers/gpu/drm/panel/Kconfig                                         |    2 
 drivers/gpu/drm/panel/panel-ilitek-ili9341.c                          |   13 
 drivers/gpu/drm/qxl/qxl_release.c                                     |   50 --
 drivers/gpu/drm/radeon/pptable.h                                      |   10 
 drivers/gpu/drm/ttm/ttm_tt.c                                          |    2 
 drivers/gpu/drm/vmwgfx/vmwgfx_bo.c                                    |    1 
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c                                 |    2 
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h                     |    3 
 drivers/gpu/drm/xe/regs/xe_engine_regs.h                              |    2 
 drivers/gpu/drm/xe/xe_lrc.c                                           |   25 -
 drivers/gpu/drm/xe/xe_migrate.c                                       |    8 
 drivers/gpu/host1x/bus.c                                              |    8 
 drivers/hv/channel.c                                                  |   29 +
 drivers/hv/connection.c                                               |   29 +
 drivers/hwmon/corsair-cpro.c                                          |   45 +-
 drivers/hwmon/pmbus/ucd9000.c                                         |    6 
 drivers/iio/accel/mxc4005.c                                           |   92 ++++
 drivers/iio/imu/adis16475.c                                           |    4 
 drivers/iio/pressure/bmp280-core.c                                    |    1 
 drivers/iio/pressure/bmp280-spi.c                                     |   13 
 drivers/iio/pressure/bmp280.h                                         |    1 
 drivers/infiniband/hw/qib/qib_fs.c                                    |    1 
 drivers/iommu/amd/iommu.c                                             |    4 
 drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.c                          |    4 
 drivers/iommu/mtk_iommu.c                                             |    1 
 drivers/iommu/mtk_iommu_v1.c                                          |    1 
 drivers/misc/mei/hw-me-regs.h                                         |    2 
 drivers/misc/mei/pci-me.c                                             |    2 
 drivers/misc/pvpanic/pvpanic-pci.c                                    |    4 
 drivers/net/dsa/mv88e6xxx/chip.c                                      |   20 -
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                        |   32 +
 drivers/net/ethernet/broadcom/genet/bcmgenet.h                        |    4 
 drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c                    |    8 
 drivers/net/ethernet/broadcom/genet/bcmmii.c                          |    6 
 drivers/net/ethernet/brocade/bna/bnad_debugfs.c                       |    4 
 drivers/net/ethernet/chelsio/cxgb4/sge.c                              |    6 
 drivers/net/ethernet/hisilicon/hns3/hnae3.h                           |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c               |   52 +-
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h               |    5 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c                |    7 
 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c             |   20 -
 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h             |    2 
 drivers/net/ethernet/intel/e1000e/phy.c                               |    8 
 drivers/net/ethernet/intel/ice/ice_debugfs.c                          |    8 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c               |    4 
 drivers/net/ethernet/micrel/ks8851_common.c                           |   16 
 drivers/net/ethernet/qlogic/qede/qede_filter.c                        |   14 
 drivers/net/hyperv/netvsc.c                                           |    7 
 drivers/net/usb/qmi_wwan.c                                            |    1 
 drivers/net/vxlan/vxlan_core.c                                        |   49 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c                      |    7 
 drivers/net/wireless/intel/iwlwifi/queue/tx.c                         |    2 
 drivers/nvme/host/core.c                                              |    2 
 drivers/nvme/host/nvme.h                                              |    5 
 drivers/nvme/host/pci.c                                               |   14 
 drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c                            |   34 -
 drivers/pinctrl/core.c                                                |    8 
 drivers/pinctrl/devicetree.c                                          |   10 
 drivers/pinctrl/intel/pinctrl-baytrail.c                              |   74 ++--
 drivers/pinctrl/intel/pinctrl-intel.h                                 |    4 
 drivers/pinctrl/mediatek/pinctrl-paris.c                              |   40 --
 drivers/pinctrl/meson/pinctrl-meson-a1.c                              |    6 
 drivers/platform/x86/acer-wmi.c                                       |    9 
 drivers/platform/x86/amd/pmf/acpi.c                                   |    2 
 drivers/platform/x86/intel/speed_select_if/isst_if_common.c           |    1 
 drivers/power/supply/mt6360_charger.c                                 |    2 
 drivers/power/supply/rt9455_charger.c                                 |    2 
 drivers/regulator/core.c                                              |   27 -
 drivers/regulator/mt6360-regulator.c                                  |   32 +
 drivers/regulator/tps65132-regulator.c                                |    7 
 drivers/s390/cio/cio_inject.c                                         |    2 
 drivers/s390/net/qeth_core_main.c                                     |   61 +--
 drivers/scsi/bnx2fc/bnx2fc_tgt.c                                      |    2 
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c                                |   10 
 drivers/scsi/libsas/sas_expander.c                                    |    2 
 drivers/scsi/lpfc/lpfc.h                                              |    2 
 drivers/scsi/lpfc/lpfc_attr.c                                         |    4 
 drivers/scsi/lpfc/lpfc_bsg.c                                          |   20 -
 drivers/scsi/lpfc/lpfc_debugfs.c                                      |   12 
 drivers/scsi/lpfc/lpfc_els.c                                          |   20 -
 drivers/scsi/lpfc/lpfc_hbadisc.c                                      |    5 
 drivers/scsi/lpfc/lpfc_init.c                                         |    5 
 drivers/scsi/lpfc/lpfc_nvme.c                                         |    4 
 drivers/scsi/lpfc/lpfc_scsi.c                                         |   13 
 drivers/scsi/lpfc/lpfc_sli.c                                          |   34 -
 drivers/scsi/lpfc/lpfc_vport.c                                        |    8 
 drivers/scsi/mpi3mr/mpi3mr_app.c                                      |    2 
 drivers/slimbus/qcom-ngd-ctrl.c                                       |    6 
 drivers/spi/spi-axi-spi-engine.c                                      |   19 -
 drivers/spi/spi-hisi-kunpeng.c                                        |    2 
 drivers/spi/spi-microchip-core-qspi.c                                 |    1 
 drivers/spi/spi.c                                                     |    1 
 drivers/target/target_core_configfs.c                                 |   12 
 drivers/thermal/thermal_debugfs.c                                     |   59 ++-
 drivers/ufs/core/ufs-mcq.c                                            |    2 
 drivers/ufs/core/ufshcd.c                                             |    9 
 drivers/uio/uio_hv_generic.c                                          |   12 
 drivers/usb/core/hub.c                                                |    5 
 drivers/usb/core/port.c                                               |    8 
 drivers/usb/dwc3/core.c                                               |   90 ++--
 drivers/usb/dwc3/core.h                                               |    1 
 drivers/usb/dwc3/gadget.c                                             |    2 
 drivers/usb/dwc3/host.c                                               |   27 +
 drivers/usb/gadget/composite.c                                        |    6 
 drivers/usb/gadget/function/f_fs.c                                    |    9 
 drivers/usb/gadget/function/uvc_configfs.c                            |    4 
 drivers/usb/host/ohci-hcd.c                                           |    8 
 drivers/usb/host/xhci-plat.h                                          |    4 
 drivers/usb/host/xhci-rzv2m.c                                         |    1 
 drivers/usb/typec/tcpm/tcpm.c                                         |   36 +
 drivers/usb/typec/ucsi/ucsi.c                                         |   12 
 drivers/vfio/pci/vfio_pci.c                                           |    2 
 fs/9p/fid.h                                                           |    3 
 fs/9p/vfs_file.c                                                      |    2 
 fs/9p/vfs_inode.c                                                     |   23 -
 fs/9p/vfs_super.c                                                     |    1 
 fs/btrfs/inode.c                                                      |    2 
 fs/btrfs/ordered-data.c                                               |    1 
 fs/btrfs/qgroup.c                                                     |    2 
 fs/btrfs/transaction.c                                                |    2 
 fs/btrfs/tree-checker.c                                               |   30 -
 fs/btrfs/tree-checker.h                                               |    1 
 fs/btrfs/volumes.c                                                    |   18 
 fs/exfat/file.c                                                       |    7 
 fs/gfs2/bmap.c                                                        |    5 
 fs/nfs/client.c                                                       |    5 
 fs/nfs/inode.c                                                        |   13 
 fs/nfs/internal.h                                                     |    2 
 fs/nfs/netns.h                                                        |    2 
 fs/nfsd/cache.h                                                       |    2 
 fs/nfsd/netns.h                                                       |   21 -
 fs/nfsd/nfs4callback.c                                                |   97 +++++
 fs/nfsd/nfs4proc.c                                                    |    6 
 fs/nfsd/nfs4state.c                                                   |    3 
 fs/nfsd/nfs4xdr.c                                                     |    2 
 fs/nfsd/nfscache.c                                                    |   40 --
 fs/nfsd/nfsctl.c                                                      |   14 
 fs/nfsd/nfsfh.c                                                       |    3 
 fs/nfsd/state.h                                                       |   14 
 fs/nfsd/stats.c                                                       |   43 --
 fs/nfsd/stats.h                                                       |   62 +--
 fs/nfsd/vfs.c                                                         |    6 
 fs/nfsd/xdr4cb.h                                                      |   18 
 fs/proc/task_mmu.c                                                    |   24 -
 fs/smb/client/cifsglob.h                                              |    1 
 fs/smb/client/connect.c                                               |    8 
 fs/smb/client/fs_context.c                                            |   21 +
 fs/smb/client/fs_context.h                                            |    2 
 fs/smb/client/misc.c                                                  |    1 
 fs/smb/client/smb2pdu.c                                               |   11 
 fs/smb/server/oplock.c                                                |   35 +
 fs/smb/server/transport_tcp.c                                         |    4 
 fs/tracefs/event_inode.c                                              |   45 +-
 fs/tracefs/inode.c                                                    |   92 ++++
 fs/tracefs/internal.h                                                 |    7 
 fs/userfaultfd.c                                                      |    4 
 fs/vboxsf/file.c                                                      |    1 
 include/linux/compiler_types.h                                        |   11 
 include/linux/dma-fence.h                                             |    7 
 include/linux/gfp_types.h                                             |    2 
 include/linux/hyperv.h                                                |    1 
 include/linux/pci_ids.h                                               |    2 
 include/linux/regmap.h                                                |    8 
 include/linux/regulator/consumer.h                                    |    4 
 include/linux/skbuff.h                                                |   15 
 include/linux/skmsg.h                                                 |    2 
 include/linux/slab.h                                                  |    4 
 include/linux/sockptr.h                                               |   25 +
 include/linux/sunrpc/clnt.h                                           |    1 
 include/net/gro.h                                                     |    9 
 include/net/xfrm.h                                                    |    3 
 include/sound/emu10k1.h                                               |    3 
 include/trace/events/rxrpc.h                                          |    2 
 include/uapi/linux/kfd_ioctl.h                                        |   17 
 include/uapi/scsi/scsi_bsg_mpi3mr.h                                   |    2 
 kernel/bpf/bloom_filter.c                                             |   13 
 kernel/bpf/verifier.c                                                 |    3 
 kernel/dma/swiotlb.c                                                  |    1 
 kernel/workqueue.c                                                    |    8 
 lib/Kconfig.debug                                                     |    5 
 lib/dynamic_debug.c                                                   |    6 
 lib/maple_tree.c                                                      |   16 
 lib/scatterlist.c                                                     |    2 
 mm/readahead.c                                                        |    4 
 mm/slub.c                                                             |   52 +-
 net/8021q/vlan_core.c                                                 |    2 
 net/bluetooth/hci_core.c                                              |    3 
 net/bluetooth/hci_event.c                                             |    2 
 net/bluetooth/l2cap_core.c                                            |    3 
 net/bluetooth/msft.c                                                  |    2 
 net/bluetooth/msft.h                                                  |    4 
 net/bluetooth/sco.c                                                   |    4 
 net/bridge/br_forward.c                                               |    9 
 net/bridge/br_netlink.c                                               |    3 
 net/core/filter.c                                                     |   42 +-
 net/core/gro.c                                                        |    1 
 net/core/link_watch.c                                                 |    4 
 net/core/net-sysfs.c                                                  |    4 
 net/core/net_namespace.c                                              |   13 
 net/core/rtnetlink.c                                                  |    6 
 net/core/skbuff.c                                                     |   27 +
 net/core/skmsg.c                                                      |    5 
 net/core/sock.c                                                       |    4 
 net/hsr/hsr_device.c                                                  |   31 -
 net/ipv4/af_inet.c                                                    |    1 
 net/ipv4/ip_output.c                                                  |    2 
 net/ipv4/raw.c                                                        |    3 
 net/ipv4/tcp.c                                                        |    4 
 net/ipv4/tcp_input.c                                                  |    2 
 net/ipv4/tcp_ipv4.c                                                   |    8 
 net/ipv4/tcp_output.c                                                 |    4 
 net/ipv4/udp.c                                                        |    3 
 net/ipv4/udp_offload.c                                                |   15 
 net/ipv4/xfrm4_input.c                                                |    6 
 net/ipv6/addrconf.c                                                   |   11 
 net/ipv6/fib6_rules.c                                                 |    6 
 net/ipv6/ip6_input.c                                                  |    4 
 net/ipv6/ip6_offload.c                                                |    1 
 net/ipv6/ip6_output.c                                                 |    4 
 net/ipv6/udp.c                                                        |    3 
 net/ipv6/udp_offload.c                                                |    3 
 net/ipv6/xfrm6_input.c                                                |    6 
 net/l2tp/l2tp_eth.c                                                   |    3 
 net/mac80211/ieee80211_i.h                                            |    4 
 net/mac80211/mlme.c                                                   |    5 
 net/mptcp/ctrl.c                                                      |   39 ++
 net/mptcp/protocol.c                                                  |    3 
 net/nfc/llcp_sock.c                                                   |   12 
 net/nfc/nci/core.c                                                    |    1 
 net/nsh/nsh.c                                                         |   14 
 net/phonet/pn_netlink.c                                               |    2 
 net/rxrpc/ar-internal.h                                               |    2 
 net/rxrpc/call_object.c                                               |    7 
 net/rxrpc/conn_event.c                                                |   16 
 net/rxrpc/conn_object.c                                               |    9 
 net/rxrpc/input.c                                                     |   71 ++-
 net/rxrpc/output.c                                                    |   14 
 net/rxrpc/protocol.h                                                  |    6 
 net/smc/smc_ib.c                                                      |   19 -
 net/sunrpc/clnt.c                                                     |    5 
 net/sunrpc/xprtsock.c                                                 |    1 
 net/tipc/msg.c                                                        |    8 
 net/wireless/nl80211.c                                                |    2 
 net/wireless/trace.h                                                  |    2 
 net/xfrm/xfrm_input.c                                                 |    8 
 rust/macros/module.rs                                                 |  185 ++++++----
 scripts/Makefile.modfinal                                             |    2 
 security/keys/key.c                                                   |    3 
 sound/hda/intel-sdw-acpi.c                                            |    2 
 sound/oss/dmasound/dmasound_paula.c                                   |    8 
 sound/pci/emu10k1/emu10k1.c                                           |    3 
 sound/pci/emu10k1/emu10k1_main.c                                      |  139 ++++---
 sound/pci/hda/patch_realtek.c                                         |   25 +
 sound/soc/codecs/es8326.c                                             |   30 -
 sound/soc/codecs/es8326.h                                             |    2 
 sound/soc/codecs/wsa881x.c                                            |    1 
 sound/soc/intel/avs/topology.c                                        |    2 
 sound/soc/meson/Kconfig                                               |    1 
 sound/soc/meson/axg-card.c                                            |    1 
 sound/soc/meson/axg-fifo.c                                            |   52 +-
 sound/soc/meson/axg-fifo.h                                            |   12 
 sound/soc/meson/axg-frddr.c                                           |    5 
 sound/soc/meson/axg-tdm-interface.c                                   |   34 +
 sound/soc/meson/axg-toddr.c                                           |   22 -
 sound/soc/sof/intel/hda-dsp.c                                         |   20 -
 sound/soc/sof/intel/pci-lnl.c                                         |    3 
 sound/soc/tegra/tegra186_dspk.c                                       |    7 
 sound/soc/ti/davinci-mcasp.c                                          |   12 
 sound/usb/line6/driver.c                                              |    6 
 tools/include/linux/kernel.h                                          |    1 
 tools/include/linux/mm.h                                              |    5 
 tools/include/linux/panic.h                                           |   19 +
 tools/power/x86/turbostat/turbostat.8                                 |    2 
 tools/power/x86/turbostat/turbostat.c                                 |  159 ++++++--
 tools/testing/selftests/bpf/prog_tests/bloom_filter_map.c             |    6 
 tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc |    2 
 tools/testing/selftests/mm/Makefile                                   |    6 
 tools/testing/selftests/net/test_bridge_neigh_suppress.sh             |   14 
 tools/testing/selftests/timers/valid-adjtimex.c                       |   73 +--
 377 files changed, 3360 insertions(+), 1832 deletions(-)

Adam Goldman (1):
firewire: ohci: mask bus reset interrupts between ISR and bottom half

Adam Skladowski (1):
clk: qcom: smd-rpm: Restore msm8976 num_clk

Al Viro (1):
qibfs: fix dentry leak

Alan Stern (2):
usb: Fix regression caused by invalid ep0 maxpacket in virtual SuperSpeed device
USB: core: Fix access violation during port device removal

Aleksa Savic (3):
hwmon: (corsair-cpro) Use a separate buffer for sending commands
hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event()
hwmon: (corsair-cpro) Protect ccp->wait_input_report with a spinlock

Alex Deucher (2):
drm/radeon: silence UBSAN warning (v3)
drm/amdkfd: don't allow mapping the MMIO HDP page with large pages

Alex Hung (1):
drm/amd/display: Skip on writeback when it's not applicable

Alexander Potapenko (1):
kmsan: compiler_types: declare __no_sanitize_or_inline

Alexander Usyskin (1):
mei: me: add lunar lake point M DID

Alexandra Winter (1):
s390/qeth: Fix kernel panic after setting hsuid

Amadeusz Sławiński (1):
ASoC: Intel: avs: Set name of control as in topology

Aman Dhoot (1):
ALSA: hda/realtek: Fix mute led of HP Laptop 15-da3001TU

Amit Sunil Dhamne (1):
usb: typec: tcpm: unregister existing source caps before re-registration

Anand Jain (1):
btrfs: return accurate error code on open failure in open_fs_devices()

Andi Shyti (1):
drm/i915/gt: Automate CCS Mode setting during engine resets

Andrei Matei (1):
bpf: Check bloom filter map value size

Andrew Price (1):
gfs2: Fix invalid metadata access in punch_hole

Andrii Nakryiko (1):
bpf, kconfig: Fix DEBUG_INFO_BTF_MODULES Kconfig definition

André Apitzsch (1):
regulator: tps65132: Add of_match table

Andy Shevchenko (5):
drm/panel: ili9341: Correct use of device property APIs drm/panel: ili9341: Respect deferred probe drm/panel: ili9341: Use predefined error codes
gpio: wcove: Use -ENOTSUPP consistently
gpio: crystalcove: Use -ENOTSUPP consistently

AngeloGioacchino Del Regno (2):
power: supply: mt6360_charger: Fix of_match for usb-otg-vbus regulator
regulator: mt6360: De-capitalize devicetree regulator subnodes

Anton Protopopov (1):
bpf: Fix a verifier verbose message

Arjan van de Ven (2):
VFIO: Add the SPR_DSA and SPR_IAX devices to the denylist
dmaengine: idxd: add a new security check to deal with a hardware erratum

Arnd Bergmann (1):
power: rt9455: hide unused rt9455_boost_voltage_values

Asbjørn Sloth Tønnesen (4):
net: qede: sanitize 'rc' in qede_add_tc_flower_fltr()
net: qede: use return from qede_parse_flow_attr() for flower
net: qede: use return from qede_parse_flow_attr() for flow_spec
net: qede: use return from qede_parse_actions()

Ashutosh Dixit (1):
drm/xe: Label RING_CONTEXT_CONTROL as masked

Badhri Jagan Sridharan (1):
usb: typec: tcpm: Check for port partner validity before consuming it

Benjamin Berg (1):
wifi: iwlwifi: mvm: guard against invalid STA ID on removal

Benno Lossin (1):
rust: macros: fix soundness issue in module! macro

Bernhard Rosenkränzer (1):
platform/x86: acer-wmi: Add support for Acer PH18-71

Billy Tsai (1):
pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T

Boris Burkov (2):
btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
btrfs: always clear PERTRANS metadata during commit

Borislav Petkov (AMD) (1):
kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries

Boy.Wu (1):
ARM: 9381/1: kasan: clear stale stack poison

Bui Quang Minh (4):
ice: ensure the copied buf is NUL terminated
bna: ensure the copied buf is NUL terminated
octeontx2-af: avoid off-by-one read from userspace s390/cio: Ensure the copied buf is NUL terminated

Chaitanya Kumar Borah (1):
drm/i915/audio: Fix audio time stamp programming for DP

Chen Ni (1):
ata: sata_gemini: Check clk_enable() result

Chen Yu (2):
efi/unaccepted: touch soft lockup during memory accept tools/power turbostat: Do not print negative LPI residency

Chen-Yu Tsai (3):
pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback
pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE
arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node

Chris Wulff (1):
usb: gadget: f_fs: Fix a race condition when processing setup packets.

Christian A. Ehrhardt (2):
usb: typec: ucsi: Check for notifications after init
usb: typec: ucsi: Fix connector check on init

Christian König (1):
drm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2

Chuck Lever (1):
NFSD: Fix nfsd4_encode_fattr4() crasher

Claudio Imbrenda (2):
s390/mm: Fix storage key clearing for guest huge pages s390/mm: Fix clearing storage keys for huge pages

Conor Dooley (2):
firmware: microchip: don't unconditionally print validation success
spi: microchip-core-qspi: fix setting spi bus clock rate

Dai Ngo (1):
NFSD: add support for CB_GETATTR callback

Dan Carpenter (2):
pinctrl: core: delete incorrect free in pinctrl_enable() mm/slab: make __free(kfree) accept error pointers

Daniel Golle (1):
dt-bindings: net: mediatek: remove wrongly added clocks and SerDes

Dave Airlie (1):
Revert "drm/nouveau/firmware: Fix SG_DEBUG error with nvkm_firmware_ctor()"

David Bauer (1):
net l2tp: drop flow hash on forward

David Howells (4):
Fix a potential infinite loop in extract_user_to_sg()
rxrpc: Fix the names of the fields in the ACK trailer struct
rxrpc: Fix congestion control algorithm
rxrpc: Only transmit one ACK per jumbo packet received

David Lechner (2):
spi: axi-spi-engine: use common AXI macros
spi: axi-spi-engine: fix version format string

Devyn Liu (1):
spi: hisi-kunpeng: Delete the dump interface of data registers in debugfs

Dominique Martinet (1):
btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks()

Donald Hunter (1):
netlink: specs: Add missing bridge linkinfo attrs

Doug Berger (3):
net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
net: bcmgenet: synchronize UMAC_CMD access

Doug Smythies (1):
tools/power turbostat: Fix added raw MSR output

Douglas Anderson (1):
drm/connector: Add \n to message about demoting connector force-probes

Duoming Zhou (2):
Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout
Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout

Eric Dumazet (8):
net: add copy_safe_from_sockptr() helper
nfc: llcp: fix nfc_llcp_setsockopt() unsafe copies
tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
phonet: fix rtm_phonet_notify() skb allocation
ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
net-sysfs: convert dev->operstate reads to lockless ones
ipv6: annotate data-races around cnf.disable_ipv6
ipv6: prevent NULL dereference in ip6_output()

Eric Van Hensbergen (2):
fs/9p: fix uninitialized values during inode evict fs/9p: remove erroneous nlink init from legacy stat2inode

Felix Fietkau (3):
net: bridge: fix multicast-to-unicast with fraglist GSO
net: core: reject skb_copy(_expand) for fraglist GSO skbs
net: bridge: fix corrupted ethernet header on multicast-to-unicast

Frank Oltmanns (2):
clk: sunxi-ng: common: Support minimum and maximum rate
clk: sunxi-ng: a64: Set minimum and maximum rate for PLL-MIPI

Gabe Teeger (1):
drm/amd/display: Atom Integrated System Info v2_2 for DCN35

Gaurav Batra (1):
powerpc/pseries/iommu: LPAR panics during boot up with a frozen PE

George Shen (1):
drm/amd/display: Handle Y carry-over in VCP X.Y calculation

Greg Kroah-Hartman (1):

      Linux 6.8.10

Gregory Detal (1):
mptcp: only allow set existing scheduler for net.mptcp.scheduler

Guenter Roeck (1):
usb: ohci: Prevent missed ohci interrupts

Guillaume Nault (3):
vxlan: Fix racy device stats updates.
vxlan: Add missing VNI filter counter update in arp_reduce().
vxlan: Pull inner IP header in vxlan_rcv().

Hans de Goede (3):
pinctrl: baytrail: Fix selecting gpio pinctrl state
iio: accel: mxc4005: Interrupt handling fixes
iio: accel: mxc4005: Reset chip on probe() and resume()

Hersen Wu (1):
drm/amd/display: Fix incorrect DSC instance for MST

Himal Prasad Ghimiray (1):
drm/xe/xe_migrate: Cast to output precision before multiplying operands

Ian Forbes (1):
drm/vmwgfx: Fix Legacy Display Unit

Ido Schimmel (1):
selftests: test_bridge_neigh_suppress.sh: Fix failures due to duplicate MAC

Igor Artemiev (1):
wifi: cfg80211: fix rdev_dump_mpp() arguments order

Ivan Avdeev (1):
usb: gadget: uvc: use correct buffer size when parsing configfs lists

Jacek Lawrynowicz (2):
accel/ivpu: Remove d3hot_after_power_off WA accel/ivpu: Fix missed error message after VPU rename

Jan Dakinevich (1):
pinctrl/meson: fix typo in PDM's pin name

Jason Gunthorpe (1):
iommu/arm-smmu: Use the correct type in nvidia_smmu_context_fault()

Jason Xing (1):
bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue

Javier Carrasco (1):
dt-bindings: iio: health: maxim,max30102: fix compatible check

Jeff Johnson (1):

      wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc

Jeff Layton (2):
vboxsf: explicitly deny setlease attempts
9p: explicitly deny setlease attempts

Jeffrey Altman (1):
rxrpc: Clients must accept conn from any address

Jens Remus (1):
s390/vdso: Add CFI for RA register to asm macro vdso_func

Jernej Skrabec (1):
clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change

Jerome Brunet (7):
ASoC: meson: axg-fifo: use FIELD helpers
ASoC: meson: axg-fifo: use threaded irq to check periods
ASoC: meson: axg-card: make links nonatomic
ASoC: meson: axg-tdm-interface: manage formatters in trigger
ASoC: meson: cards: select SND_DYNAMIC_MINORS drm/meson: dw-hdmi: power up phy on device init drm/meson: dw-hdmi: add bandgap setting for g12

Jian Shen (1):
net: hns3: direct return when receive a unknown mailbox message

Jiaxun Yang (1):
MIPS: scall: Save thread_info.syscall unconditionally on entry

Jim Cromie (1):
dyndbg: fix old BUG_ON in >control parser

Joakim Sindholt (4):
fs/9p: only translate RWX permissions for plain 9P2000 fs/9p: translate O_TRUNC into OTRUNC
fs/9p: fix the cache always being enabled on files with qid flags fs/9p: drop inodes immediately on non-.L too

Joao Paulo Goncalves (1):
ASoC: ti: davinci-mcasp: Fix race condition during probe

Johan Hovold (9):
regulator: core: fix debugfs creation regression
Bluetooth: qca: fix invalid device address check
Bluetooth: qca: fix wcn3991 device address check
Bluetooth: qca: add missing firmware sanity checks
Bluetooth: qca: fix NVM configuration parsing
Bluetooth: qca: generalise device address check
Bluetooth: qca: fix info leak when fetching board id
Bluetooth: qca: fix info leak when fetching fw build id
Bluetooth: qca: fix firmware check error path

Johannes Berg (3):
wifi: nl80211: don't free NULL coalescing rule
wifi: mac80211: fix prep_connection error path
wifi: iwlwifi: read txq->read_ptr under lock

John Stultz (1):
selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior

Jonathan Kim (1):
drm/amdkfd: range check cp bad op exception interrupts

Josef Bacik (7):
sunrpc: add a struct rpc_stats arg to rpc_create_args
nfs: expose /proc/net/sunrpc/nfs in net namespaces
nfs: make the rpc_stat per net namespace
nfsd: rename NFSD_NET_* to NFSD_STATS_*
nfsd: expose /proc/net/sunrpc/nfsd in net namespaces
nfsd: make all of the nfsd stats per-network namespace
btrfs: make sure that WRITTEN is set on all metadata blocks

Justin Ernst (1):
tools/power/turbostat: Fix uncore frequency file string

Justin Tee (6):
scsi: lpfc: Move NPIV's transport unregistration to after resource clean up
scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling
scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic
scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port()
scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up()
scsi: lpfc: Use a dedicated lock for ras_fwlog state

Karthikeyan Ramasubramanian (1):
drm/i915/bios: Fix parsing backlight BDB data

Kees Cook (1):

      nouveau/gsp: Avoid addressing beyond end of rpc->entries

Kefeng Wang (1):
mm: use memalloc_nofs_save() in page_cache_ra_order()

Kenneth Feng (1):
drm/amd/pm: fix the high voltage issue after unload

Kent Gibson (1):
gpiolib: cdev: fix uninitialised kfifo

Krzysztof Kozlowski (2):
iommu: mtk: fix module autoloading
gpio: lpc32xx: fix module autoloading

Kuniyuki Iwashima (3):
nfs: Handle error of rpc_proc_register() in nfs_net_init().
nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment().
tcp: Use refcount_inc_not_zero() in tcp_twsk_unique().

Lakshmi Yadlapati (1):

      hwmon: (pmbus/ucd9000) Increase delay from 250 to 500us

Len Brown (2):
tools/power turbostat: Expand probe_intel_uncore_frequency() tools/power turbostat: Fix warning upon failed /dev/cpu_dma_latency read

Li Ma (1):
drm/amd/display: add DCN 351 version for microcode load

Li Nan (2):
block: fix overflow in blk_ioctl_discard()
blk-iocost: do not WARN if iocg was already offlined

Liam R. Howlett (1):
maple_tree: fix mas_empty_area_rev() null pointer dereference

Lijo Lazar (2):
drm/amdgpu: Refine IB schedule error logging drm/amdgpu: Fix VCN allocation in CPX partition

Linus Torvalds (1):
Reapply "drm/qxl: simplify qxl_fence_wait"

Lucas De Marchi (2):
drm/xe/display: Fix ADL-N detection
drm/xe: Fix END redefinition

Lukasz Majewski (1):
hsr: Simplify code for announcing HSR nodes timer setup

Lyude Paul (3):
drm/nouveau/dp: Don't probe eDP ports twice harder drm/nouveau/firmware: Fix SG_DEBUG error with nvkm_firmware_ctor() drm/nouveau/gsp: Use the sg allocator for level 2 of radix3

Mans Rullgard (1):
spi: fix null pointer dereference within spi_sync

Marek Behún (1):

      net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341

Marek Szyprowski (1):
clk: samsung: Revert "clk: Use device_get_match_data()"

Marek Vasut (1):
net: ks8851: Queue RX packets in IRQ handler instead of disabling BHs

Mario Limonciello (2):
platform/x86/amd: pmf: Decrease error message to debug dm/amd/pm: Fix problems with reboot/shutdown for some SMU 13.0.4/13.0.11 users

Mark Rutland (1):
selftests/ftrace: Fix event filter target_func selection

Matt Coster (1):
drm/imagination: Ensure PVR_MIPS_PT_PAGE_COUNT is never zero

Matti Vaittinen (2):
regulator: change stubbed devm_regulator_get_enable to return Ok
regulator: change devm_regulator_get_enable_optional() stub to return Ok

Maurizio Lombardi (1):
scsi: target: Fix SELinux error when systemd-modules loads the target module

Max Filippov (1):
xtensa: fix MAKE_PC_FROM_RA second argument

Michael Ellerman (2):
powerpc/crypto/chacha-p10: Fix failure on non Power10 selftests/mm: fix powerpc ARCH check

Michael Kelley (1):
Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted

Michel Dänzer (1):
drm/amdgpu: Fix comparison in amdgpu_res_cpu_visible

Mukul Joshi (1):
drm/amdkfd: Check cgroup when returning DMABuf info

Namjae Jeon (3):
ksmbd: off ipv6only for both ipv4/ipv6 binding
ksmbd: avoid to send duplicate lease break notifications
ksmbd: do not grant v2 lease if parent lease key and epoch are not set

Nayna Jain (1):
powerpc/pseries: make max polling consistent for longer H_CALLs

Nicholas Kazlauskas (1):
drm/amd/display: Fix idle optimization checks for multi-display and dual eDP

Nicolas Bouchinet (1):
mm/slub: avoid zeroing outside-object freepointer for single free

Nikhil Rao (1):
dmaengine: idxd: add a write() method for applications to submit work

Olga Kornievskaia (1):
SUNRPC: add a missing rpc_stat for TCP TLS

Oliver Upton (1):
KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()

Oswald Buddenhagen (4):
ALSA: emu10k1: fix E-MU card dock presence monitoring
ALSA: emu10k1: factor out snd_emu1010_load_dock_firmware()
ALSA: emu10k1: move the whole GPIO event handling to the workqueue
ALSA: emu10k1: fix E-MU dock initialization

Paolo Abeni (2):
mptcp: ensure snd_nxt is properly initialized on connect
tipc: fix UAF in error path

Patryk Wlazlyn (1):
tools/power turbostat: Print ucode revision only if valid

Paul Davey (1):
xfrm: Preserve vlan tags for transport mode software GRO

Peiyang Wang (4):
net: hns3: using user configure after hardware reset
net: hns3: change type of numa_node_mask as nodemask_t
net: hns3: release PTP resources if pf initialization failed
net: hns3: use appropriate barrier function after setting a bit value

Peng Liu (1):
tools/power turbostat: Fix Bzy_MHz documentation typo

Peter Korsgaard (1):
usb: gadget: composite: fix OS descriptors w_value logic

Peter Ujfalusi (1):
ASoC: SOF: Intel: hda-dsp: Skip IMR boot on ACE platforms in case of S3 suspend

Peter Wang (2):
scsi: ufs: core: WLUN suspend dev/link state error recovery
scsi: ufs: core: Fix MCQ mode dev command timeout

Peter Xu (1):
mm/userfaultfd: reset ptes when close() for wr-protected ones

Phil Elwell (1):
net: bcmgenet: Reset RBUF on first open

Pierre-Louis Bossart (2):
ASoC: SOF: Intel: add default firmware library path for LNL
ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node()

Puranjay Mohan (1):
arm32, bpf: Reimplement sign-extension mov instruction

Qu Wenruo (2):
btrfs: set correct ram_bytes when splitting ordered extent
btrfs: qgroup: do not check qgroup inherit if qgroup is disabled

RD Babiera (1):
usb: typec: tcpm: clear pd_event queue in PORT_RESET

Rafael J. Wysocki (3):
thermal/debugfs: Free all thermal zone debug memory on zone removal thermal/debugfs: Fix two locking issues with thermal zone debug thermal/debugfs: Prevent use-after-free from occurring after cdev removal

Ramona Gradinariu (1):
iio:imu: adis16475: Fix sync mode setting

Richard Fitzgerald (1):
regmap: Add regmap_read_bypassed()

Richard Gobert (2):
net: gro: fix udp bad offset in socket lookup by adding {inner_}network_offset to napi_gro_cb
net: gro: add flush check in udp_gro_receive_segment

Rick Edgecombe (4):
Drivers: hv: vmbus: Leak pages if set_memory_encrypted() fails
Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl
hv_netvsc: Don't free decrypted memory
uio_hv_generic: Don't free decrypted memory

Rik van Riel (1):
blk-iocost: avoid out of bounds shift

Roded Zats (1):
rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation

Rohit Ner (1):
scsi: ufs: core: Fix MCQ MAC configuration

Ryan Roberts (2):
fs/proc/task_mmu: fix loss of young/dirty bits during pagemap scan fs/proc/task_mmu: fix uffd-wp confusion in pagemap_scan_pmd_entry()

Sameer Pujar (1):
ASoC: tegra: Fix DSPK 16-bit playback

Saurav Kashyap (1):
scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload

Sean Anderson (1):
nvme-pci: Add quirk for broken MSIs

Sebastian Andrzej Siewior (1):
cxgb4: Properly lock TX queue for the selftest.

Shashank Sharma (1):
drm/amdgpu: fix doorbell regression

Shigeru Yoshida (2):
ipv4: Fix uninit-value access in __ip_make_skb()
ipv6: Fix potential uninit-value access in __ip6_make_skb()

Shin'ichiro Kawasaki (1):
scsi: mpi3mr: Avoid memcpy field-spanning write WARNING

Shubhrajyoti Datta (1):
EDAC/versal: Do not log total error counts

Silvio Gissi (1):
keys: Fix overwrite of key expiration on instantiation

Srinivas Kandagatla (1):
ASoC: codecs: wsa881x: set clk_stop_mode1 flag

Srinivas Pandruvada (1):
platform/x86: ISST: Add Granite Rapids-D to HPM CPU list

Steffen Bätz (1):
net: dsa: mv88e6xxx: add phylink_get_caps for the mv88e6320/21 family

Stephen Boyd (1):
clk: Don't hold prepare_lock when calling kref_put()

Steve French (1):
smb3: fix broken reconnect when password changing on the server by allowing password rotation

Steven Rostedt (Google) (3):
tracefs: Reset permissions on remount if permissions are options
tracefs: Still use mount point as default permissions for instances
eventfs: Do not treat events directory different than other directories

Sungwoo Kim (2):
Bluetooth: msft: fix slab-use-after-free in msft_do_close()
Bluetooth: HCI: Fix potential null-ptr-deref

Sven Schnelle (1):
workqueue: Fix selection of wake_cpu in kick_pool()

Takashi Iwai (2):
ALSA: line6: Zero-initialize message buffers
ALSA: hda/realtek: Fix conflicting PCI SSID 17aa:386f for Lenovo Legion models

Takashi Sakamoto (1):
firewire: ohci: fulfill timestamp for some local asynchronous transaction

Tao Zhou (1):
drm/amdgpu: implement IRQ_STATE_ENABLE for SDMA v4.4.2

Tetsuo Handa (1):
nfc: nci: Fix kcov check in nci_rx_work()

Thadeu Lima de Souza Cascardo (1):
net: fix out-of-bounds access in ops_init

Thanassis Avgerinos (1):
firewire: nosy: ensure user_length is taken into account when fetching packet contents

Thierry Reding (1):
gpu: host1x: Do not setup DMA for virtual devices

Thinh Nguyen (2):
usb: xhci-plat: Don't include xhci.h
usb: dwc3: core: Prevent phy suspend during init

Thomas Bertschinger (1):
rust: module: place generated init_module() function in .init.text

Thomas Gleixner (1):
x86/apic: Don't access the APIC when disabling x2APIC

Thomas Weißschuh (1):
misc/pvpanic-pci: register attributes via pci_driver

Toke Høiland-Jørgensen (1):
xdp: use flags field to disambiguate broadcast redirect

Uwe Kleine-König (1):
OSS: dmasound/paula: Mark driver struct with __refdata to prevent section mismatch

Vanillan Wang (1):
net:usb:qmi_wwan: support Rolling modules

Vasant Hegde (1):
iommu/amd: Enhance def_domain_type to handle untrusted device

Vasileios Amoiridis (2):
iio: pressure: Fixes BME280 SPI driver data
iio: pressure: Fixes SPI support for BMP3xx devices

Viken Dadhaniya (1):
slimbus: qcom-ngd-ctrl: Add timeout for wait operation

Vitaly Lifshits (1):
e1000e: change usleep_range to udelay in PHY mdic access

Volodymyr Babchuk (1):
arm64: dts: qcom: sa8155p-adp: fix SDHC2 CD pin configuration

Wachowski, Karol (1):
accel/ivpu: Improve clarity of MMU error messages

Wei Yang (3):
memblock tests: fix undefined reference to early_pfn_to_nid' memblock tests: fix undefined reference to panic' memblock tests: fix undefined reference to `BIT'

Wen Gu (1):
net/smc: fix neighbour and rtable leak in smc_ib_find_route()

Wesley Cheng (1):
usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete

Will Deacon (1):
swiotlb: initialise restricted pool list_head when SWIOTLB_DYNAMIC=y

Wyes Karny (1):
tools/power turbostat: Increase the limit for fd opened

Xiang Chen (1):
scsi: hisi_sas: Handle the NCQ error returned by D2H frame

Xin Long (1):
tipc: fix a possible memleak in tipc_buf_append

Xu Kuohai (2):
bpf, arm64: Fix incorrect runtime stats
riscv, bpf: Fix incorrect runtime stats

Yi Zhang (1):
nvme: fix warn output about shared namespaces without CONFIG_NVME_MULTIPATH

Yifan Zhang (1):
drm/amdgpu: add smu 14.0.1 discovery support

Yihang Li (1):
scsi: libsas: Align SMP request allocation to ARCH_DMA_MINALIGN

Yonglong Liu (2):
net: hns3: fix port vlan filter not disabled issue
net: hns3: fix kernel crash when devlink reload during initialization

Yuezhang Mo (1):
exfat: fix timing of synchronizing bitmap and inode

Zack Rusin (2):
drm/ttm: Print the memory decryption status just once drm/vmwgfx: Fix invalid reads in fence signaled events

Zeng Heng (1):
pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map()

Zhang Yi (2):
ASoC: codecs: ES8326: Solve error interruption issue
ASoC: codecs: ES8326: modify clock table

Zhigang Luo (1):
amd/amdkfd: sync all devices to wait all processes being evicted

Zhongqiu Han (1):
gpiolib: cdev: Fix use after free in lineinfo_changed_notify

linke li (1):

      net: mark racy access on sk->sk_rcvbuf
author maintainer
#1 lore raw
Documentation/devicetree/bindings/iio/health/maxim,max30102.yaml +1 -1
index c13c10c8d65d..eed0df9d3a23 100644
@@ -42,7 +42,7 @@ allOf:
       properties:
         compatible:
           contains:
-            const: maxim,max30100
+            const: maxim,max30102
     then:
       properties:
         maxim,green-led-current-microamp: false
Documentation/devicetree/bindings/net/mediatek,net.yaml +2 -20
index e74502a0afe8..3202dc7967c5 100644
@@ -337,8 +337,8 @@ allOf:
           minItems: 4
 
         clocks:
-          minItems: 34
-          maxItems: 34
+          minItems: 24
+          maxItems: 24
 
         clock-names:
           items:
@@ -351,18 +351,6 @@ allOf:
             - const: ethwarp_wocpu1
             - const: ethwarp_wocpu0
             - const: esw
-            - const: netsys0
-            - const: netsys1
-            - const: sgmii_tx250m
-            - const: sgmii_rx250m
-            - const: sgmii2_tx250m
-            - const: sgmii2_rx250m
-            - const: top_usxgmii0_sel
-            - const: top_usxgmii1_sel
-            - const: top_sgm0_sel
-            - const: top_sgm1_sel
-            - const: top_xfi_phy0_xtal_sel
-            - const: top_xfi_phy1_xtal_sel
             - const: top_eth_gmii_sel
             - const: top_eth_refck_50m_sel
             - const: top_eth_sys_200m_sel
@@ -375,16 +363,10 @@ allOf:
             - const: top_netsys_sync_250m_sel
             - const: top_netsys_ppefb_250m_sel
             - const: top_netsys_warp_sel
-            - const: wocpu1
-            - const: wocpu0
             - const: xgp1
             - const: xgp2
             - const: xgp3
 
-        mediatek,sgmiisys:
-          minItems: 2
-          maxItems: 2
-
 patternProperties:
   "^mac@[0-1]$":
     type: object
Documentation/netlink/specs/rt_link.yaml +6 -0
index 8e4d19adee8c..4e702ac8bf66 100644
@@ -1144,6 +1144,12 @@ attribute-sets:
       -
         name: mcast-querier-state
         type: binary
+      -
+        name: fdb-n-learned
+        type: u32
+      -
+        name: fdb-max-learned
+        type: u32
   -
     name: linkinfo-brport-attrs
     name-prefix: ifla-brport-
Makefile +1 -1
index 2917a6914c03..01acaf667e78 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 8
-SUBLEVEL = 9
+SUBLEVEL = 10
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm/kernel/sleep.S +4 -0
index a86a1d4f3461..93afd1005b43 100644
@@ -127,6 +127,10 @@ cpu_resume_after_mmu:
 	instr_sync
 #endif
 	bl	cpu_init		@ restore the und/abt/irq banked regs
+#if defined(CONFIG_KASAN) && defined(CONFIG_KASAN_STACK)
+	mov	r0, sp
+	bl	kasan_unpoison_task_stack_below
+#endif
 	mov	r0, #0			@ return zero on success
 	ldmfd	sp!, {r4 - r11, pc}
 ENDPROC(cpu_resume_after_mmu)
arch/arm/net/bpf_jit_32.c +43 -13

91 lines not on this page · raw message

arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts +2 -1
index a2e74b829320..6a7ae616512d 100644
@@ -82,7 +82,8 @@ pins-clk {
 };
 
 &mmc1 {
-	bt_reset: bt-reset {
+	bluetooth@2 {
+		reg = <2>;
 		compatible = "mediatek,mt7921s-bluetooth";
 		pinctrl-names = "default";
 		pinctrl-0 = <&bt_pins_reset>;
arch/arm64/boot/dts/qcom/sa8155p-adp.dts +13 -17
index 5e4287f8c8cd..b2cf2c988336 100644
@@ -367,6 +367,16 @@ queue0 {
 	};
 };
 
+&pmm8155au_1_gpios {
+	pmm8155au_1_sdc2_cd: sdc2-cd-default-state {
+		pins = "gpio4";
+		function = "normal";
+		input-enable;
+		bias-pull-up;
+		power-source = <0>;
+	};
+};
+
 &qupv3_id_1 {
 	status = "okay";
 };
@@ -384,10 +394,10 @@ &remoteproc_cdsp {
 &sdhc_2 {
 	status = "okay";
 
-	cd-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
+	cd-gpios = <&pmm8155au_1_gpios 4 GPIO_ACTIVE_LOW>;
 	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&sdc2_on>;
-	pinctrl-1 = <&sdc2_off>;
+	pinctrl-0 = <&sdc2_on &pmm8155au_1_sdc2_cd>;
+	pinctrl-1 = <&sdc2_off &pmm8155au_1_sdc2_cd>;
 	vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */
 	vmmc-supply = <&vreg_l17a_2p96>;  /* Card power line */
 	bus-width = <4>;
@@ -505,13 +515,6 @@ data-pins {
 			bias-pull-up;		/* pull up */
 			drive-strength = <16>;	/* 16 MA */
 		};
-
-		sd-cd-pins {
-			pins = "gpio96";
-			function = "gpio";
-			bias-pull-up;		/* pull up */
-			drive-strength = <2>;	/* 2 MA */
-		};
 	};
 
 	sdc2_off: sdc2-off-state {
@@ -532,13 +535,6 @@ data-pins {
 			bias-pull-up;		/* pull up */
 			drive-strength = <2>;	/* 2 MA */
 		};
-
-		sd-cd-pins {
-			pins = "gpio96";
-			function = "gpio";
-			bias-pull-up;		/* pull up */
-			drive-strength = <2>;	/* 2 MA */
-		};
 	};
 
 	usb2phy_ac_en1_default: usb2phy-ac-en1-default-state {
arch/arm64/kvm/vgic/vgic-kvm-device.c +4 -4
index f48b8dab8b3d..1d26bb5b02f4 100644
@@ -338,12 +338,12 @@ int kvm_register_vgic_device(unsigned long type)
 int vgic_v2_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr,
 		       struct vgic_reg_attr *reg_attr)
 {
-	int cpuid;
+	int cpuid = FIELD_GET(KVM_DEV_ARM_VGIC_CPUID_MASK, attr->attr);
 
-	cpuid = FIELD_GET(KVM_DEV_ARM_VGIC_CPUID_MASK, attr->attr);
-
-	reg_attr->vcpu = kvm_get_vcpu_by_id(dev->kvm, cpuid);
 	reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK;
+	reg_attr->vcpu = kvm_get_vcpu_by_id(dev->kvm, cpuid);
+	if (!reg_attr->vcpu)
+		return -EINVAL;
 
 	return 0;
 }
arch/arm64/net/bpf_jit_comp.c +3 -3
index 00217d8d034b..ceed77c29fe6 100644
@@ -1738,15 +1738,15 @@ static void invoke_bpf_prog(struct jit_ctx *ctx, struct bpf_tramp_link *l,
 
 	emit_call(enter_prog, ctx);
 
+	/* save return value to callee saved register x20 */
+	emit(A64_MOV(1, A64_R(20), A64_R(0)), ctx);
+
 	/* if (__bpf_prog_enter(prog) == 0)
 	 *         goto skip_exec_of_prog;
 	 */
 	branch = ctx->image + ctx->idx;
 	emit(A64_NOP, ctx);
 
-	/* save return value to callee saved register x20 */
-	emit(A64_MOV(1, A64_R(20), A64_R(0)), ctx);
-
 	emit(A64_ADD_I(1, A64_R(0), A64_SP, args_off), ctx);
 	if (!p->jited)
 		emit_addr_mov_i64(A64_R(1), (const u64)p->insnsi, ctx);
arch/mips/include/asm/ptrace.h +1 -1
index d14d0e37ad02..4a2b40ce39e0 100644
@@ -159,7 +159,7 @@ extern unsigned long exception_ip(struct pt_regs *regs);
 #define exception_ip(regs) exception_ip(regs)
 #define profile_pc(regs) instruction_pointer(regs)
 
-extern asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall);
+extern asmlinkage long syscall_trace_enter(struct pt_regs *regs);
 extern asmlinkage void syscall_trace_leave(struct pt_regs *regs);
 
 extern void die(const char *, struct pt_regs *) __noreturn;
arch/mips/kernel/asm-offsets.c +1 -0
index d1b11f66f748..cb1045ebab06 100644
@@ -101,6 +101,7 @@ void output_thread_info_defines(void)
 	OFFSET(TI_CPU, thread_info, cpu);
 	OFFSET(TI_PRE_COUNT, thread_info, preempt_count);
 	OFFSET(TI_REGS, thread_info, regs);
+	OFFSET(TI_SYSCALL, thread_info, syscall);
 	DEFINE(_THREAD_SIZE, THREAD_SIZE);
 	DEFINE(_THREAD_MASK, THREAD_MASK);
 	DEFINE(_IRQ_STACK_SIZE, IRQ_STACK_SIZE);
arch/mips/kernel/ptrace.c +6 -9
index 59288c13b581..61503a36067e 100644
@@ -1317,16 +1317,13 @@ long arch_ptrace(struct task_struct *child, long request,
  * Notification of system call entry/exit
  * - triggered by current->work.syscall_trace
  */
-asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall)
+asmlinkage long syscall_trace_enter(struct pt_regs *regs)
 {
 	user_exit();
 
-	current_thread_info()->syscall = syscall;
-
 	if (test_thread_flag(TIF_SYSCALL_TRACE)) {
 		if (ptrace_report_syscall_entry(regs))
 			return -1;
-		syscall = current_thread_info()->syscall;
 	}
 
 #ifdef CONFIG_SECCOMP
@@ -1335,7 +1332,7 @@ asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall)
 		struct seccomp_data sd;
 		unsigned long args[6];
 
-		sd.nr = syscall;
+		sd.nr = current_thread_info()->syscall;
 		sd.arch = syscall_get_arch(current);
 		syscall_get_arguments(current, regs, args);
 		for (i = 0; i < 6; i++)
@@ -1345,23 +1342,23 @@ asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall)
 		ret = __secure_computing(&sd);
 		if (ret == -1)
 			return ret;
-		syscall = current_thread_info()->syscall;
 	}
 #endif
 
 	if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
 		trace_sys_enter(regs, regs->regs[2]);
 
-	audit_syscall_entry(syscall, regs->regs[4], regs->regs[5],
+	audit_syscall_entry(current_thread_info()->syscall,
+			    regs->regs[4], regs->regs[5],
 			    regs->regs[6], regs->regs[7]);
 
 	/*
 	 * Negative syscall numbers are mistaken for rejected syscalls, but
 	 * won't have had the return value set appropriately, so we do so now.
 	 */
-	if (syscall < 0)
+	if (current_thread_info()->syscall < 0)
 		syscall_set_return_value(current, regs, -ENOSYS, 0);
-	return syscall;
+	return current_thread_info()->syscall;
 }
 
 /*
arch/mips/kernel/scall32-o32.S +13 -10
index 18dc9b345056..2c604717e630 100644
@@ -77,6 +77,18 @@ loads_done:
 	PTR_WD	load_a7, bad_stack_a7
 	.previous
 
+	/*
+	 * syscall number is in v0 unless we called syscall(__NR_###)
+	 * where the real syscall number is in a0
+	 */
+	subu	t2, v0,  __NR_O32_Linux
+	bnez	t2, 1f /* __NR_syscall at offset 0 */
+	LONG_S	a0, TI_SYSCALL($28)	# Save a0 as syscall number
+	b	2f
+1:
+	LONG_S	v0, TI_SYSCALL($28)	# Save v0 as syscall number
+2:
+
 	lw	t0, TI_FLAGS($28)	# syscall tracing enabled?
 	li	t1, _TIF_WORK_SYSCALL_ENTRY
 	and	t0, t1
@@ -114,16 +126,7 @@ syscall_trace_entry:
 	SAVE_STATIC
 	move	a0, sp
 
-	/*
-	 * syscall number is in v0 unless we called syscall(__NR_###)
-	 * where the real syscall number is in a0
-	 */
-	move	a1, v0
-	subu	t2, v0,  __NR_O32_Linux
-	bnez	t2, 1f /* __NR_syscall at offset 0 */
-	lw	a1, PT_R4(sp)
-
-1:	jal	syscall_trace_enter
+	jal	syscall_trace_enter
 
 	bltz	v0, 1f			# seccomp failed? Skip syscall
 
arch/mips/kernel/scall64-n32.S +2 -1
index 97456b2ca7dc..97788859238c 100644
@@ -44,6 +44,8 @@ NESTED(handle_sysn32, PT_SIZE, sp)
 
 	sd	a3, PT_R26(sp)		# save a3 for syscall restarting
 
+	LONG_S	v0, TI_SYSCALL($28)     # Store syscall number
+
 	li	t1, _TIF_WORK_SYSCALL_ENTRY
 	LONG_L	t0, TI_FLAGS($28)	# syscall tracing enabled?
 	and	t0, t1, t0
@@ -72,7 +74,6 @@ syscall_common:
 n32_syscall_trace_entry:
 	SAVE_STATIC
 	move	a0, sp
-	move	a1, v0
 	jal	syscall_trace_enter
 
 	bltz	v0, 1f			# seccomp failed? Skip syscall
arch/mips/kernel/scall64-n64.S +2 -1
index e6264aa62e45..be11ea5cc67e 100644
@@ -46,6 +46,8 @@ NESTED(handle_sys64, PT_SIZE, sp)
 
 	sd	a3, PT_R26(sp)		# save a3 for syscall restarting
 
+	LONG_S	v0, TI_SYSCALL($28)     # Store syscall number
+
 	li	t1, _TIF_WORK_SYSCALL_ENTRY
 	LONG_L	t0, TI_FLAGS($28)	# syscall tracing enabled?
 	and	t0, t1, t0
@@ -82,7 +84,6 @@ n64_syscall_exit:
 syscall_trace_entry:
 	SAVE_STATIC
 	move	a0, sp
-	move	a1, v0
 	jal	syscall_trace_enter
 
 	bltz	v0, 1f			# seccomp failed? Skip syscall
arch/mips/kernel/scall64-o32.S +17 -16
index d3c2616cba22..7a5abb73e531 100644
@@ -79,6 +79,22 @@ loads_done:
 	PTR_WD	load_a7, bad_stack_a7
 	.previous
 
+	/*
+	 * absolute syscall number is in v0 unless we called syscall(__NR_###)
+	 * where the real syscall number is in a0
+	 * note: NR_syscall is the first O32 syscall but the macro is
+	 * only defined when compiling with -mabi=32 (CONFIG_32BIT)
+	 * therefore __NR_O32_Linux is used (4000)
+	 */
+
+	subu	t2, v0,  __NR_O32_Linux
+	bnez	t2, 1f /* __NR_syscall at offset 0 */
+	LONG_S	a0, TI_SYSCALL($28)	# Save a0 as syscall number
+	b	2f
+1:
+	LONG_S	v0, TI_SYSCALL($28)	# Save v0 as syscall number
+2:
+
 	li	t1, _TIF_WORK_SYSCALL_ENTRY
 	LONG_L	t0, TI_FLAGS($28)	# syscall tracing enabled?
 	and	t0, t1, t0
@@ -113,22 +129,7 @@ trace_a_syscall:
 	sd	a7, PT_R11(sp)		# For indirect syscalls
 
 	move	a0, sp
-	/*
-	 * absolute syscall number is in v0 unless we called syscall(__NR_###)
-	 * where the real syscall number is in a0
-	 * note: NR_syscall is the first O32 syscall but the macro is
-	 * only defined when compiling with -mabi=32 (CONFIG_32BIT)
-	 * therefore __NR_O32_Linux is used (4000)
-	 */
-	.set	push
-	.set	reorder
-	subu	t1, v0,  __NR_O32_Linux
-	move	a1, v0
-	bnez	t1, 1f /* __NR_syscall at offset 0 */
-	ld	a1, PT_R4(sp) /* Arg1 for __NR_syscall case */
-	.set	pop
-
-1:	jal	syscall_trace_enter
+	jal	syscall_trace_enter
 
 	bltz	v0, 1f			# seccomp failed? Skip syscall
 
arch/powerpc/crypto/chacha-p10-glue.c +7 -1
index 74fb86b0d209..7c728755852e 100644
@@ -197,6 +197,9 @@ static struct skcipher_alg algs[] = {
 
 static int __init chacha_p10_init(void)
 {
+	if (!cpu_has_feature(CPU_FTR_ARCH_31))
+		return 0;
+
 	static_branch_enable(&have_p10);
 
 	return crypto_register_skciphers(algs, ARRAY_SIZE(algs));
@@ -204,10 +207,13 @@ static int __init chacha_p10_init(void)
 
 static void __exit chacha_p10_exit(void)
 {
+	if (!static_branch_likely(&have_p10))
+		return;
+
 	crypto_unregister_skciphers(algs, ARRAY_SIZE(algs));
 }
 
-module_cpu_feature_match(PPC_MODULE_FEATURE_P10, chacha_p10_init);
+module_init(chacha_p10_init);
 module_exit(chacha_p10_exit);
 
 MODULE_DESCRIPTION("ChaCha and XChaCha stream ciphers (P10 accelerated)");
arch/powerpc/include/asm/plpks.h +2 -3
index 23b77027c916..7a84069759b0 100644
@@ -44,9 +44,8 @@
 #define PLPKS_MAX_DATA_SIZE		4000
 
 // Timeouts for PLPKS operations
-#define PLPKS_MAX_TIMEOUT		5000 // msec
-#define PLPKS_FLUSH_SLEEP		10 // msec
-#define PLPKS_FLUSH_SLEEP_RANGE		400
+#define PLPKS_MAX_TIMEOUT		(5 * USEC_PER_SEC)
+#define PLPKS_FLUSH_SLEEP		10000 // usec
 
 struct plpks_var {
 	char *component;
arch/powerpc/platforms/pseries/iommu.c +8 -0
index e8c4129697b1..b1e6d275cda9 100644
@@ -786,8 +786,16 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus)
 	 * parent bus. During reboot, there will be ibm,dma-window property to
 	 * define DMA window. For kdump, there will at least be default window or DDW
 	 * or both.
+	 * There is an exception to the above. In case the PE goes into frozen
+	 * state, firmware may not provide ibm,dma-window property at the time
+	 * of LPAR boot up.
 	 */
 
+	if (!pdn) {
+		pr_debug("  no ibm,dma-window property !\n");
+		return;
+	}
+
 	ppci = PCI_DN(pdn);
 
 	pr_debug("  parent is %pOF, iommu_table: 0x%p\n",
arch/powerpc/platforms/pseries/plpks.c +5 -5
index febe18f251d0..4a595493d28a 100644
@@ -415,8 +415,7 @@ static int plpks_confirm_object_flushed(struct label *label,
 			break;
 		}
 
-		usleep_range(PLPKS_FLUSH_SLEEP,
-			     PLPKS_FLUSH_SLEEP + PLPKS_FLUSH_SLEEP_RANGE);
+		fsleep(PLPKS_FLUSH_SLEEP);
 		timeout = timeout + PLPKS_FLUSH_SLEEP;
 	} while (timeout < PLPKS_MAX_TIMEOUT);
 
@@ -464,9 +463,10 @@ int plpks_signed_update_var(struct plpks_var *var, u64 flags)
 
 		continuetoken = retbuf[0];
 		if (pseries_status_to_err(rc) == -EBUSY) {
-			int delay_ms = get_longbusy_msecs(rc);
-			mdelay(delay_ms);
-			timeout += delay_ms;
+			int delay_us = get_longbusy_msecs(rc) * 1000;
+
+			fsleep(delay_us);
+			timeout += delay_us;
 		}
 		rc = pseries_status_to_err(rc);
 	} while (rc == -EBUSY && timeout < PLPKS_MAX_TIMEOUT);
arch/riscv/net/bpf_jit_comp64.c +3 -3
index 719a97e7edb2..0bd747d1d00f 100644
@@ -740,6 +740,9 @@ static int invoke_bpf_prog(struct bpf_tramp_link *l, int args_off, int retval_of
 	if (ret)
 		return ret;
 
+	/* store prog start time */
+	emit_mv(RV_REG_S1, RV_REG_A0, ctx);
+
 	/* if (__bpf_prog_enter(prog) == 0)
 	 *	goto skip_exec_of_prog;
 	 */
@@ -747,9 +750,6 @@ static int invoke_bpf_prog(struct bpf_tramp_link *l, int args_off, int retval_of
 	/* nop reserved for conditional jump */
 	emit(rv_nop(), ctx);
 
-	/* store prog start time */
-	emit_mv(RV_REG_S1, RV_REG_A0, ctx);
-
 	/* arg1: &args_off */
 	emit_addi(RV_REG_A0, RV_REG_FP, -args_off, ctx);
 	if (!p->jited)
arch/s390/include/asm/dwarf.h +1 -0
index 4f21ae561e4d..390906b8e386 100644
@@ -9,6 +9,7 @@
 #define CFI_DEF_CFA_OFFSET	.cfi_def_cfa_offset
 #define CFI_ADJUST_CFA_OFFSET	.cfi_adjust_cfa_offset
 #define CFI_RESTORE		.cfi_restore
+#define CFI_REL_OFFSET		.cfi_rel_offset
 
 #ifdef CONFIG_AS_CFI_VAL_OFFSET
 #define CFI_VAL_OFFSET		.cfi_val_offset
arch/s390/kernel/vdso64/vdso_user_wrapper.S +2 -0
index 57f62596e53b..85247ef5a41b 100644
@@ -24,8 +24,10 @@ __kernel_\func:
 	CFI_DEF_CFA_OFFSET (STACK_FRAME_OVERHEAD + WRAPPER_FRAME_SIZE)
 	CFI_VAL_OFFSET 15, -STACK_FRAME_OVERHEAD
 	stg	%r14,STACK_FRAME_OVERHEAD(%r15)
+	CFI_REL_OFFSET 14, STACK_FRAME_OVERHEAD
 	brasl	%r14,__s390_vdso_\func
 	lg	%r14,STACK_FRAME_OVERHEAD(%r15)
+	CFI_RESTORE 14
 	aghi	%r15,WRAPPER_FRAME_SIZE
 	CFI_DEF_CFA_OFFSET STACK_FRAME_OVERHEAD
 	CFI_RESTORE 15
arch/s390/mm/gmap.c +1 -1
index 08a7eca03daf..41a4a60c5e65 100644
@@ -2659,7 +2659,7 @@ static int __s390_enable_skey_hugetlb(pte_t *pte, unsigned long addr,
 		return 0;
 
 	start = pmd_val(*pmd) & HPAGE_MASK;
-	end = start + HPAGE_SIZE - 1;
+	end = start + HPAGE_SIZE;
 	__storage_key_init_range(start, end);
 	set_bit(PG_arch_1, &page->flags);
 	cond_resched();
arch/s390/mm/hugetlbpage.c +1 -1
index 5f64f3d0fafb..763469e518ee 100644
@@ -139,7 +139,7 @@ static void clear_huge_pte_skeys(struct mm_struct *mm, unsigned long rste)
 	}
 
 	if (!test_and_set_bit(PG_arch_1, &page->flags))
-		__storage_key_init_range(paddr, paddr + size - 1);
+		__storage_key_init_range(paddr, paddr + size);
 }
 
 void __set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
arch/x86/kernel/apic/apic.c +11 -5
index 75bd5ac7ac6a..a04a5163e56c 100644
@@ -1808,7 +1808,7 @@ void x2apic_setup(void)
 	__x2apic_enable();
 }
 
-static __init void apic_set_fixmap(void);
+static __init void apic_set_fixmap(bool read_apic);
 
 static __init void x2apic_disable(void)
 {
@@ -1830,7 +1830,12 @@ static __init void x2apic_disable(void)
 	}
 
 	__x2apic_disable();
-	apic_set_fixmap();
+	/*
+	 * Don't reread the APIC ID as it was already done from
+	 * check_x2apic() and the APIC driver still is a x2APIC variant,
+	 * which fails to do the read after x2APIC was disabled.
+	 */
+	apic_set_fixmap(false);
 }
 
 static __init void x2apic_enable(void)
@@ -2095,13 +2100,14 @@ void __init init_apic_mappings(void)
 	}
 }
 
-static __init void apic_set_fixmap(void)
+static __init void apic_set_fixmap(bool read_apic)
 {
 	set_fixmap_nocache(FIX_APIC_BASE, mp_lapic_addr);
 	apic_mmio_base = APIC_BASE;
 	apic_printk(APIC_VERBOSE, "mapped APIC to %16lx (%16lx)\n",
 		    apic_mmio_base, mp_lapic_addr);
-	apic_read_boot_cpu_id(false);
+	if (read_apic)
+		apic_read_boot_cpu_id(false);
 }
 
 void __init register_lapic_address(unsigned long address)
@@ -2111,7 +2117,7 @@ void __init register_lapic_address(unsigned long address)
 	mp_lapic_addr = address;
 
 	if (!x2apic_mode)
-		apic_set_fixmap();
+		apic_set_fixmap(true);
 }
 
 /*
arch/xtensa/include/asm/processor.h +4 -4
index d008a153a2b9..7ed1a2085bd7 100644
@@ -115,9 +115,9 @@
 #define MAKE_RA_FOR_CALL(ra,ws)   (((ra) & 0x3fffffff) | (ws) << 30)
 
 /* Convert return address to a valid pc
- * Note: We assume that the stack pointer is in the same 1GB ranges as the ra
+ * Note: 'text' is the address within the same 1GB range as the ra
  */
-#define MAKE_PC_FROM_RA(ra,sp)    (((ra) & 0x3fffffff) | ((sp) & 0xc0000000))
+#define MAKE_PC_FROM_RA(ra, text) (((ra) & 0x3fffffff) | ((unsigned long)(text) & 0xc0000000))
 
 #elif defined(__XTENSA_CALL0_ABI__)
 
@@ -127,9 +127,9 @@
 #define MAKE_RA_FOR_CALL(ra, ws)   (ra)
 
 /* Convert return address to a valid pc
- * Note: We assume that the stack pointer is in the same 1GB ranges as the ra
+ * Note: 'text' is not used as 'ra' is always the full address
  */
-#define MAKE_PC_FROM_RA(ra, sp)    (ra)
+#define MAKE_PC_FROM_RA(ra, text)  (ra)
 
 #else
 #error Unsupported Xtensa ABI
arch/xtensa/include/asm/ptrace.h +1 -1
index a270467556dc..86c70117371b 100644
@@ -87,7 +87,7 @@ struct pt_regs {
 # define user_mode(regs) (((regs)->ps & 0x00000020)!=0)
 # define instruction_pointer(regs) ((regs)->pc)
 # define return_pointer(regs) (MAKE_PC_FROM_RA((regs)->areg[0], \
-					       (regs)->areg[1]))
+					       (regs)->pc))
 
 # ifndef CONFIG_SMP
 #  define profile_pc(regs) instruction_pointer(regs)
arch/xtensa/kernel/process.c +3 -2
index a815577d25fd..7bd66677f7b6 100644
@@ -47,6 +47,7 @@
 #include <asm/asm-offsets.h>
 #include <asm/regs.h>
 #include <asm/hw_breakpoint.h>
+#include <asm/sections.h>
 #include <asm/traps.h>
 
 extern void ret_from_fork(void);
@@ -380,7 +381,7 @@ unsigned long __get_wchan(struct task_struct *p)
 	int count = 0;
 
 	sp = p->thread.sp;
-	pc = MAKE_PC_FROM_RA(p->thread.ra, p->thread.sp);
+	pc = MAKE_PC_FROM_RA(p->thread.ra, _text);
 
 	do {
 		if (sp < stack_page + sizeof(struct task_struct) ||
@@ -392,7 +393,7 @@ unsigned long __get_wchan(struct task_struct *p)
 
 		/* Stack layout: sp-4: ra, sp-3: sp' */
 
-		pc = MAKE_PC_FROM_RA(SPILL_SLOT(sp, 0), sp);
+		pc = MAKE_PC_FROM_RA(SPILL_SLOT(sp, 0), _text);
 		sp = SPILL_SLOT(sp, 1);
 	} while (count++ < 16);
 	return 0;
arch/xtensa/kernel/stacktrace.c +2 -1
index 831ffb648bda..ed324fdf2a2f 100644
@@ -13,6 +13,7 @@
 #include <linux/stacktrace.h>
 
 #include <asm/ftrace.h>
+#include <asm/sections.h>
 #include <asm/stacktrace.h>
 #include <asm/traps.h>
 #include <linux/uaccess.h>
@@ -189,7 +190,7 @@ void walk_stackframe(unsigned long *sp,
 		if (a1 <= (unsigned long)sp)
 			break;
 
-		frame.pc = MAKE_PC_FROM_RA(a0, a1);
+		frame.pc = MAKE_PC_FROM_RA(a0, _text);
 		frame.sp = a1;
 
 		if (fn(&frame, data))
block/blk-iocost.c +9 -5
index 04d44f0bcbc8..f3b68b799439 100644
@@ -1347,7 +1347,7 @@ static bool iocg_kick_delay(struct ioc_gq *iocg, struct ioc_now *now)
 {
 	struct ioc *ioc = iocg->ioc;
 	struct blkcg_gq *blkg = iocg_to_blkg(iocg);
-	u64 tdelta, delay, new_delay;
+	u64 tdelta, delay, new_delay, shift;
 	s64 vover, vover_pct;
 	u32 hwa;
 
@@ -1362,8 +1362,9 @@ static bool iocg_kick_delay(struct ioc_gq *iocg, struct ioc_now *now)
 
 	/* calculate the current delay in effect - 1/2 every second */
 	tdelta = now->now - iocg->delay_at;
-	if (iocg->delay)
-		delay = iocg->delay >> div64_u64(tdelta, USEC_PER_SEC);
+	shift = div64_u64(tdelta, USEC_PER_SEC);
+	if (iocg->delay && shift < BITS_PER_LONG)
+		delay = iocg->delay >> shift;
 	else
 		delay = 0;
 
@@ -1438,8 +1439,11 @@ static void iocg_pay_debt(struct ioc_gq *iocg, u64 abs_vpay,
 	lockdep_assert_held(&iocg->ioc->lock);
 	lockdep_assert_held(&iocg->waitq.lock);
 
-	/* make sure that nobody messed with @iocg */
-	WARN_ON_ONCE(list_empty(&iocg->active_list));
+	/*
+	 * make sure that nobody messed with @iocg. Check iocg->pd.online
+	 * to avoid warn when removing blkcg or disk.
+	 */
+	WARN_ON_ONCE(list_empty(&iocg->active_list) && iocg->pd.online);
 	WARN_ON_ONCE(iocg->inuse > 1);
 
 	iocg->abs_vdebt -= min(abs_vpay, iocg->abs_vdebt);
block/ioctl.c +3 -2
index 5f8c988239c6..7dbed0c1155c 100644
@@ -89,7 +89,7 @@ static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
 		unsigned long arg)
 {
 	uint64_t range[2];
-	uint64_t start, len;
+	uint64_t start, len, end;
 	struct inode *inode = bdev->bd_inode;
 	int err;
 
@@ -110,7 +110,8 @@ static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
 	if (len & 511)
 		return -EINVAL;
 
-	if (start + len > bdev_nr_bytes(bdev))
+	if (check_add_overflow(start, len, &end) ||
+	    end > bdev_nr_bytes(bdev))
 		return -EINVAL;
 
 	filemap_invalidate_lock(inode->i_mapping);
drivers/accel/ivpu/ivpu_drv.c +10 -10
index b35c7aedca03..bad1ccc81ad7 100644
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (C) 2020-2023 Intel Corporation
+ * Copyright (C) 2020-2024 Intel Corporation
  */
 
 #include <linux/firmware.h>
@@ -371,12 +371,15 @@ int ivpu_shutdown(struct ivpu_device *vdev)
 {
 	int ret;
 
-	ivpu_prepare_for_reset(vdev);
+	/* Save PCI state before powering down as it sometimes gets corrupted if NPU hangs */
+	pci_save_state(to_pci_dev(vdev->drm.dev));
 
 	ret = ivpu_hw_power_down(vdev);
 	if (ret)
 		ivpu_warn(vdev, "Failed to power down HW: %d\n", ret);
 
+	pci_set_power_state(to_pci_dev(vdev->drm.dev), PCI_D3hot);
+
 	return ret;
 }
 
@@ -543,11 +546,11 @@ static int ivpu_dev_init(struct ivpu_device *vdev)
 	/* Power up early so the rest of init code can access VPU registers */
 	ret = ivpu_hw_power_up(vdev);
 	if (ret)
-		goto err_power_down;
+		goto err_shutdown;
 
 	ret = ivpu_mmu_global_context_init(vdev);
 	if (ret)
-		goto err_power_down;
+		goto err_shutdown;
 
 	ret = ivpu_mmu_init(vdev);
 	if (ret)
@@ -584,10 +587,8 @@ static int ivpu_dev_init(struct ivpu_device *vdev)
 	ivpu_mmu_reserved_context_fini(vdev);
 err_mmu_gctx_fini:
 	ivpu_mmu_global_context_fini(vdev);
-err_power_down:
-	ivpu_hw_power_down(vdev);
-	if (IVPU_WA(d3hot_after_power_off))
-		pci_set_power_state(to_pci_dev(vdev->drm.dev), PCI_D3hot);
+err_shutdown:
+	ivpu_shutdown(vdev);
 err_xa_destroy:
 	xa_destroy(&vdev->submitted_jobs_xa);
 	xa_destroy(&vdev->context_xa);
@@ -610,9 +611,8 @@ static void ivpu_bo_unbind_all_user_contexts(struct ivpu_device *vdev)
 static void ivpu_dev_fini(struct ivpu_device *vdev)
 {
 	ivpu_pm_disable(vdev);
+	ivpu_prepare_for_reset(vdev);
 	ivpu_shutdown(vdev);
-	if (IVPU_WA(d3hot_after_power_off))
-		pci_set_power_state(to_pci_dev(vdev->drm.dev), PCI_D3hot);
 
 	ivpu_jobs_abort_all(vdev);
 	ivpu_job_done_consumer_fini(vdev);
drivers/accel/ivpu/ivpu_drv.h +1 -2
index 069ace4adb2d..e7a9e849940e 100644
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (C) 2020-2023 Intel Corporation
+ * Copyright (C) 2020-2024 Intel Corporation
  */
 
 #ifndef __IVPU_DRV_H__
@@ -87,7 +87,6 @@
 struct ivpu_wa_table {
 	bool punit_disabled;
 	bool clear_runtime_mem;
-	bool d3hot_after_power_off;
 	bool interrupt_clear_with_0;
 	bool disable_clock_relinquish;
 	bool disable_d0i3_msg;
drivers/accel/ivpu/ivpu_hw_37xx.c +1 -3
index 32bb772e03cf..5e392b682376 100644
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (C) 2020-2023 Intel Corporation
+ * Copyright (C) 2020-2024 Intel Corporation
  */
 
 #include "ivpu_drv.h"
@@ -75,7 +75,6 @@ static void ivpu_hw_wa_init(struct ivpu_device *vdev)
 {
 	vdev->wa.punit_disabled = false;
 	vdev->wa.clear_runtime_mem = false;
-	vdev->wa.d3hot_after_power_off = true;
 
 	REGB_WR32(VPU_37XX_BUTTRESS_INTERRUPT_STAT, BUTTRESS_ALL_IRQ_MASK);
 	if (REGB_RD32(VPU_37XX_BUTTRESS_INTERRUPT_STAT) == BUTTRESS_ALL_IRQ_MASK) {
@@ -86,7 +85,6 @@ static void ivpu_hw_wa_init(struct ivpu_device *vdev)
 
 	IVPU_PRINT_WA(punit_disabled);
 	IVPU_PRINT_WA(clear_runtime_mem);
-	IVPU_PRINT_WA(d3hot_after_power_off);
 	IVPU_PRINT_WA(interrupt_clear_with_0);
 }
 
drivers/accel/ivpu/ivpu_mmu.c +4 -4
index 91bd640655ab..2e46b322c450 100644
@@ -278,7 +278,7 @@ static const char *ivpu_mmu_event_to_str(u32 cmd)
 	case IVPU_MMU_EVT_F_VMS_FETCH:
 		return "Fetch of VMS caused external abort";
 	default:
-		return "Unknown CMDQ command";
+		return "Unknown event";
 	}
 }
 
@@ -286,15 +286,15 @@ static const char *ivpu_mmu_cmdq_err_to_str(u32 err)
 {
 	switch (err) {
 	case IVPU_MMU_CERROR_NONE:
-		return "No CMDQ Error";
+		return "No error";
 	case IVPU_MMU_CERROR_ILL:
 		return "Illegal command";
 	case IVPU_MMU_CERROR_ABT:
-		return "External abort on CMDQ read";
+		return "External abort on command queue read";
 	case IVPU_MMU_CERROR_ATC_INV_SYNC:
 		return "Sync failed to complete ATS invalidation";
 	default:
-		return "Unknown CMDQ Error";
+		return "Unknown error";
 	}
 }
 
drivers/accel/ivpu/ivpu_pm.c +3 -6
index a15d30d0943a..64618fc2cec4 100644
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (C) 2020-2023 Intel Corporation
+ * Copyright (C) 2020-2024 Intel Corporation
  */
 
 #include <linux/highmem.h>
@@ -58,14 +58,11 @@ static int ivpu_suspend(struct ivpu_device *vdev)
 {
 	int ret;
 
-	/* Save PCI state before powering down as it sometimes gets corrupted if NPU hangs */
-	pci_save_state(to_pci_dev(vdev->drm.dev));
+	ivpu_prepare_for_reset(vdev);
 
 	ret = ivpu_shutdown(vdev);
 	if (ret)
-		ivpu_err(vdev, "Failed to shutdown VPU: %d\n", ret);
-
-	pci_set_power_state(to_pci_dev(vdev->drm.dev), PCI_D3hot);
+		ivpu_err(vdev, "Failed to shutdown NPU: %d\n", ret);
 
 	return ret;
 }
drivers/ata/sata_gemini.c +4 -1
index 400b22ee99c3..4c270999ba3c 100644
@@ -200,7 +200,10 @@ int gemini_sata_start_bridge(struct sata_gemini *sg, unsigned int bridge)
 		pclk = sg->sata0_pclk;
 	else
 		pclk = sg->sata1_pclk;
-	clk_enable(pclk);
+	ret = clk_enable(pclk);
+	if (ret)
+		return ret;
+
 	msleep(10);
 
 	/* Do not keep clocking a bridge that is not online */
drivers/base/regmap/regmap.c +37 -0
index 6db77d8e45f9..4ae399c30f0f 100644
@@ -2836,6 +2836,43 @@ int regmap_read(struct regmap *map, unsigned int reg, unsigned int *val)
 }
 EXPORT_SYMBOL_GPL(regmap_read);
 
+/**
+ * regmap_read_bypassed() - Read a value from a single register direct
+ *			    from the device, bypassing the cache
+ *
+ * @map: Register map to read from
+ * @reg: Register to be read from
+ * @val: Pointer to store read value
+ *
+ * A value of zero will be returned on success, a negative errno will
+ * be returned in error cases.
+ */
+int regmap_read_bypassed(struct regmap *map, unsigned int reg, unsigned int *val)
+{
+	int ret;
+	bool bypass, cache_only;
+
+	if (!IS_ALIGNED(reg, map->reg_stride))
+		return -EINVAL;
+
+	map->lock(map->lock_arg);
+
+	bypass = map->cache_bypass;
+	cache_only = map->cache_only;
+	map->cache_bypass = true;
+	map->cache_only = false;
+
+	ret = _regmap_read(map, reg, val);
+
+	map->cache_bypass = bypass;
+	map->cache_only = cache_only;
+
+	map->unlock(map->lock_arg);
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(regmap_read_bypassed);
+
 /**
  * regmap_raw_read() - Read raw data from the device
  *
drivers/bluetooth/btqca.c +125 -13

256 lines not on this page · raw message

drivers/bluetooth/btqca.h +2 -1
index dc31984f71dc..215433fd76a1 100644
@@ -29,6 +29,7 @@
 #define EDL_PATCH_CONFIG_RES_EVT	(0x00)
 #define QCA_DISABLE_LOGGING_SUB_OP	(0x14)
 
+#define EDL_TAG_ID_BD_ADDR		2
 #define EDL_TAG_ID_HCI			(17)
 #define EDL_TAG_ID_DEEP_SLEEP		(27)
 
@@ -47,7 +48,6 @@
 #define get_soc_ver(soc_id, rom_ver)	\
 	((le32_to_cpu(soc_id) << 16) | (le16_to_cpu(rom_ver)))
 
-#define QCA_FW_BUILD_VER_LEN		255
 #define QCA_HSP_GF_SOC_ID			0x1200
 #define QCA_HSP_GF_SOC_MASK			0x0000ff00
 
@@ -94,6 +94,7 @@ struct qca_fw_config {
 	uint8_t user_baud_rate;
 	enum qca_tlv_dnld_mode dnld_mode;
 	enum qca_tlv_dnld_mode dnld_type;
+	bdaddr_t bdaddr;
 };
 
 struct edl_event_hdr {
drivers/bluetooth/hci_qca.c +0 -2
index ce5c2aa743b0..0c9c9ee56592 100644
@@ -1908,8 +1908,6 @@ static int qca_setup(struct hci_uart *hu)
 	case QCA_WCN6750:
 	case QCA_WCN6855:
 	case QCA_WCN7850:
-		set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
-
 		qcadev = serdev_device_get_drvdata(hu->serdev);
 		if (qcadev->bdaddr_property_broken)
 			set_bit(HCI_QUIRK_BDADDR_PROPERTY_BROKEN, &hdev->quirks);
drivers/clk/clk.c +5 -7
index cf1fc0edfdbc..260e901d0ba7 100644
@@ -4552,7 +4552,8 @@ void clk_unregister(struct clk *clk)
 	if (ops == &clk_nodrv_ops) {
 		pr_err("%s: unregistered clock: %s\n", __func__,
 		       clk->core->name);
-		goto unlock;
+		clk_prepare_unlock();
+		return;
 	}
 	/*
 	 * Assign empty clock ops for consumers that might still hold
@@ -4586,11 +4587,10 @@ void clk_unregister(struct clk *clk)
 	if (clk->core->protect_count)
 		pr_warn("%s: unregistering protected clock: %s\n",
 					__func__, clk->core->name);
+	clk_prepare_unlock();
 
 	kref_put(&clk->core->ref, __clk_release);
 	free_clk(clk);
-unlock:
-	clk_prepare_unlock();
 }
 EXPORT_SYMBOL_GPL(clk_unregister);
 
@@ -4749,13 +4749,11 @@ void __clk_put(struct clk *clk)
 	if (clk->min_rate > 0 || clk->max_rate < ULONG_MAX)
 		clk_set_rate_range_nolock(clk, 0, ULONG_MAX);
 
-	owner = clk->core->owner;
-	kref_put(&clk->core->ref, __clk_release);
-
 	clk_prepare_unlock();
 
+	owner = clk->core->owner;
+	kref_put(&clk->core->ref, __clk_release);
 	module_put(owner);
-
 	free_clk(clk);
 }
 
drivers/clk/qcom/clk-smd-rpm.c +1 -0
index 8602c02047d0..45c5255bcd11 100644
@@ -768,6 +768,7 @@ static struct clk_smd_rpm *msm8976_clks[] = {
 
 static const struct rpm_smd_clk_desc rpm_clk_msm8976 = {
 	.clks = msm8976_clks,
+	.num_clks = ARRAY_SIZE(msm8976_clks),
 	.icc_clks = bimc_pcnoc_snoc_smmnoc_icc_clks,
 	.num_icc_clks = ARRAY_SIZE(bimc_pcnoc_snoc_smmnoc_icc_clks),
 };
drivers/clk/samsung/clk-exynos-clkout.c +10 -3
index 3484e6cc80ad..503c6f5b20d5 100644
@@ -13,9 +13,9 @@
 #include <linux/io.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
+#include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/pm.h>
-#include <linux/property.h>
 
 #define EXYNOS_CLKOUT_NR_CLKS		1
 #define EXYNOS_CLKOUT_PARENTS		32
@@ -84,17 +84,24 @@ MODULE_DEVICE_TABLE(of, exynos_clkout_ids);
 static int exynos_clkout_match_parent_dev(struct device *dev, u32 *mux_mask)
 {
 	const struct exynos_clkout_variant *variant;
+	const struct of_device_id *match;
 
 	if (!dev->parent) {
 		dev_err(dev, "not instantiated from MFD\n");
 		return -EINVAL;
 	}
 
-	variant = device_get_match_data(dev->parent);
-	if (!variant) {
+	/*
+	 * 'exynos_clkout_ids' arrays is not the ids array matched by
+	 * the dev->parent driver, so of_device_get_match_data() or
+	 * device_get_match_data() cannot be used here.
+	 */
+	match = of_match_device(exynos_clkout_ids, dev->parent);
+	if (!match) {
 		dev_err(dev, "cannot match parent device\n");
 		return -EINVAL;
 	}
+	variant = match->data;
 
 	*mux_mask = variant->mux_mask;
 
drivers/clk/sunxi-ng/ccu-sun50i-a64.c +2 -0
index 8951ffc14ff5..6a4b2b9ef30a 100644
@@ -182,6 +182,8 @@ static struct ccu_nkm pll_mipi_clk = {
 					      &ccu_nkm_ops,
 					      CLK_SET_RATE_UNGATE | CLK_SET_RATE_PARENT),
 		.features	= CCU_FEATURE_CLOSEST_RATE,
+		.min_rate	= 500000000,
+		.max_rate	= 1400000000,
 	},
 };
 
drivers/clk/sunxi-ng/ccu-sun50i-h6.c +17 -2
index 42568c616181..892df807275c 100644
@@ -1181,11 +1181,18 @@ static const u32 usb2_clk_regs[] = {
 	SUN50I_H6_USB3_CLK_REG,
 };
 
+static struct ccu_mux_nb sun50i_h6_cpu_nb = {
+	.common		= &cpux_clk.common,
+	.cm		= &cpux_clk.mux,
+	.delay_us       = 1,
+	.bypass_index   = 0, /* index of 24 MHz oscillator */
+};
+
 static int sun50i_h6_ccu_probe(struct platform_device *pdev)
 {
 	void __iomem *reg;
+	int i, ret;
 	u32 val;
-	int i;
 
 	reg = devm_platform_ioremap_resource(pdev, 0);
 	if (IS_ERR(reg))
@@ -1252,7 +1259,15 @@ static int sun50i_h6_ccu_probe(struct platform_device *pdev)
 	val |= BIT(24);
 	writel(val, reg + SUN50I_H6_HDMI_CEC_CLK_REG);
 
-	return devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_h6_ccu_desc);
+	ret = devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_h6_ccu_desc);
+	if (ret)
+		return ret;
+
+	/* Reparent CPU during PLL CPUX rate changes */
+	ccu_mux_notifier_register(pll_cpux_clk.common.hw.clk,
+				  &sun50i_h6_cpu_nb);
+
+	return 0;
 }
 
 static const struct of_device_id sun50i_h6_ccu_ids[] = {
drivers/clk/sunxi-ng/ccu_common.c +19 -0
index 8babce55302f..ac0091b4ce24 100644
@@ -44,6 +44,16 @@ bool ccu_is_better_rate(struct ccu_common *common,
 			unsigned long current_rate,
 			unsigned long best_rate)
 {
+	unsigned long min_rate, max_rate;
+
+	clk_hw_get_rate_range(&common->hw, &min_rate, &max_rate);
+
+	if (current_rate > max_rate)
+		return false;
+
+	if (current_rate < min_rate)
+		return false;
+
 	if (common->features & CCU_FEATURE_CLOSEST_RATE)
 		return abs(current_rate - target_rate) < abs(best_rate - target_rate);
 
@@ -122,6 +132,7 @@ static int sunxi_ccu_probe(struct sunxi_ccu *ccu, struct device *dev,
 
 	for (i = 0; i < desc->hw_clks->num ; i++) {
 		struct clk_hw *hw = desc->hw_clks->hws[i];
+		struct ccu_common *common = hw_to_ccu_common(hw);
 		const char *name;
 
 		if (!hw)
@@ -136,6 +147,14 @@ static int sunxi_ccu_probe(struct sunxi_ccu *ccu, struct device *dev,
 			pr_err("Couldn't register clock %d - %s\n", i, name);
 			goto err_clk_unreg;
 		}
+
+		if (common->max_rate)
+			clk_hw_set_rate_range(hw, common->min_rate,
+					      common->max_rate);
+		else
+			WARN(common->min_rate,
+			     "No max_rate, ignoring min_rate of clock %d - %s\n",
+			     i, name);
 	}
 
 	ret = of_clk_add_hw_provider(node, of_clk_hw_onecell_get,
drivers/clk/sunxi-ng/ccu_common.h +3 -0
index 942a72c09437..329734f8cf42 100644
@@ -31,6 +31,9 @@ struct ccu_common {
 	u16		lock_reg;
 	u32		prediv;
 
+	unsigned long	min_rate;
+	unsigned long	max_rate;
+
 	unsigned long	features;
 	spinlock_t	*lock;
 	struct clk_hw	hw;
drivers/dma/idxd/cdev.c +77 -0

95 lines not on this page · raw message

drivers/dma/idxd/idxd.h +3 -0
index df91472f0f5b..eb73cabb4ad0 100644
@@ -288,6 +288,7 @@ struct idxd_driver_data {
 	int evl_cr_off;
 	int cr_status_off;
 	int cr_result_off;
+	bool user_submission_safe;
 	load_device_defaults_fn_t load_device_defaults;
 };
 
@@ -374,6 +375,8 @@ struct idxd_device {
 
 	struct dentry *dbgfs_dir;
 	struct dentry *dbgfs_evl_file;
+
+	bool user_submission_safe;
 };
 
 static inline unsigned int evl_ent_size(struct idxd_device *idxd)
drivers/dma/idxd/init.c +4 -0
index 264c4e47d7cc..a7295943fa22 100644
@@ -47,6 +47,7 @@ static struct idxd_driver_data idxd_driver_data[] = {
 		.align = 32,
 		.dev_type = &dsa_device_type,
 		.evl_cr_off = offsetof(struct dsa_evl_entry, cr),
+		.user_submission_safe = false, /* See INTEL-SA-01084 security advisory */
 		.cr_status_off = offsetof(struct dsa_completion_record, status),
 		.cr_result_off = offsetof(struct dsa_completion_record, result),
 	},
@@ -57,6 +58,7 @@ static struct idxd_driver_data idxd_driver_data[] = {
 		.align = 64,
 		.dev_type = &iax_device_type,
 		.evl_cr_off = offsetof(struct iax_evl_entry, cr),
+		.user_submission_safe = false, /* See INTEL-SA-01084 security advisory */
 		.cr_status_off = offsetof(struct iax_completion_record, status),
 		.cr_result_off = offsetof(struct iax_completion_record, error_code),
 		.load_device_defaults = idxd_load_iaa_device_defaults,
@@ -774,6 +776,8 @@ static int idxd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	dev_info(&pdev->dev, "Intel(R) Accelerator Device (v%x)\n",
 		 idxd->hw.version);
 
+	idxd->user_submission_safe = data->user_submission_safe;
+
 	return 0;
 
  err_dev_register:
drivers/dma/idxd/registers.h +0 -3
index 315c004f58e4..e16dbf9ab324 100644
@@ -6,9 +6,6 @@
 #include <uapi/linux/idxd.h>
 
 /* PCI Config */
-#define PCI_DEVICE_ID_INTEL_DSA_SPR0	0x0b25
-#define PCI_DEVICE_ID_INTEL_IAX_SPR0	0x0cfe
-
 #define DEVICE_VERSION_1		0x100
 #define DEVICE_VERSION_2		0x200
 
drivers/dma/idxd/sysfs.c +25 -2
index 523ae0dff7d4..3a5ce477a81a 100644
@@ -1197,12 +1197,35 @@ static ssize_t wq_enqcmds_retries_store(struct device *dev, struct device_attrib
 static struct device_attribute dev_attr_wq_enqcmds_retries =
 		__ATTR(enqcmds_retries, 0644, wq_enqcmds_retries_show, wq_enqcmds_retries_store);
 
+static ssize_t op_cap_show_common(struct device *dev, char *buf, unsigned long *opcap_bmap)
+{
+	ssize_t pos;
+	int i;
+
+	pos = 0;
+	for (i = IDXD_MAX_OPCAP_BITS/64 - 1; i >= 0; i--) {
+		unsigned long val = opcap_bmap[i];
+
+		/* On systems where direct user submissions are not safe, we need to clear out
+		 * the BATCH capability from the capability mask in sysfs since we cannot support
+		 * that command on such systems.
+		 */
+		if (i == DSA_OPCODE_BATCH/64 && !confdev_to_idxd(dev)->user_submission_safe)
+			clear_bit(DSA_OPCODE_BATCH % 64, &val);
+
+		pos += sysfs_emit_at(buf, pos, "%*pb", 64, &val);
+		pos += sysfs_emit_at(buf, pos, "%c", i == 0 ? '\n' : ',');
+	}
+
+	return pos;
+}
+
 static ssize_t wq_op_config_show(struct device *dev,
 				 struct device_attribute *attr, char *buf)
 {
 	struct idxd_wq *wq = confdev_to_wq(dev);
 
-	return sysfs_emit(buf, "%*pb\n", IDXD_MAX_OPCAP_BITS, wq->opcap_bmap);
+	return op_cap_show_common(dev, buf, wq->opcap_bmap);
 }
 
 static int idxd_verify_supported_opcap(struct idxd_device *idxd, unsigned long *opmask)
@@ -1455,7 +1478,7 @@ static ssize_t op_cap_show(struct device *dev,
 {
 	struct idxd_device *idxd = confdev_to_idxd(dev);
 
-	return sysfs_emit(buf, "%*pb\n", IDXD_MAX_OPCAP_BITS, idxd->opcap_bmap);
+	return op_cap_show_common(dev, buf, idxd->opcap_bmap);
 }
 static DEVICE_ATTR_RO(op_cap);
 
drivers/edac/versal_edac.c +2 -2
index 62caf454b567..a840c6922e5b 100644
@@ -423,7 +423,7 @@ static void handle_error(struct mem_ctl_info *mci, struct ecc_status *stat)
 			 convert_to_physical(priv, pinf), pinf.burstpos);
 
 		edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
-				     priv->ce_cnt, 0, 0, 0, 0, 0, -1,
+				     1, 0, 0, 0, 0, 0, -1,
 				     priv->message, "");
 	}
 
@@ -436,7 +436,7 @@ static void handle_error(struct mem_ctl_info *mci, struct ecc_status *stat)
 			 convert_to_physical(priv, pinf), pinf.burstpos);
 
 		edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
-				     priv->ue_cnt, 0, 0, 0, 0, 0, -1,
+				     1, 0, 0, 0, 0, 0, -1,
 				     priv->message, "");
 	}
 
drivers/firewire/nosy.c +4 -2
index b0d671db178a..ea31ac7ac1ca 100644
@@ -148,10 +148,12 @@ packet_buffer_get(struct client *client, char __user *data, size_t user_length)
 	if (atomic_read(&buffer->size) == 0)
 		return -ENODEV;
 
-	/* FIXME: Check length <= user_length. */
+	length = buffer->head->length;
+
+	if (length > user_length)
+		return 0;
 
 	end = buffer->data + buffer->capacity;
-	length = buffer->head->length;
 
 	if (&buffer->head->data[length] < end) {
 		if (copy_to_user(data, buffer->head->data, length))
drivers/firewire/ohci.c +11 -3
index 7bc71f4be64a..b9ae0340b8a7 100644
@@ -1556,6 +1556,8 @@ static int handle_at_packet(struct context *context,
 #define HEADER_GET_DATA_LENGTH(q)	(((q) >> 16) & 0xffff)
 #define HEADER_GET_EXTENDED_TCODE(q)	(((q) >> 0) & 0xffff)
 
+static u32 get_cycle_time(struct fw_ohci *ohci);
+
 static void handle_local_rom(struct fw_ohci *ohci,
 			     struct fw_packet *packet, u32 csr)
 {
@@ -1580,6 +1582,8 @@ static void handle_local_rom(struct fw_ohci *ohci,
 				 (void *) ohci->config_rom + i, length);
 	}
 
+	// Timestamping on behalf of the hardware.
+	response.timestamp = cycle_time_to_ohci_tstamp(get_cycle_time(ohci));
 	fw_core_handle_response(&ohci->card, &response);
 }
 
@@ -1628,6 +1632,8 @@ static void handle_local_lock(struct fw_ohci *ohci,
 	fw_fill_response(&response, packet->header, RCODE_BUSY, NULL, 0);
 
  out:
+	// Timestamping on behalf of the hardware.
+	response.timestamp = cycle_time_to_ohci_tstamp(get_cycle_time(ohci));
 	fw_core_handle_response(&ohci->card, &response);
 }
 
@@ -1670,8 +1676,6 @@ static void handle_local_request(struct context *ctx, struct fw_packet *packet)
 	}
 }
 
-static u32 get_cycle_time(struct fw_ohci *ohci);
-
 static void at_context_transmit(struct context *ctx, struct fw_packet *packet)
 {
 	unsigned long flags;
@@ -2060,6 +2064,8 @@ static void bus_reset_work(struct work_struct *work)
 
 	ohci->generation = generation;
 	reg_write(ohci, OHCI1394_IntEventClear, OHCI1394_busReset);
+	if (param_debug & OHCI_PARAM_DEBUG_BUSRESETS)
+		reg_write(ohci, OHCI1394_IntMaskSet, OHCI1394_busReset);
 
 	if (ohci->quirks & QUIRK_RESET_PACKET)
 		ohci->request_generation = generation;
@@ -2125,12 +2131,14 @@ static irqreturn_t irq_handler(int irq, void *data)
 		return IRQ_NONE;
 
 	/*
-	 * busReset and postedWriteErr must not be cleared yet
+	 * busReset and postedWriteErr events must not be cleared yet
 	 * (OHCI 1.1 clauses 7.2.3.2 and 13.2.8.1)
 	 */
 	reg_write(ohci, OHCI1394_IntEventClear,
 		  event & ~(OHCI1394_busReset | OHCI1394_postedWriteErr));
 	log_irqs(ohci, event);
+	if (event & OHCI1394_busReset)
+		reg_write(ohci, OHCI1394_IntMaskClear, OHCI1394_busReset);
 
 	if (event & OHCI1394_selfIDComplete)
 		queue_work(selfid_workqueue, &ohci->bus_reset_work);
drivers/firmware/efi/unaccepted_memory.c +4 -0
index 5b439d04079c..50f6503fe49f 100644
@@ -4,6 +4,7 @@
 #include <linux/memblock.h>
 #include <linux/spinlock.h>
 #include <linux/crash_dump.h>
+#include <linux/nmi.h>
 #include <asm/unaccepted_memory.h>
 
 /* Protects unaccepted memory bitmap and accepting_list */
@@ -149,6 +150,9 @@ void accept_memory(phys_addr_t start, phys_addr_t end)
 	}
 
 	list_del(&range.list);
+
+	touch_softlockup_watchdog();
+
 	spin_unlock_irqrestore(&unaccepted_memory_lock, flags);
 }
 
drivers/firmware/microchip/mpfs-auto-update.c +2 -0
index fbeeaee4ac85..23134ffc4dfc 100644
@@ -206,10 +206,12 @@ static int mpfs_auto_update_verify_image(struct fw_upload *fw_uploader)
 	if (ret | response->resp_status) {
 		dev_warn(priv->dev, "Verification of Upgrade Image failed!\n");
 		ret = ret ? ret : -EBADMSG;
+		goto free_message;
 	}
 
 	dev_info(priv->dev, "Verification of Upgrade Image passed!\n");
 
+free_message:
 	devm_kfree(priv->dev, message);
 free_response:
 	devm_kfree(priv->dev, response);
drivers/gpio/gpio-crystalcove.c +1 -1
index 1ee62cd58582..25db014494a4 100644
@@ -92,7 +92,7 @@ static inline int to_reg(int gpio, enum ctrl_register reg_type)
 		case 0x5e:
 			return GPIOPANELCTL;
 		default:
-			return -EOPNOTSUPP;
+			return -ENOTSUPP;
 		}
 	}
 
drivers/gpio/gpio-lpc32xx.c +1 -0
index 5ef8af824980..c097e310c9e8 100644
@@ -529,6 +529,7 @@ static const struct of_device_id lpc32xx_gpio_of_match[] = {
 	{ .compatible = "nxp,lpc3220-gpio", },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, lpc32xx_gpio_of_match);
 
 static struct platform_driver lpc32xx_gpio_driver = {
 	.driver		= {
drivers/gpio/gpio-wcove.c +1 -1
index c18b6b47384f..94ca9d03c094 100644
@@ -104,7 +104,7 @@ static inline int to_reg(int gpio, enum ctrl_register type)
 	unsigned int reg = type == CTRL_IN ? GPIO_IN_CTRL_BASE : GPIO_OUT_CTRL_BASE;
 
 	if (gpio >= WCOVE_GPIO_NUM)
-		return -EOPNOTSUPP;
+		return -ENOTSUPP;
 
 	return reg + gpio;
 }
drivers/gpio/gpiolib-cdev.c +15 -1
index 1438fdca0b74..5cca9e880349 100644
@@ -1199,6 +1199,8 @@ static int edge_detector_update(struct line *line,
 				struct gpio_v2_line_config *lc,
 				unsigned int line_idx, u64 edflags)
 {
+	u64 eflags;
+	int ret;
 	u64 active_edflags = READ_ONCE(line->edflags);
 	unsigned int debounce_period_us =
 			gpio_v2_line_config_debounce_period(lc, line_idx);
@@ -1210,6 +1212,18 @@ static int edge_detector_update(struct line *line,
 	/* sw debounced and still will be...*/
 	if (debounce_period_us && READ_ONCE(line->sw_debounced)) {
 		line_set_debounce_period(line, debounce_period_us);
+		/*
+		 * ensure event fifo is initialised if edge detection
+		 * is now enabled.
+		 */
+		eflags = edflags & GPIO_V2_LINE_EDGE_FLAGS;
+		if (eflags && !kfifo_initialized(&line->req->events)) {
+			ret = kfifo_alloc(&line->req->events,
+					  line->req->event_buffer_size,
+					  GFP_KERNEL);
+			if (ret)
+				return ret;
+		}
 		return 0;
 	}
 
@@ -2800,11 +2814,11 @@ static int gpio_chrdev_release(struct inode *inode, struct file *file)
 	struct gpio_chardev_data *cdev = file->private_data;
 	struct gpio_device *gdev = cdev->gdev;
 
-	bitmap_free(cdev->watched_lines);
 	blocking_notifier_chain_unregister(&gdev->device_notifier,
 					   &cdev->device_unregistered_nb);
 	blocking_notifier_chain_unregister(&gdev->line_state_notifier,
 					   &cdev->lineinfo_changed_nb);
+	bitmap_free(cdev->watched_lines);
 	gpio_device_put(gdev);
 	kfree(cdev);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +15 -11
index d0afb9ba3789..14d878675586 100644
@@ -4120,18 +4120,22 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 					adev->ip_blocks[i].status.hw = true;
 				}
 			}
+		} else if (amdgpu_ip_version(adev, MP1_HWIP, 0) == IP_VERSION(13, 0, 10) &&
+				   !amdgpu_device_has_display_hardware(adev)) {
+					r = psp_gpu_reset(adev);
 		} else {
-			tmp = amdgpu_reset_method;
-			/* It should do a default reset when loading or reloading the driver,
-			 * regardless of the module parameter reset_method.
-			 */
-			amdgpu_reset_method = AMD_RESET_METHOD_NONE;
-			r = amdgpu_asic_reset(adev);
-			amdgpu_reset_method = tmp;
-			if (r) {
-				dev_err(adev->dev, "asic reset on init failed\n");
-				goto failed;
-			}
+				tmp = amdgpu_reset_method;
+				/* It should do a default reset when loading or reloading the driver,
+				 * regardless of the module parameter reset_method.
+				 */
+				amdgpu_reset_method = AMD_RESET_METHOD_NONE;
+				r = amdgpu_asic_reset(adev);
+				amdgpu_reset_method = tmp;
+		}
+
+		if (r) {
+		  dev_err(adev->dev, "asic reset on init failed\n");
+		  goto failed;
 		}
 	}
 
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +1 -0
index 4f9900779ef9..ff28265838ec 100644
@@ -1867,6 +1867,7 @@ static int amdgpu_discovery_set_smu_ip_blocks(struct amdgpu_device *adev)
 		amdgpu_device_ip_block_add(adev, &smu_v13_0_ip_block);
 		break;
 	case IP_VERSION(14, 0, 0):
+	case IP_VERSION(14, 0, 1):
 		amdgpu_device_ip_block_add(adev, &smu_v14_0_ip_block);
 		break;
 	default:
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +5 -2
index 71a5cf37b472..0b8c6581b62c 100644
@@ -300,12 +300,15 @@ static struct dma_fence *amdgpu_job_run(struct drm_sched_job *sched_job)
 		dma_fence_set_error(finished, -ECANCELED);
 
 	if (finished->error < 0) {
-		DRM_INFO("Skip scheduling IBs!\n");
+		dev_dbg(adev->dev, "Skip scheduling IBs in ring(%s)",
+			ring->name);
 	} else {
 		r = amdgpu_ib_schedule(ring, job->num_ibs, job->ibs, job,
 				       &fence);
 		if (r)
-			DRM_ERROR("Error scheduling IBs (%d)\n", r);
+			dev_err(adev->dev,
+				"Error scheduling IBs (%d) in ring(%s)", r,
+				ring->name);
 	}
 
 	job->job_run_counter++;
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +9 -5
index 866bfde1ca6f..9e5526046aa1 100644
@@ -1244,14 +1244,18 @@ int amdgpu_bo_get_metadata(struct amdgpu_bo *bo, void *buffer,
  * amdgpu_bo_move_notify - notification about a memory move
  * @bo: pointer to a buffer object
  * @evict: if this move is evicting the buffer from the graphics address space
+ * @new_mem: new resource for backing the BO
  *
  * Marks the corresponding &amdgpu_bo buffer object as invalid, also performs
  * bookkeeping.
  * TTM driver callback which is called when ttm moves a buffer.
  */
-void amdgpu_bo_move_notify(struct ttm_buffer_object *bo, bool evict)
+void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,
+			   bool evict,
+			   struct ttm_resource *new_mem)
 {
 	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
+	struct ttm_resource *old_mem = bo->resource;
 	struct amdgpu_bo *abo;
 
 	if (!amdgpu_bo_is_amdgpu_bo(bo))
@@ -1263,12 +1267,12 @@ void amdgpu_bo_move_notify(struct ttm_buffer_object *bo, bool evict)
 	amdgpu_bo_kunmap(abo);
 
 	if (abo->tbo.base.dma_buf && !abo->tbo.base.import_attach &&
-	    bo->resource->mem_type != TTM_PL_SYSTEM)
+	    old_mem && old_mem->mem_type != TTM_PL_SYSTEM)
 		dma_buf_move_notify(abo->tbo.base.dma_buf);
 
-	/* remember the eviction */
-	if (evict)
-		atomic64_inc(&adev->num_evictions);
+	/* move_notify is called before move happens */
+	trace_amdgpu_bo_move(abo, new_mem ? new_mem->mem_type : -1,
+			     old_mem ? old_mem->mem_type : -1);
 }
 
 void amdgpu_bo_get_memory(struct amdgpu_bo *bo,
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +3 -1
index fa03d9e4874c..bc42ccbde659 100644
@@ -328,7 +328,9 @@ int amdgpu_bo_set_metadata (struct amdgpu_bo *bo, void *metadata,
 int amdgpu_bo_get_metadata(struct amdgpu_bo *bo, void *buffer,
 			   size_t buffer_size, uint32_t *metadata_size,
 			   uint64_t *flags);
-void amdgpu_bo_move_notify(struct ttm_buffer_object *bo, bool evict);
+void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,
+			   bool evict,
+			   struct ttm_resource *new_mem);
 void amdgpu_bo_release_notify(struct ttm_buffer_object *bo);
 vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo);
 void amdgpu_bo_fence(struct amdgpu_bo *bo, struct dma_fence *fence,
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +28 -24

113 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c +11 -4
index d6f808acfb17..fbb43ae7624f 100644
@@ -62,6 +62,11 @@ void aqua_vanjaram_doorbell_index_init(struct amdgpu_device *adev)
 	adev->doorbell_index.max_assignment = AMDGPU_DOORBELL_LAYOUT1_MAX_ASSIGNMENT << 1;
 }
 
+static bool aqua_vanjaram_xcp_vcn_shared(struct amdgpu_device *adev)
+{
+	return (adev->xcp_mgr->num_xcps > adev->vcn.num_vcn_inst);
+}
+
 static void aqua_vanjaram_set_xcp_id(struct amdgpu_device *adev,
 			     uint32_t inst_idx, struct amdgpu_ring *ring)
 {
@@ -87,7 +92,7 @@ static void aqua_vanjaram_set_xcp_id(struct amdgpu_device *adev,
 	case AMDGPU_RING_TYPE_VCN_ENC:
 	case AMDGPU_RING_TYPE_VCN_JPEG:
 		ip_blk = AMDGPU_XCP_VCN;
-		if (adev->xcp_mgr->mode == AMDGPU_CPX_PARTITION_MODE)
+		if (aqua_vanjaram_xcp_vcn_shared(adev))
 			inst_mask = 1 << (inst_idx * 2);
 		break;
 	default:
@@ -140,10 +145,12 @@ static int aqua_vanjaram_xcp_sched_list_update(
 
 		aqua_vanjaram_xcp_gpu_sched_update(adev, ring, ring->xcp_id);
 
-		/* VCN is shared by two partitions under CPX MODE */
+		/* VCN may be shared by two partitions under CPX MODE in certain
+		 * configs.
+		 */
 		if ((ring->funcs->type == AMDGPU_RING_TYPE_VCN_ENC ||
-			ring->funcs->type == AMDGPU_RING_TYPE_VCN_JPEG) &&
-			adev->xcp_mgr->mode == AMDGPU_CPX_PARTITION_MODE)
+		     ring->funcs->type == AMDGPU_RING_TYPE_VCN_JPEG) &&
+		    aqua_vanjaram_xcp_vcn_shared(adev))
 			aqua_vanjaram_xcp_gpu_sched_update(adev, ring, ring->xcp_id + 1);
 	}
 
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c +3 -13
index 1caed0163b53..328682cbb7e2 100644
@@ -1601,19 +1601,9 @@ static int sdma_v4_4_2_set_ecc_irq_state(struct amdgpu_device *adev,
 	u32 sdma_cntl;
 
 	sdma_cntl = RREG32_SDMA(type, regSDMA_CNTL);
-	switch (state) {
-	case AMDGPU_IRQ_STATE_DISABLE:
-		sdma_cntl = REG_SET_FIELD(sdma_cntl, SDMA_CNTL,
-					  DRAM_ECC_INT_ENABLE, 0);
-		WREG32_SDMA(type, regSDMA_CNTL, sdma_cntl);
-		break;
-	/* sdma ecc interrupt is enabled by default
-	 * driver doesn't need to do anything to
-	 * enable the interrupt */
-	case AMDGPU_IRQ_STATE_ENABLE:
-	default:
-		break;
-	}
+	sdma_cntl = REG_SET_FIELD(sdma_cntl, SDMA_CNTL, DRAM_ECC_INT_ENABLE,
+					state == AMDGPU_IRQ_STATE_ENABLE ? 1 : 0);
+	WREG32_SDMA(type, regSDMA_CNTL, sdma_cntl);
 
 	return 0;
 }
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +7 -4
index 08da993df148..88ad54f88d59 100644
@@ -1138,7 +1138,7 @@ static int kfd_ioctl_alloc_memory_of_gpu(struct file *filep,
 			goto err_unlock;
 		}
 		offset = dev->adev->rmmio_remap.bus_addr;
-		if (!offset) {
+		if (!offset || (PAGE_SIZE > 4096)) {
 			err = -ENOMEM;
 			goto err_unlock;
 		}
@@ -1522,7 +1522,7 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep,
 
 	/* Find a KFD GPU device that supports the get_dmabuf_info query */
 	for (i = 0; kfd_topology_enum_kfd_devices(i, &dev) == 0; i++)
-		if (dev)
+		if (dev && !kfd_devcgroup_check_permission(dev))
 			break;
 	if (!dev)
 		return -EINVAL;
@@ -1544,7 +1544,7 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep,
 	if (xcp_id >= 0)
 		args->gpu_id = dmabuf_adev->kfd.dev->nodes[xcp_id]->id;
 	else
-		args->gpu_id = dmabuf_adev->kfd.dev->nodes[0]->id;
+		args->gpu_id = dev->id;
 	args->flags = flags;
 
 	/* Copy metadata buffer to user mode */
@@ -2306,7 +2306,7 @@ static int criu_restore_memory_of_gpu(struct kfd_process_device *pdd,
 			return -EINVAL;
 		}
 		offset = pdd->dev->adev->rmmio_remap.bus_addr;
-		if (!offset) {
+		if (!offset || (PAGE_SIZE > 4096)) {
 			pr_err("amdgpu_amdkfd_get_mmio_remap_phys_addr failed\n");
 			return -ENOMEM;
 		}
@@ -3347,6 +3347,9 @@ static int kfd_mmio_mmap(struct kfd_node *dev, struct kfd_process *process,
 	if (vma->vm_end - vma->vm_start != PAGE_SIZE)
 		return -EINVAL;
 
+	if (PAGE_SIZE > 4096)
+		return -EINVAL;
+
 	address = dev->adev->rmmio_remap.bus_addr;
 
 	vm_flags_set(vma, VM_IO | VM_DONTCOPY | VM_DONTEXPAND | VM_NORESERVE |
drivers/gpu/drm/amd/amdkfd/kfd_device.c +6 -11
index 0a9cf9dfc224..fcf6558d019e 100644
@@ -944,7 +944,6 @@ void kgd2kfd_suspend(struct kfd_dev *kfd, bool run_pm)
 {
 	struct kfd_node *node;
 	int i;
-	int count;
 
 	if (!kfd->init_complete)
 		return;
@@ -952,12 +951,10 @@ void kgd2kfd_suspend(struct kfd_dev *kfd, bool run_pm)
 	/* for runtime suspend, skip locking kfd */
 	if (!run_pm) {
 		mutex_lock(&kfd_processes_mutex);
-		count = ++kfd_locked;
-		mutex_unlock(&kfd_processes_mutex);
-
 		/* For first KFD device suspend all the KFD processes */
-		if (count == 1)
+		if (++kfd_locked == 1)
 			kfd_suspend_all_processes();
+		mutex_unlock(&kfd_processes_mutex);
 	}
 
 	for (i = 0; i < kfd->num_nodes; i++) {
@@ -968,7 +965,7 @@ void kgd2kfd_suspend(struct kfd_dev *kfd, bool run_pm)
 
 int kgd2kfd_resume(struct kfd_dev *kfd, bool run_pm)
 {
-	int ret, count, i;
+	int ret, i;
 
 	if (!kfd->init_complete)
 		return 0;
@@ -982,12 +979,10 @@ int kgd2kfd_resume(struct kfd_dev *kfd, bool run_pm)
 	/* for runtime resume, skip unlocking kfd */
 	if (!run_pm) {
 		mutex_lock(&kfd_processes_mutex);
-		count = --kfd_locked;
-		mutex_unlock(&kfd_processes_mutex);
-
-		WARN_ONCE(count < 0, "KFD suspend / resume ref. error");
-		if (count == 0)
+		if (--kfd_locked == 0)
 			ret = kfd_resume_all_processes();
+		WARN_ONCE(kfd_locked < 0, "KFD suspend / resume ref. error");
+		mutex_unlock(&kfd_processes_mutex);
 	}
 
 	return ret;
drivers/gpu/drm/amd/amdkfd/kfd_int_process_v10.c +2 -1
index a7697ec8188e..f85ca6cb90f5 100644
@@ -336,7 +336,8 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
 				break;
 			}
 			kfd_signal_event_interrupt(pasid, context_id0 & 0x7fffff, 23);
-		} else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE) {
+		} else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE &&
+			   KFD_DBG_EC_TYPE_IS_PACKET(KFD_DEBUG_CP_BAD_OP_ECODE(context_id0))) {
 			kfd_set_dbg_ev_from_interrupt(dev, pasid,
 				KFD_DEBUG_DOORBELL_ID(context_id0),
 				KFD_EC_MASK(KFD_DEBUG_CP_BAD_OP_ECODE(context_id0)),
drivers/gpu/drm/amd/amdkfd/kfd_int_process_v11.c +2 -1
index 2a65792fd116..3ca9c160da7c 100644
@@ -325,7 +325,8 @@ static void event_interrupt_wq_v11(struct kfd_node *dev,
 		/* CP */
 		if (source_id == SOC15_INTSRC_CP_END_OF_PIPE)
 			kfd_signal_event_interrupt(pasid, context_id0, 32);
-		else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE)
+		else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE &&
+			 KFD_DBG_EC_TYPE_IS_PACKET(KFD_CTXID0_CP_BAD_OP_ECODE(context_id0)))
 			kfd_set_dbg_ev_from_interrupt(dev, pasid,
 				KFD_CTXID0_DOORBELL_ID(context_id0),
 				KFD_EC_MASK(KFD_CTXID0_CP_BAD_OP_ECODE(context_id0)),
drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c +2 -1
index 27cdaea40501..8a6729939ae5 100644
@@ -385,7 +385,8 @@ static void event_interrupt_wq_v9(struct kfd_node *dev,
 				break;
 			}
 			kfd_signal_event_interrupt(pasid, sq_int_data, 24);
-		} else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE) {
+		} else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE &&
+			   KFD_DBG_EC_TYPE_IS_PACKET(KFD_DEBUG_CP_BAD_OP_ECODE(context_id0))) {
 			kfd_set_dbg_ev_from_interrupt(dev, pasid,
 				KFD_DEBUG_DOORBELL_ID(context_id0),
 				KFD_EC_MASK(KFD_DEBUG_CP_BAD_OP_ECODE(context_id0)),
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +14 -1
index 718e533ab46d..9044214dfdbd 100644
@@ -147,6 +147,9 @@ MODULE_FIRMWARE(FIRMWARE_NAVI12_DMCU);
 #define FIRMWARE_DCN_35_DMUB "amdgpu/dcn_3_5_dmcub.bin"
 MODULE_FIRMWARE(FIRMWARE_DCN_35_DMUB);
 
+#define FIRMWARE_DCN_351_DMUB "amdgpu/dcn_3_5_1_dmcub.bin"
+MODULE_FIRMWARE(FIRMWARE_DCN_351_DMUB);
+
 /* Number of bytes in PSP header for firmware. */
 #define PSP_HEADER_BYTES 0x100
 
@@ -3025,6 +3028,10 @@ static int dm_resume(void *handle)
 	/* Do mst topology probing after resuming cached state*/
 	drm_connector_list_iter_begin(ddev, &iter);
 	drm_for_each_connector_iter(connector, &iter) {
+
+		if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
+			continue;
+
 		aconnector = to_amdgpu_dm_connector(connector);
 		if (aconnector->dc_link->type != dc_connection_mst_branch ||
 		    aconnector->mst_root)
@@ -4776,6 +4783,9 @@ static int dm_init_microcode(struct amdgpu_device *adev)
 	case IP_VERSION(3, 5, 0):
 		fw_name_dmub = FIRMWARE_DCN_35_DMUB;
 		break;
+	case IP_VERSION(3, 5, 1):
+		fw_name_dmub = FIRMWARE_DCN_351_DMUB;
+		break;
 	default:
 		/* ASIC doesn't support DMUB. */
 		return 0;
@@ -5873,6 +5883,9 @@ get_highest_refresh_rate_mode(struct amdgpu_dm_connector *aconnector,
 		&aconnector->base.probed_modes :
 		&aconnector->base.modes;
 
+	if (aconnector->base.connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
+		return NULL;
+
 	if (aconnector->freesync_vid_base.clock != 0)
 		return &aconnector->freesync_vid_base;
 
@@ -8627,10 +8640,10 @@ static void amdgpu_dm_commit_audio(struct drm_device *dev,
 		if (!drm_atomic_crtc_needs_modeset(new_crtc_state))
 			continue;
 
+notify:
 		if (connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK)
 			continue;
 
-notify:
 		aconnector = to_amdgpu_dm_connector(connector);
 
 		mutex_lock(&adev->dm.audio_lock);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +36 -12

120 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c +1 -0
index 05f392501c0a..ab31643b1096 100644
@@ -2948,6 +2948,7 @@ static enum bp_result construct_integrated_info(
 				result = get_integrated_info_v2_1(bp, info);
 				break;
 			case 2:
+			case 3:
 				result = get_integrated_info_v2_2(bp, info);
 				break;
 			default:
drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_link_encoder.c +6 -0
index 5b7ad38f85e0..65e45a0b4ff3 100644
@@ -395,6 +395,12 @@ void dcn31_hpo_dp_link_enc_set_throttled_vcp_size(
 				x),
 			25));
 
+	// If y rounds up to integer, carry it over to x.
+	if (y >> 25) {
+		x += 1;
+		y = 0;
+	}
+
 	switch (stream_encoder_inst) {
 	case 0:
 		REG_SET_2(DP_DPHY_SYM32_VC_RATE_CNTL0, 0,
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c +27 -6
index 1e67374b8997..46cbb5a6c8e7 100644
@@ -638,22 +638,43 @@ void dcn35_power_down_on_boot(struct dc *dc)
 
 bool dcn35_apply_idle_power_optimizations(struct dc *dc, bool enable)
 {
-	struct dc_link *edp_links[MAX_NUM_EDP];
-	int i, edp_num;
 	if (dc->debug.dmcub_emulation)
 		return true;
 
 	if (enable) {
-		dc_get_edp_links(dc, edp_links, &edp_num);
-		if (edp_num == 0 || edp_num > 1)
-			return false;
+		uint32_t num_active_edp = 0;
+		int i;
 
 		for (i = 0; i < dc->current_state->stream_count; ++i) {
 			struct dc_stream_state *stream = dc->current_state->streams[i];
+			struct dc_link *link = stream->link;
+			bool is_psr = link && !link->panel_config.psr.disable_psr &&
+				      (link->psr_settings.psr_version == DC_PSR_VERSION_1 ||
+				       link->psr_settings.psr_version == DC_PSR_VERSION_SU_1);
+			bool is_replay = link && link->replay_settings.replay_feature_enabled;
+
+			/* Ignore streams that disabled. */
+			if (stream->dpms_off)
+				continue;
+
+			/* Active external displays block idle optimizations. */
+			if (!dc_is_embedded_signal(stream->signal))
+				return false;
+
+			/* If not PWRSEQ0 can't enter idle optimizations */
+			if (link && link->link_index != 0)
+				return false;
 
-			if (!stream->dpms_off && !dc_is_embedded_signal(stream->signal))
+			/* Check for panel power features required for idle optimizations. */
+			if (!is_psr && !is_replay)
 				return false;
+
+			num_active_edp += 1;
 		}
+
+		/* If more than one active eDP then disallow. */
+		if (num_active_edp > 1)
+			return false;
 	}
 
 	// TODO: review other cases when idle optimization is allowed
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +25 -2
index 0ad947df777a..ba1597b01a97 100644
@@ -734,7 +734,7 @@ static int smu_early_init(void *handle)
 	smu->adev = adev;
 	smu->pm_enabled = !!amdgpu_dpm;
 	smu->is_apu = false;
-	smu->smu_baco.state = SMU_BACO_STATE_EXIT;
+	smu->smu_baco.state = SMU_BACO_STATE_NONE;
 	smu->smu_baco.platform_support = false;
 	smu->user_dpm_profile.fan_mode = -1;
 
@@ -1954,10 +1954,25 @@ static int smu_smc_hw_cleanup(struct smu_context *smu)
 	return 0;
 }
 
+static int smu_reset_mp1_state(struct smu_context *smu)
+{
+	struct amdgpu_device *adev = smu->adev;
+	int ret = 0;
+
+	if ((!adev->in_runpm) && (!adev->in_suspend) &&
+		(!amdgpu_in_reset(adev)) && amdgpu_ip_version(adev, MP1_HWIP, 0) ==
+									IP_VERSION(13, 0, 10) &&
+		!amdgpu_device_has_display_hardware(adev))
+		ret = smu_set_mp1_state(smu, PP_MP1_STATE_UNLOAD);
+
+	return ret;
+}
+
 static int smu_hw_fini(void *handle)
 {
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 	struct smu_context *smu = adev->powerplay.pp_handle;
+	int ret;
 
 	if (amdgpu_sriov_vf(adev) && !amdgpu_sriov_is_pp_one_vf(adev))
 		return 0;
@@ -1975,7 +1990,15 @@ static int smu_hw_fini(void *handle)
 
 	adev->pm.dpm_enabled = false;
 
-	return smu_smc_hw_cleanup(smu);
+	ret = smu_smc_hw_cleanup(smu);
+	if (ret)
+		return ret;
+
+	ret = smu_reset_mp1_state(smu);
+	if (ret)
+		return ret;
+
+	return 0;
 }
 
 static void smu_late_fini(void *handle)
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +1 -0
index 66e84defd0b6..2aa4fea87314 100644
@@ -424,6 +424,7 @@ enum smu_reset_mode {
 enum smu_baco_state {
 	SMU_BACO_STATE_ENTER = 0,
 	SMU_BACO_STATE_EXIT,
+	SMU_BACO_STATE_NONE,
 };
 
 struct smu_baco_context {
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +7 -1
index 9c03296f92cd..67117ced7c6a 100644
@@ -2751,7 +2751,13 @@ static int smu_v13_0_0_set_mp1_state(struct smu_context *smu,
 
 	switch (mp1_state) {
 	case PP_MP1_STATE_UNLOAD:
-		ret = smu_cmn_set_mp1_state(smu, mp1_state);
+		ret = smu_cmn_send_smc_msg_with_param(smu,
+											  SMU_MSG_PrepareMp1ForUnload,
+											  0x55, NULL);
+
+		if (!ret && smu->smu_baco.state == SMU_BACO_STATE_EXIT)
+			ret = smu_v13_0_disable_pmfw_state(smu);
+
 		break;
 	default:
 		/* Ignore others */
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c +1 -1
index 949131bd1ecb..4abfcd32747d 100644
@@ -226,7 +226,7 @@ static int smu_v13_0_4_system_features_control(struct smu_context *smu, bool en)
 	struct amdgpu_device *adev = smu->adev;
 	int ret = 0;
 
-	if (!en && !adev->in_s0ix) {
+	if (!en && adev->in_s4) {
 		/* Adds a GFX reset as workaround just before sending the
 		 * MP1_UNLOAD message to prevent GC/RLC/PMFW from entering
 		 * an invalid state.
drivers/gpu/drm/drm_connector.c +1 -1
index b0516505f7ae..4d2df7f64dc5 100644
@@ -2940,7 +2940,7 @@ int drm_mode_getconnector(struct drm_device *dev, void *data,
 						     dev->mode_config.max_width,
 						     dev->mode_config.max_height);
 		else
-			drm_dbg_kms(dev, "User-space requested a forced probe on [CONNECTOR:%d:%s] but is not the DRM master, demoting to read-only probe",
+			drm_dbg_kms(dev, "User-space requested a forced probe on [CONNECTOR:%d:%s] but is not the DRM master, demoting to read-only probe\n",
 				    connector->base.id, connector->name);
 	}
 
drivers/gpu/drm/i915/display/intel_audio.c +8 -105

134 lines not on this page · raw message

drivers/gpu/drm/i915/display/intel_bios.c +4 -15
index eb9835d48d01..c36633d7dda8 100644
@@ -1042,22 +1042,11 @@ parse_lfp_backlight(struct drm_i915_private *i915,
 	panel->vbt.backlight.type = INTEL_BACKLIGHT_DISPLAY_DDI;
 	panel->vbt.backlight.controller = 0;
 	if (i915->display.vbt.version >= 191) {
-		size_t exp_size;
+		const struct lfp_backlight_control_method *method;
 
-		if (i915->display.vbt.version >= 236)
-			exp_size = sizeof(struct bdb_lfp_backlight_data);
-		else if (i915->display.vbt.version >= 234)
-			exp_size = EXP_BDB_LFP_BL_DATA_SIZE_REV_234;
-		else
-			exp_size = EXP_BDB_LFP_BL_DATA_SIZE_REV_191;
-
-		if (get_blocksize(backlight_data) >= exp_size) {
-			const struct lfp_backlight_control_method *method;
-
-			method = &backlight_data->backlight_control[panel_type];
-			panel->vbt.backlight.type = method->type;
-			panel->vbt.backlight.controller = method->controller;
-		}
+		method = &backlight_data->backlight_control[panel_type];
+		panel->vbt.backlight.type = method->type;
+		panel->vbt.backlight.controller = method->controller;
 	}
 
 	panel->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
drivers/gpu/drm/i915/display/intel_vbt_defs.h +0 -5
index a9f44abfc9fc..b50cd0dcabda 100644
@@ -897,11 +897,6 @@ struct lfp_brightness_level {
 	u16 reserved;
 } __packed;
 
-#define EXP_BDB_LFP_BL_DATA_SIZE_REV_191 \
-	offsetof(struct bdb_lfp_backlight_data, brightness_level)
-#define EXP_BDB_LFP_BL_DATA_SIZE_REV_234 \
-	offsetof(struct bdb_lfp_backlight_data, brightness_precision_bits)
-
 struct bdb_lfp_backlight_data {
 	u8 entry_size;
 	struct lfp_backlight_data_entry data[16];
drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c +3 -3
index 044219c5960a..99b71bb7da0a 100644
@@ -8,14 +8,14 @@
 #include "intel_gt_ccs_mode.h"
 #include "intel_gt_regs.h"
 
-void intel_gt_apply_ccs_mode(struct intel_gt *gt)
+unsigned int intel_gt_apply_ccs_mode(struct intel_gt *gt)
 {
 	int cslice;
 	u32 mode = 0;
 	int first_ccs = __ffs(CCS_MASK(gt));
 
 	if (!IS_DG2(gt->i915))
-		return;
+		return 0;
 
 	/* Build the value for the fixed CCS load balancing */
 	for (cslice = 0; cslice < I915_MAX_CCS; cslice++) {
@@ -35,5 +35,5 @@ void intel_gt_apply_ccs_mode(struct intel_gt *gt)
 						     XEHP_CCS_MODE_CSLICE_MASK);
 	}
 
-	intel_uncore_write(gt->uncore, XEHP_CCS_MODE, mode);
+	return mode;
 }
drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h +1 -1
index 9e5549caeb26..55547f2ff426 100644
@@ -8,6 +8,6 @@
 
 struct intel_gt;
 
-void intel_gt_apply_ccs_mode(struct intel_gt *gt);
+unsigned int intel_gt_apply_ccs_mode(struct intel_gt *gt);
 
 #endif /* __INTEL_GT_CCS_MODE_H__ */
drivers/gpu/drm/i915/gt/intel_workarounds.c +3 -1
index 59816dd6fbfe..bc1b598d9a09 100644
@@ -2855,6 +2855,7 @@ add_render_compute_tuning_settings(struct intel_gt *gt,
 static void ccs_engine_wa_mode(struct intel_engine_cs *engine, struct i915_wa_list *wal)
 {
 	struct intel_gt *gt = engine->gt;
+	u32 mode;
 
 	if (!IS_DG2(gt->i915))
 		return;
@@ -2871,7 +2872,8 @@ static void ccs_engine_wa_mode(struct intel_engine_cs *engine, struct i915_wa_li
 	 * After having disabled automatic load balancing we need to
 	 * assign all slices to a single CCS. We will call it CCS mode 1
 	 */
-	intel_gt_apply_ccs_mode(gt);
+	mode = intel_gt_apply_ccs_mode(gt);
+	wa_masked_en(wal, XEHP_CCS_MODE, mode);
 }
 
 /*
drivers/gpu/drm/imagination/pvr_fw_mips.h +3 -2
index 408dbe63a90c..a0c5c41c8aa2 100644
@@ -7,13 +7,14 @@
 #include "pvr_rogue_mips.h"
 
 #include <asm/page.h>
+#include <linux/math.h>
 #include <linux/types.h>
 
 /* Forward declaration from pvr_gem.h. */
 struct pvr_gem_object;
 
-#define PVR_MIPS_PT_PAGE_COUNT ((ROGUE_MIPSFW_MAX_NUM_PAGETABLE_PAGES * ROGUE_MIPSFW_PAGE_SIZE_4K) \
-				>> PAGE_SHIFT)
+#define PVR_MIPS_PT_PAGE_COUNT DIV_ROUND_UP(ROGUE_MIPSFW_MAX_NUM_PAGETABLE_PAGES * ROGUE_MIPSFW_PAGE_SIZE_4K, PAGE_SIZE)
+
 /**
  * struct pvr_fw_mips_data - MIPS-specific data
  */
drivers/gpu/drm/meson/meson_dw_hdmi.c +31 -39

130 lines not on this page · raw message

drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h +3 -1
index 6f5d376d8fcc..a11d16a16c3b 100644
@@ -15,7 +15,9 @@ struct nvkm_gsp_mem {
 };
 
 struct nvkm_gsp_radix3 {
-	struct nvkm_gsp_mem mem[3];
+	struct nvkm_gsp_mem lvl0;
+	struct nvkm_gsp_mem lvl1;
+	struct sg_table lvl2;
 };
 
 int nvkm_gsp_sg(struct nvkm_device *, u64 size, struct sg_table *);
drivers/gpu/drm/nouveau/nouveau_dp.c +8 -5
index 7de7707ec6a8..3f72bc38bd2c 100644
@@ -225,12 +225,15 @@ nouveau_dp_detect(struct nouveau_connector *nv_connector,
 	u8 *dpcd = nv_encoder->dp.dpcd;
 	int ret = NOUVEAU_DP_NONE, hpd;
 
-	/* If we've already read the DPCD on an eDP device, we don't need to
-	 * reread it as it won't change
+	/* eDP ports don't support hotplugging - so there's no point in probing eDP ports unless we
+	 * haven't probed them once before.
 	 */
-	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP &&
-	    dpcd[DP_DPCD_REV] != 0)
-		return NOUVEAU_DP_SST;
+	if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {
+		if (connector->status == connector_status_connected)
+			return NOUVEAU_DP_SST;
+		else if (connector->status == connector_status_disconnected)
+			return NOUVEAU_DP_NONE;
+	}
 
 	mutex_lock(&nv_encoder->dp.hpd_irq_lock);
 	if (mstm) {
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c +52 -27

117 lines not on this page · raw message

drivers/gpu/drm/panel/Kconfig +1 -1
index 8f3783742208..888297d0d395 100644
@@ -184,7 +184,7 @@ config DRM_PANEL_ILITEK_IL9322
 
 config DRM_PANEL_ILITEK_ILI9341
 	tristate "Ilitek ILI9341 240x320 QVGA panels"
-	depends on OF && SPI
+	depends on SPI
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	depends on BACKLIGHT_CLASS_DEVICE
drivers/gpu/drm/panel/panel-ilitek-ili9341.c +7 -6
index 3574681891e8..b933380b7eb7 100644
@@ -22,8 +22,9 @@
 #include <linux/bitops.h>
 #include <linux/delay.h>
 #include <linux/gpio/consumer.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
-#include <linux/of.h>
+#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/spi/spi.h>
 
@@ -421,7 +422,7 @@ static int ili9341_dpi_prepare(struct drm_panel *panel)
 
 	ili9341_dpi_init(ili);
 
-	return ret;
+	return 0;
 }
 
 static int ili9341_dpi_enable(struct drm_panel *panel)
@@ -691,7 +692,7 @@ static int ili9341_dpi_probe(struct spi_device *spi, struct gpio_desc *dc,
 	 * Every new incarnation of this display must have a unique
 	 * data entry for the system in this driver.
 	 */
-	ili->conf = of_device_get_match_data(dev);
+	ili->conf = device_get_match_data(dev);
 	if (!ili->conf) {
 		dev_err(dev, "missing device configuration\n");
 		return -ENODEV;
@@ -714,18 +715,18 @@ static int ili9341_probe(struct spi_device *spi)
 
 	reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
 	if (IS_ERR(reset))
-		dev_err(dev, "Failed to get gpio 'reset'\n");
+		return dev_err_probe(dev, PTR_ERR(reset), "Failed to get gpio 'reset'\n");
 
 	dc = devm_gpiod_get_optional(dev, "dc", GPIOD_OUT_LOW);
 	if (IS_ERR(dc))
-		dev_err(dev, "Failed to get gpio 'dc'\n");
+		return dev_err_probe(dev, PTR_ERR(dc), "Failed to get gpio 'dc'\n");
 
[… more lines in the raw message]

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

drivers/gpu/drm/qxl/qxl_release.c +5 -45

50 lines not on this page · raw message

drivers/gpu/drm/radeon/pptable.h +5 -5
index 94947229888b..b7f22597ee95 100644

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

drivers/gpu/drm/ttm/ttm_tt.c +1 -1
index 43eaffa7faae..bf9601351fa3 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_bo.c +1 -0
index 4aac88cc5f91..ae796e0c64aa 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_fence.c +1 -1
index 2a0cda324703..5efc6a766f64 100644

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

drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h +2 -1
index 5d2a77b52db4..d9a81e6a4b85 100644

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

drivers/gpu/drm/xe/regs/xe_engine_regs.h +1 -1
index 5592774fc690..81b8362e9340 100644

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

drivers/gpu/drm/xe/xe_lrc.c +11 -14
index b38319d2801e..72f04a656e8b 100644

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

drivers/gpu/drm/xe/xe_migrate.c +4 -4
index 70480c305602..7a6ad3469d74 100644

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

drivers/gpu/host1x/bus.c +0 -8
index 84d042796d2e..3937889fa912 100644

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

drivers/hv/channel.c +24 -5
index adbf674355b2..fb8cd8469328 100644

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

drivers/hv/connection.c +22 -7
index 3cabeeabb1ca..f001ae880e1d 100644

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

drivers/hwmon/corsair-cpro.c +32 -13

45 lines not on this page · raw message

drivers/hwmon/pmbus/ucd9000.c +3 -3
index 8d9d422450e5..d817c719b90b 100644

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

drivers/iio/accel/mxc4005.c +85 -7

92 lines not on this page · raw message

drivers/iio/imu/adis16475.c +3 -1
index 64be656f0b80..289b6c2bb2c2 100644

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

drivers/iio/pressure/bmp280-core.c +1 -0
index fe8734468ed3..62e9e93d915d 100644

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

drivers/iio/pressure/bmp280-spi.c +4 -9
index a444d4b2978b..4e19ea0b4d39 100644

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

drivers/iio/pressure/bmp280.h +1 -0
index 4012387d7956..5812a344ed8e 100644

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

drivers/infiniband/hw/qib/qib_fs.c +1 -0
index 455e966eeff3..b27791029fa9 100644

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

drivers/iommu/amd/iommu.c +4 -0
index 4283dd8191f0..f945bf3253ce 100644

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

drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.c +1 -3
index 87bf522b9d2e..957d988b6d83 100644

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

drivers/iommu/mtk_iommu.c +1 -0
index 7abe9e85a570..51d0eba8cbdf 100644

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

drivers/iommu/mtk_iommu_v1.c +1 -0
index 25b41222abae..32cc8341d372 100644

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

drivers/misc/mei/hw-me-regs.h +2 -0
index aac36750d2c5..c3a6657dcd4a 100644

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

drivers/misc/mei/pci-me.c +2 -0
index bd4e3df44865..3c2c28c8ba30 100644

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

drivers/misc/pvpanic/pvpanic-pci.c +1 -3
index 9ad20e82785b..b21598a18f6d 100644

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

drivers/net/dsa/mv88e6xxx/chip.c +16 -4
index 32416d8802ca..967d9136313f 100644

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

drivers/net/ethernet/broadcom/genet/bcmgenet.c +26 -6
index 2d7ae71287b1..cefb9f34d57b 100644

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

drivers/net/ethernet/broadcom/genet/bcmgenet.h +3 -1
index 1985c0ec4da2..28e2c94ef835 100644

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

drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c +7 -1
index 7a41cad5788f..1248792d7fd4 100644

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

drivers/net/ethernet/broadcom/genet/bcmmii.c +5 -1
index 97ea76d443ab..e7c659cd3974 100644

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

drivers/net/ethernet/brocade/bna/bnad_debugfs.c +2 -2
index 7246e13dd559..97291bfbeea5 100644

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

drivers/net/ethernet/chelsio/cxgb4/sge.c +3 -3
index b5ff2e1a9975..2285f2e87e68 100644

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

drivers/net/ethernet/hisilicon/hns3/hnae3.h +1 -1
index d7e175a9cb49..2f7195ba4902 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +28 -24

52 lines not on this page · raw message

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h +4 -1
index 51979cf71262..d4a146c53c5e 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +4 -3
index 4b0d07ca2505..a44659906ca0 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +9 -11
index 0aa9beefd1c7..43ee20eb03d1 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h +1 -1
index a73f2bf3a56a..cccef3228461 100644

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

drivers/net/ethernet/intel/e1000e/phy.c +4 -4
index 93544f1cc2a5..f7ae0e0aa4a4 100644

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

drivers/net/ethernet/intel/ice/ice_debugfs.c +4 -4
index c2bfba6b9ead..66aa9759c8e7 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +1 -3
index e6d7914ce61c..e7eca8141e8c 100644

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

drivers/net/ethernet/micrel/ks8851_common.c +10 -6
index d4cdf3d4f552..502518cdb461 100644

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

drivers/net/ethernet/qlogic/qede/qede_filter.c +8 -6
index a5ac21a0ee33..cb6b33a228ea 100644

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

drivers/net/hyperv/netvsc.c +5 -2
index a6fcbda64ecc..2b6ec979a62f 100644

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

drivers/net/usb/qmi_wwan.c +1 -0
index e2e181378f41..edc34402e787 100644

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

drivers/net/vxlan/vxlan_core.c +34 -15

49 lines not on this page · raw message

drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c +6 -1
index 1628bf55458f..23e64a757cfe 100644

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

drivers/net/wireless/intel/iwlwifi/queue/tx.c +1 -1
index ca74b1b63cac..0efa304904bd 100644

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

drivers/nvme/host/core.c +1 -1
index fe3627c5bdc9..26153cb7647d 100644

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

drivers/nvme/host/nvme.h +5 -0
index 7b87763e2f8a..738719085e05 100644

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

drivers/nvme/host/pci.c +11 -3
index 8e0bb9692685..02565dc99ad8 100644

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

drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c +17 -17
index d376fa7114d1..029efe16f8cc 100644

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

drivers/pinctrl/core.c +1 -7
index bbcdece83bf4..ae975e1365df 100644

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

drivers/pinctrl/devicetree.c +6 -4
index df1efc2e5202..6a94ecd6a8de 100644

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

drivers/pinctrl/intel/pinctrl-baytrail.c +38 -36

74 lines not on this page · raw message

drivers/pinctrl/intel/pinctrl-intel.h +4 -0
index fde65e18cd14..6981e2fab93f 100644

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

drivers/pinctrl/mediatek/pinctrl-paris.c +13 -27
index b6bc31abd2b0..b19bc391705e 100644

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

drivers/pinctrl/meson/pinctrl-meson-a1.c +3 -3
index 79f5d753d7e1..50a87d9618a8 100644

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

drivers/platform/x86/acer-wmi.c +9 -0
index ee2e164f86b9..38c932df6446 100644

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

drivers/platform/x86/amd/pmf/acpi.c +1 -1
index f2eb07ef855a..1c0d2bbc1f97 100644

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

drivers/platform/x86/intel/speed_select_if/isst_if_common.c +1 -0
index 08df9494603c..30951f7131cd 100644

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

drivers/power/supply/mt6360_charger.c +1 -1
index 1305cba61edd..aca123783efc 100644

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

drivers/power/supply/rt9455_charger.c +2 -0
index c345a77f9f78..e4dbacd50a43 100644

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

drivers/regulator/core.c +16 -11
index a968dabb48f5..1b897d0009c5 100644

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

drivers/regulator/mt6360-regulator.c +20 -12
index ad6587a378d0..24cc9fc94e90 100644

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

drivers/regulator/tps65132-regulator.c +7 -0
index a06f5f2d7932..9c2f0dd42613 100644

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

drivers/s390/cio/cio_inject.c +1 -1
index 8613fa937237..a2e771ebae8e 100644

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

drivers/s390/net/qeth_core_main.c +27 -34

61 lines not on this page · raw message

drivers/scsi/bnx2fc/bnx2fc_tgt.c +0 -2
index 2c246e80c1c4..d91659811eb3 100644

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

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +9 -1
index b56fbc61a15a..86112f234740 100644

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

drivers/scsi/libsas/sas_expander.c +1 -1
index 5c261005b74e..f6e6db8b8aba 100644

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

drivers/scsi/lpfc/lpfc.h +1 -1
index 04d608ea9106..9670cb2bf198 100644

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

drivers/scsi/lpfc/lpfc_attr.c +2 -2
index d3a5d6ecdf7d..6f97a04171c4 100644

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

drivers/scsi/lpfc/lpfc_bsg.c +10 -10
index 2919579fa084..c305d16cfae9 100644

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

drivers/scsi/lpfc/lpfc_debugfs.c +6 -6
index ea9b42225e62..20662b4f339e 100644

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

drivers/scsi/lpfc/lpfc_els.c +10 -10
index 4d723200690a..26736122bda1 100644

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

drivers/scsi/lpfc/lpfc_hbadisc.c +2 -3
index f80bbc315f4c..da3aee0f6323 100644

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

drivers/scsi/lpfc/lpfc_init.c +4 -1
index 70bcee64bc8c..858ca395c0bf 100644

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

drivers/scsi/lpfc/lpfc_nvme.c +2 -2
index 128fc1bab586..47218cf4d110 100644

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

drivers/scsi/lpfc/lpfc_scsi.c +4 -9
index bf879d81846b..cf506556f3b0 100644

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

drivers/scsi/lpfc/lpfc_sli.c +17 -17
index 706985358c6a..e1821072552a 100644

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

drivers/scsi/lpfc/lpfc_vport.c +4 -4
index 6c7559cf1a4b..9e0e9e02d2c4 100644

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

drivers/scsi/mpi3mr/mpi3mr_app.c +1 -1
index 0380996b5ad2..55d590b91947 100644

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

drivers/slimbus/qcom-ngd-ctrl.c +5 -1
index 77aa6d26476c..0da5d9d1af03 100644

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

drivers/spi/spi-axi-spi-engine.c +7 -12
index 9ace259d2d29..2b07b6dbf8a3 100644

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

drivers/spi/spi-hisi-kunpeng.c +0 -2
index 35ef5e8e2ffd..77e9738e42f6 100644

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

drivers/spi/spi-microchip-core-qspi.c +1 -0
index 03d125a71fd9..09f16471c537 100644

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

drivers/spi/spi.c +1 -0
index 46f153548760..a7194f29c200 100644

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

drivers/target/target_core_configfs.c +12 -0
index c1fbcdd16182..c40217f44b1b 100644

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

drivers/thermal/thermal_debugfs.c +45 -14

59 lines not on this page · raw message

drivers/ufs/core/ufs-mcq.c +1 -1
index 0787456c2b89..c873fd823942 100644

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

drivers/ufs/core/ufshcd.c +7 -2
index 3b89c9d4aa40..4a07a18cf835 100644

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

drivers/uio/uio_hv_generic.c +8 -4
index 20d9762331bd..6be3462b109f 100644

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

drivers/usb/core/hub.c +3 -2
index 64e54163f05e..48e1e43780eb 100644

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

drivers/usb/core/port.c +6 -2
index 97ff2073cf1e..d34d67fcb47b 100644

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

drivers/usb/dwc3/core.c +38 -52

90 lines not on this page · raw message

drivers/usb/dwc3/core.h +1 -0
index 893b1e694efe..d96a28eecbcc 100644

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

drivers/usb/dwc3/gadget.c +2 -0
index 07820b1a88a2..4062a486b9e6 100644

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

drivers/usb/dwc3/host.c +27 -0
index f6a020d77fa1..6c143f7d2410 100644

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

drivers/usb/gadget/composite.c +3 -3
index 0ace45b66a31..0e151b54aae8 100644

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

drivers/usb/gadget/function/f_fs.c +7 -2
index 6bff6cb93789..839426d92b99 100644

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

drivers/usb/gadget/function/uvc_configfs.c +2 -2
index 7e704b2bcfd1..a4377df612f5 100644

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

drivers/usb/host/ohci-hcd.c +8 -0
index 4f9982ecfb58..5cec7640e913 100644

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

drivers/usb/host/xhci-plat.h +3 -1
index 2d15386f2c50..6475130eac4b 100644

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

drivers/usb/host/xhci-rzv2m.c +1 -0
index ec65b24eafa8..4f59867d7117 100644

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

drivers/usb/typec/tcpm/tcpm.c +28 -8
index df9a5d6760b4..3f7200a2272f 100644

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

drivers/usb/typec/ucsi/ucsi.c +11 -1
index cd415565b60a..b501760012c4 100644

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

drivers/vfio/pci/vfio_pci.c +2 -0
index cb5b7f865d58..e727941f589d 100644

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

fs/9p/fid.h +0 -3
index 29281b7c3887..0d6138bee2a3 100644

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

fs/9p/vfs_file.c +2 -0
index bae330c2f0cf..a504240c818c 100644

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

fs/9p/vfs_inode.c +14 -9
index 32572982f72e..0fde0ab77eff 100644

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

fs/9p/vfs_super.c +1 -0
index 941f7d0e0bfa..23cc67f29af2 100644

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

fs/btrfs/inode.c +1 -1
index b28bb1c93dcb..d3c534c1bfb5 100644

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

fs/btrfs/ordered-data.c +1 -0
index 59850dc17b22..81f67ebf7426 100644

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

fs/btrfs/qgroup.c +2 -0
index 132802bd8099..82d4559eb4b1 100644

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

fs/btrfs/transaction.c +1 -1
index f1705ae59e4a..b93cdf5f179c 100644

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

fs/btrfs/tree-checker.c +15 -15
index 6eccf8496486..75c78a5556c5 100644

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

fs/btrfs/tree-checker.h +1 -0
index 14b9fbe82da4..580ec4fde01a 100644

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

fs/btrfs/volumes.c +13 -5
index f3890f7c7807..3ebadc5ec8ae 100644

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

fs/exfat/file.c +3 -4
index cc00f1a7a1e1..9adfc38ca7da 100644

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

fs/gfs2/bmap.c +3 -2
index d9ccfd27e4f1..643175498d1c 100644

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

fs/nfs/client.c +4 -1
index fbdc9ca80f71..a8fad331dff6 100644

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

fs/nfs/inode.c +9 -4
index ebb8d60e1152..6fe4b47c3928 100644

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

fs/nfs/internal.h +0 -2
index e3722ce6722e..06253695fe53 100644

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

fs/nfs/netns.h +2 -0
index c8374f74dce1..a68b21603ea9 100644

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

fs/nfsd/cache.h +0 -2
index 4cbe0434cbb8..66a05fefae98 100644

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

fs/nfsd/netns.h +17 -4
index 74b4360779a1..0cef4bb407a9 100644

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

fs/nfsd/nfs4callback.c +96 -1

97 lines not on this page · raw message

fs/nfsd/nfs4proc.c +3 -3
index 14712fa08f76..648ff427005e 100644

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

fs/nfsd/nfs4state.c +2 -1
index 692ede488254..71f9442c5c9f 100644

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

fs/nfsd/nfs4xdr.c +1 -1
index c17bdf973c18..24db9f9ea86a 100644

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

fs/nfsd/nfscache.c +9 -31
index 5c1a4a0aa605..cfcc6ac8f255 100644

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

fs/nfsd/nfsctl.c +5 -9
index f206ca32e7f5..ea3c8114245c 100644

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

fs/nfsd/nfsfh.c +2 -1
index dbfa0ac13564..40fecf7b224f 100644

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

fs/nfsd/state.h +14 -0
index 41bdc913fa71..0bbbe57e027d 100644

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

fs/nfsd/stats.c +18 -25

43 lines not on this page · raw message

fs/nfsd/stats.h +24 -38

62 lines not on this page · raw message

fs/nfsd/vfs.c +4 -2
index 4ed1e83defa2..9b5e20b2d038 100644

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

fs/nfsd/xdr4cb.h +18 -0
index 0d39af1b00a0..e8b00309c449 100644

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

fs/proc/task_mmu.c +14 -10
index 3f78ebbb795f..8433f076e987 100644

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

fs/smb/client/cifsglob.h +1 -0
index 0c3311de5dc0..a393d505e847 100644

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

fs/smb/client/connect.c +8 -0
index 7516c7d4558d..e28f011f11d6 100644

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

fs/smb/client/fs_context.c +21 -0
index 775b0ca60589..f119035a8272 100644

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

fs/smb/client/fs_context.h +2 -0
index 61776572b8d2..369a3fea1dfe 100644

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

fs/smb/client/misc.c +1 -0
index 0d13db80e67c..d56959d02e36 100644

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

fs/smb/client/smb2pdu.c +11 -0
index b71e32d66eba..60793143e24c 100644

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

fs/smb/server/oplock.c +24 -11
index 53dfaac425c6..dc729ab980dc 100644

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

fs/smb/server/transport_tcp.c +4 -0
index 002a3f0dc7c5..6633fa78e9b9 100644

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

fs/tracefs/event_inode.c +30 -15

45 lines not on this page · raw message

fs/tracefs/inode.c +89 -3

92 lines not on this page · raw message

fs/tracefs/internal.h +6 -1
index beb3dcd0e434..824cbe83679c 100644

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

fs/userfaultfd.c +4 -0
index 959551ff9a95..13ef4e1fc123 100644

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

fs/vboxsf/file.c +1 -0
index 2307f8037efc..118dedef8ebe 100644

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

include/linux/compiler_types.h +11 -0
index 0caf354cb94b..a6a28952836c 100644

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

include/linux/dma-fence.h +0 -7
index c3f9bb6602ba..e06bad467f55 100644

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

include/linux/gfp_types.h +2 -0
index 1b6053da8754..495ebf5f2cb6 100644

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

include/linux/hyperv.h +1 -0
index 6ef0557b4bff..96ceb4095425 100644

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

include/linux/pci_ids.h +2 -0
index a0c75e467df3..5bfa57a5f734 100644

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

include/linux/regmap.h +8 -0
index c9182a47736e..113261287af2 100644

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

include/linux/regulator/consumer.h +2 -2
index 4660582a3302..ed180ca419da 100644

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

include/linux/skbuff.h +15 -0
index 5bafcfe18be6..f86f9396f727 100644

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

include/linux/skmsg.h +2 -0
index e65ec3fd2799..a509caf823d6 100644

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

include/linux/slab.h +2 -2
index b5f5ee8308d0..34b32c59ce79 100644

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

include/linux/sockptr.h +25 -0
index 307961b41541..317200cd3a60 100644

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

include/linux/sunrpc/clnt.h +1 -0
index 5e9d1469c6fa..5321585c778f 100644

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

include/net/gro.h +9 -0
index b435f0ddbf64..62b006f3ed18 100644

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

include/net/xfrm.h +3 -0
index 1d107241b901..5d0f8f40b8d1 100644

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

include/sound/emu10k1.h +1 -2
index 1af9e6819392..9cc10fab01a8 100644

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

include/trace/events/rxrpc.h +1 -1
index 87b8de9b6c1c..ecf9da546235 100644

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

include/uapi/linux/kfd_ioctl.h +14 -3
index f0ed68974c54..5fdaf0ab460d 100644

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

include/uapi/scsi/scsi_bsg_mpi3mr.h +1 -1
index c72ce387286a..30a5c1a59376 100644

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

kernel/bpf/bloom_filter.c +13 -0
index addf3dd57b59..35e1ddca74d2 100644

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

kernel/bpf/verifier.c +1 -2
index 19e575e6b7fe..11bc3af33f34 100644

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

kernel/dma/swiotlb.c +1 -0
index 877c4b8fad19..1955b42f42fc 100644

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

kernel/workqueue.c +6 -2
index 7b482a26d741..223aa99bb71c 100644

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

lib/Kconfig.debug +3 -2
index ef36b829ae1f..6352d59c5746 100644

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

lib/dynamic_debug.c +5 -1
index 6fba6423cc10..a5a687e1c919 100644

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

lib/maple_tree.c +8 -8
index 6f241bb38799..d70db0575709 100644

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

lib/scatterlist.c +1 -1
index 68b45c82c37a..7bc2220fea80 100644

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

mm/readahead.c +4 -0
index 2648ec4f0494..89139a872194 100644

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

mm/slub.c +29 -23

52 lines not on this page · raw message

net/8021q/vlan_core.c +2 -0
index f00158234505..9404dd551dfd 100644

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

net/bluetooth/hci_core.c +1 -2
index 0592369579ab..befe645d3f9b 100644

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

net/bluetooth/hci_event.c +2 -0
index 9d1063c51ed2..0f56ad33801e 100644

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

net/bluetooth/l2cap_core.c +3 -0
index 84fc70862d78..5761d37c5537 100644

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

net/bluetooth/msft.c +1 -1
index 9612c5d1b13f..d039683d3bdd 100644

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

net/bluetooth/msft.h +2 -2
index 2a63205b377b..fe538e9c91c0 100644

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

net/bluetooth/sco.c +4 -0
index 5d03c5440b06..e0ad30862ee4 100644

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

net/bridge/br_forward.c +7 -2
index 7431f89e897b..d97064d460dc 100644

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

net/bridge/br_netlink.c +2 -1
index d415833fce91..f17dbac7d828 100644

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

net/core/filter.c +32 -10

42 lines not on this page · raw message

net/core/gro.c +1 -0
index cefddf65f7db..31e40f25fdf1 100644

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

net/core/link_watch.c +2 -2
index 429571c258da..1b93e054c9a3 100644

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

net/core/net-sysfs.c +1 -3
index a09d507c5b03..676048ae1183 100644

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

net/core/net_namespace.c +10 -3
index 72799533426b..b36444e3810c 100644

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

net/core/rtnetlink.c +3 -3
index bd50e9fe3234..95e62235b541 100644

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

net/core/skbuff.c +19 -8
index 71dee435d549..570269c47754 100644

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

net/core/skmsg.c +1 -4
index 4d75ef9d24bf..fd20aae30be2 100644

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

net/core/sock.c +2 -2
index 9cf404e8038a..599f186fe3d3 100644

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

net/hsr/hsr_device.c +14 -17
index 9d71b66183da..03a42de7511e 100644

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

net/ipv4/af_inet.c +1 -0
index a5a820ee2026..ce5c26cf1e2e 100644

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

net/ipv4/ip_output.c +1 -1
index 67d846622365..a38e63669c54 100644

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

net/ipv4/raw.c +3 -0
index 288f1846b351..a1d8218fa1a2 100644

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

net/ipv4/tcp.c +2 -2
index 5887eac87bd2..94b129301d38 100644

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

net/ipv4/tcp_input.c +2 -0
index df7b13f0e5e0..ff10be8c76cf 100644

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

net/ipv4/tcp_ipv4.c +7 -1
index 0c50c5a32b84..68a065c0e508 100644

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

net/ipv4/tcp_output.c +3 -1
index e3167ad96567..02caeb7bcf63 100644

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

net/ipv4/udp.c +2 -1
index 40282a34180c..9120694359af 100644

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

net/ipv4/udp_offload.c +13 -2
index c3d67423ae18..e5971890d637 100644

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

net/ipv4/xfrm4_input.c +5 -1
index c54676998eb6..801404f7d657 100644

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

net/ipv6/addrconf.c +6 -5
index 37d48aa073c3..c4e2f9d35e68 100644

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

net/ipv6/fib6_rules.c +5 -1
index 52c04f0ac498..9e254de7462f 100644

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

net/ipv6/ip6_input.c +2 -2
index b8378814532c..1ba97933c74f 100644

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

net/ipv6/ip6_offload.c +1 -0
index cca64c7809be..19ae2d4cd202 100644

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

net/ipv6/ip6_output.c +2 -2
index 31b86fe661aa..51b358f6c391 100644

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

net/ipv6/udp.c +2 -1
index 8c14c4cc82ff..785b2d076a6b 100644

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

net/ipv6/udp_offload.c +2 -1
index 626d7b362dc7..639a4b506f9b 100644

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

net/ipv6/xfrm6_input.c +5 -1
index 6e36e5047fba..4e6dcefd635c 100644

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

net/l2tp/l2tp_eth.c +3 -0
index 25ca89f80414..9dacfa91acc7 100644

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

net/mac80211/ieee80211_i.h +2 -2
index a18361afea24..399fcb66658d 100644

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

net/mac80211/mlme.c +3 -2
index 94028b541beb..ac0073c8f96f 100644

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

net/mptcp/ctrl.c +38 -1
index 13fe0748dde8..2963ba84e2ee 100644

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

net/mptcp/protocol.c +3 -0
index 2b921af2718d..74c1faec271d 100644

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

net/nfc/llcp_sock.c +6 -6
index 819157bbb5a2..d5344563e525 100644

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

net/nfc/nci/core.c +1 -0
index 0d26c8ec9993..b133dc55304c 100644

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

net/nsh/nsh.c +8 -6
index f4a38bd6a7e0..bfb7758063f3 100644

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

net/phonet/pn_netlink.c +1 -1
index 59aebe296890..dd4c7e9a634f 100644

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

net/rxrpc/ar-internal.h +1 -1
index 7818aae1be8e..4301dd20b4ea 100644

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

net/rxrpc/call_object.c +1 -6
index 9fc9a6c3f685..3847b14af7f3 100644

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

net/rxrpc/conn_event.c +8 -8
index 1f251d758cb9..598b4ee389fc 100644

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

net/rxrpc/conn_object.c +2 -7
index df8a271948a1..7aa58129ae45 100644

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

net/rxrpc/input.c +46 -25

71 lines not on this page · raw message

net/rxrpc/output.c +7 -7
index 4a292f860ae3..cad6a7d18e04 100644

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

net/rxrpc/protocol.h +3 -3
index e8ee4af43ca8..4fe6b4d20ada 100644

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

net/smc/smc_ib.c +12 -7
index 97704a9e84c7..9297dc20bfe2 100644

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

net/sunrpc/clnt.c +4 -1
index cda0935a68c9..28f3749f6dc6 100644

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

net/sunrpc/xprtsock.c +1 -0
index 58f3dc8d0d71..004d2bd8b49e 100644

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

net/tipc/msg.c +6 -2
index 5c9fd4791c4b..76284fc538eb 100644

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

net/wireless/nl80211.c +2 -0
index bd54a928bab4..daac83aa8988 100644

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

net/wireless/trace.h +1 -1
index 1f374c8a17a5..cc3fd4177bce 100644

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

net/xfrm/xfrm_input.c +8 -0
index bd4ce21d76d7..b2f7af63b7da 100644

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

rust/macros/module.rs +115 -70

185 lines not on this page · raw message

scripts/Makefile.modfinal +1 -1
index 8568d256d6fb..79fcf2731686 100644

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

security/keys/key.c +2 -1
index 5b10641debd5..74dfd961af96 100644

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

sound/hda/intel-sdw-acpi.c +2 -0
index b57d72ea4503..4e376994bf78 100644

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

sound/oss/dmasound/dmasound_paula.c +7 -1
index 0ba8f0c4cd99..3a593da09280 100644

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

sound/pci/emu10k1/emu10k1.c +1 -2
index fe72e7d77241..dadeda7758ce 100644

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

sound/pci/emu10k1/emu10k1_main.c +77 -62

139 lines not on this page · raw message

sound/pci/hda/patch_realtek.c +24 -1
index bf0618ab4fda..7c82f93ba919 100644

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

sound/soc/codecs/es8326.c +16 -14
index cbcd02ec6ba4..a3dbeebaeb0c 100644

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

sound/soc/codecs/es8326.h +1 -1
index 4234bbb900c4..dfef808673f4 100644

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

sound/soc/codecs/wsa881x.c +1 -0
index 3c025dabaf7a..1253695bebd8 100644

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

sound/soc/intel/avs/topology.c +2 -0
index 48b3c67c9103..d8223e2b4cfe 100644

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

sound/soc/meson/Kconfig +1 -0
index b93ea33739f2..6458d5dc4902 100644

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

sound/soc/meson/axg-card.c +1 -0
index 3180aa4d3a15..8c5605c1e34e 100644

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

sound/soc/meson/axg-fifo.c +31 -21

52 lines not on this page · raw message

sound/soc/meson/axg-fifo.h +5 -7
index df528e8cb7c9..84a266413990 100644

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

sound/soc/meson/axg-frddr.c +3 -2
index 8c166a5f338c..747a900c0bb2 100644

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

sound/soc/meson/axg-tdm-interface.c +19 -15
index 2cedbce73837..a71790908e17 100644

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

sound/soc/meson/axg-toddr.c +10 -12
index 1a0be177b8fe..972ad99f31be 100644

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

sound/soc/sof/intel/hda-dsp.c +15 -5
index 2445ae7f6b2e..1506982a56c3 100644

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

sound/soc/sof/intel/pci-lnl.c +3 -0
index b26ffe767fab..b14e508f1f31 100644

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

sound/soc/tegra/tegra186_dspk.c +3 -4
index aa37c4ab0adb..21cd41fec7a9 100644

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

sound/soc/ti/davinci-mcasp.c +6 -6
index b892d66f7847..1e760c315521 100644

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

sound/usb/line6/driver.c +3 -3
index b67617b68e50..f4437015d43a 100644

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

tools/include/linux/kernel.h +1 -0
index 4b0673bf52c2..07cfad817d53 100644

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

tools/include/linux/mm.h +5 -0
index f3c82ab5b14c..7d73da098047 100644

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

tools/include/linux/panic.h new file +19 -0
new file mode 100644
index 000000000000..9c8f17a41ce8

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

tools/power/x86/turbostat/turbostat.8 +1 -1
index 8f08c3fd498d..1ba6340d3b3d 100644

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

tools/power/x86/turbostat/turbostat.c +121 -38

159 lines not on this page · raw message

tools/testing/selftests/bpf/prog_tests/bloom_filter_map.c +6 -0
index 053f4d6da77a..cc184e4420f6 100644

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

tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc +1 -1
index 2de7c61d1ae3..3f74c09c56b6 100644

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

tools/testing/selftests/mm/Makefile +3 -3
index 2453add65d12..c04a81535ed4 100644

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

tools/testing/selftests/net/test_bridge_neigh_suppress.sh +3 -11
index 8533393a4f18..02b986c9c247 100755

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

tools/testing/selftests/timers/valid-adjtimex.c +36 -37

73 lines not on this page · raw message

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

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