Skip to contentSkip to conversation

Linux 6.1.7

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jan 18, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.1.7 kernel.

All users of the 6.1 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml |    4 
 Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml        |    1 
 Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml        |    1 
 Documentation/devicetree/bindings/display/msm/dsi-phy-28nm.yaml        |    4 
 Documentation/gpu/todo.rst                                             |   11 
 Documentation/sphinx/load_config.py                                    |    6 
 Documentation/virt/kvm/api.rst                                         |   14 
 Makefile                                                               |    2 
 arch/arm64/include/asm/atomic_ll_sc.h                                  |    2 
 arch/arm64/include/asm/atomic_lse.h                                    |    2 
 arch/arm64/include/asm/kvm_emulate.h                                   |   22 
 arch/arm64/include/asm/pgtable.h                                       |    6 
 arch/arm64/kernel/elfcore.c                                            |   61 -
 arch/arm64/kernel/ptrace.c                                             |    2 
 arch/arm64/kernel/signal.c                                             |    9 
 arch/ia64/kernel/elfcore.c                                             |    4 
 arch/powerpc/include/asm/imc-pmu.h                                     |    2 
 arch/powerpc/perf/imc-pmu.c                                            |  136 +-
 arch/s390/include/asm/cpu_mf.h                                         |   31 
 arch/s390/include/asm/percpu.h                                         |    2 
 arch/s390/kernel/machine_kexec_file.c                                  |    5 
 arch/s390/kernel/perf_cpum_sf.c                                        |  101 +-
 arch/x86/boot/bioscall.S                                               |    4 
 arch/x86/kernel/cpu/resctrl/monitor.c                                  |   49 -
 arch/x86/kernel/cpu/resctrl/rdtgroup.c                                 |   12 
 arch/x86/kvm/cpuid.c                                                   |   32 
 arch/x86/mm/pat/memtype.c                                              |    3 
 arch/x86/um/elfcore.c                                                  |    4 
 block/blk-merge.c                                                      |    4 
 block/blk-mq.c                                                         |    5 
 drivers/acpi/glue.c                                                    |   14 
 drivers/acpi/scan.c                                                    |    7 
 drivers/acpi/video_detect.c                                            |    4 
 drivers/block/drbd/drbd_req.c                                          |    2 
 drivers/block/ps3vram.c                                                |    2 
 drivers/cpufreq/amd-pstate.c                                           |    1 
 drivers/edac/edac_device.c                                             |   17 
 drivers/edac/edac_module.h                                             |    2 
 drivers/firmware/efi/efi.c                                             |    9 
 drivers/firmware/efi/runtime-wrappers.c                                |    1 
 drivers/firmware/psci/psci.c                                           |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                             |    8 
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                                |    6 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c                             |    5 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c                           |    2 
 drivers/gpu/drm/amd/amdgpu/soc21.c                                     |   11 
 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c                  |    5 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c                   |    8 
 drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h                   |    3 
 drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c                |   25 
 drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h                          |    4 
 drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_0_ppsmc.h           |    8 
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h                           |    5 
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h                           |    3 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c                         |   23 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c                   |   95 +
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c                   |    3 
 drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c                                 |   18 
 drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h                                 |    3 
 drivers/gpu/drm/drm_buddy.c                                            |   81 +
 drivers/gpu/drm/i915/gem/i915_gem_context.c                            |   24 
 drivers/gpu/drm/i915/gt/intel_engine_cs.c                              |    7 
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.c                               |   15 
 drivers/gpu/drm/i915/gt/intel_gt_sysfs.h                               |    2 
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c                            |  461 ++++-----
 drivers/gpu/drm/i915/gt/intel_reset.c                                  |   34 
 drivers/gpu/drm/i915/i915_vma.c                                        |    2 
 drivers/gpu/drm/msm/adreno/adreno_gpu.h                                |   10 
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c                    |    3 
 drivers/gpu/drm/msm/dp/dp_aux.c                                        |    4 
 drivers/gpu/drm/msm/msm_drv.c                                          |    2 
 drivers/gpu/drm/msm/msm_mdss.c                                         |    6 
 drivers/gpu/drm/virtio/virtgpu_ioctl.c                                 |   19 
 drivers/gpu/drm/vmwgfx/Makefile                                        |    2 
 drivers/gpu/drm/vmwgfx/ttm_object.c                                    |  156 +--
 drivers/gpu/drm/vmwgfx/ttm_object.h                                    |   32 
 drivers/gpu/drm/vmwgfx/vmwgfx_bo.c                                     |   38 
 drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c                             |   62 -
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                                    |   71 +
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                                    |   29 
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c                                |  190 +--
 drivers/gpu/drm/vmwgfx/vmwgfx_hashtab.c                                |  199 ----
 drivers/gpu/drm/vmwgfx/vmwgfx_hashtab.h                                |   83 -
 drivers/gpu/drm/vmwgfx/vmwgfx_resource.c                               |   33 
 drivers/gpu/drm/vmwgfx/vmwgfx_validation.c                             |   55 -
 drivers/gpu/drm/vmwgfx/vmwgfx_validation.h                             |   26 
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c                            |    4 
 drivers/iommu/arm/arm-smmu/arm-smmu.c                                  |   32 
 drivers/iommu/iova.c                                                   |    4 
 drivers/iommu/mtk_iommu_v1.c                                           |    4 
 drivers/md/dm.c                                                        |    2 
 drivers/md/md.c                                                        |    2 
 drivers/mtd/parsers/scpart.c                                           |    2 
 drivers/mtd/spi-nor/core.c                                             |    1 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                              |    4 
 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c              |    2 
 drivers/net/ethernet/intel/iavf/iavf_main.c                            |    2 
 drivers/net/ethernet/intel/ice/ice_gnss.c                              |   24 
 drivers/net/ethernet/intel/igc/igc_defines.h                           |    2 
 drivers/net/ethernet/intel/igc/igc_ptp.c                               |   10 
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c                           |   14 
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c                        |    4 
 drivers/net/ethernet/marvell/octeontx2/af/cgx.h                        |    1 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c                   |    2 
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c                          |   13 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c              |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c              |   19 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c                      |    3 
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c                        |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                        |    5 
 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c             |    2 
 drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c                |   16 
 drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c                  |   38 
 drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h                  |    6 
 drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c             |   18 
 drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c                    |    2 
 drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c                   |    3 
 drivers/net/ethernet/realtek/r8169_main.c                              |    5 
 drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c                   |   26 
 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c                       |    5 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c                  |    5 
 drivers/nfc/pn533/usb.c                                                |   44 
 drivers/nvme/host/multipath.c                                          |    2 
 drivers/pinctrl/pinctrl-amd.c                                          |   10 
 drivers/platform/surface/aggregator/controller.c                       |    4 
 drivers/platform/surface/aggregator/ssh_request_layer.c                |   14 
 drivers/platform/x86/amd/pmc.c                                         |    2 
 drivers/platform/x86/asus-wmi.c                                        |    3 
 drivers/platform/x86/dell/dell-wmi-privacy.c                           |   41 
 drivers/platform/x86/ideapad-laptop.c                                  |    6 
 drivers/platform/x86/intel/int3472/clk_and_regulator.c                 |    3 
 drivers/platform/x86/intel/int3472/discrete.c                          |    4 
 drivers/platform/x86/sony-laptop.c                                     |   21 
 drivers/platform/x86/thinkpad_acpi.c                                   |   23 
 drivers/regulator/da9211-regulator.c                                   |   11 
 drivers/s390/block/dcssblk.c                                           |    2 
 drivers/scsi/mpi3mr/Makefile                                           |    2 
 drivers/scsi/storvsc_drv.c                                             |    3 
 drivers/tty/hvc/hvc_xen.c                                              |   46 
 drivers/ufs/core/ufshcd.c                                              |   26 
 fs/binfmt_elf.c                                                        |    4 
 fs/binfmt_elf_fdpic.c                                                  |    4 
 fs/cifs/connect.c                                                      |    9 
 fs/cifs/link.c                                                         |    1 
 fs/cifs/smb1ops.c                                                      |   63 -
 fs/cifs/smb2pdu.c                                                      |    5 
 fs/nfsd/filecache.c                                                    |  484 +++++-----
 fs/nfsd/filecache.h                                                    |    9 
 fs/nfsd/nfs3proc.c                                                     |   10 
 fs/nfsd/nfs4proc.c                                                     |   11 
 fs/nfsd/nfs4state.c                                                    |   20 
 fs/nfsd/trace.h                                                        |  129 +-
 fs/nfsd/vfs.c                                                          |   19 
 fs/nfsd/vfs.h                                                          |    3 
 include/acpi/acpi_bus.h                                                |    3 
 include/linux/elfcore.h                                                |    8 
 include/linux/mlx5/driver.h                                            |    2 
 include/linux/mtd/spi-nor.h                                            |    1 
 include/linux/tpm_eventlog.h                                           |    4 
 include/uapi/linux/psci.h                                              |    4 
 io_uring/fdinfo.c                                                      |   12 
 io_uring/io-wq.c                                                       |    6 
 io_uring/poll.c                                                        |   50 -
 io_uring/rw.c                                                          |    6 
 kernel/sched/core.c                                                    |   41 
 mm/memblock.c                                                          |    8 
 net/core/gro.c                                                         |   71 -
 net/ipv6/raw.c                                                         |    4 
 net/netfilter/ipset/ip_set_bitmap_ip.c                                 |    4 
 net/netfilter/nft_payload.c                                            |    2 
 net/sched/act_mpls.c                                                   |    8 
 net/tipc/node.c                                                        |   12 
 sound/core/control_led.c                                               |    5 
 sound/pci/hda/patch_realtek.c                                          |   53 -
 sound/soc/codecs/rt9120.c                                              |   12 
 sound/soc/codecs/wm8904.c                                              |    7 
 sound/soc/intel/boards/Kconfig                                         |    1 
 sound/soc/intel/boards/sof_nau8825.c                                   |   22 
 sound/soc/intel/common/soc-acpi-intel-adl-match.c                      |   18 
 sound/soc/qcom/Kconfig                                                 |   21 
 sound/soc/qcom/Makefile                                                |    2 
 sound/soc/qcom/common.c                                                |  114 --
 sound/soc/qcom/common.h                                                |   10 
 sound/soc/qcom/lpass-cpu.c                                             |    5 
 sound/soc/qcom/sc8280xp.c                                              |    1 
 sound/soc/qcom/sdw.c                                                   |  123 ++
 sound/soc/qcom/sdw.h                                                   |   18 
 sound/soc/qcom/sm8250.c                                                |    1 
 sound/usb/implicit.c                                                   |    3 
 sound/usb/pcm.c                                                        |   16 
 sound/usb/stream.c                                                     |    6 
 tools/include/nolibc/arch-mips.h                                       |    2 
 tools/include/nolibc/arch-riscv.h                                      |   14 
 tools/perf/builtin-kmem.c                                              |   65 +
 tools/perf/builtin-trace.c                                             |    2 
 tools/perf/util/auxtrace.c                                             |    2 
 tools/perf/util/bpf_counter.h                                          |    6 
 tools/testing/memblock/internal.h                                      |    4 
 tools/testing/selftests/net/af_unix/test_unix_oob.c                    |    2 
 tools/testing/selftests/net/l2_tos_ttl_inherit.sh                      |  202 ++--
 tools/testing/selftests/netfilter/nft_trans_stress.sh                  |   16 
 tools/testing/selftests/netfilter/settings                             |    1 
 202 files changed, 2656 insertions(+), 2152 deletions(-)

Aaron Thompson (1):
mm: Always release pages to the buddy allocator in memblock_free_late().

Adrian Hunter (1):
perf auxtrace: Fix address filter duplicate symbol selection

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

Alexander Egorenkov (1):
s390/kexec: fix ipl report address for kdump

Angela Czubak (1):
octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable

Ao Zhong (1):
drm/amd/display: move remaining FPU code to dml folder

Ard Biesheuvel (1):
efi: tpm: Avoid READ_ONCE() for accessing the event log

Ariel Levkovich (2):
net/mlx5: check attr pointer validity before dereferencing it net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc

Arnd Bergmann (3):
ASoC: Intel: fix sof-nau8825 link failure
ASoC: Intel: sof-nau8825: fix module alias overflow
mtd: cfi: allow building spi-intel standalone

Arunpravin Paneer Selvam (1):
drm: Optimize drm buddy top-down allocation method

Biao Huang (1):
stmmac: dwmac-mediatek: remove the dwmac_fix_mac_speed

Brent Lu (1):
ASoC: Intel: sof_nau8825: support rt1015p speaker amplifier

Brian Norris (1):
ASoC: qcom: lpass-cpu: Fix fallback SD line index handling

Bryan O'Donoghue (4):
dt-bindings: msm: dsi-controller-main: Fix operating-points-v2 constraint
dt-bindings: msm: dsi-controller-main: Fix power-domain constraint
dt-bindings: msm: dsi-controller-main: Fix description of core clock
dt-bindings: msm: dsi-phy-28nm: Add missing qcom, dsi-phy-regulator-ldo-mode

Candice Li (1):
drm/amd/pm: Enable bad memory page/channel recording support for smu v13_0_0

Catalin Marinas (3):
arm64: mte: Fix double-freeing of the temporary tag storage during coredump
arm64: mte: Avoid the racy walk of the vma list during core dump
elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size}

ChiYuan Huang (1):
ASoC: rt9120: Make dev PM runtime bind AsoC component PM

Chris Wilson (2):
drm/i915/gt: Reset twice
drm/i915/gt: Cleanup partial engine discovery failures

Christophe JAILLET (1):
iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()

Christopher S Hall (1):
igc: Fix PPS delta between two synchronized end-points

Chuck Lever (4):
NFSD: Pass the target nfsd_file to nfsd_commit()
NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately"
NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
NFSD: Add an nfsd_file_fsync tracepoint

Clément Léger (1):
net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit()

Daniil Tatianin (1):

      iavf/iavf_main: actually log ->src mask when talking about it

Ding Hui (1):
efi: fix userspace infinite retry read efivars after EFI runtime services page fault

Dmitry Baryshkov (1):
drm/msm: another fix for the headless Adreno GPU

Dragos Tatulea (3):
net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path

Eliav Farber (1):
EDAC/device: Fix period calculation in edac_device_reset_delay_period()

Emanuele Ghidoli (1):
ASoC: wm8904: fix wrong outputs volume after power reactivation

Emeel Hakim (2):
net/mlx5e: Fix macsec ssci attribute handling in offload path
net/mlx5e: Fix macsec possible null dereference when updating MAC security entity (SecY)

Eric Dumazet (1):
gro: take care of DODGY packets

Evan Quan (4):
drm/amd/pm: correct the reference clock for fan speed(rpm) calculation drm/amd/pm: add the missing mapping for PPT feature on SMU13.0.0 and 13.0.7 drm/amd/pm: enable GPO dynamic control support for SMU13.0.0 drm/amd/pm: enable GPO dynamic control support for SMU13.0.7

Ferry Toth (2):
usb: ulpi: defer ulpi_register on ulpi_read_id timeout Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"

Florian Westphal (1):
selftests: netfilter: fix transaction test script timeout handling

Gavin Li (1):
net/mlx5e: Don't support encap rules with gbp option

Gavrilov Ilia (1):
netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.

Greg Kroah-Hartman (1):

      Linux 6.1.7

Guchun Chen (1):
drm/amd/pm/smu13: BACO is supported when it's in BACO state

Guillaume Nault (3):
selftests/net: l2_tos_ttl_inherit.sh: Set IPv6 addresses with "nodad". selftests/net: l2_tos_ttl_inherit.sh: Run tests in their own netns. selftests/net: l2_tos_ttl_inherit.sh: Ensure environment cleanup on failure.

Hans de Goede (7):
ACPI: Fix selecting wrong ACPI fwnode for the iGPU on some Dell laptops
ACPI: video: Allow selecting NVidia-WMI-EC or Apple GMUX backlight from the cmdline platform/x86: dell-privacy: Only register SW_CAMERA_LENS_COVER if present platform/x86: int3472/discrete: Ensure the clk/power enable pins are in output mode platform/x86: dell-privacy: Fix SW_CAMERA_LENS_COVER reporting platform/x86: ideapad-laptop: Add Legion 5 15ARH05 DMI id to set_fn_lock_led_list[] platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe

Hariprasad Kelam (1):
octeontx2-pf: Fix resource leakage in VF driver unbind

Heiko Carstens (2):
s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()

Heiner Kallweit (1):
Revert "r8169: disable detection of chip version 36"

Herbert Xu (1):
ipv6: raw: Deduct extension header length in rawv6_push_pending_frames

Ian Rogers (1):
perf build: Properly guard libbpf includes

Ido Schimmel (1):
net/sched: act_mpls: Fix warning during failed attribute validation

Ivan T. Ivanov (1):
brcmfmac: Prefer DT board type over DMI board type

Jakub Kicinski (1):
bnxt: make sure we return pages to the pool

Jaroslav Kysela (3):
ALSA: control-led: use strscpy in set_led_id()
ALSA: usb-audio: Always initialize fixed_rate in snd_usb_find_implicit_fb_sync_format()
ALSA: usb-audio: Fix possible NULL pointer dereference in snd_usb_pcm_has_fixed_rate()

Jeff Layton (4):
nfsd: remove the pages_flushed statistic from filecache
nfsd: reorganize filecache.c
nfsd: rework refcounting in filecache
nfsd: fix handling of cached open files in nfsd4_open codepath

Jens Axboe (6):
io_uring/poll: add hash if ready poll request can't complete inline io_uring/fdinfo: include locked hash table in fdinfo output io_uring/poll: attempt request issue after racy poll wakeup io_uring/io-wq: free worker if task_work creation is canceled io_uring/io-wq: only free worker if it was allocated for creation
block: handle bio_split_to_limits() NULL return

Jiasheng Jiang (1):
ice: Add check for kzalloc

Jie Wang (1):
net: hns3: fix wrong use of rss size during VF rss config

Johan Hovold (1):
efi: fix NULL-deref in init error path

Jonathan Corbet (1):
docs: Fix the docs build with Sphinx 6.0

Juergen Gross (1):
x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case

Kajol Jain (1):
powerpc/imc-pmu: Fix use of mutex in IRQs disabled section

Kenneth Feng (1):

      drm/amd/pm: enable mode1 reset on smu_v13_0_10

Konrad Dybcio (3):
drm/msm/adreno: Make adreno quirks not overwrite each other
dt-bindings: msm/dsi: Don't require vdds-supply on 10nm PHY
dt-bindings: msm/dsi: Don't require vcca-supply on 14nm PHY

Kuogee Hsieh (1):
drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux transfer

Leo Yan (2):
perf kmem: Support legacy tracepoints
perf kmem: Support field "node" in evsel__process_alloc_event() coping with recent tracepoint restructuring

Liu Shixin (2):
arm64/mm: add pud_user_exec() check in pud_user_accessible_page() arm64/mm: fix incorrect file_map_count for invalid pmd

Luben Tuikov (1):
drm/amdgpu: Fix potential NULL dereference

Luka Guzenko (1):

      ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx

Maaz Mombasawala (5):
drm/vmwgfx: Refactor resource manager's hashtable to use linux/hashtable implementation. drm/vmwgfx: Remove ttm object hashtable
drm/vmwgfx: Refactor resource validation hashtable to use linux/hashtable implementation. drm/vmwgfx: Refactor ttm reference object hashtable to use linux/hashtable. drm/vmwgfx: Remove vmwgfx_hashtab

Marc Zyngier (2):
KVM: arm64: Fix S1PTW handling on RO memslots firmware/psci: Don't register with debugfs if PSCI isn't available

Mario Limonciello (2):
drm/amd: Delay removal of the firmware framebuffer
pinctrl: amd: Add dynamic debugging for active GPIOs

Mark Brown (2):
arm64/signal: Always allocate SVE signal frames on SME only systems arm64/signal: Always accept SVE signal frames on SME only systems

Mark Pearson (1):
platform/x86: thinkpad_acpi: Fix profile mode display in AMT mode

Mark Rutland (1):
arm64: cmpxchg_double*: hazard against entire exchange variable

Maximilian Luz (2):
platform/surface: aggregator: Ignore command messages not intended for us platform/surface: aggregator: Add missing call to ssam_request_sync_free()

Miaoqian Lin (2):
drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path platform/x86/amd: Fix refcount leak in amd_pmc_probe

Michael Kelley (1):
scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM

Mikhail Zhilkin (1):
mtd: parsers: scpart: fix __udivdi3 undefined on mips

Minsuk Kang (1):
nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()

Mirsad Goran Todorovac (1):
af_unix: selftest: Fix the size of the parameter to connect()

Moshe Shemesh (1):
net/mlx5: Fix command stats access after free

Nathan Chancellor (1):
drm/i915: Fix CFI violations in gt_sysfs

Nirmoy Das (1):
drm/i915: Reserve enough fence slot for i915_vma_unbind_async

Noor Azura Ahmad Tarmizi (1):
net: stmmac: add aux timestamps fifo clearance wait

Pablo Neira Ayuso (1):
netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits

Paolo Bonzini (1):
KVM: x86: Do not return host topology information from KVM_GET_SUPPORTED_CPUID

Paulo Alcantara (4):
cifs: fix file info setting in cifs_query_path_info()
cifs: fix file info setting in cifs_open_file()
cifs: do not query ifaces on smb1 mounts
cifs: fix double free on failed kerberos auth

Pavel Begunkov (1):
io_uring: lock overflowing for IOPOLL

Perry Yuan (1):
cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering

Peter Newman (2):
x86/resctrl: Fix task CLOSID/RMID update race x86/resctrl: Fix event counts regression in reused RMIDs

Peter Wang (1):
scsi: ufs: core: WLUN suspend SSU/enter hibern8 fail recovery

Peter Zijlstra (1):
x86/boot: Avoid using Intel mnemonics in AT&T syntax asm

Rahul Rameshbabu (1):
net/mlx5: Fix ptp max frequency adjustment range

Ricardo Ribalda (1):
regulator: da9211: Use irq handler when ready

Richard Gobert (1):
gro: avoid checking for a failed search

Rob Clark (2):
drm/virtio: Fix GEM handle creation UAF
drm/i915: Fix potential context UAFs

Robin Murphy (1):
iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY even betterer

Roger Pau Monne (1):
hvc/xen: lock console list traversal

Roy Novich (1):
net/mlx5e: Verify dev is present for fix features ndo

Saleemkhan Jamadar (2):
drm/amdgpu: Enable pg/cg flags on GC11_0_4 for VCN drm/amdgpu: enable VCN DPG for GC IP v11.0.4

Shin'ichiro Kawasaki (1):
scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile

Stephan Gerhold (1):
ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE

Takashi Iwai (3):
Revert "ALSA: usb-audio: Drop superfluous interface setup at parsing"
ALSA: usb-audio: Make sure to stop endpoints before closing EPs
ALSA: usb-audio: Relax hw constraints for implicit fb sync

Thomas Weißschuh (1):
platform/x86: asus-wmi: Don't load fan curves without fan

Tung Nguyen (1):
tipc: fix unexpected link reset due to discovery messages

Vladimir Oltean (2):
iommu/arm-smmu-v3: Don't unregister on shutdown iommu/arm-smmu: Don't unregister on shutdown

Volker Lendecke (1):
cifs: Fix uninitialized memory read for smb311 posix symlink create

Waiman Long (1):
sched/core: Fix use-after-free bug in dup_user_cpus_ptr()

Will Deacon (1):
firmware/psci: Fix MEM_PROTECT_RANGE function numbers

Willy Tarreau (2):
tools/nolibc: restore mips branch ordering in the _start block tools/nolibc: fix the O_* fcntl/open macro definitions for riscv

Yair Podemsky (1):
sched/core: Fix arch_scale_freq_tick() on tickless systems

Yang Li (1):
drm/msm/dpu: Fix some kernel-doc comments

Yang Yingliang (1):
ixgbe: fix pci device refcount leak

YiPeng Chai (1):
drm/amdgpu: Fixed bug on error when unloading amdgpu

Yifan Zhang (1):
drm/amdgpu: add soc21 common ip block support for GC 11.0.4

Yuan Can (1):
ice: Fix potential memory leak in ice_gnss_tty_write()

Yuchi Yang (1):
ALSA: hda/realtek - Turn on power early

Yunfei Wang (1):
iommu/iova: Fix alloc iova overflows issue

Zack Rusin (2):
drm/vmwgfx: Write the driver id registers drm/vmwgfx: Remove rcu locks from user resources

Zenghui Yu (1):
arm64: ptrace: Use ARM64_SME to guard the SME register enumerations

author maintainer
#1 lore raw
Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +1 -3
index 3b609c19e0bc..6c5b4783812a 100644
@@ -32,7 +32,7 @@ properties:
       - description: Display byte clock
       - description: Display byte interface clock
       - description: Display pixel clock
-      - description: Display escape clock
+      - description: Display core clock
       - description: Display AHB clock
       - description: Display AXI clock
 
@@ -134,8 +134,6 @@ required:
   - phy-names
   - assigned-clocks
   - assigned-clock-parents
-  - power-domains
-  - operating-points-v2
   - ports
 
 additionalProperties: false
Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml +0 -1
index d9ad8b659f58..3ec466c3ab38 100644
@@ -69,7 +69,6 @@ required:
   - compatible
   - reg
   - reg-names
-  - vdds-supply
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml +0 -1
index 1342d74ecfe0..0a7b5f110d88 100644
@@ -38,7 +38,6 @@ required:
   - compatible
   - reg
   - reg-names
-  - vcca-supply
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/msm/dsi-phy-28nm.yaml +4 -0
index 3d8540a06fe2..2f1fd140c87d 100644
@@ -34,6 +34,10 @@ properties:
   vddio-supply:
     description: Phandle to vdd-io regulator device node.
 
+  qcom,dsi-phy-regulator-ldo-mode:
+    type: boolean
+    description: Indicates if the LDO mode PHY regulator is wanted.
+
 required:
   - compatible
   - reg
Documentation/gpu/todo.rst +0 -11
index 393d218e4a0c..b2c6aaf1edf2 100644
@@ -651,17 +651,6 @@ See drivers/gpu/drm/amd/display/TODO for tasks.
 
 Contact: Harry Wentland, Alex Deucher
 
-vmwgfx: Replace hashtable with Linux' implementation
-----------------------------------------------------
-
-The vmwgfx driver uses its own hashtable implementation. Replace the
-code with Linux' implementation and update the callers. It's mostly a
-refactoring task, but the interfaces are different.
-
-Contact: Zack Rusin, Thomas Zimmermann <[email protected]>
-
-Level: Intermediate
-
 Bootsplash
 ==========
 
Documentation/sphinx/load_config.py +4 -2
index eeb394b39e2c..8b416bfd75ac 100644
@@ -3,7 +3,7 @@
 
 import os
 import sys
-from sphinx.util.pycompat import execfile_
+from sphinx.util.osutil import fs_encoding
 
 # ------------------------------------------------------------------------------
 def loadConfig(namespace):
@@ -48,7 +48,9 @@ def loadConfig(namespace):
             sys.stdout.write("load additional sphinx-config: %s\n" % config_file)
             config = namespace.copy()
             config['__file__'] = config_file
-            execfile_(config_file, config)
+            with open(config_file, 'rb') as f:
+                code = compile(f.read(), fs_encoding, 'exec')
+                exec(code, config)
             del config['__file__']
             namespace.update(config)
         else:
Documentation/virt/kvm/api.rst +14 -0
index 896914e3a847..b8ec88ef2efa 100644
@@ -8248,6 +8248,20 @@ CPU[EAX=1]:ECX[24] (TSC_DEADLINE) is not reported by ``KVM_GET_SUPPORTED_CPUID``
 It can be enabled if ``KVM_CAP_TSC_DEADLINE_TIMER`` is present and the kernel
 has enabled in-kernel emulation of the local APIC.
 
+CPU topology
+~~~~~~~~~~~~
+
+Several CPUID values include topology information for the host CPU:
+0x0b and 0x1f for Intel systems, 0x8000001e for AMD systems.  Different
+versions of KVM return different values for this information and userspace
+should not rely on it.  Currently they return all zeroes.
+
+If userspace wishes to set up a guest topology, it should be careful that
+the values of these three leaves differ for each CPU.  In particular,
+the APIC ID is found in EDX for all subleaves of 0x0b and 0x1f, and in EAX
+for 0x8000001e; the latter also encodes the core id and node id in bits
+7:0 of EBX and ECX respectively.
+
 Obsolete ioctls and capabilities
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
Makefile +1 -1
index 19e8c6dec6e5..7eb6793ecfbf 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 1
-SUBLEVEL = 6
+SUBLEVEL = 7
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm64/include/asm/atomic_ll_sc.h +1 -1
index 0890e4f568fb..cbb3d961123b 100644
@@ -315,7 +315,7 @@ __ll_sc__cmpxchg_double##name(unsigned long old1,			\
 	"	cbnz	%w0, 1b\n"					\
 	"	" #mb "\n"						\
 	"2:"								\
-	: "=&r" (tmp), "=&r" (ret), "+Q" (*(unsigned long *)ptr)	\
+	: "=&r" (tmp), "=&r" (ret), "+Q" (*(__uint128_t *)ptr)		\
 	: "r" (old1), "r" (old2), "r" (new1), "r" (new2)		\
 	: cl);								\
 									\
arch/arm64/include/asm/atomic_lse.h +1 -1
index 52075e93de6c..a94d6dacc029 100644
@@ -311,7 +311,7 @@ __lse__cmpxchg_double##name(unsigned long old1,				\
 	"	eor	%[old2], %[old2], %[oldval2]\n"			\
 	"	orr	%[old1], %[old1], %[old2]"			\
 	: [old1] "+&r" (x0), [old2] "+&r" (x1),				\
-	  [v] "+Q" (*(unsigned long *)ptr)				\
+	  [v] "+Q" (*(__uint128_t *)ptr)				\
 	: [new1] "r" (x2), [new2] "r" (x3), [ptr] "r" (x4),		\
 	  [oldval1] "r" (oldval1), [oldval2] "r" (oldval2)		\
 	: cl);								\
arch/arm64/include/asm/kvm_emulate.h +20 -2
index 9bdba47f7e14..0d40c48d8132 100644
@@ -373,8 +373,26 @@ static __always_inline int kvm_vcpu_sys_get_rt(struct kvm_vcpu *vcpu)
 
 static inline bool kvm_is_write_fault(struct kvm_vcpu *vcpu)
 {
-	if (kvm_vcpu_abt_iss1tw(vcpu))
-		return true;
+	if (kvm_vcpu_abt_iss1tw(vcpu)) {
+		/*
+		 * Only a permission fault on a S1PTW should be
+		 * considered as a write. Otherwise, page tables baked
+		 * in a read-only memslot will result in an exception
+		 * being delivered in the guest.
+		 *
+		 * The drawback is that we end-up faulting twice if the
+		 * guest is using any of HW AF/DB: a translation fault
+		 * to map the page containing the PT (read only at
+		 * first), then a permission fault to allow the flags
+		 * to be set.
+		 */
+		switch (kvm_vcpu_trap_get_fault_type(vcpu)) {
+		case ESR_ELx_FSC_PERM:
+			return true;
+		default:
+			return false;
+		}
+	}
 
 	if (kvm_vcpu_trap_is_iabt(vcpu))
 		return false;
arch/arm64/include/asm/pgtable.h +3 -3
index edf6625ce965..f1cfc44ef52f 100644
@@ -682,7 +682,7 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd)
 #define pud_leaf(pud)		(pud_present(pud) && !pud_table(pud))
 #define pud_valid(pud)		pte_valid(pud_pte(pud))
 #define pud_user(pud)		pte_user(pud_pte(pud))
-
+#define pud_user_exec(pud)	pte_user_exec(pud_pte(pud))
 
 static inline void set_pud(pud_t *pudp, pud_t pud)
 {
@@ -863,12 +863,12 @@ static inline bool pte_user_accessible_page(pte_t pte)
 
 static inline bool pmd_user_accessible_page(pmd_t pmd)
 {
-	return pmd_leaf(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));
+	return pmd_leaf(pmd) && !pmd_present_invalid(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));
 }
 
 static inline bool pud_user_accessible_page(pud_t pud)
 {
-	return pud_leaf(pud) && pud_user(pud);
+	return pud_leaf(pud) && (pud_user(pud) || pud_user_exec(pud));
 }
 #endif
 
arch/arm64/kernel/elfcore.c +28 -33

122 lines not on this page · raw message

arch/arm64/kernel/ptrace.c +1 -1
index c2fb5755bbec..92bc9a2d702c 100644
@@ -1364,7 +1364,7 @@ enum aarch64_regset {
 #ifdef CONFIG_ARM64_SVE
 	REGSET_SVE,
 #endif
-#ifdef CONFIG_ARM64_SVE
+#ifdef CONFIG_ARM64_SME
 	REGSET_SSVE,
 	REGSET_ZA,
 #endif
arch/arm64/kernel/signal.c +7 -2
index 9ad911f1647c..43adbfa5ead7 100644
@@ -280,7 +280,12 @@ static int restore_sve_fpsimd_context(struct user_ctxs *user)
 
 		vl = task_get_sme_vl(current);
 	} else {
-		if (!system_supports_sve())
+		/*
+		 * A SME only system use SVE for streaming mode so can
+		 * have a SVE formatted context with a zero VL and no
+		 * payload data.
+		 */
+		if (!system_supports_sve() && !system_supports_sme())
 			return -EINVAL;
 
 		vl = task_get_sve_vl(current);
@@ -729,7 +734,7 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user,
 			return err;
 	}
 
-	if (system_supports_sve()) {
+	if (system_supports_sve() || system_supports_sme()) {
 		unsigned int vq = 0;
 
 		if (add_all || test_thread_flag(TIF_SVE) ||
arch/ia64/kernel/elfcore.c +2 -2
index 94680521fbf9..8895df121540 100644
@@ -7,7 +7,7 @@
 #include <asm/elf.h>
 
 
-Elf64_Half elf_core_extra_phdrs(void)
+Elf64_Half elf_core_extra_phdrs(struct coredump_params *cprm)
 {
 	return GATE_EHDR->e_phnum;
 }
@@ -60,7 +60,7 @@ int elf_core_write_extra_data(struct coredump_params *cprm)
 	return 1;
 }
 
-size_t elf_core_extra_data_size(void)
+size_t elf_core_extra_data_size(struct coredump_params *cprm)
 {
 	const struct elf_phdr *const gate_phdrs =
 		(const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff);
arch/powerpc/include/asm/imc-pmu.h +1 -1
index 4f897993b710..699a88584ae1 100644
@@ -137,7 +137,7 @@ struct imc_pmu {
  * are inited.
  */
 struct imc_pmu_ref {
-	struct mutex lock;
+	spinlock_t lock;
 	unsigned int id;
 	int refc;
 };
arch/powerpc/perf/imc-pmu.c +66 -70

474 lines not on this page · raw message

arch/s390/include/asm/cpu_mf.h +15 -16
index feaba12dbecb..efa103b52a1a 100644
@@ -131,19 +131,21 @@ struct hws_combined_entry {
 	struct hws_diag_entry	diag;	/* Diagnostic-sampling data entry */
 } __packed;
 
-struct hws_trailer_entry {
-	union {
-		struct {
-			unsigned int f:1;	/* 0 - Block Full Indicator   */
-			unsigned int a:1;	/* 1 - Alert request control  */
-			unsigned int t:1;	/* 2 - Timestamp format	      */
-			unsigned int :29;	/* 3 - 31: Reserved	      */
-			unsigned int bsdes:16;	/* 32-47: size of basic SDE   */
-			unsigned int dsdes:16;	/* 48-63: size of diagnostic SDE */
-		};
-		unsigned long long flags;	/* 0 - 63: All indicators     */
+union hws_trailer_header {
+	struct {
+		unsigned int f:1;	/* 0 - Block Full Indicator   */
+		unsigned int a:1;	/* 1 - Alert request control  */
+		unsigned int t:1;	/* 2 - Timestamp format	      */
+		unsigned int :29;	/* 3 - 31: Reserved	      */
+		unsigned int bsdes:16;	/* 32-47: size of basic SDE   */
+		unsigned int dsdes:16;	/* 48-63: size of diagnostic SDE */
+		unsigned long long overflow; /* 64 - Overflow Count   */
 	};
-	unsigned long long overflow;	 /* 64 - sample Overflow count	      */
+	__uint128_t val;
+};
+
+struct hws_trailer_entry {
+	union hws_trailer_header header; /* 0 - 15 Flags + Overflow Count     */
 	unsigned char timestamp[16];	 /* 16 - 31 timestamp		      */
 	unsigned long long reserved1;	 /* 32 -Reserved		      */
 	unsigned long long reserved2;	 /*				      */
@@ -290,14 +292,11 @@ static inline unsigned long sample_rate_to_freq(struct hws_qsi_info_block *qsi,
 	return USEC_PER_SEC * qsi->cpu_speed / rate;
 }
 
-#define SDB_TE_ALERT_REQ_MASK	0x4000000000000000UL
-#define SDB_TE_BUFFER_FULL_MASK 0x8000000000000000UL
-
 /* Return TOD timestamp contained in an trailer entry */
 static inline unsigned long long trailer_timestamp(struct hws_trailer_entry *te)
 {
 	/* TOD in STCKE format */
-	if (te->t)
+	if (te->header.t)
 		return *((unsigned long long *) &te->timestamp[1]);
 
 	/* TOD in STCK format */
arch/s390/include/asm/percpu.h +1 -1
index cb5fc0690435..081837b391e3 100644
@@ -31,7 +31,7 @@
 	pcp_op_T__ *ptr__;						\
 	preempt_disable_notrace();					\
 	ptr__ = raw_cpu_ptr(&(pcp));					\
-	prev__ = *ptr__;						\
+	prev__ = READ_ONCE(*ptr__);					\
 	do {								\
 		old__ = prev__;						\
 		new__ = old__ op (val);					\
arch/s390/kernel/machine_kexec_file.c +3 -2
index fc6d5f58debe..2df94d32140c 100644
@@ -187,8 +187,6 @@ static int kexec_file_add_ipl_report(struct kimage *image,
 
 	data->memsz = ALIGN(data->memsz, PAGE_SIZE);
 	buf.mem = data->memsz;
-	if (image->type == KEXEC_TYPE_CRASH)
-		buf.mem += crashk_res.start;
 
 	ptr = (void *)ipl_cert_list_addr;
 	end = ptr + ipl_cert_list_size;
@@ -225,6 +223,9 @@ static int kexec_file_add_ipl_report(struct kimage *image,
 		data->kernel_buf + offsetof(struct lowcore, ipl_parmblock_ptr);
 	*lc_ipl_parmblock_ptr = (__u32)buf.mem;
 
+	if (image->type == KEXEC_TYPE_CRASH)
+		buf.mem += crashk_res.start;
+
 	ret = kexec_add_buffer(&buf);
 out:
 	return ret;
arch/s390/kernel/perf_cpum_sf.c +62 -39

222 lines not on this page · raw message

arch/x86/boot/bioscall.S +2 -2
index 5521ea12f44e..aa9b96457584 100644
@@ -32,7 +32,7 @@ intcall:
 	movw	%dx, %si
 	movw	%sp, %di
 	movw	$11, %cx
-	rep; movsd
+	rep; movsl
 
 	/* Pop full state from the stack */
 	popal
@@ -67,7 +67,7 @@ intcall:
 	jz	4f
 	movw	%sp, %si
 	movw	$11, %cx
-	rep; movsd
+	rep; movsl
 4:	addw	$44, %sp
 
 	/* Restore state and return */
arch/x86/kernel/cpu/resctrl/monitor.c +33 -16

72 lines not on this page · raw message

arch/x86/kernel/cpu/resctrl/rdtgroup.c +11 -1
index e5a48f05e787..5993da21d822 100644
@@ -580,8 +580,10 @@ static int __rdtgroup_move_task(struct task_struct *tsk,
 	/*
 	 * Ensure the task's closid and rmid are written before determining if
 	 * the task is current that will decide if it will be interrupted.
+	 * This pairs with the full barrier between the rq->curr update and
+	 * resctrl_sched_in() during context switch.
 	 */
-	barrier();
+	smp_mb();
 
 	/*
 	 * By now, the task's closid and rmid are set. If the task is current
@@ -2401,6 +2403,14 @@ static void rdt_move_group_tasks(struct rdtgroup *from, struct rdtgroup *to,
 			WRITE_ONCE(t->closid, to->closid);
 			WRITE_ONCE(t->rmid, to->mon.rmid);
 
+			/*
+			 * Order the closid/rmid stores above before the loads
+			 * in task_curr(). This pairs with the full barrier
+			 * between the rq->curr update and resctrl_sched_in()
+			 * during context switch.
+			 */
+			smp_mb();
+
 			/*
 			 * If the task is on a CPU, set the CPU in the mask.
 			 * The detection is inaccurate as tasks might move or
arch/x86/kvm/cpuid.c +16 -16
index 62bc7a01cecc..6047dbe04880 100644
@@ -759,16 +759,22 @@ struct kvm_cpuid_array {
 	int nent;
 };
 
+static struct kvm_cpuid_entry2 *get_next_cpuid(struct kvm_cpuid_array *array)
+{
+	if (array->nent >= array->maxnent)
+		return NULL;
+
+	return &array->entries[array->nent++];
+}
+
 static struct kvm_cpuid_entry2 *do_host_cpuid(struct kvm_cpuid_array *array,
 					      u32 function, u32 index)
 {
-	struct kvm_cpuid_entry2 *entry;
+	struct kvm_cpuid_entry2 *entry = get_next_cpuid(array);
 
-	if (array->nent >= array->maxnent)
+	if (!entry)
 		return NULL;
 
-	entry = &array->entries[array->nent++];
-
 	memset(entry, 0, sizeof(*entry));
 	entry->function = function;
 	entry->index = index;
@@ -945,22 +951,13 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
 		entry->edx = edx.full;
 		break;
 	}
-	/*
-	 * Per Intel's SDM, the 0x1f is a superset of 0xb,
-	 * thus they can be handled by common code.
-	 */
 	case 0x1f:
 	case 0xb:
 		/*
-		 * Populate entries until the level type (ECX[15:8]) of the
-		 * previous entry is zero.  Note, CPUID EAX.{0x1f,0xb}.0 is
-		 * the starting entry, filled by the primary do_host_cpuid().
+		 * No topology; a valid topology is indicated by the presence
+		 * of subleaf 1.
 		 */
-		for (i = 1; entry->ecx & 0xff00; ++i) {
-			entry = do_host_cpuid(array, function, i);
-			if (!entry)
-				goto out;
-		}
+		entry->eax = entry->ebx = entry->ecx = 0;
 		break;
 	case 0xd: {
 		u64 permitted_xcr0 = kvm_caps.supported_xcr0 & xstate_get_guest_group_perm();
@@ -1193,6 +1190,9 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
 		entry->ebx = entry->ecx = entry->edx = 0;
 		break;
 	case 0x8000001e:
+		/* Do not return host topology information.  */
+		entry->eax = entry->ebx = entry->ecx = 0;
+		entry->edx = 0; /* reserved */
 		break;
 	case 0x8000001F:
 		if (!kvm_cpu_cap_has(X86_FEATURE_SEV)) {
arch/x86/mm/pat/memtype.c +2 -1
index 66a209f7eb86..2642bc4c8ec0 100644
@@ -434,7 +434,8 @@ static unsigned long pat_x_mtrr_type(u64 start, u64 end,
 		u8 mtrr_type, uniform;
 
 		mtrr_type = mtrr_type_lookup(start, end, &uniform);
-		if (mtrr_type != MTRR_TYPE_WRBACK)
+		if (mtrr_type != MTRR_TYPE_WRBACK &&
+		    mtrr_type != MTRR_TYPE_INVALID)
 			return _PAGE_CACHE_MODE_UC_MINUS;
 
 		return _PAGE_CACHE_MODE_WB;
arch/x86/um/elfcore.c +2 -2
index 48a3eb09d951..650cdbbdaf45 100644
@@ -7,7 +7,7 @@
 #include <asm/elf.h>
 
 
-Elf32_Half elf_core_extra_phdrs(void)
+Elf32_Half elf_core_extra_phdrs(struct coredump_params *cprm)
 {
 	return vsyscall_ehdr ? (((struct elfhdr *)vsyscall_ehdr)->e_phnum) : 0;
 }
@@ -60,7 +60,7 @@ int elf_core_write_extra_data(struct coredump_params *cprm)
 	return 1;
 }
 
-size_t elf_core_extra_data_size(void)
+size_t elf_core_extra_data_size(struct coredump_params *cprm)
 {
 	if ( vsyscall_ehdr ) {
 		const struct elfhdr *const ehdrp =
block/blk-merge.c +3 -1
index f46c87ef951d..84f03d066cb3 100644
@@ -358,11 +358,13 @@ struct bio *__bio_split_to_limits(struct bio *bio, struct queue_limits *lim,
 	default:
 		split = bio_split_rw(bio, lim, nr_segs, bs,
 				get_max_io_size(bio, lim) << SECTOR_SHIFT);
+		if (IS_ERR(split))
+			return NULL;
 		break;
 	}
 
 	if (split) {
-		/* there isn't chance to merge the splitted bio */
+		/* there isn't chance to merge the split bio */
 		split->bi_opf |= REQ_NOMERGE;
 
 		blkcg_bio_issue_init(split);
block/blk-mq.c +4 -1
index 0b855e033a83..63abbe342b28 100644
@@ -2919,8 +2919,11 @@ void blk_mq_submit_bio(struct bio *bio)
 	blk_status_t ret;
 
 	bio = blk_queue_bounce(bio, q);
-	if (bio_may_exceed_limits(bio, &q->limits))
+	if (bio_may_exceed_limits(bio, &q->limits)) {
 		bio = __bio_split_to_limits(bio, &q->limits, &nr_segs);
+		if (!bio)
+			return;
+	}
 
 	if (!bio_integrity_prep(bio))
 		return;
drivers/acpi/glue.c +12 -2
index 204fe94c7e45..a194f30876c5 100644
@@ -75,7 +75,8 @@ static struct acpi_bus_type *acpi_get_bus_type(struct device *dev)
 }
 
 #define FIND_CHILD_MIN_SCORE	1
-#define FIND_CHILD_MAX_SCORE	2
+#define FIND_CHILD_MID_SCORE	2
+#define FIND_CHILD_MAX_SCORE	3
 
 static int match_any(struct acpi_device *adev, void *not_used)
 {
@@ -96,8 +97,17 @@ static int find_child_checks(struct acpi_device *adev, bool check_children)
 		return -ENODEV;
 
 	status = acpi_evaluate_integer(adev->handle, "_STA", NULL, &sta);
-	if (status == AE_NOT_FOUND)
+	if (status == AE_NOT_FOUND) {
+		/*
+		 * Special case: backlight device objects without _STA are
+		 * preferred to other objects with the same _ADR value, because
+		 * it is more likely that they are actually useful.
+		 */
+		if (adev->pnp.type.backlight)
+			return FIND_CHILD_MID_SCORE;
+
 		return FIND_CHILD_MIN_SCORE;
+	}
 
 	if (ACPI_FAILURE(status) || !(sta & ACPI_STA_DEVICE_ENABLED))
 		return -ENODEV;
drivers/acpi/scan.c +5 -2
index b47e93a24a9a..dbfa58e799e2 100644
@@ -1370,9 +1370,12 @@ static void acpi_set_pnp_ids(acpi_handle handle, struct acpi_device_pnp *pnp,
 		 * Some devices don't reliably have _HIDs & _CIDs, so add
 		 * synthetic HIDs to make sure drivers can find them.
 		 */
-		if (acpi_is_video_device(handle))
+		if (acpi_is_video_device(handle)) {
 			acpi_add_id(pnp, ACPI_VIDEO_HID);
-		else if (acpi_bay_match(handle))
+			pnp->type.backlight = 1;
+			break;
+		}
+		if (acpi_bay_match(handle))
 			acpi_add_id(pnp, ACPI_BAY_HID);
 		else if (acpi_dock_match(handle))
 			acpi_add_id(pnp, ACPI_DOCK_HID);
drivers/acpi/video_detect.c +4 -0
index 76b7e7f8894e..1db8e68cd8bc 100644
@@ -50,6 +50,10 @@ static void acpi_video_parse_cmdline(void)
 		acpi_backlight_cmdline = acpi_backlight_video;
 	if (!strcmp("native", acpi_video_backlight_string))
 		acpi_backlight_cmdline = acpi_backlight_native;
+	if (!strcmp("nvidia_wmi_ec", acpi_video_backlight_string))
+		acpi_backlight_cmdline = acpi_backlight_nvidia_wmi_ec;
+	if (!strcmp("apple_gmux", acpi_video_backlight_string))
+		acpi_backlight_cmdline = acpi_backlight_apple_gmux;
 	if (!strcmp("none", acpi_video_backlight_string))
 		acpi_backlight_cmdline = acpi_backlight_none;
 }
drivers/block/drbd/drbd_req.c +2 -0
index 7f9bcc82fc9c..d700bf06b534 100644
@@ -1607,6 +1607,8 @@ void drbd_submit_bio(struct bio *bio)
 	struct drbd_device *device = bio->bi_bdev->bd_disk->private_data;
 
 	bio = bio_split_to_limits(bio);
+	if (!bio)
+		return;
 
 	/*
 	 * what we "blindly" assume:
drivers/block/ps3vram.c +2 -0
index c76e0148eada..574e470b220b 100644
@@ -587,6 +587,8 @@ static void ps3vram_submit_bio(struct bio *bio)
 	dev_dbg(&dev->core, "%s\n", __func__);
 
 	bio = bio_split_to_limits(bio);
+	if (!bio)
+		return;
 
 	spin_lock_irq(&priv->lock);
 	busy = !bio_list_empty(&priv->list);
drivers/cpufreq/amd-pstate.c +1 -0
index 204e39006dda..c17bd845f5fc 100644
@@ -307,6 +307,7 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
 		max_perf = min_perf;
 
 	amd_pstate_update(cpudata, min_perf, des_perf, max_perf, true);
+	cpufreq_cpu_put(policy);
 }
 
 static int amd_get_min_freq(struct amd_cpudata *cpudata)
drivers/edac/edac_device.c +8 -9
index 19522c568aa5..878deb4880cd 100644
@@ -394,17 +394,16 @@ static void edac_device_workq_teardown(struct edac_device_ctl_info *edac_dev)
  *	Then restart the workq on the new delay
  */
 void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev,
-					unsigned long value)
+				    unsigned long msec)
 {
-	unsigned long jiffs = msecs_to_jiffies(value);
-
-	if (value == 1000)
-		jiffs = round_jiffies_relative(value);
-
-	edac_dev->poll_msec = value;
-	edac_dev->delay	    = jiffs;
+	edac_dev->poll_msec = msec;
+	edac_dev->delay	    = msecs_to_jiffies(msec);
 
-	edac_mod_work(&edac_dev->work, jiffs);
+	/* See comment in edac_device_workq_setup() above */
+	if (edac_dev->poll_msec == 1000)
+		edac_mod_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
+	else
+		edac_mod_work(&edac_dev->work, edac_dev->delay);
 }
 
 int edac_device_alloc_index(void)
drivers/edac/edac_module.h +1 -1
index 50ed9f2425bb..4ed24d664d83 100644
@@ -52,7 +52,7 @@ bool edac_stop_work(struct delayed_work *work);
 bool edac_mod_work(struct delayed_work *work, unsigned long delay);
 
 extern void edac_device_reset_delay_period(struct edac_device_ctl_info
-					   *edac_dev, unsigned long value);
+					   *edac_dev, unsigned long msec);
 extern void edac_mc_reset_delay_period(unsigned long value);
 
 /*
drivers/firmware/efi/efi.c +6 -3
index f12cc29bd4b8..033aac6be7da 100644
@@ -374,8 +374,8 @@ static int __init efisubsys_init(void)
 	efi_kobj = kobject_create_and_add("efi", firmware_kobj);
 	if (!efi_kobj) {
 		pr_err("efi: Firmware registration failed.\n");
-		destroy_workqueue(efi_rts_wq);
-		return -ENOMEM;
+		error = -ENOMEM;
+		goto err_destroy_wq;
 	}
 
 	if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE |
@@ -423,7 +423,10 @@ static int __init efisubsys_init(void)
 		generic_ops_unregister();
 err_put:
 	kobject_put(efi_kobj);
-	destroy_workqueue(efi_rts_wq);
+err_destroy_wq:
+	if (efi_rts_wq)
+		destroy_workqueue(efi_rts_wq);
+
 	return error;
 }
 
drivers/firmware/efi/runtime-wrappers.c +1 -0
index f3e54f6616f0..60075e0e4943 100644
@@ -62,6 +62,7 @@ struct efi_runtime_work efi_rts_work;
 									\
 	if (!efi_enabled(EFI_RUNTIME_SERVICES)) {			\
 		pr_warn_once("EFI Runtime Services are disabled!\n");	\
+		efi_rts_work.status = EFI_DEVICE_ERROR;			\
 		goto exit;						\
 	}								\
 									\
drivers/firmware/psci/psci.c +3 -0
index e7bcfca4159f..447ee4ea5c90 100644
@@ -440,6 +440,9 @@ static const struct file_operations psci_debugfs_ops = {
 
 static int __init psci_debugfs_init(void)
 {
+	if (!invoke_psci_fn || !psci_ops.get_version)
+		return 0;
+
 	return PTR_ERR_OR_ZERO(debugfs_create_file("psci", 0444, NULL, NULL,
 						   &psci_debugfs_ops));
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +8 -0
index 0be85d19a6f3..8f83d5b6ceaa 100644
@@ -36,6 +36,7 @@
 #include <generated/utsrelease.h>
 #include <linux/pci-p2pdma.h>
 
+#include <drm/drm_aperture.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_probe_helper.h>
 #include <drm/amdgpu_drm.h>
@@ -89,6 +90,8 @@ MODULE_FIRMWARE("amdgpu/navi12_gpu_info.bin");
 #define AMDGPU_MAX_RETRY_LIMIT		2
 #define AMDGPU_RETRY_SRIOV_RESET(r) ((r) == -EBUSY || (r) == -ETIMEDOUT || (r) == -EINVAL)
 
+static const struct drm_driver amdgpu_kms_driver;
+
 const char *amdgpu_asic_name[] = {
 	"TAHITI",
 	"PITCAIRN",
@@ -3677,6 +3680,11 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 	if (r)
 		return r;
 
+	/* Get rid of things like offb */
+	r = drm_aperture_remove_conflicting_pci_framebuffers(adev->pdev, &amdgpu_kms_driver);
+	if (r)
+		return r;
+
 	/* Enable TMZ based on IP_VERSION */
 	amdgpu_gmc_tmz_set(adev);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +0 -6
index b59466972ed7..2e5d78b6635c 100644
@@ -23,7 +23,6 @@
  */
 
 #include <drm/amdgpu_drm.h>
-#include <drm/drm_aperture.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_vblank.h>
@@ -2123,11 +2122,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
 	}
 #endif
 
-	/* Get rid of things like offb */
-	ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, &amdgpu_kms_driver);
-	if (ret)
-		return ret;
-
 	adev = devm_drm_dev_alloc(&pdev->dev, &amdgpu_kms_driver, typeof(*adev), ddev);
 	if (IS_ERR(adev))
 		return PTR_ERR(adev);
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +3 -2
index 3be3cba3a16d..cfd78c4a45ba 100644
@@ -468,8 +468,9 @@ static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,
 	return true;
 
 fail:
-	DRM_DEBUG("BO size %lu > total memory in domain: %llu\n", size,
-		  man->size);
+	if (man)
+		DRM_DEBUG("BO size %lu > total memory in domain: %llu\n", size,
+			  man->size);
 	return false;
 }
 
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +1 -1
index 80dd1343594c..75c80c557b6e 100644
@@ -882,7 +882,7 @@ void amdgpu_vram_mgr_fini(struct amdgpu_device *adev)
 		kfree(rsv);
 
 	list_for_each_entry_safe(rsv, temp, &mgr->reserved_pages, blocks) {
-		drm_buddy_free_list(&mgr->mm, &rsv->blocks);
+		drm_buddy_free_list(&mgr->mm, &rsv->allocated);
 		kfree(rsv);
 	}
 	drm_buddy_fini(&mgr->mm);
drivers/gpu/drm/amd/amdgpu/soc21.c +11 -0
index 8b297ade69a2..909cf9f220c1 100644
@@ -322,6 +322,7 @@ soc21_asic_reset_method(struct amdgpu_device *adev)
 	switch (adev->ip_versions[MP1_HWIP][0]) {
 	case IP_VERSION(13, 0, 0):
 	case IP_VERSION(13, 0, 7):
+	case IP_VERSION(13, 0, 10):
 		return AMD_RESET_METHOD_MODE1;
 	case IP_VERSION(13, 0, 4):
 		return AMD_RESET_METHOD_MODE2;
@@ -652,6 +653,16 @@ static int soc21_common_early_init(void *handle)
 		}
 		adev->external_rev_id = adev->rev_id + 0x20;
 		break;
+	case IP_VERSION(11, 0, 4):
+		adev->cg_flags = AMD_CG_SUPPORT_VCN_MGCG |
+			AMD_CG_SUPPORT_JPEG_MGCG;
+		adev->pg_flags = AMD_PG_SUPPORT_VCN |
+			AMD_PG_SUPPORT_VCN_DPG |
+			AMD_PG_SUPPORT_GFX_PG |
+			AMD_PG_SUPPORT_JPEG;
+		adev->external_rev_id = adev->rev_id + 0x1;
+		break;
+
 	default:
 		/* FIXME: not supported yet */
 		return -EINVAL;
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c +3 -2
index 33ab6fdc3617..9919c39f7ea0 100644
@@ -1919,8 +1919,9 @@ int dcn32_populate_dml_pipes_from_context(
 		timing = &pipe->stream->timing;
 
 		pipes[pipe_cnt].pipe.src.gpuvm = true;
-		pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_luma = 0;
-		pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_chroma = 0;
+		DC_FP_START();
+		dcn32_zero_pipe_dcc_fraction(pipes, pipe_cnt);
+		DC_FP_END();
 		pipes[pipe_cnt].pipe.dest.vfront_porch = timing->v_front_porch;
 		pipes[pipe_cnt].pipe.src.gpuvm_min_page_size_kbytes = 256; // according to spreadsheet
 		pipes[pipe_cnt].pipe.src.unbounded_req_mode = false;
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c +8 -0
index d1bf49d207de..d90216d2fe3a 100644
@@ -2546,3 +2546,11 @@ void dcn32_update_bw_bounding_box_fpu(struct dc *dc, struct clk_bw_params *bw_pa
 	}
 }
 
+void dcn32_zero_pipe_dcc_fraction(display_e2e_pipe_params_st *pipes,
+				  int pipe_cnt)
+{
+	dc_assert_fp_enabled();
+
+	pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_luma = 0;
+	pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_chroma = 0;
+}
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.h +3 -0
index 3a3dc2ce4c73..ab010e7e840b 100644
@@ -73,4 +73,7 @@ int dcn32_find_dummy_latency_index_for_fw_based_mclk_switch(struct dc *dc,
 
 void dcn32_patch_dpm_table(struct clk_bw_params *bw_params);
 
+void dcn32_zero_pipe_dcc_fraction(display_e2e_pipe_params_st *pipes,
+				  int pipe_cnt);
+
 #endif
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c +12 -13
index dad3e3741a4e..190af79f3236 100644
@@ -67,22 +67,21 @@ int vega10_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr,
 int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,
 		uint32_t *speed)
 {
-	uint32_t current_rpm;
-	uint32_t percent = 0;
-
-	if (hwmgr->thermal_controller.fanInfo.bNoFan)
-		return 0;
+	struct amdgpu_device *adev = hwmgr->adev;
+	uint32_t duty100, duty;
+	uint64_t tmp64;
 
-	if (vega10_get_current_rpm(hwmgr, &current_rpm))
-		return -1;
+	duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1),
+				CG_FDO_CTRL1, FMAX_DUTY100);
+	duty = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_THERMAL_STATUS),
+				CG_THERMAL_STATUS, FDO_PWM_DUTY);
 
-	if (hwmgr->thermal_controller.
-			advanceFanControlParameters.usMaxFanRPM != 0)
-		percent = current_rpm * 255 /
-			hwmgr->thermal_controller.
-			advanceFanControlParameters.usMaxFanRPM;
+	if (!duty100)
+		return -EINVAL;
 
-	*speed = MIN(percent, 255);
+	tmp64 = (uint64_t)duty * 255;
+	do_div(tmp64, duty100);
+	*speed = MIN((uint32_t)tmp64, 255);
 
 	return 0;
 }
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +4 -0
index f816b1dd110e..44bbf17e4bef 100644
@@ -568,6 +568,10 @@ struct smu_context
 	u32 param_reg;
 	u32 msg_reg;
 	u32 resp_reg;
+
+	u32 debug_param_reg;
+	u32 debug_msg_reg;
+	u32 debug_resp_reg;
 };
 
 struct i2c_adapter;
drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v13_0_0_ppsmc.h +7 -1
index 9ebb8f39732a..8b8266890a10 100644
@@ -131,7 +131,13 @@
 #define PPSMC_MSG_EnableAudioStutterWA           0x44
 #define PPSMC_MSG_PowerUpUmsch                   0x45
 #define PPSMC_MSG_PowerDownUmsch                 0x46
-#define PPSMC_Message_Count                      0x47
+#define PPSMC_MSG_SetDcsArch                     0x47
+#define PPSMC_MSG_TriggerVFFLR                   0x48
+#define PPSMC_MSG_SetNumBadMemoryPagesRetired    0x49
+#define PPSMC_MSG_SetBadMemoryPagesRetiredFlagsPerChannel 0x4A
+#define PPSMC_MSG_SetPriorityDeltaGain           0x4B
+#define PPSMC_MSG_AllowIHHostInterrupt           0x4C
+#define PPSMC_Message_Count                      0x4D
 
 //Debug Dump Message
 #define DEBUGSMC_MSG_TestMessage                    0x1
drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h +4 -1
index 58098b82df66..4180c71d930f 100644
@@ -239,7 +239,10 @@
 	__SMU_DUMMY_MAP(DriverMode2Reset), \
 	__SMU_DUMMY_MAP(GetGfxOffStatus),		 \
 	__SMU_DUMMY_MAP(GetGfxOffEntryCount),		 \
-	__SMU_DUMMY_MAP(LogGfxOffResidency),
+	__SMU_DUMMY_MAP(LogGfxOffResidency),			\
+	__SMU_DUMMY_MAP(SetNumBadMemoryPagesRetired),		\
+	__SMU_DUMMY_MAP(SetBadMemoryPagesRetiredFlagsPerChannel), \
+	__SMU_DUMMY_MAP(AllowGpo),
 
 #undef __SMU_DUMMY_MAP
 #define __SMU_DUMMY_MAP(type)	SMU_MSG_##type
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h +3 -0
index a9122b3b1532..e8c6febb8b64 100644
@@ -273,6 +273,9 @@ int smu_v13_0_init_pptable_microcode(struct smu_context *smu);
 
 int smu_v13_0_run_btc(struct smu_context *smu);
 
+int smu_v13_0_gpo_control(struct smu_context *smu,
+			  bool enablement);
+
 int smu_v13_0_deep_sleep_control(struct smu_context *smu,
 				 bool enablement);
 
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +21 -2
index 8e4830a311bd..9f9f64c5cdd8 100644
@@ -1258,7 +1258,8 @@ int smu_v13_0_set_fan_speed_rpm(struct smu_context *smu,
 				uint32_t speed)
 {
 	struct amdgpu_device *adev = smu->adev;
-	uint32_t tach_period, crystal_clock_freq;
+	uint32_t crystal_clock_freq = 2500;
+	uint32_t tach_period;
 	int ret;
 
 	if (!speed)
@@ -1268,7 +1269,6 @@ int smu_v13_0_set_fan_speed_rpm(struct smu_context *smu,
 	if (ret)
 		return ret;
 
-	crystal_clock_freq = amdgpu_asic_get_xclk(adev);
 	tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed);
 	WREG32_SOC15(THM, 0, regCG_TACH_CTRL,
 		     REG_SET_FIELD(RREG32_SOC15(THM, 0, regCG_TACH_CTRL),
@@ -2148,6 +2148,21 @@ int smu_v13_0_run_btc(struct smu_context *smu)
 	return res;
 }
 
+int smu_v13_0_gpo_control(struct smu_context *smu,
+			  bool enablement)
+{
+	int res;
+
+	res = smu_cmn_send_smc_msg_with_param(smu,
+					      SMU_MSG_AllowGpo,
+					      enablement ? 1 : 0,
+					      NULL);
+	if (res)
+		dev_err(smu->adev->dev, "SetGpoAllow %d failed!\n", enablement);
+
+	return res;
+}
+
 int smu_v13_0_deep_sleep_control(struct smu_context *smu,
 				 bool enablement)
 {
@@ -2249,6 +2264,10 @@ bool smu_v13_0_baco_is_support(struct smu_context *smu)
 	    !smu_baco->platform_support)
 		return false;
 
+	/* return true if ASIC is in BACO state already */
+	if (smu_v13_0_baco_get_state(smu) == SMU_BACO_STATE_ENTER)
+		return true;
+
 	if (smu_cmn_feature_is_supported(smu, SMU_FEATURE_BACO_BIT) &&
 	    !smu_cmn_feature_is_enabled(smu, SMU_FEATURE_BACO_BIT))
 		return false;
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +93 -2

131 lines not on this page · raw message

drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c +3 -0
index 222924363a68..eea06939e7da 100644
@@ -123,6 +123,7 @@ static struct cmn2asic_msg_mapping smu_v13_0_7_message_map[SMU_MSG_MAX_COUNT] =
 	MSG_MAP(SetMGpuFanBoostLimitRpm,	PPSMC_MSG_SetMGpuFanBoostLimitRpm,     0),
 	MSG_MAP(DFCstateControl,		PPSMC_MSG_SetExternalClientDfCstateAllow, 0),
 	MSG_MAP(ArmD3,				PPSMC_MSG_ArmD3,                       0),
+	MSG_MAP(AllowGpo,			PPSMC_MSG_SetGpoAllow,           0),
 };
 
 static struct cmn2asic_mapping smu_v13_0_7_clk_map[SMU_CLK_COUNT] = {
@@ -191,6 +192,7 @@ static struct cmn2asic_mapping smu_v13_0_7_feature_mask_map[SMU_FEATURE_COUNT] =
 	FEA_MAP(SOC_PCC),
 	[SMU_FEATURE_DPM_VCLK_BIT] = {1, FEATURE_MM_DPM_BIT},
 	[SMU_FEATURE_DPM_DCLK_BIT] = {1, FEATURE_MM_DPM_BIT},
+	[SMU_FEATURE_PPT_BIT] = {1, FEATURE_THROTTLERS_BIT},
 };
 
 static struct cmn2asic_mapping smu_v13_0_7_table_map[SMU_TABLE_COUNT] = {
@@ -1711,6 +1713,7 @@ static const struct pptable_funcs smu_v13_0_7_ppt_funcs = {
 	.mode1_reset = smu_v13_0_mode1_reset,
 	.set_mp1_state = smu_v13_0_7_set_mp1_state,
 	.set_df_cstate = smu_v13_0_7_set_df_cstate,
+	.gpo_control = smu_v13_0_gpo_control,
 };
 
 void smu_v13_0_7_set_ppt_funcs(struct smu_context *smu)
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c +18 -0
index e4f8f90ac5aa..768b6e7dbd77 100644
@@ -233,6 +233,18 @@ static void __smu_cmn_send_msg(struct smu_context *smu,
 	WREG32(smu->msg_reg, msg);
 }
 
+static int __smu_cmn_send_debug_msg(struct smu_context *smu,
+			       u32 msg,
+			       u32 param)
+{
+	struct amdgpu_device *adev = smu->adev;
+
+	WREG32(smu->debug_param_reg, param);
+	WREG32(smu->debug_msg_reg, msg);
+	WREG32(smu->debug_resp_reg, 0);
+
+	return 0;
+}
 /**
  * smu_cmn_send_msg_without_waiting -- send the message; don't wait for status
  * @smu: pointer to an SMU context
@@ -386,6 +398,12 @@ int smu_cmn_send_smc_msg(struct smu_context *smu,
 					       read_arg);
 }
 
+int smu_cmn_send_debug_smc_msg(struct smu_context *smu,
+			 uint32_t msg)
+{
+	return __smu_cmn_send_debug_msg(smu, msg, 0);
+}
+
 int smu_cmn_to_asic_specific_index(struct smu_context *smu,
 				   enum smu_cmn2asic_mapping_type type,
 				   uint32_t index)
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h +3 -0
index 1526ce09c399..f82cf76dd3a4 100644
@@ -42,6 +42,9 @@ int smu_cmn_send_smc_msg(struct smu_context *smu,
 			 enum smu_message_type msg,
 			 uint32_t *read_arg);
 
+int smu_cmn_send_debug_smc_msg(struct smu_context *smu,
+			 uint32_t msg);
+
 int smu_cmn_wait_for_response(struct smu_context *smu);
 
 int smu_cmn_to_asic_specific_index(struct smu_context *smu,
drivers/gpu/drm/drm_buddy.c +54 -27

126 lines not on this page · raw message

drivers/gpu/drm/i915/gem/i915_gem_context.c +18 -6
index 1e29b1e6d186..2353723ca1bd 100644
@@ -1688,6 +1688,10 @@ void i915_gem_init__contexts(struct drm_i915_private *i915)
 	init_contexts(&i915->gem.contexts);
 }
 
+/*
+ * Note that this implicitly consumes the ctx reference, by placing
+ * the ctx in the context_xa.
+ */
 static void gem_context_register(struct i915_gem_context *ctx,
 				 struct drm_i915_file_private *fpriv,
 				 u32 id)
@@ -1703,10 +1707,6 @@ static void gem_context_register(struct i915_gem_context *ctx,
 	snprintf(ctx->name, sizeof(ctx->name), "%s[%d]",
 		 current->comm, pid_nr(ctx->pid));
 
-	/* And finally expose ourselves to userspace via the idr */
-	old = xa_store(&fpriv->context_xa, id, ctx, GFP_KERNEL);
-	WARN_ON(old);
-
 	spin_lock(&ctx->client->ctx_lock);
 	list_add_tail_rcu(&ctx->client_link, &ctx->client->ctx_list);
 	spin_unlock(&ctx->client->ctx_lock);
@@ -1714,6 +1714,10 @@ static void gem_context_register(struct i915_gem_context *ctx,
 	spin_lock(&i915->gem.contexts.lock);
 	list_add_tail(&ctx->link, &i915->gem.contexts.list);
 	spin_unlock(&i915->gem.contexts.lock);
+
+	/* And finally expose ourselves to userspace via the idr */
+	old = xa_store(&fpriv->context_xa, id, ctx, GFP_KERNEL);
+	WARN_ON(old);
 }
 
 int i915_gem_context_open(struct drm_i915_private *i915,
@@ -2199,14 +2203,22 @@ finalize_create_context_locked(struct drm_i915_file_private *file_priv,
 	if (IS_ERR(ctx))
 		return ctx;
 
+	/*
+	 * One for the xarray and one for the caller.  We need to grab
+	 * the reference *prior* to making the ctx visble to userspace
+	 * in gem_context_register(), as at any point after that
+	 * userspace can try to race us with another thread destroying
+	 * the context under our feet.
+	 */
+	i915_gem_context_get(ctx);
+
 	gem_context_register(ctx, file_priv, id);
 
 	old = xa_erase(&file_priv->proto_context_xa, id);
 	GEM_BUG_ON(old != pc);
 	proto_context_close(file_priv->dev_priv, pc);
 
-	/* One for the xarray and one for the caller */
-	return i915_gem_context_get(ctx);
+	return ctx;
 }
 
 struct i915_gem_context *
drivers/gpu/drm/i915/gt/intel_engine_cs.c +6 -1
index 83bfeb872bda..fcbccd8d244e 100644
@@ -1343,8 +1343,13 @@ int intel_engines_init(struct intel_gt *gt)
 			return err;
 
 		err = setup(engine);
-		if (err)
+		if (err) {
+			intel_engine_cleanup_common(engine);
 			return err;
+		}
+
+		/* The backend should now be responsible for cleanup */
+		GEM_BUG_ON(engine->release == NULL);
 
 		err = engine_init_common(engine);
 		if (err)
drivers/gpu/drm/i915/gt/intel_gt_sysfs.c +7 -8
index d651ccd0ab20..9486dd3bed99 100644
@@ -22,11 +22,9 @@ bool is_object_gt(struct kobject *kobj)
 	return !strncmp(kobj->name, "gt", 2);
 }
 
-struct intel_gt *intel_gt_sysfs_get_drvdata(struct device *dev,
+struct intel_gt *intel_gt_sysfs_get_drvdata(struct kobject *kobj,
 					    const char *name)
 {
-	struct kobject *kobj = &dev->kobj;
-
 	/*
 	 * We are interested at knowing from where the interface
 	 * has been called, whether it's called from gt/ or from
@@ -38,6 +36,7 @@ struct intel_gt *intel_gt_sysfs_get_drvdata(struct device *dev,
 	 * "struct drm_i915_private *" type.
 	 */
 	if (!is_object_gt(kobj)) {
+		struct device *dev = kobj_to_dev(kobj);
 		struct drm_i915_private *i915 = kdev_minor_to_i915(dev);
 
 		return to_gt(i915);
@@ -51,18 +50,18 @@ static struct kobject *gt_get_parent_obj(struct intel_gt *gt)
 	return &gt->i915->drm.primary->kdev->kobj;
 }
 
-static ssize_t id_show(struct device *dev,
-		       struct device_attribute *attr,
+static ssize_t id_show(struct kobject *kobj,
+		       struct kobj_attribute *attr,
 		       char *buf)
 {
-	struct intel_gt *gt = intel_gt_sysfs_get_drvdata(dev, attr->attr.name);
+	struct intel_gt *gt = intel_gt_sysfs_get_drvdata(kobj, attr->attr.name);
 
 	return sysfs_emit(buf, "%u\n", gt->info.id);
 }
-static DEVICE_ATTR_RO(id);
+static struct kobj_attribute attr_id = __ATTR_RO(id);
 
 static struct attribute *id_attrs[] = {
-	&dev_attr_id.attr,
+	&attr_id.attr,
 	NULL,
 };
 ATTRIBUTE_GROUPS(id);
drivers/gpu/drm/i915/gt/intel_gt_sysfs.h +1 -1
index 6232923a420d..c3a123faee98 100644
@@ -30,7 +30,7 @@ static inline struct intel_gt *kobj_to_gt(struct kobject *kobj)
 
 void intel_gt_sysfs_register(struct intel_gt *gt);
 void intel_gt_sysfs_unregister(struct intel_gt *gt);
-struct intel_gt *intel_gt_sysfs_get_drvdata(struct device *dev,
+struct intel_gt *intel_gt_sysfs_get_drvdata(struct kobject *kobj,
 					    const char *name);
 
 #endif /* SYSFS_GT_H */
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c +212 -249

735 lines not on this page · raw message

drivers/gpu/drm/i915/gt/intel_reset.c +28 -6
index b36674356986..10b930eaa8cb 100644
@@ -278,6 +278,7 @@ static int ilk_do_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask,
 static int gen6_hw_domain_reset(struct intel_gt *gt, u32 hw_domain_mask)
 {
 	struct intel_uncore *uncore = gt->uncore;
+	int loops = 2;
 	int err;
 
 	/*
@@ -285,18 +286,39 @@ static int gen6_hw_domain_reset(struct intel_gt *gt, u32 hw_domain_mask)
 	 * for fifo space for the write or forcewake the chip for
 	 * the read
 	 */
-	intel_uncore_write_fw(uncore, GEN6_GDRST, hw_domain_mask);
+	do {
+		intel_uncore_write_fw(uncore, GEN6_GDRST, hw_domain_mask);
 
-	/* Wait for the device to ack the reset requests */
-	err = __intel_wait_for_register_fw(uncore,
-					   GEN6_GDRST, hw_domain_mask, 0,
-					   500, 0,
-					   NULL);
+		/*
+		 * Wait for the device to ack the reset requests.
+		 *
+		 * On some platforms, e.g. Jasperlake, we see that the
+		 * engine register state is not cleared until shortly after
+		 * GDRST reports completion, causing a failure as we try
+		 * to immediately resume while the internal state is still
+		 * in flux. If we immediately repeat the reset, the second
+		 * reset appears to serialise with the first, and since
+		 * it is a no-op, the registers should retain their reset
+		 * value. However, there is still a concern that upon
+		 * leaving the second reset, the internal engine state
+		 * is still in flux and not ready for resuming.
+		 */
+		err = __intel_wait_for_register_fw(uncore, GEN6_GDRST,
+						   hw_domain_mask, 0,
+						   2000, 0,
+						   NULL);
+	} while (err == 0 && --loops);
 	if (err)
 		GT_TRACE(gt,
 			 "Wait for 0x%08x engines reset failed\n",
 			 hw_domain_mask);
 
+	/*
+	 * As we have observed that the engine state is still volatile
+	 * after GDRST is acked, impose a small delay to let everything settle.
+	 */
+	udelay(50);
+
 	return err;
 }
 
drivers/gpu/drm/i915/i915_vma.c +1 -1
index 4d06875de14a..c8ad8f37e5cf 100644
@@ -2114,7 +2114,7 @@ int i915_vma_unbind_async(struct i915_vma *vma, bool trylock_vm)
 	if (!obj->mm.rsgt)
 		return -EBUSY;
 
-	err = dma_resv_reserve_fences(obj->base.resv, 1);
+	err = dma_resv_reserve_fences(obj->base.resv, 2);
 	if (err)
 		return -EBUSY;
 
drivers/gpu/drm/msm/adreno/adreno_gpu.h +4 -6
index e7adc5c632d0..3d78efb066b1 100644
@@ -29,11 +29,9 @@ enum {
 	ADRENO_FW_MAX,
 };
 
-enum adreno_quirks {
-	ADRENO_QUIRK_TWO_PASS_USE_WFI = 1,
-	ADRENO_QUIRK_FAULT_DETECT_MASK = 2,
-	ADRENO_QUIRK_LMLOADKILL_DISABLE = 3,
-};
+#define ADRENO_QUIRK_TWO_PASS_USE_WFI		BIT(0)
+#define ADRENO_QUIRK_FAULT_DETECT_MASK		BIT(1)
+#define ADRENO_QUIRK_LMLOADKILL_DISABLE		BIT(2)
 
 struct adreno_rev {
 	uint8_t  core;
@@ -65,7 +63,7 @@ struct adreno_info {
 	const char *name;
 	const char *fw[ADRENO_FW_MAX];
 	uint32_t gmem;
-	enum adreno_quirks quirks;
+	u64 quirks;
 	struct msm_gpu *(*init)(struct drm_device *dev);
 	const char *zapfw;
 	u32 inactive_period;
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c +1 -2
index 7cbcef6efe17..62f6ff6abf41 100644
@@ -132,7 +132,6 @@ static void dpu_encoder_phys_wb_set_qos(struct dpu_encoder_phys *phys_enc)
  * dpu_encoder_phys_wb_setup_fb - setup output framebuffer
  * @phys_enc:	Pointer to physical encoder
  * @fb:		Pointer to output framebuffer
- * @wb_roi:	Pointer to output region of interest
  */
 static void dpu_encoder_phys_wb_setup_fb(struct dpu_encoder_phys *phys_enc,
 		struct drm_framebuffer *fb)
@@ -692,7 +691,7 @@ static void dpu_encoder_phys_wb_init_ops(struct dpu_encoder_phys_ops *ops)
 
 /**
  * dpu_encoder_phys_wb_init - initialize writeback encoder
- * @init:	Pointer to init info structure with initialization params
+ * @p:	Pointer to init info structure with initialization params
  */
 struct dpu_encoder_phys *dpu_encoder_phys_wb_init(
 		struct dpu_enc_phys_init_params *p)
drivers/gpu/drm/msm/dp/dp_aux.c +4 -0
index d030a93a08c3..cc3efed593aa 100644
@@ -423,6 +423,10 @@ void dp_aux_isr(struct drm_dp_aux *dp_aux)
 
 	isr = dp_catalog_aux_get_irq(aux->catalog);
 
+	/* no interrupts pending, return immediately */
+	if (!isr)
+		return;
+
 	if (!aux->cmd_busy)
 		return;
 
drivers/gpu/drm/msm/msm_drv.c +1 -1
index 105b5b48e828..681c1b889b31 100644
@@ -1271,7 +1271,7 @@ void msm_drv_shutdown(struct platform_device *pdev)
 	 * msm_drm_init, drm_dev->registered is used as an indicator that the
 	 * shutdown will be successful.
[… more lines in the raw message]

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

drivers/gpu/drm/msm/msm_mdss.c +4 -2
index e13c5c12b775..3b8d6991b04e 100644

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

drivers/gpu/drm/virtio/virtgpu_ioctl.c +17 -2
index 5d05093014ac..9f4a90493aea 100644

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

drivers/gpu/drm/vmwgfx/Makefile +1 -1
index eee73b9aa404..68e350f410ad 100644

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

drivers/gpu/drm/vmwgfx/ttm_object.c +60 -96

156 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/ttm_object.h +6 -26
index 1a2fa0f83f5f..8098a3846bae 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_bo.c +0 -38
index 822251aaab0a..973a0a52462e 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c +26 -36

62 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +55 -16

71 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +9 -20
index 09e2d738aa87..0bc1ebc43002 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +85 -105

190 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/vmwgfx_hashtab.c deleted +0 -199

199 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/vmwgfx_hashtab.h deleted +0 -83

83 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +0 -33
index f66caa540e14..c7d645e5ec7b 100644

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

drivers/gpu/drm/vmwgfx/vmwgfx_validation.c +27 -28

55 lines not on this page · raw message

drivers/gpu/drm/vmwgfx/vmwgfx_validation.h +6 -20
index f21df053882b..ab9ec226f433 100644

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

drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +3 -1
index 6d5df91c5c46..d4d8bfee9feb 100644

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

drivers/iommu/arm/arm-smmu/arm-smmu.c +22 -10
index 30dab1418e3f..f38b54a88767 100644

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

drivers/iommu/iova.c +2 -2
index a44ad92fc5eb..fe452ce46642 100644

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

drivers/iommu/mtk_iommu_v1.c +3 -1
index 6e0e65831eb7..a978220eb620 100644

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

drivers/md/dm.c +2 -0
index e30c2d2bc9c7..d49809e9db96 100644

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

drivers/md/md.c +2 -0
index fd82881761d3..b911085060dc 100644

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

drivers/mtd/parsers/scpart.c +1 -1
index 02601bb33de4..6e5e11c37078 100644

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

drivers/mtd/spi-nor/core.c +1 -0
index 2e0655c0b606..5dbf52aa0355 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +2 -2
index f5a8bae8d79a..edca16b5f9e3 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +1 -1
index 081bd2c3f289..e84e5be8e59e 100644

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

drivers/net/ethernet/intel/iavf/iavf_main.c +1 -1
index f71e132ede09..260c55951c28 100644

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

drivers/net/ethernet/intel/ice/ice_gnss.c +15 -9
index b5a7f246d230..43e199b5b513 100644

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

drivers/net/ethernet/intel/igc/igc_defines.h +2 -0
index 4ad35fbdc02e..dbfa4b9dee06 100644

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

drivers/net/ethernet/intel/igc/igc_ptp.c +6 -4
index 8dbb9f903ca7..c34734d432e0 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c +9 -5
index 24aa97f993ca..123dca9ce468 100644

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

drivers/net/ethernet/marvell/octeontx2/af/cgx.c +2 -2
index c8724bfa86b0..8fdd3afe5998 100644

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

drivers/net/ethernet/marvell/octeontx2/af/cgx.h +0 -1
index 0b06788b8d80..04338db38671 100644

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

drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c +2 -0
index 86653bb8e403..7f8ffbf79cf7 100644

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

drivers/net/ethernet/mellanox/mlx5/core/cmd.c +2 -11
index e7a894ba5c3e..723891eb86ee 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c +2 -0
index fd07c4cbfd1d..1f62c702b625 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c +9 -10
index f900709639f6..b92d541b5286 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +3 -0
index 951ede433813..4dc149ef618c 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +1 -1
index a61a43fc8d5c..56d1bd22c7c6 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +3 -2
index bd9936af4582..4c313b7424bf 100644

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +1 -1
index 8c6c9bcb3dc3..b4e263e8cfb8 100644

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

drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c +14 -2
index c247cca154e9..eff92dc0927c 100644

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

drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c +38 -0
index 84f5352b0ce1..038ae0fcf9d4 100644

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

drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h +6 -0
index 99d46fda9f82..f3f2af972020 100644

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

drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c +13 -5
index 0227a521d301..0cf4eaf852d2 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +1 -1
index d3a9ae80fd30..d7ddfc489536 100644

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

drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c +3 -0
index e5a2bbe064f8..8e368318558a 100644

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

drivers/net/ethernet/realtek/r8169_main.c +1 -4
index a73d061d9fcb..fe8dc8e0522b 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c +0 -26
index d42e1afb6521..2f7d8e4561d9 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c +4 -1
index 4d11980dcd64..9c91a3dc8e38 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +3 -2
index a83699de01ec..fdd0c9abc1a1 100644

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

drivers/nfc/pn533/usb.c +41 -3

44 lines not on this page · raw message

drivers/nvme/host/multipath.c +2 -0
index 7e025b8948cb..d09ed0070174 100644

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

drivers/pinctrl/pinctrl-amd.c +6 -4
index 6be896871718..9bc6e3922e78 100644

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

drivers/platform/surface/aggregator/controller.c +3 -1
index 43e765199137..c6537a1b3a2e 100644

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

drivers/platform/surface/aggregator/ssh_request_layer.c +14 -0
index f5565570f16c..69132976d297 100644

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

drivers/platform/x86/amd/pmc.c +1 -1
index 439d282aafd1..8d924986381b 100644

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

drivers/platform/x86/asus-wmi.c +3 -0
index 872efc1d5b36..f051b21653d6 100644

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

drivers/platform/x86/dell/dell-wmi-privacy.c +31 -10

41 lines not on this page · raw message

drivers/platform/x86/ideapad-laptop.c +6 -0
index fc3d47a75944..4e28c55f0ea5 100644

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

drivers/platform/x86/intel/int3472/clk_and_regulator.c +3 -0
index b2342b3d78c7..74dc2cff799e 100644

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

drivers/platform/x86/intel/int3472/discrete.c +4 -0
index 974a132db651..c42c3faa2c32 100644

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

drivers/platform/x86/sony-laptop.c +14 -7
index 765fcaba4d12..5ff5aaf92b56 100644

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

drivers/platform/x86/thinkpad_acpi.c +17 -6
index a1d91736a03b..4e95d2243161 100644

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

drivers/regulator/da9211-regulator.c +6 -5
index e01b32d1fa17..00828f5baa97 100644

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

drivers/s390/block/dcssblk.c +2 -0
index b392b9f5482e..c0f85ffb2b62 100644

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

drivers/scsi/mpi3mr/Makefile +1 -1
index ef86ca46646b..3bf8cf34e1c3 100644

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

drivers/scsi/storvsc_drv.c +3 -0
index 3c5b7e4227b2..55d6fb452680 100644

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

drivers/tty/hvc/hvc_xen.c +29 -17

46 lines not on this page · raw message

drivers/ufs/core/ufshcd.c +26 -0
index d1db6be80156..b048357d21e3 100644

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

fs/binfmt_elf.c +2 -2
index 6a11025e5850..444302afc673 100644

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

fs/binfmt_elf_fdpic.c +2 -2
index 9ce5e1f41c26..069f12cc7634 100644

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

fs/cifs/connect.c +6 -3
index 7e7f712f97fd..fde1c371605a 100644

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

fs/cifs/link.c +1 -0
index bd374feeccaa..a5a097a69983 100644

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

fs/cifs/smb1ops.c +34 -29

63 lines not on this page · raw message

fs/cifs/smb2pdu.c +4 -1
index a5695748a89b..4ac5b1bfaf78 100644

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

fs/nfsd/filecache.c +269 -215

484 lines not on this page · raw message

fs/nfsd/filecache.h +6 -3
index 357832bac736..41516a4263ea 100644

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

fs/nfsd/nfs3proc.c +9 -1
index 923d9a80df92..d01b29aba662 100644

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

fs/nfsd/nfs4proc.c +10 -1
index c7329523a10f..30a08ec31a70 100644

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

fs/nfsd/nfs4state.c +6 -14
index 52b5552d0d70..2247d107da90 100644

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

fs/nfsd/trace.h +61 -68

129 lines not on this page · raw message

fs/nfsd/vfs.c +6 -13
index 849a720ab43f..2934ab1d9862 100644

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

fs/nfsd/vfs.h +2 -1
index 120521bc7b24..9744b041105b 100644

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

include/acpi/acpi_bus.h +2 -1
index c09d72986968..ab2d6266038a 100644

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

include/linux/elfcore.h +4 -4
index 346a8b56cdc8..79e26b18bf0e 100644

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

include/linux/mlx5/driver.h +1 -1
index 06cbad166225..ad55470a9fb9 100644

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

include/linux/mtd/spi-nor.h +0 -1
index 42218a1164f6..f92bf7f7a754 100644

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

include/linux/tpm_eventlog.h +2 -2
index 20c0ff54b7a0..7d68a5cc5881 100644

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

include/uapi/linux/psci.h +2 -2
index 3511095c2702..42a40ad3fb62 100644

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

io_uring/fdinfo.c +10 -2
index 2e04850a657b..882bd56b01ed 100644

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

io_uring/io-wq.c +6 -0
index 6f1d0e5df23a..411bb2d1acd4 100644

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

io_uring/poll.c +34 -16

50 lines not on this page · raw message

io_uring/rw.c +5 -1
index bb47cc4da713..6223472095d2 100644

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

kernel/sched/core.c +36 -5

41 lines not on this page · raw message

mm/memblock.c +7 -1
index 511d4783dcf1..fc3d8fbd2060 100644

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

net/core/gro.c +36 -35

71 lines not on this page · raw message

net/ipv6/raw.c +4 -0
index 722de9dd0ff7..8ffeac745656 100644

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

net/netfilter/ipset/ip_set_bitmap_ip.c +2 -2
index a8ce04a4bb72..e4fa00abde6a 100644

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

net/netfilter/nft_payload.c +1 -1
index 4edd899aeb9b..d7de2ecb287e 100644

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

net/sched/act_mpls.c +7 -1
index 8ad25cc8ccd5..ea5959094adb 100644

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

net/tipc/node.c +8 -4
index 49ddc484c4fe..5e000fde8067 100644

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

sound/core/control_led.c +2 -3
index f975cc85772b..3cadd40100f3 100644

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

sound/pci/hda/patch_realtek.c +39 -14

53 lines not on this page · raw message

sound/soc/codecs/rt9120.c +12 -0
index 644300e88b4c..fcf4fbaed3c7 100644

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

sound/soc/codecs/wm8904.c +7 -0
index ca6a01a230af..791d8738d1c0 100644

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

sound/soc/intel/boards/Kconfig +1 -0
index aa12d7e3dd2f..ca49cc49c378 100644

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

sound/soc/intel/boards/sof_nau8825.c +19 -3
index 5585c217f78d..009a41fbefa1 100644

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

sound/soc/intel/common/soc-acpi-intel-adl-match.c +15 -3
index 9990d5502d26..68b4fa352354 100644

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

sound/soc/qcom/Kconfig +12 -9
index 96a6d4731e6f..e7b00d1d9e99 100644

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

sound/soc/qcom/Makefile +2 -0
index 8b97172cf990..254350d9dc06 100644

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

sound/soc/qcom/common.c +0 -114

114 lines not on this page · raw message

sound/soc/qcom/common.h +0 -10
index 3ef5bb6d12df..d7f80ee5ae26 100644

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

sound/soc/qcom/lpass-cpu.c +3 -2
index 54353842dc07..dbdaaa85ce48 100644

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

sound/soc/qcom/sc8280xp.c +1 -0
index ade44ad7c585..14d9fea33d16 100644

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

sound/soc/qcom/sdw.c new file +123 -0

123 lines not on this page · raw message

sound/soc/qcom/sdw.h new file +18 -0
new file mode 100644
index 000000000000..d74cbb84da13

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

sound/soc/qcom/sm8250.c +1 -0
index 8dbe9ef41b1c..9626a9ef78c2 100644

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

sound/usb/implicit.c +2 -1
index 41ac7185b42b..4727043fd745 100644

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

sound/usb/pcm.c +13 -3
index 99a66d0ef5b2..2c5765cbed2d 100644

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

sound/usb/stream.c +6 -0
index f75601ca2d52..f10f4e6d3fb8 100644

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

tools/include/nolibc/arch-mips.h +2 -0
index 5fc5b8029bff..7380093ba9e7 100644

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

tools/include/nolibc/arch-riscv.h +7 -7
index ba04771cb3a3..a3bdd9803f8c 100644

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

tools/perf/builtin-kmem.c +50 -15

65 lines not on this page · raw message

tools/perf/builtin-trace.c +2 -0
index 3dcf6aed1ef7..97b17f8941dc 100644

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

tools/perf/util/auxtrace.c +1 -1
index 46ada5ec3f9a..47062f459ccd 100644

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

tools/perf/util/bpf_counter.h +6 -0
index 4dbf26408b69..c6d21c07b14c 100644

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

tools/testing/memblock/internal.h +4 -0
index fdb7f5db7308..85973e55489e 100644

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

tools/testing/selftests/net/af_unix/test_unix_oob.c +1 -1
index b57e91e1c3f2..532459a15067 100644

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

tools/testing/selftests/net/l2_tos_ttl_inherit.sh +129 -73

202 lines not on this page · raw message

tools/testing/selftests/netfilter/nft_trans_stress.sh +9 -7
index a7f62ad4f661..2ffba45a78bf 100755

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

tools/testing/selftests/netfilter/settings new file +1 -0
new file mode 100644
index 000000000000..6091b45d226b

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

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

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