Skip to contentSkip to conversation

Linux 6.12.36

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 6, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.12.36 kernel.

All users of the 6.12 kernel series must upgrade.

The updated 6.12.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.12.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/serial/8250.yaml                             |    2 
 Documentation/netlink/specs/tc.yaml                                            |    4 
 Makefile                                                                       |    2 
 arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi                             |   12 
 arch/riscv/include/asm/cmpxchg.h                                               |    2 
 arch/riscv/include/asm/pgtable.h                                               |    1 
 arch/riscv/kernel/traps_misaligned.c                                           |    4 
 arch/riscv/mm/cacheflush.c                                                     |   15 
 arch/um/drivers/ubd_user.c                                                     |    2 
 arch/um/include/asm/asm-prototypes.h                                           |    5 
 arch/um/kernel/trap.c                                                          |  129 +
 arch/x86/include/uapi/asm/debugreg.h                                           |   21 
 arch/x86/kernel/cpu/common.c                                                   |   24 
 arch/x86/kernel/fpu/signal.c                                                   |   11 
 arch/x86/kernel/fpu/xstate.h                                                   |   22 
 arch/x86/kernel/traps.c                                                        |   34 
 arch/x86/um/asm/checksum.h                                                     |    3 
 drivers/accel/ivpu/ivpu_debugfs.c                                              |   84 +
 drivers/accel/ivpu/ivpu_drv.c                                                  |    6 
 drivers/accel/ivpu/ivpu_drv.h                                                  |   10 
 drivers/accel/ivpu/ivpu_hw.c                                                   |   21 
 drivers/accel/ivpu/ivpu_hw.h                                                   |    5 
 drivers/accel/ivpu/ivpu_job.c                                                  |  201 +-
 drivers/accel/ivpu/ivpu_job.h                                                  |    2 
 drivers/accel/ivpu/ivpu_jsm_msg.c                                              |   46 
 drivers/ata/ahci.c                                                             |    2 
 drivers/cxl/core/region.c                                                      |    7 
 drivers/dma/idxd/cdev.c                                                        |    4 
 drivers/dma/xilinx/xilinx_dma.c                                                |    2 
 drivers/edac/amd64_edac.c                                                      |   57 
 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c                                    |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                                     |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c                                  |   64 
 drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c                                      |   30 
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c                                        |   12 
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h                                        |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h                                       |   16 
 drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c                                      |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c                                      |   17 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h                                      |    6 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c                                   |    2 
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c                                       |    6 
 drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h                                 |  677 +++++-----
 drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm                         |   82 -
 drivers/gpu/drm/amd/amdkfd/kfd_device.c                                        |    3 
 drivers/gpu/drm/amd/amdkfd/kfd_events.c                                        |    1 
 drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_v9.c                             |    2 
 drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c           |    1 
 drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c |    5 
 drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c                  |    1 
 drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c                      |    9 
 drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c                            |    3 
 drivers/gpu/drm/ast/ast_mode.c                                                 |    6 
 drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c                                 |   32 
 drivers/gpu/drm/bridge/ti-sn65dsi86.c                                          |  109 +
 drivers/gpu/drm/drm_fbdev_dma.c                                                |  219 ++-
 drivers/gpu/drm/etnaviv/etnaviv_sched.c                                        |    5 
 drivers/gpu/drm/i915/display/vlv_dsi.c                                         |    4 
 drivers/gpu/drm/i915/i915_pmu.c                                                |    2 
 drivers/gpu/drm/msm/dp/dp_display.c                                            |   11 
 drivers/gpu/drm/msm/dp/dp_drm.c                                                |    5 
 drivers/gpu/drm/msm/msm_gpu_devfreq.c                                          |    1 
 drivers/gpu/drm/scheduler/sched_entity.c                                       |    1 
 drivers/gpu/drm/tegra/dc.c                                                     |   17 
 drivers/gpu/drm/tegra/hub.c                                                    |    4 
 drivers/gpu/drm/tegra/hub.h                                                    |    3 
 drivers/gpu/drm/tiny/cirrus.c                                                  |    1 
 drivers/gpu/drm/udl/udl_drv.c                                                  |    2 
 drivers/gpu/drm/xe/display/xe_display.c                                        |    2 
 drivers/gpu/drm/xe/xe_ggtt.c                                                   |   11 
 drivers/gpu/drm/xe/xe_gpu_scheduler.h                                          |   10 
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c                                    |    8 
 drivers/gpu/drm/xe/xe_guc_ct.c                                                 |    7 
 drivers/gpu/drm/xe/xe_guc_ct.h                                                 |    5 
 drivers/gpu/drm/xe/xe_guc_pc.c                                                 |    2 
 drivers/gpu/drm/xe/xe_guc_submit.c                                             |   23 
 drivers/gpu/drm/xe/xe_guc_types.h                                              |    5 
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c                                         |   54 
 drivers/gpu/drm/xe/xe_vm.c                                                     |    8 
 drivers/hid/hid-lenovo.c                                                       |   11 
 drivers/hid/wacom_sys.c                                                        |    7 
 drivers/hwmon/pmbus/max34440.c                                                 |   48 
 drivers/hwtracing/coresight/coresight-core.c                                   |    3 
 drivers/hwtracing/coresight/coresight-priv.h                                   |    1 
 drivers/i2c/busses/i2c-robotfuzz-osif.c                                        |    6 
 drivers/i2c/busses/i2c-tiny-usb.c                                              |    6 
 drivers/iio/adc/ad_sigma_delta.c                                               |    4 
 drivers/iio/dac/Makefile                                                       |    2 
 drivers/iio/dac/ad3552r-common.c                                               |  248 +++
 drivers/iio/dac/ad3552r.c                                                      |  557 +-------
 drivers/iio/dac/ad3552r.h                                                      |  223 +++
 drivers/iio/pressure/zpa2326.c                                                 |    2 
 drivers/leds/led-class-multicolor.c                                            |    3 
 drivers/mailbox/mailbox.c                                                      |    2 
 drivers/md/bcache/super.c                                                      |    7 
 drivers/md/dm-raid.c                                                           |    2 
 drivers/md/dm-vdo/indexer/volume.c                                             |   24 
 drivers/md/md-bitmap.c                                                         |    2 
 drivers/media/usb/uvc/uvc_ctrl.c                                               |   34 
 drivers/mfd/max14577.c                                                         |    1 
 drivers/misc/tps6594-pfsm.c                                                    |    3 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                                      |    5 
 drivers/net/ethernet/freescale/enetc/enetc_hw.h                                |    2 
 drivers/net/ethernet/pensando/ionic/ionic_txrx.c                               |   12 
 drivers/net/ethernet/realtek/r8169.h                                           |    1 
 drivers/net/ethernet/realtek/r8169_main.c                                      |   23 
 drivers/net/ethernet/realtek/r8169_phy_config.c                                |   10 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                              |   11 
 drivers/net/ethernet/wangxun/libwx/wx_lib.c                                    |    6 
 drivers/net/phy/realtek.c                                                      |   54 
 drivers/nvme/host/tcp.c                                                        |   22 
 drivers/pci/controller/dwc/pci-imx6.c                                          |   15 
 drivers/pci/controller/dwc/pcie-designware.c                                   |    5 
 drivers/pci/controller/pcie-apple.c                                            |    7 
 drivers/s390/crypto/pkey_api.c                                                 |    2 
 drivers/scsi/megaraid/megaraid_sas_base.c                                      |    6 
 drivers/spi/spi-cadence-quadspi.c                                              |   12 
 drivers/spi/spi-fsl-qspi.c                                                     |   36 
 drivers/staging/rtl8723bs/core/rtw_security.c                                  |   44 
 drivers/tty/serial/8250/8250_pci1xxxx.c                                        |   10 
 drivers/tty/serial/imx.c                                                       |   17 
 drivers/tty/serial/serial_base_bus.c                                           |    1 
 drivers/tty/serial/uartlite.c                                                  |   25 
 drivers/ufs/core/ufshcd.c                                                      |    6 
 drivers/usb/class/cdc-wdm.c                                                    |   23 
 drivers/usb/common/usb-conn-gpio.c                                             |   25 
 drivers/usb/core/usb.c                                                         |   14 
 drivers/usb/dwc2/gadget.c                                                      |    6 
 drivers/usb/gadget/function/f_hid.c                                            |   19 
 drivers/usb/gadget/function/f_tcm.c                                            |    4 
 drivers/usb/typec/altmodes/displayport.c                                       |    4 
 drivers/usb/typec/mux.c                                                        |    4 
 drivers/usb/typec/tcpm/tcpm.c                                                  |    3 
 fs/btrfs/backref.h                                                             |    4 
 fs/btrfs/direct-io.c                                                           |    4 
 fs/btrfs/disk-io.c                                                             |    5 
 fs/btrfs/extent_io.h                                                           |    2 
 fs/btrfs/extent_map.c                                                          |  132 +
 fs/btrfs/extent_map.h                                                          |    3 
 fs/btrfs/fs.h                                                                  |    2 
 fs/btrfs/inode.c                                                               |  297 ++--
 fs/btrfs/ordered-data.c                                                        |   14 
 fs/btrfs/raid56.c                                                              |    5 
 fs/btrfs/super.c                                                               |   13 
 fs/btrfs/tests/extent-io-tests.c                                               |    6 
 fs/btrfs/volumes.c                                                             |    6 
 fs/btrfs/zstd.c                                                                |    2 
 fs/ceph/file.c                                                                 |    2 
 fs/f2fs/file.c                                                                 |   38 
 fs/f2fs/super.c                                                                |   30 
 fs/fuse/dir.c                                                                  |   11 
 fs/jfs/jfs_dmap.c                                                              |   41 
 fs/namespace.c                                                                 |    8 
 fs/nfs/inode.c                                                                 |   51 
 fs/nfs/nfs4proc.c                                                              |   25 
 fs/overlayfs/util.c                                                            |    4 
 fs/proc/task_mmu.c                                                             |    2 
 fs/smb/client/cifs_debug.c                                                     |   23 
 fs/smb/client/cifsglob.h                                                       |    2 
 fs/smb/client/cifspdu.h                                                        |    6 
 fs/smb/client/cifssmb.c                                                        |    1 
 fs/smb/client/connect.c                                                        |   58 
 fs/smb/client/misc.c                                                           |    8 
 fs/smb/client/sess.c                                                           |   21 
 fs/smb/client/smb2ops.c                                                        |   14 
 fs/smb/client/smbdirect.c                                                      |  513 +++----
 fs/smb/client/smbdirect.h                                                      |   64 
 fs/smb/client/trace.h                                                          |   24 
 fs/smb/common/smbdirect/smbdirect.h                                            |   37 
 fs/smb/common/smbdirect/smbdirect_pdu.h                                        |   55 
 fs/smb/common/smbdirect/smbdirect_socket.h                                     |   43 
 fs/smb/server/connection.h                                                     |    1 
 fs/smb/server/smb2pdu.c                                                        |   72 -
 fs/smb/server/smb2pdu.h                                                        |    3 
 include/net/bluetooth/hci_core.h                                               |    2 
 include/uapi/drm/ivpu_accel.h                                                  |    6 
 include/uapi/linux/vm_sockets.h                                                |    4 
 io_uring/kbuf.c                                                                |    1 
 io_uring/kbuf.h                                                                |    1 
 io_uring/net.c                                                                 |   46 
 io_uring/rsrc.c                                                                |   23 
 io_uring/rsrc.h                                                                |    1 
 lib/group_cpus.c                                                               |    9 
 lib/maple_tree.c                                                               |    4 
 mm/damon/sysfs-schemes.c                                                       |    1 
 mm/gup.c                                                                       |   14 
 mm/vma.c                                                                       |   27 
 net/atm/clip.c                                                                 |   11 
 net/atm/resources.c                                                            |    3 
 net/bluetooth/hci_core.c                                                       |   34 
 net/bluetooth/l2cap_core.c                                                     |    9 
 net/core/selftests.c                                                           |    5 
 net/mac80211/chan.c                                                            |    3 
 net/mac80211/ieee80211_i.h                                                     |   12 
 net/mac80211/iface.c                                                           |   12 
 net/mac80211/link.c                                                            |   94 +
 net/mac80211/util.c                                                            |    2 
 net/sunrpc/clnt.c                                                              |    9 
 net/unix/af_unix.c                                                             |   31 
 rust/Makefile                                                                  |    2 
 rust/macros/module.rs                                                          |    1 
 sound/pci/hda/hda_bind.c                                                       |    2 
 sound/pci/hda/hda_intel.c                                                      |    3 
 sound/pci/hda/patch_realtek.c                                                  |    2 
 sound/soc/amd/yc/acp6x-mach.c                                                  |    7 
 sound/soc/codecs/rt1320-sdw.c                                                  |   17 
 sound/soc/codecs/wcd9335.c                                                     |   40 
 sound/usb/quirks.c                                                             |    2 
 sound/usb/stream.c                                                             |    2 
 tools/lib/bpf/btf_dump.c                                                       |    3 
 tools/lib/bpf/libbpf.c                                                         |   10 
 tools/testing/selftests/bpf/progs/test_global_map_resize.c                     |   16 
 212 files changed, 3777 insertions(+), 2218 deletions(-)

Adin Scannell (1):
libbpf: Fix possible use-after-free for externs

Aidan Stewart (1):
serial: core: restore of_node information in sysfs

Al Viro (1):
attach_recursive_mnt(): do not lock the covering tree when sliding something under it

Alex Deucher (2):
drm/amdgpu/discovery: optionally use fw based ip discovery drm/amdgpu: switch job hw_fence to amdgpu_fence

Alex Hung (2):
drm/amd/display: Check dce_hwseq before dereferencing it drm/amd/display: Fix mpv playback corruption on weston

Alexis Czezar Torreno (1):

      hwmon: (pmbus/max34440) Fix support for max34451

Andres Traumann (1):
ALSA: hda/realtek: Bass speaker fixup for ASUS UM5606KA

Andrzej Kacprowski (1):
accel/ivpu: Remove copy engine support

Andy Chiu (1):
riscv: add a data fence for CMODX in the kernel mode

Andy Shevchenko (1):
usb: Add checks for snprintf() calls in usb_alloc_dev()

Angelo Dureghello (3):
iio: dac: ad3552r: changes to use FIELD_PREP
iio: dac: ad3552r: extract common code (no changes in behavior intended)
iio: dac: ad3552r-common: fix ad3541/2r ranges

Aradhya Bhatia (5):
drm/bridge: cdns-dsi: Fix the clock variable for mode_valid() drm/bridge: cdns-dsi: Fix phy de-init and flag it so drm/bridge: cdns-dsi: Fix connecting to next bridge drm/bridge: cdns-dsi: Check return value when getting default PHY config drm/bridge: cdns-dsi: Wait for Clk and Data Lanes to be ready

Arnd Bergmann (1):
drm/i915: fix build error some more

Avadhut Naik (1):
EDAC/amd64: Fix size calculation for Non-Power-of-Two DIMMs

Benjamin Berg (1):
um: use proper care when taking mmap lock during segfault

Cezary Rojewski (1):
ALSA: hda: Ignore unsol events for cards being shut down

Chance Yang (1):
usb: common: usb-conn-gpio: use a unique name for usb connector device

Chang S. Bae (2):
x86/fpu: Refactor xfeature bitmask update code for sigframe XSAVE x86/pkeys: Simplify PKRU update in signal frame

Chao Yu (2):
f2fs: don't over-report free space or inodes in statvfs
f2fs: fix to zero post-eof page

Chen Yu (1):
scsi: megaraid_sas: Fix invalid node index

Chen Yufeng (1):
usb: potential integer overflow in usbg_make_tpg()

Chenyuan Yang (1):
misc: tps6594-pfsm: Add NULL pointer check in tps6594_pfsm_probe()

Daniele Ceraolo Spurio (1):
drm/xe: Fix early wedge on GuC load failure

Dave Kleikamp (1):
fs/jfs: consolidate sanity checking in dbMount

David Hildenbrand (2):
fs/proc/task_mmu: fix PAGE_IS_PFNZERO detection for the huge zero folio mm/gup: revert "mm: gup: fix infinite loop within __get_longterm_locked"

David Howells (2):
cifs: Fix the smbd_response slab to allow usercopy
cifs: Fix reading into an ITER_FOLIOQ from the smbdirect code

David Sterba (1):
btrfs: use unsigned types for constants defined as bit shifts

Dmitry Kandybka (1):
ceph: fix possible integer overflow in ceph_zero_objects()

Dragan Simic (1):
arm64: dts: rockchip: Add avdd HDMI supplies to RockPro64 board dtsi

Eric Dumazet (1):
atm: clip: prevent NULL deref in clip_push()

FUJITA Tomonori (1):
rust: module: place cleanup_module() in .exit.text section

Fabio Estevam (1):
serial: imx: Restore original RXTL for console to fix data loss

Fedor Pchelkin (1):
s390/pkey: Prevent overflow in size calculation for memdup_user()

Filipe Manana (5):
btrfs: fix qgroup reservation leak on failure to allocate ordered extent
btrfs: fix a race between renames and directory logging
btrfs: skip inodes without loaded extent maps when shrinking extent maps
btrfs: make the extent map shrinker run asynchronously as a work queue job
btrfs: do regular iput instead of delayed iput during extent map shrinking

Frank Min (1):
drm/amdgpu: Add kicker device detection

Frédéric Danis (1):
Bluetooth: L2CAP: Fix L2CAP MTU negotiation

Greg Kroah-Hartman (1):

      Linux 6.12.36

Guang Yuan Wu (1):
fuse: fix race between concurrent setattrs from multiple nodes

Han Xu (1):
spi: fsl-qspi: use devm function instead of driver remove

Han Young (1):
NFSv4: Always set NLINK even if the server doesn't support it

Hannes Reinecke (2):
nvme-tcp: fix I/O stalls on congested sockets
nvme-tcp: sanitize request list handling

Haoxiang Li (1):
drm/xe/display: Add check for alloc_ordered_workqueue()

Hector Martin (1):
PCI: apple: Fix missing OF node reference in apple_pcie_setup_port

Heiner Kallweit (3):
r8169: add support for RTL8125D
net: phy: realtek: merge the drivers for internal NBase-T PHY's
net: phy: realtek: add RTL8125D-internal PHY

Heinz Mauelshagen (1):
dm-raid: fix variable in journal device check

Iusico Maxim (1):
HID: lenovo: Restrict F7/9/11 mode to compact keyboards only

Jakub Kicinski (2):
netlink: specs: tc: replace underscores with dashes in names
net: selftests: fix TCP packet checksum

Jakub Lewalski (1):
tty: serial: uartlite: register uart driver in init

James Clark (1):
coresight: Only check bottom two claim bits

Janne Grunau (1):
PCI: apple: Set only available ports up

Jay Cornwall (2):
drm/amdkfd: Fix race in GWS queue scheduling drm/amdkfd: Fix instruction hazard in gfx12 trap handler

Jayesh Choudhary (1):
drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type

Jens Axboe (6):
io_uring/net: improve recv bundles
io_uring/net: only retry recv bundle for a full transfer io_uring/net: only consider msg_inq if larger than 1 io_uring/net: always use current transfer count for buffer put io_uring/net: mark iov as dynamically allocated even for single segments io_uring/kbuf: flag partial buffer mappings

Jesse Zhang (1):
drm/amdgpu: Fix SDMA UTC_L1 handling during start/stop sequences

Jiawen Wu (2):
net: libwx: fix the creation of page_pool
net: libwx: fix Tx L4 checksum

Johannes Berg (1):
wifi: mac80211: finish link init before RCU publish

John Olender (1):
drm/amdgpu: amdgpu_vram_mgr_new(): Clamp lpfn to total vram

Jonathan Cameron (1):
iio: pressure: zpa2326: Use aligned_s64 for the timestamp

Jonathan Kim (1):
drm/amdkfd: remove gfx 12 trap handler page size cap

Joonas Lahtinen (1):
Revert "drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1"

Jos Wang (1):
usb: typec: displayport: Receive DP Status Update NAK request exit dp altmode

Karol Wachowski (5):
accel/ivpu: Do not fail on cmdq if failed to allocate preemption buffers accel/ivpu: Make command queue ID allocated on XArray accel/ivpu: Separate DB ID and CMDQ ID allocations from CMDQ allocation accel/ivpu: Add debugfs interface for setting HWS priority bands accel/ivpu: Trigger device recovery on engine reset/resume failure

Kees Cook (1):
ovl: Check for NULL d_inode() in ovl_dentry_upper()

Kevin Hao (1):
spi: fsl-qspi: Fix double cleanup in probe error path

Khairul Anuar Romli (1):
spi: spi-cadence-quadspi: Fix pm runtime unbalance

Krzysztof Kozlowski (2):
mfd: max14577: Fix wakeup source leaks on device unbind
ASoC: codecs: wcd9335: Fix missing free of regulator supplies

Kuniyuki Iwashima (4):
af_unix: Don't leave consecutive consumed OOB skbs.
Bluetooth: hci_core: Fix use-after-free in vhci_flush()
af_unix: Don't set -ECONNRESET for consumed OOB skb.
atm: Release atm_dev_mutex after removing procfs in atm_dev_deregister().

Lachlan Hodges (1):
wifi: mac80211: fix beacon interval calculation overflow

Liam R. Howlett (1):
maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate()

Lin.Cao (1):
drm/scheduler: signal scheduled fence when kill job

Linggang Zeng (1):
bcache: fix NULL pointer in cache_set_flush()

Lorenzo Stoakes (1):
mm/vma: reset VMA iterator on commit_merge() OOM failure

Lucas De Marchi (2):
drm/xe: Fix memset on iomem
drm/xe: Fix taking invalid lock on wedge

Mario Limonciello (2):
ALSA: usb-audio: Add a quirk for Lenovo Thinkpad Thunderbolt 3 dock drm/amd: Adjust output for discovery error handling

Mark Harmstone (1):
btrfs: update superblock's device bytes_used when dropping chunk

Matthew Auld (3):
drm/xe/vm: move rebind_work init earlier drm/xe/sched: stop re-submitting signalled jobs drm/xe/guc_submit: add back fix

Matthew Sakai (1):
dm vdo indexer: don't read request structure after enqueuing

Maíra Canal (1):
drm/etnaviv: Protect the scheduler's pending list with its lock

Michael Grzeschik (2):
usb: dwc2: also exit clock_gating when stopping udc while suspended
usb: typec: mux: do not return on EOPNOTSUPP in {mux, switch}_set

Michal Wajdeczko (1):
drm/xe: Process deferred GGTT node removals on device unwind

Muna Sinada (2):
wifi: mac80211: Add link iteration macro for link data
wifi: mac80211: Create separate links for VLAN interfaces

Nam Cao (2):
Revert "riscv: Define TASK_SIZE_MAX for __access_ok()"
Revert "riscv: misaligned: fix sleeping function called during misaligned access handling"

Namjae Jeon (2):
ksmbd: allow a filename to contain special characters on SMB3.1.1 posix extension
ksmbd: provide zero as a unique ID to the Mac client

Naohiro Aota (1):
btrfs: zoned: fix extent range end unlock in cow_file_range()

Nathan Chancellor (1):
staging: rtl8723bs: Avoid memset() in aes_cipher() and aes_decipher()

Nikhil Jha (1):
sunrpc: don't immediately retransmit on seqno miss

Niklas Cassel (1):
ata: ahci: Use correct DMI identifier for ASUSPRO-D840SA LPM quirk

Olga Kornievskaia (1):
NFSv4.2: fix listxattr to return selinux security label

Oliver Schramm (1):
ASoC: amd: yc: Add DMI quirk for Lenovo IdeaPad Slim 5 15

Pali Rohár (3):
cifs: Correctly set SMB1 SessionKey field in Session Setup Request
cifs: Fix cifs_query_path_info() for Windows NT servers
cifs: Fix encoding of SMB1 Session Setup NTLMSSP Request in non-UNICODE mode

Paulo Alcantara (1):
smb: client: fix potential deadlock when reconnecting channels

Pavel Begunkov (2):
io_uring/rsrc: fix folio unpinning io_uring/rsrc: don't rely on user vaddr alignment

Peng Fan (2):
mailbox: Not protect module_put with spin_lock_irqsave
ASoC: codec: wcd9335: Convert to GPIO descriptors

Penglei Jiang (1):
io_uring: fix potential page leak in io_sqe_buffer_register()

Peter Korsgaard (1):
usb: gadget: f_hid: wake up readers on disable/unbind

Philip Yang (1):
drm/amdgpu: seq64 memory unmap uses uninterruptible lock

Purva Yeshi (1):
iio: adc: ad_sigma_delta: Fix use of uninitialized status_pos

Qasim Ijaz (3):
HID: wacom: fix memory leak on kobject creation failure
HID: wacom: fix memory leak on sysfs attribute creation failure
HID: wacom: fix kobject reference count leak

Qingfang Deng (1):
net: stmmac: Fix accessing freed irq affinity_hint

Qiu-ji Chen (1):
drm/tegra: Fix a possible null pointer dereference

Qu Wenruo (3):
btrfs: handle csum tree error with rescue=ibadroots correctly
btrfs: factor out nocow ordered extent and extent map generation into a helper
btrfs: do proper folio cleanup when cow_file_range() failed

Rengarajan S (1):
8250: microchip: pci1xxxx: Add PCIe Hot reset disable support for Rev C0 and later devices

Ricardo Ribalda (1):
media: uvcvideo: Rollback non processed entities on error

Richard Zhu (1):
PCI: imx6: Add workaround for errata ERR051624

Robert Hodaszi (1):
usb: cdc-wdm: avoid setting WDM_READ for ZLP-s

Robert Richter (1):
cxl/region: Add a dev_err() on missing target list entries

Rudraksha Gupta (1):
rust: arm: fix unknown (to Clang) argument '-mno-fdpic'

Sagi Grimberg (1):
NFSv4.2: fix setattr caching of TIME_[MODIFY|ACCESS]_SET when timestamps are delegated

Salvatore Bonaccorso (1):
ALSA: hda/realtek: Fix built-in mic on ASUS VivoBook X507UAR

Sami Tolvanen (1):
um: Add cmpxchg8b_emu and checksum functions to asm-prototypes.h

Sasha Levin (5):
drm/xe: Carve out wopcm portion from the stolen memory
usb: typec: tcpm: PSSourceOffTimer timeout in PR_Swap enters ERROR_RECOVERY drm/msm/dp: account for widebus and yuv420 during mode validation riscv/atomic: Do proper sign extension also for unsigned in arch_cmpxchg
btrfs: fix use-after-free on inode when scanning root during em shrinking

Scott Mayhew (1):
NFSv4: xattr handlers should check for absent nfs filehandles

SeongJae Park (1):

      mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write

Shuming Fan (1):
ASoC: rt1320: fix speaker noise when volume bar is 100%

Simon Horman (1):
net: enetc: Correct endianness handling in _enetc_rd_reg64

Stefan Metzmacher (8):
smb: client: remove \t from TP_printk statements
smb: smbdirect: add smbdirect_pdu.h with protocol definitions
smb: client: make use of common smbdirect_pdu.h
smb: smbdirect: add smbdirect.h with public structures
smb: smbdirect: add smbdirect_socket.h
smb: client: make use of common smbdirect_socket
smb: smbdirect: introduce smbdirect_socket_parameters
smb: client: make use of common smbdirect_socket_parameters

Stefano Garzarella (1):
vsock/uapi: fix linux/vm_sockets.h userspace compilation errors

Stephan Gerhold (1):
drm/msm/gpu: Fix crash when throttling GPU immediately during boot

Sven Schwermer (1):
leds: multicolor: Fix intensity setting while SW blinking

Thierry Reding (1):
drm/tegra: Assign plane type before registration

Thomas Fourier (1):
ethernet: ionic: Fix DMA mapping tests

Thomas Gessler (1):
dmaengine: xilinx_dma: Set dma_device directions

Thomas Zeitlhofer (1):
HID: wacom: fix crash in wacom_aes_battery_handler()

Thomas Zimmermann (4):
drm/ast: Fix comment on modeset lock drm/cirrus-qemu: Fix pitch programming
drm/udl: Unregister device before cleaning up on disconnect drm/fbdev-dma: Add shadow buffering for deferred I/O

Tiwei Bie (1):
um: ubd: Add missing error check in start_io_thread()

Vasiliy Kovalev (1):
jfs: validate AG parameters in dbMount() to prevent crashes

Vijendar Mukunda (1):
ALSA: hda: Add new pci id for AMD GPU display HD audio controller

Ville Syrjälä (2):
drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1 drm/i915/dsi: Fix off by one in BXT_MIPI_TRANS_VTOTAL

Wenbin Yao (1):
PCI: dwc: Make link training more robust by setting PORT_LOGIC_LINK_WIDTH to one lane

Wentao Liang (1):
drm/amd/display: Add null pointer check for get_first_active_display()

Wolfram Sang (3):
i2c: tiny-usb: disable zero-length read messages
i2c: robotfuzz-osif: disable zero-length read messages drm/bridge: ti-sn65dsi86: make use of debugfs_init callback

Xin Li (Intel) (1):
x86/traps: Initialize DR6 by writing its architectural reset value

Yan Zhai (1):
bnxt: properly flush XDP redirect lists

Yao Zi (1):
dt-bindings: serial: 8250: Make clocks and clock-frequency exclusive

Yi Sun (1):
dmaengine: idxd: Check availability of workqueue allocated by idxd wq driver before using

Yifan Zhang (1):
amd/amdkfd: fix a kfd_process ref leak

Yihan Zhu (1):
drm/amd/display: Fix RMCM programming seq errors

Youngjun Lee (1):
ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3()

Yu Kuai (2):
md/md-bitmap: fix dm-raid max_write_behind setting lib/group_cpus: fix NULL pointer dereference from group_cpus_evenly()

Yuan Chen (1):
libbpf: Fix null pointer dereference in btf_dump__free on allocation failure

Zhang Zekun (1):
PCI: apple: Use helper function for_each_child_of_node_scoped()

Zhongwei Zhang (1):
drm/amd/display: Correct non-OLED pre_T11_delay.

Ziqi Chen (1):
scsi: ufs: core: Don't perform UFS clkscaling during host async scan

anvithdosapati (1):
scsi: ufs: core: Fix clk scaling to be conditional in reset and restore

author maintainer
#1 lore raw
Documentation/devicetree/bindings/serial/8250.yaml +1 -1
index 692aa05500fd..6ba0325039be 100644
@@ -45,7 +45,7 @@ allOf:
                   - ns16550
                   - ns16550a
     then:
-      anyOf:
+      oneOf:
         - required: [ clock-frequency ]
         - required: [ clocks ]
 
Documentation/netlink/specs/tc.yaml +2 -2
index c5579a5412fc..043f205bc1ae 100644
@@ -227,7 +227,7 @@ definitions:
         type: u8
         doc: log(P_max / (qth-max - qth-min))
       -
-        name: Scell_log
+        name: Scell-log
         type: u8
         doc: cell size for idle damping
       -
@@ -248,7 +248,7 @@ definitions:
         name: DPs
         type: u32
       -
-        name: def_DP
+        name: def-DP
         type: u32
       -
         name: grio
Makefile +1 -1
index 535df76f6f78..7012820523ff 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 12
-SUBLEVEL = 35
+SUBLEVEL = 36
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +12 -0
index 11d99d8b34a2..66d010a9e8c3 100644
@@ -227,6 +227,16 @@ vcc5v0_usb: vcc5v0-usb {
 		vin-supply = <&vcc12v_dcin>;
 	};
 
+	vcca_0v9: vcca-0v9 {
+		compatible = "regulator-fixed";
+		regulator-name = "vcca_0v9";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <900000>;
+		regulator-max-microvolt = <900000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
 	vdd_log: vdd-log {
 		compatible = "pwm-regulator";
 		pwms = <&pwm2 0 25000 1>;
@@ -312,6 +322,8 @@ &gmac {
 };
 
 &hdmi {
+	avdd-0v9-supply = <&vcca_0v9>;
+	avdd-1v8-supply = <&vcc1v8_dvp>;
 	ddc-i2c-bus = <&i2c3>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&hdmi_cec>;
arch/riscv/include/asm/cmpxchg.h +1 -1
index ebbce134917c..6efa95ad033a 100644
@@ -169,7 +169,7 @@
 		break;							\
 	case 4:								\
 		__arch_cmpxchg(".w", ".w" sc_sfx, prepend, append,	\
-				__ret, __ptr, (long), __old, __new);	\
+				__ret, __ptr, (long)(int)(long), __old, __new);	\
 		break;							\
 	case 8:								\
 		__arch_cmpxchg(".d", ".d" sc_sfx, prepend, append,	\
arch/riscv/include/asm/pgtable.h +0 -1
index 479550cdb440..03881122506a 100644
@@ -916,7 +916,6 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte)
  */
 #ifdef CONFIG_64BIT
 #define TASK_SIZE_64	(PGDIR_SIZE * PTRS_PER_PGD / 2)
-#define TASK_SIZE_MAX	LONG_MAX
 
 #ifdef CONFIG_COMPAT
 #define TASK_SIZE_32	(_AC(0x80000000, UL) - PAGE_SIZE)
arch/riscv/kernel/traps_misaligned.c +2 -2
index 36ac96eac9c9..d14bfc23e315 100644
@@ -429,7 +429,7 @@ int handle_misaligned_load(struct pt_regs *regs)
 
 	val.data_u64 = 0;
 	if (user_mode(regs)) {
-		if (copy_from_user_nofault(&val, (u8 __user *)addr, len))
+		if (copy_from_user(&val, (u8 __user *)addr, len))
 			return -1;
 	} else {
 		memcpy(&val, (u8 *)addr, len);
@@ -530,7 +530,7 @@ int handle_misaligned_store(struct pt_regs *regs)
 		return -EOPNOTSUPP;
 
 	if (user_mode(regs)) {
-		if (copy_to_user_nofault((u8 __user *)addr, &val, len))
+		if (copy_to_user((u8 __user *)addr, &val, len))
 			return -1;
 	} else {
 		memcpy((u8 *)addr, &val, len);
arch/riscv/mm/cacheflush.c +14 -1
index b81672729887..b2e4b81763f8 100644
@@ -24,7 +24,20 @@ void flush_icache_all(void)
 
 	if (num_online_cpus() < 2)
 		return;
-	else if (riscv_use_sbi_for_rfence())
+
+	/*
+	 * Make sure all previous writes to the D$ are ordered before making
+	 * the IPI. The RISC-V spec states that a hart must execute a data fence
+	 * before triggering a remote fence.i in order to make the modification
+	 * visable for remote harts.
+	 *
+	 * IPIs on RISC-V are triggered by MMIO writes to either CLINT or
+	 * S-IMSIC, so the fence ensures previous data writes "happen before"
+	 * the MMIO.
+	 */
+	RISCV_FENCE(w, o);
+
+	if (riscv_use_sbi_for_rfence())
 		sbi_remote_fence_i(NULL);
 	else
 		on_each_cpu(ipi_remote_fence_i, NULL, 1);
arch/um/drivers/ubd_user.c +1 -1
index b4f8b8e60564..592b899820d6 100644
@@ -41,7 +41,7 @@ int start_io_thread(unsigned long sp, int *fd_out)
 	*fd_out = fds[1];
 
 	err = os_set_fd_block(*fd_out, 0);
-	err = os_set_fd_block(kernel_fd, 0);
+	err |= os_set_fd_block(kernel_fd, 0);
 	if (err) {
 		printk("start_io_thread - failed to set nonblocking I/O.\n");
 		goto out_close;
arch/um/include/asm/asm-prototypes.h +5 -0
index 5898a26daa0d..408b31d59127 100644
@@ -1 +1,6 @@
 #include <asm-generic/asm-prototypes.h>
+#include <asm/checksum.h>
+
+#ifdef CONFIG_UML_X86
+extern void cmpxchg8b_emu(void);
+#endif
arch/um/kernel/trap.c +117 -12

144 lines not on this page · raw message

arch/x86/include/uapi/asm/debugreg.h +20 -1
index 0007ba077c0c..41da492dfb01 100644
@@ -15,7 +15,26 @@
    which debugging register was responsible for the trap.  The other bits
    are either reserved or not of interest to us. */
 
-/* Define reserved bits in DR6 which are always set to 1 */
+/*
+ * Define bits in DR6 which are set to 1 by default.
+ *
+ * This is also the DR6 architectural value following Power-up, Reset or INIT.
+ *
+ * Note, with the introduction of Bus Lock Detection (BLD) and Restricted
+ * Transactional Memory (RTM), the DR6 register has been modified:
+ *
+ * 1) BLD flag (bit 11) is no longer reserved to 1 if the CPU supports
+ *    Bus Lock Detection.  The assertion of a bus lock could clear it.
+ *
+ * 2) RTM flag (bit 16) is no longer reserved to 1 if the CPU supports
+ *    restricted transactional memory.  #DB occurred inside an RTM region
+ *    could clear it.
+ *
+ * Apparently, DR6.BLD and DR6.RTM are active low bits.
+ *
+ * As a result, DR6_RESERVED is an incorrect name now, but it is kept for
+ * compatibility.
+ */
 #define DR6_RESERVED	(0xFFFF0FF0)
 
 #define DR_TRAP0	(0x1)		/* db0 */
arch/x86/kernel/cpu/common.c +10 -14
index b48775445523..a11c61fd7d52 100644
@@ -2145,20 +2145,16 @@ EXPORT_PER_CPU_SYMBOL(__stack_chk_guard);
 
 #endif	/* CONFIG_X86_64 */
 
-/*
- * Clear all 6 debug registers:
- */
-static void clear_all_debug_regs(void)
+static void initialize_debug_regs(void)
 {
-	int i;
-
-	for (i = 0; i < 8; i++) {
-		/* Ignore db4, db5 */
-		if ((i == 4) || (i == 5))
-			continue;
-
-		set_debugreg(0, i);
-	}
+	/* Control register first -- to make sure everything is disabled. */
+	set_debugreg(0, 7);
+	set_debugreg(DR6_RESERVED, 6);
+	/* dr5 and dr4 don't exist */
+	set_debugreg(0, 3);
+	set_debugreg(0, 2);
+	set_debugreg(0, 1);
+	set_debugreg(0, 0);
 }
 
 #ifdef CONFIG_KGDB
@@ -2319,7 +2315,7 @@ void cpu_init(void)
 
 	load_mm_ldt(&init_mm);
 
-	clear_all_debug_regs();
+	initialize_debug_regs();
 	dbg_restore_debug_regs();
 
 	doublefault_init_cpu_tss();
arch/x86/kernel/fpu/signal.c +1 -10
index 8f62e0666dea..8abe60919e2f 100644
@@ -119,7 +119,6 @@ static inline bool save_xstate_epilog(void __user *buf, int ia32_frame,
 {
 	struct xregs_state __user *x = buf;
 	struct _fpx_sw_bytes sw_bytes = {};
-	u32 xfeatures;
 	int err;
 
 	/* Setup the bytes not touched by the [f]xsave and reserved for SW. */
@@ -132,12 +131,6 @@ static inline bool save_xstate_epilog(void __user *buf, int ia32_frame,
 	err |= __put_user(FP_XSTATE_MAGIC2,
 			  (__u32 __user *)(buf + fpstate->user_size));
 
-	/*
-	 * Read the xfeatures which we copied (directly from the cpu or
-	 * from the state in task struct) to the user buffers.
-	 */
-	err |= __get_user(xfeatures, (__u32 __user *)&x->header.xfeatures);
-
 	/*
 	 * For legacy compatible, we always set FP/SSE bits in the bit
 	 * vector while saving the state to the user context. This will
@@ -149,9 +142,7 @@ static inline bool save_xstate_epilog(void __user *buf, int ia32_frame,
 	 * header as well as change any contents in the memory layout.
 	 * xrestore as part of sigreturn will capture all the changes.
 	 */
-	xfeatures |= XFEATURE_MASK_FPSSE;
-
-	err |= __put_user(xfeatures, (__u32 __user *)&x->header.xfeatures);
+	err |= set_xfeature_in_sigframe(x, XFEATURE_MASK_FPSSE);
 
 	return !err;
 }
arch/x86/kernel/fpu/xstate.h +16 -6
index aa16f1a1bbcf..f7d8f3d73599 100644
@@ -69,21 +69,31 @@ static inline u64 xfeatures_mask_independent(void)
 	return fpu_kernel_cfg.independent_features;
 }
 
+static inline int set_xfeature_in_sigframe(struct xregs_state __user *xbuf, u64 mask)
+{
+	u64 xfeatures;
+	int err;
+
+	/* Read the xfeatures value already saved in the user buffer */
+	err  = __get_user(xfeatures, &xbuf->header.xfeatures);
+	xfeatures |= mask;
+	err |= __put_user(xfeatures, &xbuf->header.xfeatures);
+
+	return err;
+}
+
 /*
  * Update the value of PKRU register that was already pushed onto the signal frame.
  */
-static inline int update_pkru_in_sigframe(struct xregs_state __user *buf, u64 mask, u32 pkru)
+static inline int update_pkru_in_sigframe(struct xregs_state __user *buf, u32 pkru)
 {
-	u64 xstate_bv;
 	int err;
 
 	if (unlikely(!cpu_feature_enabled(X86_FEATURE_OSPKE)))
 		return 0;
 
 	/* Mark PKRU as in-use so that it is restored correctly. */
-	xstate_bv = (mask & xfeatures_in_use()) | XFEATURE_MASK_PKRU;
-
-	err =  __put_user(xstate_bv, &buf->header.xfeatures);
+	err = set_xfeature_in_sigframe(buf, XFEATURE_MASK_PKRU);
 	if (err)
 		return err;
 
@@ -304,7 +314,7 @@ static inline int xsave_to_user_sigframe(struct xregs_state __user *buf, u32 pkr
 	clac();
 
 	if (!err)
-		err = update_pkru_in_sigframe(buf, mask, pkru);
+		err = update_pkru_in_sigframe(buf, pkru);
 
 	return err;
 }
arch/x86/kernel/traps.c +21 -13
index b18fc7539b8d..243f3bc9b4dc 100644
@@ -977,24 +977,32 @@ static bool is_sysenter_singlestep(struct pt_regs *regs)
 #endif
 }
 
-static __always_inline unsigned long debug_read_clear_dr6(void)
+static __always_inline unsigned long debug_read_reset_dr6(void)
 {
 	unsigned long dr6;
 
+	get_debugreg(dr6, 6);
+	dr6 ^= DR6_RESERVED; /* Flip to positive polarity */
+
 	/*
 	 * The Intel SDM says:
 	 *
-	 *   Certain debug exceptions may clear bits 0-3. The remaining
-	 *   contents of the DR6 register are never cleared by the
-	 *   processor. To avoid confusion in identifying debug
-	 *   exceptions, debug handlers should clear the register before
-	 *   returning to the interrupted task.
+	 *   Certain debug exceptions may clear bits 0-3 of DR6.
+	 *
+	 *   BLD induced #DB clears DR6.BLD and any other debug
+	 *   exception doesn't modify DR6.BLD.
 	 *
-	 * Keep it simple: clear DR6 immediately.
+	 *   RTM induced #DB clears DR6.RTM and any other debug
+	 *   exception sets DR6.RTM.
+	 *
+	 *   To avoid confusion in identifying debug exceptions,
+	 *   debug handlers should set DR6.BLD and DR6.RTM, and
+	 *   clear other DR6 bits before returning.
+	 *
+	 * Keep it simple: write DR6 with its architectural reset
+	 * value 0xFFFF0FF0, defined as DR6_RESERVED, immediately.
 	 */
-	get_debugreg(dr6, 6);
 	set_debugreg(DR6_RESERVED, 6);
-	dr6 ^= DR6_RESERVED; /* Flip to positive polarity */
 
 	return dr6;
 }
@@ -1194,13 +1202,13 @@ static noinstr void exc_debug_user(struct pt_regs *regs, unsigned long dr6)
 /* IST stack entry */
 DEFINE_IDTENTRY_DEBUG(exc_debug)
 {
-	exc_debug_kernel(regs, debug_read_clear_dr6());
+	exc_debug_kernel(regs, debug_read_reset_dr6());
 }
 
 /* User entry, runs on regular task stack */
 DEFINE_IDTENTRY_DEBUG_USER(exc_debug)
 {
-	exc_debug_user(regs, debug_read_clear_dr6());
+	exc_debug_user(regs, debug_read_reset_dr6());
 }
 
 #ifdef CONFIG_X86_FRED
@@ -1219,7 +1227,7 @@ DEFINE_FREDENTRY_DEBUG(exc_debug)
 {
 	/*
 	 * FRED #DB stores DR6 on the stack in the format which
-	 * debug_read_clear_dr6() returns for the IDT entry points.
+	 * debug_read_reset_dr6() returns for the IDT entry points.
 	 */
 	unsigned long dr6 = fred_event_data(regs);
 
@@ -1234,7 +1242,7 @@ DEFINE_FREDENTRY_DEBUG(exc_debug)
 /* 32 bit does not have separate entry points. */
 DEFINE_IDTENTRY_RAW(exc_debug)
 {
-	unsigned long dr6 = debug_read_clear_dr6();
+	unsigned long dr6 = debug_read_reset_dr6();
 
 	if (user_mode(regs))
 		exc_debug_user(regs, dr6);
arch/x86/um/asm/checksum.h +3 -0
index b07824500363..ddc144657efa 100644
@@ -20,6 +20,9 @@
  */
 extern __wsum csum_partial(const void *buff, int len, __wsum sum);
 
+/* Do not call this directly. Declared for export type visibility. */
+extern __visible __wsum csum_partial_copy_generic(const void *src, void *dst, int len);
+
 /**
  * csum_fold - Fold and invert a 32bit checksum.
  * sum: 32bit unfolded sum
drivers/accel/ivpu/ivpu_debugfs.c +84 -0

96 lines not on this page · raw message

drivers/accel/ivpu/ivpu_drv.c +6 -0
index 67d56a944d54..00208c4a6580 100644
@@ -102,6 +102,8 @@ static void file_priv_release(struct kref *ref)
 	pm_runtime_get_sync(vdev->drm.dev);
 	mutex_lock(&vdev->context_list_lock);
 	file_priv_unbind(vdev, file_priv);
+	drm_WARN_ON(&vdev->drm, !xa_empty(&file_priv->cmdq_xa));
+	xa_destroy(&file_priv->cmdq_xa);
 	mutex_unlock(&vdev->context_list_lock);
 	pm_runtime_put_autosuspend(vdev->drm.dev);
 
@@ -261,6 +263,10 @@ static int ivpu_open(struct drm_device *dev, struct drm_file *file)
 	file_priv->job_limit.min = FIELD_PREP(IVPU_JOB_ID_CONTEXT_MASK, (file_priv->ctx.id - 1));
 	file_priv->job_limit.max = file_priv->job_limit.min | IVPU_JOB_ID_JOB_MASK;
 
+	xa_init_flags(&file_priv->cmdq_xa, XA_FLAGS_ALLOC1);
+	file_priv->cmdq_limit.min = IVPU_CMDQ_MIN_ID;
+	file_priv->cmdq_limit.max = IVPU_CMDQ_MAX_ID;
+
 	mutex_unlock(&vdev->context_list_lock);
 	drm_dev_exit(idx);
 
drivers/accel/ivpu/ivpu_drv.h +6 -4
index 1fe6a3bd4e36..f2ba3ed8b3fc 100644
@@ -50,11 +50,11 @@
 #define IVPU_JOB_ID_JOB_MASK		GENMASK(7, 0)
 #define IVPU_JOB_ID_CONTEXT_MASK	GENMASK(31, 8)
 
-#define IVPU_NUM_ENGINES       2
 #define IVPU_NUM_PRIORITIES    4
-#define IVPU_NUM_CMDQS_PER_CTX (IVPU_NUM_ENGINES * IVPU_NUM_PRIORITIES)
+#define IVPU_NUM_CMDQS_PER_CTX (IVPU_NUM_PRIORITIES)
 
-#define IVPU_CMDQ_INDEX(engine, priority) ((engine) * IVPU_NUM_PRIORITIES + (priority))
+#define IVPU_CMDQ_MIN_ID 1
+#define IVPU_CMDQ_MAX_ID 255
 
 #define IVPU_PLATFORM_SILICON 0
 #define IVPU_PLATFORM_SIMICS  2
@@ -174,13 +174,15 @@ struct ivpu_file_priv {
 	struct kref ref;
 	struct ivpu_device *vdev;
 	struct mutex lock; /* Protects cmdq */
-	struct ivpu_cmdq *cmdq[IVPU_NUM_CMDQS_PER_CTX];
+	struct xarray cmdq_xa;
 	struct ivpu_mmu_context ctx;
 	struct mutex ms_lock; /* Protects ms_instance_list, ms_info_bo */
 	struct list_head ms_instance_list;
 	struct ivpu_bo *ms_info_bo;
 	struct xa_limit job_limit;
 	u32 job_id_next;
+	struct xa_limit cmdq_limit;
+	u32 cmdq_id_next;
 	bool has_mmu_faults;
 	bool bound;
 	bool aborted;
drivers/accel/ivpu/ivpu_hw.c +21 -0
index 1214f155afa1..37ef8ce64210 100644
@@ -110,6 +110,26 @@ static void timeouts_init(struct ivpu_device *vdev)
 	}
 }
 
+static void priority_bands_init(struct ivpu_device *vdev)
+{
+	/* Idle */
+	vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE] = 0;
+	vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE] = 50000;
+	vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_IDLE] = 160000;
+	/* Normal */
+	vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL] = 50000;
+	vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL] = 50000;
+	vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_NORMAL] = 300000;
+	/* Focus */
+	vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS] = 50000;
+	vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS] = 50000;
+	vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_FOCUS] = 200000;
+	/* Realtime */
+	vdev->hw->hws.grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME] = 0;
+	vdev->hw->hws.process_grace_period[VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME] = 50000;
+	vdev->hw->hws.process_quantum[VPU_JOB_SCHEDULING_PRIORITY_BAND_REALTIME] = 200000;
+}
+
 static void memory_ranges_init(struct ivpu_device *vdev)
 {
 	if (ivpu_hw_ip_gen(vdev) == IVPU_HW_IP_37XX) {
@@ -248,6 +268,7 @@ int ivpu_hw_init(struct ivpu_device *vdev)
 {
 	ivpu_hw_btrs_info_init(vdev);
 	ivpu_hw_btrs_freq_ratios_init(vdev);
+	priority_bands_init(vdev);
 	memory_ranges_init(vdev);
 	platform_init(vdev);
 	wa_init(vdev);
drivers/accel/ivpu/ivpu_hw.h +5 -0
index 1e85306bcd06..1c016b99a0fd 100644
@@ -45,6 +45,11 @@ struct ivpu_hw_info {
 		u8 pn_ratio;
 		u32 profiling_freq;
 	} pll;
+	struct {
+		u32 grace_period[VPU_HWS_NUM_PRIORITY_BANDS];
+		u32 process_quantum[VPU_HWS_NUM_PRIORITY_BANDS];
+		u32 process_grace_period[VPU_HWS_NUM_PRIORITY_BANDS];
+	} hws;
 	u32 tile_fuse;
 	u32 sku;
 	u16 config;
drivers/accel/ivpu/ivpu_job.c +118 -83

354 lines not on this page · raw message

drivers/accel/ivpu/ivpu_job.h +2 -0
index 0ae77f0638fa..af1ed039569c 100644
@@ -28,8 +28,10 @@ struct ivpu_cmdq {
 	struct ivpu_bo *secondary_preempt_buf;
 	struct ivpu_bo *mem;
 	u32 entry_count;
+	u32 id;
 	u32 db_id;
 	bool db_registered;
+	u8 priority;
 };
 
 /**
drivers/accel/ivpu/ivpu_jsm_msg.c +22 -24

98 lines not on this page · raw message

drivers/ata/ahci.c +1 -1
index 395240cb3666..a6a66d794763 100644
@@ -1456,7 +1456,7 @@ static bool ahci_broken_lpm(struct pci_dev *pdev)
 		{
 			.matches = {
 				DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
-				DMI_MATCH(DMI_PRODUCT_VERSION, "ASUSPRO D840MB_M840SA"),
+				DMI_MATCH(DMI_PRODUCT_NAME, "ASUSPRO D840MB_M840SA"),
 			},
 			/* 320 is broken, there is no known good version. */
 		},
drivers/cxl/core/region.c +7 -0
index a0d6e8d7f42c..f5429666822f 100644
@@ -1781,6 +1781,13 @@ static int find_pos_and_ways(struct cxl_port *port, struct range *range,
 	}
 	put_device(dev);
 
+	if (rc)
+		dev_err(port->uport_dev,
+			"failed to find %s:%s in target list of %s\n",
+			dev_name(&port->dev),
+			dev_name(port->parent_dport->dport_dev),
+			dev_name(&cxlsd->cxld.dev));
+
 	return rc;
 }
 
drivers/dma/idxd/cdev.c +3 -1
index 19a58c4ecef3..8b27bd545685 100644
@@ -354,7 +354,9 @@ static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid)
 			set_bit(h, evl->bmap);
 		h = (h + 1) % size;
 	}
-	drain_workqueue(wq->wq);
+	if (wq->wq)
+		drain_workqueue(wq->wq);
+
 	mutex_unlock(&evl->lock);
 }
 
drivers/dma/xilinx/xilinx_dma.c +2 -0
index 5eb51ae93e89..aa59b62cd83f 100644
@@ -2906,6 +2906,8 @@ static int xilinx_dma_chan_probe(struct xilinx_dma_device *xdev,
 		return -EINVAL;
 	}
 
+	xdev->common.directions |= chan->direction;
+
 	/* Request the interrupt */
 	chan->irq = of_irq_get(node, chan->tdest);
 	if (chan->irq < 0)
drivers/edac/amd64_edac.c +36 -21

104 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +1 -1
index 9da4414de617..81f16e4447f8 100644
@@ -1902,7 +1902,7 @@ static void amdgpu_ib_preempt_mark_partial_job(struct amdgpu_ring *ring)
 			continue;
 		}
 		job = to_amdgpu_job(s_job);
-		if (preempted && (&job->hw_fence) == fence)
+		if (preempted && (&job->hw_fence.base) == fence)
 			/* mark the job as preempted */
 			job->preemption_status |= AMDGPU_IB_PREEMPTED;
 	}
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +1 -1
index ca0411c9500e..a55e611605fc 100644
@@ -5861,7 +5861,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
 	 *
 	 * job->base holds a reference to parent fence
 	 */
-	if (job && dma_fence_is_signaled(&job->hw_fence)) {
+	if (job && dma_fence_is_signaled(&job->hw_fence.base)) {
 		job_signaled = true;
 		dev_info(adev->dev, "Guilty job already signaled, skipping HW reset");
 		goto skip_hw_reset;
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +43 -21

99 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c +7 -23
index 2f24a6aa13bf..569e0e537392 100644
@@ -41,22 +41,6 @@
 #include "amdgpu_trace.h"
 #include "amdgpu_reset.h"
 
-/*
- * Fences mark an event in the GPUs pipeline and are used
- * for GPU/CPU synchronization.  When the fence is written,
- * it is expected that all buffers associated with that fence
- * are no longer in use by the associated ring on the GPU and
- * that the relevant GPU caches have been flushed.
- */
-
-struct amdgpu_fence {
-	struct dma_fence base;
-
-	/* RB, DMA, etc. */
-	struct amdgpu_ring		*ring;
-	ktime_t				start_timestamp;
-};
-
 static struct kmem_cache *amdgpu_fence_slab;
 
 int amdgpu_fence_slab_init(void)
@@ -151,12 +135,12 @@ int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **f, struct amd
 		am_fence = kmem_cache_alloc(amdgpu_fence_slab, GFP_ATOMIC);
 		if (am_fence == NULL)
 			return -ENOMEM;
-		fence = &am_fence->base;
-		am_fence->ring = ring;
 	} else {
 		/* take use of job-embedded fence */
-		fence = &job->hw_fence;
+		am_fence = &job->hw_fence;
 	}
+	fence = &am_fence->base;
+	am_fence->ring = ring;
 
 	seq = ++ring->fence_drv.sync_seq;
 	if (job && job->job_run_counter) {
@@ -718,7 +702,7 @@ void amdgpu_fence_driver_clear_job_fences(struct amdgpu_ring *ring)
 			 * it right here or we won't be able to track them in fence_drv
 			 * and they will remain unsignaled during sa_bo free.
 			 */
-			job = container_of(old, struct amdgpu_job, hw_fence);
+			job = container_of(old, struct amdgpu_job, hw_fence.base);
 			if (!job->base.s_fence && !dma_fence_is_signaled(old))
 				dma_fence_signal(old);
 			RCU_INIT_POINTER(*ptr, NULL);
@@ -780,7 +764,7 @@ static const char *amdgpu_fence_get_timeline_name(struct dma_fence *f)
 
 static const char *amdgpu_job_fence_get_timeline_name(struct dma_fence *f)
 {
-	struct amdgpu_job *job = container_of(f, struct amdgpu_job, hw_fence);
+	struct amdgpu_job *job = container_of(f, struct amdgpu_job, hw_fence.base);
 
 	return (const char *)to_amdgpu_ring(job->base.sched)->name;
 }
@@ -810,7 +794,7 @@ static bool amdgpu_fence_enable_signaling(struct dma_fence *f)
  */
 static bool amdgpu_job_fence_enable_signaling(struct dma_fence *f)
 {
-	struct amdgpu_job *job = container_of(f, struct amdgpu_job, hw_fence);
+	struct amdgpu_job *job = container_of(f, struct amdgpu_job, hw_fence.base);
 
 	if (!timer_pending(&to_amdgpu_ring(job->base.sched)->fence_drv.fallback_timer))
 		amdgpu_fence_schedule_fallback(to_amdgpu_ring(job->base.sched));
@@ -845,7 +829,7 @@ static void amdgpu_job_fence_free(struct rcu_head *rcu)
 	struct dma_fence *f = container_of(rcu, struct dma_fence, rcu);
 
 	/* free job if fence has a parent job */
-	kfree(container_of(f, struct amdgpu_job, hw_fence));
+	kfree(container_of(f, struct amdgpu_job, hw_fence.base));
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +6 -6
index 1ce20a19be8b..7e6057a6e7f1 100644
@@ -259,8 +259,8 @@ void amdgpu_job_free_resources(struct amdgpu_job *job)
 	/* Check if any fences where initialized */
 	if (job->base.s_fence && job->base.s_fence->finished.ops)
 		f = &job->base.s_fence->finished;
-	else if (job->hw_fence.ops)
-		f = &job->hw_fence;
+	else if (job->hw_fence.base.ops)
+		f = &job->hw_fence.base;
 	else
 		f = NULL;
 
@@ -277,10 +277,10 @@ static void amdgpu_job_free_cb(struct drm_sched_job *s_job)
 	amdgpu_sync_free(&job->explicit_sync);
 
 	/* only put the hw fence if has embedded fence */
-	if (!job->hw_fence.ops)
+	if (!job->hw_fence.base.ops)
 		kfree(job);
 	else
-		dma_fence_put(&job->hw_fence);
+		dma_fence_put(&job->hw_fence.base);
 }
 
 void amdgpu_job_set_gang_leader(struct amdgpu_job *job,
@@ -309,10 +309,10 @@ void amdgpu_job_free(struct amdgpu_job *job)
 	if (job->gang_submit != &job->base.s_fence->scheduled)
 		dma_fence_put(job->gang_submit);
 
-	if (!job->hw_fence.ops)
+	if (!job->hw_fence.base.ops)
 		kfree(job);
 	else
-		dma_fence_put(&job->hw_fence);
+		dma_fence_put(&job->hw_fence.base);
 }
 
 struct dma_fence *amdgpu_job_submit(struct amdgpu_job *job)
drivers/gpu/drm/amd/amdgpu/amdgpu_job.h +1 -1
index ce6b9ba967ff..4fe033d8f356 100644
@@ -48,7 +48,7 @@ struct amdgpu_job {
 	struct drm_sched_job    base;
 	struct amdgpu_vm	*vm;
 	struct amdgpu_sync	explicit_sync;
-	struct dma_fence	hw_fence;
+	struct amdgpu_fence	hw_fence;
 	struct dma_fence	*gang_submit;
 	uint32_t		preamble_status;
 	uint32_t                preemption_status;
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +16 -0
index f93f51002201..9af2cda676ad 100644
@@ -126,6 +126,22 @@ struct amdgpu_fence_driver {
 	struct dma_fence		**fences;
 };
 
+/*
+ * Fences mark an event in the GPUs pipeline and are used
+ * for GPU/CPU synchronization.  When the fence is written,
+ * it is expected that all buffers associated with that fence
+ * are no longer in use by the associated ring on the GPU and
+ * that the relevant GPU caches have been flushed.
+ */
+
+struct amdgpu_fence {
+	struct dma_fence base;
+
+	/* RB, DMA, etc. */
+	struct amdgpu_ring		*ring;
+	ktime_t				start_timestamp;
+};
+
 extern const struct drm_sched_backend_ops amdgpu_sched_ops;
 
 void amdgpu_fence_driver_clear_job_fences(struct amdgpu_ring *ring);
drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c +1 -1
index e22cb2b5cd92..dba8051b8c14 100644
@@ -133,7 +133,7 @@ void amdgpu_seq64_unmap(struct amdgpu_device *adev, struct amdgpu_fpriv *fpriv)
 
 	vm = &fpriv->vm;
 
-	drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0);
+	drm_exec_init(&exec, 0, 0);
 	drm_exec_until_all_locked(&exec) {
 		r = amdgpu_vm_lock_pd(vm, &exec, 0);
 		if (likely(!r))
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c +17 -0
index 4c7b53648a50..eb83d7c1f784 100644
@@ -30,6 +30,10 @@
 
 #define AMDGPU_UCODE_NAME_MAX		(128)
 
+static const struct kicker_device kicker_device_list[] = {
+	{0x744B, 0x00},
+};
+
 static void amdgpu_ucode_print_common_hdr(const struct common_firmware_header *hdr)
 {
 	DRM_DEBUG("size_bytes: %u\n", le32_to_cpu(hdr->size_bytes));
@@ -1383,6 +1387,19 @@ static const char *amdgpu_ucode_legacy_naming(struct amdgpu_device *adev, int bl
 	return NULL;
 }
 
+bool amdgpu_is_kicker_fw(struct amdgpu_device *adev)
+{
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(kicker_device_list); i++) {
+		if (adev->pdev->device == kicker_device_list[i].device &&
+			adev->pdev->revision == kicker_device_list[i].revision)
+		return true;
+	}
+
+	return false;
+}
+
 void amdgpu_ucode_ip_version_decode(struct amdgpu_device *adev, int block_type, char *ucode_prefix, int len)
 {
 	int maj, min, rev;
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h +6 -0
index 4e23419b92d4..fd08b015b2a7 100644
@@ -595,6 +595,11 @@ struct amdgpu_firmware {
 	uint64_t fw_buf_mc;
 };
 
+struct kicker_device{
+	unsigned short device;
+	u8 revision;
+};
+
 void amdgpu_ucode_print_mc_hdr(const struct common_firmware_header *hdr);
 void amdgpu_ucode_print_smc_hdr(const struct common_firmware_header *hdr);
 void amdgpu_ucode_print_imu_hdr(const struct common_firmware_header *hdr);
@@ -622,5 +627,6 @@ amdgpu_ucode_get_load_type(struct amdgpu_device *adev, int load_type);
 const char *amdgpu_ucode_name(enum AMDGPU_UCODE_ID ucode_id);
 
 void amdgpu_ucode_ip_version_decode(struct amdgpu_device *adev, int block_type, char *ucode_prefix, int len);
+bool amdgpu_is_kicker_fw(struct amdgpu_device *adev);
 
 #endif
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +1 -1
index ff5e52025266..8f58ec6f1400 100644
@@ -463,7 +463,7 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
 	int r;
 
 	lpfn = (u64)place->lpfn << PAGE_SHIFT;
-	if (!lpfn)
+	if (!lpfn || lpfn > man->size)
 		lpfn = man->size;
 
 	fpfn = (u64)place->fpfn << PAGE_SHIFT;
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c +5 -1
index 4dd86c682ee6..1e4ce06f5f2c 100644
@@ -485,7 +485,7 @@ static void sdma_v4_4_2_inst_gfx_stop(struct amdgpu_device *adev,
 {
 	struct amdgpu_ring *sdma[AMDGPU_MAX_SDMA_INSTANCES];
 	u32 doorbell_offset, doorbell;
-	u32 rb_cntl, ib_cntl;
+	u32 rb_cntl, ib_cntl, sdma_cntl;
 	int i;
 
 	for_each_inst(i, inst_mask) {
@@ -497,6 +497,9 @@ static void sdma_v4_4_2_inst_gfx_stop(struct amdgpu_device *adev,
 		ib_cntl = RREG32_SDMA(i, regSDMA_GFX_IB_CNTL);
 		ib_cntl = REG_SET_FIELD(ib_cntl, SDMA_GFX_IB_CNTL, IB_ENABLE, 0);
 		WREG32_SDMA(i, regSDMA_GFX_IB_CNTL, ib_cntl);
+		sdma_cntl = RREG32_SDMA(i, regSDMA_CNTL);
+		sdma_cntl = REG_SET_FIELD(sdma_cntl, SDMA_CNTL, UTC_L1_ENABLE, 0);
+		WREG32_SDMA(i, regSDMA_CNTL, sdma_cntl);
 
 		if (sdma[i]->use_doorbell) {
 			doorbell = RREG32_SDMA(i, regSDMA_GFX_DOORBELL);
@@ -953,6 +956,7 @@ static int sdma_v4_4_2_inst_start(struct amdgpu_device *adev,
 		/* set utc l1 enable flag always to 1 */
 		temp = RREG32_SDMA(i, regSDMA_CNTL);
 		temp = REG_SET_FIELD(temp, SDMA_CNTL, UTC_L1_ENABLE, 1);
+		WREG32_SDMA(i, regSDMA_CNTL, temp);
 
 		if (amdgpu_ip_version(adev, SDMA0_HWIP, 0) < IP_VERSION(4, 4, 5)) {
 			/* enable context empty interrupt during initialization */
drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h +360 -317

741 lines not on this page · raw message

drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm +44 -38

143 lines not on this page · raw message

drivers/gpu/drm/amd/amdkfd/kfd_device.c +2 -1
index 9186ef0bd2a3..07eadab4c1c4 100644
@@ -537,7 +537,8 @@ static void kfd_cwsr_init(struct kfd_dev *kfd)
 			kfd->cwsr_isa = cwsr_trap_gfx11_hex;
 			kfd->cwsr_isa_size = sizeof(cwsr_trap_gfx11_hex);
 		} else {
-			BUILD_BUG_ON(sizeof(cwsr_trap_gfx12_hex) > PAGE_SIZE);
+			BUILD_BUG_ON(sizeof(cwsr_trap_gfx12_hex)
+					     > KFD_CWSR_TMA_OFFSET);
 			kfd->cwsr_isa = cwsr_trap_gfx12_hex;
 			kfd->cwsr_isa_size = sizeof(cwsr_trap_gfx12_hex);
 		}
drivers/gpu/drm/amd/amdkfd/kfd_events.c +1 -0
index ea3792249209..6798510c4a70 100644
@@ -1315,6 +1315,7 @@ void kfd_signal_poison_consumed_event(struct kfd_node *dev, u32 pasid)
 	user_gpu_id = kfd_process_get_user_gpu_id(p, dev->id);
 	if (unlikely(user_gpu_id == -EINVAL)) {
 		WARN_ONCE(1, "Could not get user_gpu_id from dev->id:%x\n", dev->id);
+		kfd_unref_process(p);
 		return;
 	}
 
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_v9.c +1 -1
index 1f9f5bfeaf86..d87b895660c2 100644
@@ -237,7 +237,7 @@ static int pm_map_queues_v9(struct packet_manager *pm, uint32_t *buffer,
 
 	packet->bitfields2.engine_sel =
 		engine_sel__mes_map_queues__compute_vi;
-	packet->bitfields2.gws_control_queue = q->gws ? 1 : 0;
+	packet->bitfields2.gws_control_queue = q->properties.is_gws ? 1 : 0;
 	packet->bitfields2.extended_engine_sel =
 		extended_engine_sel__mes_map_queues__legacy_engine_sel;
 	packet->bitfields2.queue_type =
drivers/gpu/drm/amd/display/dc/dml2/dml21/dml21_translation_helper.c +1 -0
index 7e3d506bb79b..f3aa93ddbf9c 100644
@@ -762,6 +762,7 @@ static void populate_dml21_plane_config_from_plane_state(struct dml2_context *dm
 		plane->pixel_format = dml2_420_10;
 		break;
 	case SURFACE_PIXEL_FORMAT_GRPH_ARGB16161616:
+	case SURFACE_PIXEL_FORMAT_GRPH_ABGR16161616:
 	case SURFACE_PIXEL_FORMAT_GRPH_ARGB16161616F:
 	case SURFACE_PIXEL_FORMAT_GRPH_ABGR16161616F:
 		plane->pixel_format = dml2_444_64;
drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c +4 -1
index 0090b7bc232b..157903115f3b 100644
@@ -4651,7 +4651,10 @@ static void calculate_tdlut_setting(
 	//the tdlut is fetched during the 2 row times of prefetch.
 	if (p->setup_for_tdlut) {
 		*p->tdlut_groups_per_2row_ub = (unsigned int)math_ceil2((double) *p->tdlut_bytes_per_frame / *p->tdlut_bytes_per_group, 1);
-		*p->tdlut_opt_time = (*p->tdlut_bytes_per_frame - p->cursor_buffer_size * 1024) / tdlut_drain_rate;
+		if (*p->tdlut_bytes_per_frame > p->cursor_buffer_size * 1024)
+			*p->tdlut_opt_time = (*p->tdlut_bytes_per_frame - p->cursor_buffer_size * 1024) / tdlut_drain_rate;
+		else
+			*p->tdlut_opt_time = 0;
 		*p->tdlut_drain_time = p->cursor_buffer_size * 1024 / tdlut_drain_rate;
 	}
 
drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c +1 -0
index 92a3fff1e261..405aefd14d9b 100644
@@ -909,6 +909,7 @@ static void populate_dml_surface_cfg_from_plane_state(enum dml_project_id dml2_p
 		out->SourcePixelFormat[location] = dml_420_10;
 		break;
 	case SURFACE_PIXEL_FORMAT_GRPH_ARGB16161616:
+	case SURFACE_PIXEL_FORMAT_GRPH_ABGR16161616:
 	case SURFACE_PIXEL_FORMAT_GRPH_ARGB16161616F:
 	case SURFACE_PIXEL_FORMAT_GRPH_ABGR16161616F:
 		out->SourcePixelFormat[location] = dml_444_64;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c +5 -4
index 59457ca24e1d..03b22e9115ea 100644
@@ -951,8 +951,8 @@ void dce110_edp_backlight_control(
 	struct dc_context *ctx = link->ctx;
 	struct bp_transmitter_control cntl = { 0 };
 	uint8_t pwrseq_instance = 0;
-	unsigned int pre_T11_delay = OLED_PRE_T11_DELAY;
-	unsigned int post_T7_delay = OLED_POST_T7_DELAY;
+	unsigned int pre_T11_delay = (link->dpcd_sink_ext_caps.bits.oled ? OLED_PRE_T11_DELAY : 0);
+	unsigned int post_T7_delay = (link->dpcd_sink_ext_caps.bits.oled ? OLED_POST_T7_DELAY : 0);
 
 	if (dal_graphics_object_id_get_connector_id(link->link_enc->connector)
 		!= CONNECTOR_ID_EDP) {
@@ -1067,7 +1067,8 @@ void dce110_edp_backlight_control(
 	if (!enable) {
 		/*follow oem panel config's requirement*/
 		pre_T11_delay += link->panel_config.pps.extra_pre_t11_ms;
-		msleep(pre_T11_delay);
+		if (pre_T11_delay)
+			msleep(pre_T11_delay);
 	}
 }
 
@@ -1216,7 +1217,7 @@ void dce110_blank_stream(struct pipe_ctx *pipe_ctx)
 	struct dce_hwseq *hws = link->dc->hwseq;
 
 	if (link->local_sink && link->local_sink->sink_signal == SIGNAL_TYPE_EDP) {
-		if (!link->skip_implict_edp_power_control)
+		if (!link->skip_implict_edp_power_control && hws)
 			hws->funcs.edp_backlight_control(link, false);
 		link->dc->hwss.set_abm_immediate_disable(pipe_ctx);
 	}
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c +3 -0
index 8c137d7c032e..e58e7b93810b 100644
@@ -368,6 +368,9 @@ enum mod_hdcp_status mod_hdcp_hdcp1_enable_encryption(struct mod_hdcp *hdcp)
 	struct mod_hdcp_display *display = get_first_active_display(hdcp);
 	enum mod_hdcp_status status = MOD_HDCP_STATUS_SUCCESS;
 
+	if (!display)
+		return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND;
+
 	mutex_lock(&psp->hdcp_context.mutex);
 	hdcp_cmd = (struct ta_hdcp_shared_memory *)psp->hdcp_context.context.mem_context.shared_buf;
 	memset(hdcp_cmd, 0, sizeof(struct ta_hdcp_shared_memory));
drivers/gpu/drm/ast/ast_mode.c +3 -3
index 24ed1cd3caf1..162dc0698f4a 100644
@@ -1319,9 +1319,9 @@ static void ast_mode_config_helper_atomic_commit_tail(struct drm_atomic_state *s
 
 	/*
 	 * Concurrent operations could possibly trigger a call to
-	 * drm_connector_helper_funcs.get_modes by trying to read the
-	 * display modes. Protect access to I/O registers by acquiring
-	 * the I/O-register lock. Released in atomic_flush().
+	 * drm_connector_helper_funcs.get_modes by reading the display
+	 * modes. Protect access to registers by acquiring the modeset
+	 * lock.
 	 */
 	mutex_lock(&ast->modeset_lock);
 	drm_atomic_helper_commit_tail(state);
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +26 -6
index 7457d38622b0..89eed0668bfb 100644
@@ -568,15 +568,18 @@ static int cdns_dsi_check_conf(struct cdns_dsi *dsi,
 	struct phy_configure_opts_mipi_dphy *phy_cfg = &output->phy_opts.mipi_dphy;
 	unsigned long dsi_hss_hsa_hse_hbp;
 	unsigned int nlanes = output->dev->lanes;
+	int mode_clock = (mode_valid_check ? mode->clock : mode->crtc_clock);
 	int ret;
 
 	ret = cdns_dsi_mode2cfg(dsi, mode, dsi_cfg, mode_valid_check);
 	if (ret)
 		return ret;
 
-	phy_mipi_dphy_get_default_config(mode->crtc_clock * 1000,
-					 mipi_dsi_pixel_format_to_bpp(output->dev->format),
-					 nlanes, phy_cfg);
+	ret = phy_mipi_dphy_get_default_config(mode_clock * 1000,
+					       mipi_dsi_pixel_format_to_bpp(output->dev->format),
+					       nlanes, phy_cfg);
+	if (ret)
+		return ret;
 
 	ret = cdns_dsi_adjust_phy_config(dsi, dsi_cfg, phy_cfg, mode, mode_valid_check);
 	if (ret)
@@ -680,6 +683,11 @@ static void cdns_dsi_bridge_post_disable(struct drm_bridge *bridge)
 	struct cdns_dsi_input *input = bridge_to_cdns_dsi_input(bridge);
 	struct cdns_dsi *dsi = input_to_dsi(input);
 
+	dsi->phy_initialized = false;
+	dsi->link_initialized = false;
+	phy_power_off(dsi->dphy);
+	phy_exit(dsi->dphy);
+
 	pm_runtime_put(dsi->base.dev);
 }
 
@@ -761,7 +769,7 @@ static void cdns_dsi_bridge_enable(struct drm_bridge *bridge)
 	struct phy_configure_opts_mipi_dphy *phy_cfg = &output->phy_opts.mipi_dphy;
 	unsigned long tx_byte_period;
 	struct cdns_dsi_cfg dsi_cfg;
-	u32 tmp, reg_wakeup, div;
+	u32 tmp, reg_wakeup, div, status;
 	int nlanes;
 
 	if (WARN_ON(pm_runtime_get_sync(dsi->base.dev) < 0))
@@ -778,6 +786,19 @@ static void cdns_dsi_bridge_enable(struct drm_bridge *bridge)
 	cdns_dsi_hs_init(dsi);
 	cdns_dsi_init_link(dsi);
 
+	/*
+	 * Now that the DSI Link and DSI Phy are initialized,
+	 * wait for the CLK and Data Lanes to be ready.
+	 */
+	tmp = CLK_LANE_RDY;
+	for (int i = 0; i < nlanes; i++)
+		tmp |= DATA_LANE_RDY(i);
+
+	if (readl_poll_timeout(dsi->regs + MCTL_MAIN_STS, status,
+			       (tmp == (status & tmp)), 100, 500000))
+		dev_err(dsi->base.dev,
+			"Timed Out: DSI-DPhy Clock and Data Lanes not ready.\n");
+
 	writel(HBP_LEN(dsi_cfg.hbp) | HSA_LEN(dsi_cfg.hsa),
 	       dsi->regs + VID_HSIZE1);
 	writel(HFP_LEN(dsi_cfg.hfp) | HACT_LEN(dsi_cfg.hact),
@@ -952,7 +973,7 @@ static int cdns_dsi_attach(struct mipi_dsi_host *host,
 		bridge = drm_panel_bridge_add_typed(panel,
 						    DRM_MODE_CONNECTOR_DSI);
 	} else {
-		bridge = of_drm_find_bridge(dev->dev.of_node);
+		bridge = of_drm_find_bridge(np);
 		if (!bridge)
 			bridge = ERR_PTR(-EINVAL);
 	}
@@ -1152,7 +1173,6 @@ static int __maybe_unused cdns_dsi_suspend(struct device *dev)
 	clk_disable_unprepare(dsi->dsi_sys_clk);
 	clk_disable_unprepare(dsi->dsi_p_clk);
 	reset_control_assert(dsi->dsi_p_rst);
-	dsi->link_initialized = false;
 	return 0;
 }
 
drivers/gpu/drm/bridge/ti-sn65dsi86.c +70 -39

155 lines not on this page · raw message

drivers/gpu/drm/drm_fbdev_dma.c +156 -63

179 lines not on this page · raw message

drivers/gpu/drm/etnaviv/etnaviv_sched.c +4 -1
index ab9ca4824b62..e60288af3502 100644

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

drivers/gpu/drm/i915/display/vlv_dsi.c +2 -2
index d21f3fb39706..3c7789ca6207 100644

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

drivers/gpu/drm/i915/i915_pmu.c +1 -1
index c43223916a1b..5cc302ad13e1 100644

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

drivers/gpu/drm/msm/dp/dp_display.c +6 -5
index e1228fb093ee..a5c1534eafdb 100644

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

drivers/gpu/drm/msm/dp/dp_drm.c +4 -1
index 1b9be5bd97f1..da0176eae3fe 100644

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

drivers/gpu/drm/msm/msm_gpu_devfreq.c +1 -0
index 6970b0f7f457..2e1d5c343272 100644

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

drivers/gpu/drm/scheduler/sched_entity.c +1 -0
index 002057be0d84..c9c50e3b18a2 100644

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

drivers/gpu/drm/tegra/dc.c +12 -5
index be61c9d1a4f0..51ca78551b57 100644

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

drivers/gpu/drm/tegra/hub.c +2 -2
index e0c2019a591b..3507dd6e9023 100644

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

drivers/gpu/drm/tegra/hub.h +2 -1
index 23c4b2115ed1..a66f18c4facc 100644

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

drivers/gpu/drm/tiny/cirrus.c +0 -1
index 751326e3d9c3..c7e81f2610f8 100644

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

drivers/gpu/drm/udl/udl_drv.c +1 -1
index 280a09a6e2ad..0f712eb685ba 100644

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

drivers/gpu/drm/xe/display/xe_display.c +2 -0
index a1928cedc7dd..e164e2d71e11 100644

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

drivers/gpu/drm/xe/xe_ggtt.c +11 -0
index ff19eca5d358..e9820126feb9 100644

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

drivers/gpu/drm/xe/xe_gpu_scheduler.h +9 -1
index 64b2ae6839db..400b2e9e89ab 100644

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

drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c +8 -0
index 3155825fa46a..9deb9b44c3c3 100644

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

drivers/gpu/drm/xe/xe_guc_ct.c +5 -2
index cd6a5f09d631..1f74f6bd50f3 100644

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

drivers/gpu/drm/xe/xe_guc_ct.h +5 -0
index 190202fce2d0..13e316668e90 100644

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

drivers/gpu/drm/xe/xe_guc_pc.c +1 -1
index 034b29984d5e..f978da8be35c 100644

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

drivers/gpu/drm/xe/xe_guc_submit.c +23 -0
index 20d05efdd406..0e17820a35e2 100644

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

drivers/gpu/drm/xe/xe_guc_types.h +5 -0
index ed150fc09ad0..7842b71e68be 100644

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

drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c +30 -24

54 lines not on this page · raw message

drivers/gpu/drm/xe/xe_vm.c +4 -4
index de257a032225..15fd497c920c 100644

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

drivers/hid/hid-lenovo.c +7 -4
index f66194fde891..56e530860cae 100644

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

drivers/hid/wacom_sys.c +6 -1
index 34428349fa31..1b1112772777 100644

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

drivers/hwmon/pmbus/max34440.c +44 -4

48 lines not on this page · raw message

drivers/hwtracing/coresight/coresight-core.c +2 -1
index c7e35a431ab0..b7941d8abbfe 100644

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

drivers/hwtracing/coresight/coresight-priv.h +1 -0
index 05f891ca6b5c..cc7ff1e36ef4 100644

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

drivers/i2c/busses/i2c-robotfuzz-osif.c +6 -0
index 80d45079b763..e0a76fb5bc31 100644

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

drivers/i2c/busses/i2c-tiny-usb.c +6 -0
index 0f2ed181b266..0cc7c0a816fc 100644

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

drivers/iio/adc/ad_sigma_delta.c +4 -0
index ea4aabd3960a..3df1d4f6bc95 100644

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

drivers/iio/dac/Makefile +1 -1
index 2cf148f16306..56a125f56284 100644

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

drivers/iio/dac/ad3552r-common.c new file +248 -0

248 lines not on this page · raw message

drivers/iio/dac/ad3552r.c +73 -484

557 lines not on this page · raw message

drivers/iio/dac/ad3552r.h new file +223 -0

223 lines not on this page · raw message

drivers/iio/pressure/zpa2326.c +1 -1
index b4c6c7c47256..8fae58db1d63 100644

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

drivers/leds/led-class-multicolor.c +2 -1
index 30c1ecb5f361..c707be97049b 100644

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

drivers/mailbox/mailbox.c +1 -1
index cb174e788a96..92c2fb618c8e 100644

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

drivers/md/bcache/super.c +6 -1
index e42f1400cea9..f5171167819b 100644

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

drivers/md/dm-raid.c +1 -1
index 1e0d3b9b75d6..163a5bbd485f 100644

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

drivers/md/dm-vdo/indexer/volume.c +13 -11
index 655453bb276b..425b3a74f4db 100644

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

drivers/md/md-bitmap.c +1 -1
index fbb4f57010da..c12359fd3a42 100644

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

drivers/media/usb/uvc/uvc_ctrl.c +23 -11
index c70d9c24c6fb..957d620ad671 100644

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

drivers/mfd/max14577.c +1 -0
index 6fce79ec2dc6..7e7e8af9af22 100644

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

drivers/misc/tps6594-pfsm.c +3 -0
index 9bcca1856bfe..db3d6a21a212 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt.c +4 -1
index 154f73f121ec..ad4aec522f4f 100644

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

drivers/net/ethernet/freescale/enetc/enetc_hw.h +1 -1
index 1619943fb263..4e8881b479e4 100644

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

drivers/net/ethernet/pensando/ionic/ionic_txrx.c +6 -6
index 0eeda7e502db..0f5758c273c2 100644

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

drivers/net/ethernet/realtek/r8169.h +1 -0
index e2db944e6fa8..be4c9622618d 100644

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

drivers/net/ethernet/realtek/r8169_main.c +16 -7
index 85bb5121cd24..7b82779e4cd5 100644

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

drivers/net/ethernet/realtek/r8169_phy_config.c +10 -0
index cf29b1208482..d09b2a41cd06 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +4 -7
index 0250c5cb28ff..36328298dc9b 100644

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

drivers/net/ethernet/wangxun/libwx/wx_lib.c +4 -2
index 71c891d14fb6..d8a6fea961c0 100644

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

drivers/net/phy/realtek.c +44 -10

54 lines not on this page · raw message

drivers/nvme/host/tcp.c +20 -2
index 4cc72be28c73..25e486e6e805 100644

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

drivers/pci/controller/dwc/pci-imx6.c +15 -0
index ad3028b755d1..3b24fed3177d 100644

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

drivers/pci/controller/dwc/pcie-designware.c +1 -4
index 6d6cbc8b5b2c..d40afe74ddd1 100644

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

drivers/pci/controller/pcie-apple.c +4 -3
index ddc65368e77d..16725f9536f6 100644

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

drivers/s390/crypto/pkey_api.c +1 -1
index 3a39e167bdbf..d62fea0fbdfc 100644

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

drivers/scsi/megaraid/megaraid_sas_base.c +5 -1
index 21f22e913cd0..8a44e01ebf9b 100644

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

drivers/spi/spi-cadence-quadspi.c +7 -5
index f9463f263fba..12f8073cb596 100644

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

drivers/spi/spi-fsl-qspi.c +18 -18
index 79bac30e79af..21e357966d2a 100644

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

drivers/staging/rtl8723bs/core/rtw_security.c +14 -30

44 lines not on this page · raw message

drivers/tty/serial/8250/8250_pci1xxxx.c +10 -0
index f462b3d1c104..d6b01e015a96 100644

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

drivers/tty/serial/imx.c +12 -5
index 8e3b15534bc7..deb9635cb48d 100644

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

drivers/tty/serial/serial_base_bus.c +1 -0
index 5d1677f1b651..cb3b127b06b6 100644

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

drivers/tty/serial/uartlite.c +12 -13
index 68357ac8ffe3..71890f3244a0 100644

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

drivers/ufs/core/ufshcd.c +5 -1
index 374f505fec3d..a6299cb19237 100644

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

drivers/usb/class/cdc-wdm.c +9 -14
index 16e7fa4d488d..ecd6d1f39e49 100644

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

drivers/usb/common/usb-conn-gpio.c +22 -3
index 501e8bc9738e..1096a884c8d7 100644

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

drivers/usb/core/usb.c +10 -4
index 0b4685aad2d5..118fa4c93a79 100644

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

drivers/usb/dwc2/gadget.c +6 -0
index bd4c788f03bc..d3d0d75ab1f5 100644

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

drivers/usb/gadget/function/f_hid.c +17 -2
index c7a05f842745..d8bd2d82e9ec 100644

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

drivers/usb/gadget/function/f_tcm.c +2 -2
index 7b23631f4744..6ad205046032 100644

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

drivers/usb/typec/altmodes/displayport.c +4 -0
index 92cc1b136120..4976a7238b28 100644

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

drivers/usb/typec/mux.c +2 -2
index 49926d6e72c7..182c902c42f6 100644

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

drivers/usb/typec/tcpm/tcpm.c +1 -2
index 1d8e760df483..9838a2c8c1b8 100644

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

fs/btrfs/backref.h +2 -2
index e8c22cccb5c1..7dfcc9351bce 100644

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

fs/btrfs/direct-io.c +2 -2
index bd38df5647e3..71984d7db839 100644

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

fs/btrfs/disk-io.c +3 -2
index 147c50ef912a..e655fa3bfd9b 100644

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

fs/btrfs/extent_io.h +1 -1
index fcb60837d7dc..039a73731135 100644

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

fs/btrfs/extent_map.c +102 -30

132 lines not on this page · raw message

fs/btrfs/extent_map.h +2 -1
index 5154a8f1d26c..cd123b266b64 100644

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

fs/btrfs/fs.h +2 -0
index bb822e425d7f..374843aca60d 100644

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

fs/btrfs/inode.c +173 -124

297 lines not on this page · raw message

fs/btrfs/ordered-data.c +10 -4
index 4ed11b089ea9..880f9553d79d 100644

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

fs/btrfs/raid56.c +2 -3
index 39bec672df0c..8afadf994b8c 100644

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

fs/btrfs/super.c +3 -10
index bcb8def4ade2..6119a06b0569 100644

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

fs/btrfs/tests/extent-io-tests.c +3 -3
index 0a2dbfaaf49e..de226209220f 100644

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

fs/btrfs/volumes.c +6 -0
index 8e6501860001..58e0cac5779d 100644

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

fs/btrfs/zstd.c +1 -1
index 866607fd3e58..c9ea37fabf65 100644

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

fs/ceph/file.c +1 -1
index 851d70200c6b..a7254cab44cc 100644

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

fs/f2fs/file.c +38 -0
index 71ddecaf771f..02f438cd6bfa 100644

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

fs/f2fs/super.c +18 -12
index 330f89ddb5c8..f0e83ea56e38 100644

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

fs/fuse/dir.c +11 -0
index ff543dc09130..ce7324d0d9ed 100644

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

fs/jfs/jfs_dmap.c +13 -28

41 lines not on this page · raw message

fs/namespace.c +4 -4
index 843bc6191f30..b5c5cf01d0c4 100644

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

fs/nfs/inode.c +47 -4

51 lines not on this page · raw message

fs/nfs/nfs4proc.c +19 -6
index 57d49e874f51..77b239b10d41 100644

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

fs/overlayfs/util.c +3 -1
index 8f080046c59d..99571de665dd 100644

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

fs/proc/task_mmu.c +1 -1
index 536b7dc45381..96fe904b2ac5 100644

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

fs/smb/client/cifs_debug.c +14 -9
index e03c890de0a0..c0196be0e65f 100644

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

fs/smb/client/cifsglob.h +2 -0
index e0faee22be07..c66655adecb2 100644

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

fs/smb/client/cifspdu.h +3 -3
index 28f8ca470770..688a26aeef3b 100644

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

fs/smb/client/cifssmb.c +1 -0
index cf8d9de2298f..d6ba55d4720d 100644

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

fs/smb/client/connect.c +36 -22

58 lines not on this page · raw message

fs/smb/client/misc.c +8 -0
index 4373dd64b66d..5122f3895dfc 100644

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

fs/smb/client/sess.c +11 -10
index 10d82d0dc6a9..8be7c4d2d9d6 100644

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

fs/smb/client/smb2ops.c +10 -4
index 74bcc51ccd32..e596bc4837b6 100644

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

fs/smb/client/smbdirect.c +240 -273

513 lines not on this page · raw message

fs/smb/client/smbdirect.h +6 -58

64 lines not on this page · raw message

fs/smb/client/trace.h +12 -12
index 12cbd3428a6d..9c3cc7c3300c 100644

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

fs/smb/common/smbdirect/smbdirect.h new file +37 -0
new file mode 100644
index 000000000000..b9a385344ff3

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

fs/smb/common/smbdirect/smbdirect_pdu.h new file +55 -0

55 lines not on this page · raw message

fs/smb/common/smbdirect/smbdirect_socket.h new file +43 -0

43 lines not on this page · raw message

fs/smb/server/connection.h +1 -0
index 572102098c10..dd3e0e3f7bf0 100644

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

fs/smb/server/smb2pdu.c +44 -28

72 lines not on this page · raw message

fs/smb/server/smb2pdu.h +3 -0
index 17a0b18a8406..16ae8a10490b 100644

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

include/net/bluetooth/hci_core.h +2 -0
index e9e3366d059e..730aa0245aef 100644

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

include/uapi/drm/ivpu_accel.h +1 -5
index 13001da141c3..4b261eb705bc 100644

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

include/uapi/linux/vm_sockets.h +4 -0
index ed07181d4eff..e05280e41522 100644

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

io_uring/kbuf.c +1 -0
index c9289597522f..9bd27deeee6f 100644

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

io_uring/kbuf.h +1 -0
index 36aadfe5ac00..2586a292dfb9 100644

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

io_uring/net.c +39 -7

46 lines not on this page · raw message

io_uring/rsrc.c +16 -7
index a67bae350416..1687e35e21c9 100644

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

io_uring/rsrc.h +1 -0
index 8ed588036210..459cf4c6e856 100644

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

lib/group_cpus.c +8 -1
index ee272c4cefcc..18d43a406114 100644

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

lib/maple_tree.c +3 -1
index 8d73ccf66f3a..44441ec5b0af 100644

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

mm/damon/sysfs-schemes.c +1 -0
index b095457380b5..d9e01648db70 100644

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

mm/gup.c +10 -4
index 90866b827b60..e323843cc5dd 100644

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

mm/vma.c +8 -19
index 1d82ec4ee7bb..140f7017bb63 100644

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

net/atm/clip.c +5 -6
index 42b910cb4e8e..0d7744442b25 100644

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

net/atm/resources.c +1 -2
index 995d29e7fb13..b19d851e1f44 100644

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

net/bluetooth/hci_core.c +30 -4
index 0d3816c80758..b74ada809237 100644

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

net/bluetooth/l2cap_core.c +8 -1
index a40534bf9084..0628fedc0e29 100644

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

net/core/selftests.c +3 -2
index 561653f9d71d..ef27594d6a99 100644

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

net/mac80211/chan.c +3 -0
index cca6d14084d2..282e8c13e2bf 100644

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

net/mac80211/ieee80211_i.h +12 -0
index bfe0514efca3..2f017dbbcb97 100644

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

net/mac80211/iface.c +11 -1
index 7e1e561ef76c..209d6ffa8e42 100644

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

net/mac80211/link.c +88 -6

94 lines not on this page · raw message

net/mac80211/util.c +1 -1
index a98ae563613c..77638e965726 100644

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

net/sunrpc/clnt.c +7 -2
index 17a4de75bfaf..e492655cb221 100644

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

net/unix/af_unix.c +23 -8
index 6b1762300443..45f8e21829ec 100644

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

rust/Makefile +1 -1
index 93650b2ee7d5..b8b7f817c48e 100644

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

rust/macros/module.rs +1 -0
index da2a18b276e0..a5ea5850e307 100644

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

sound/pci/hda/hda_bind.c +1 -1
index 90633970b59f..f8f1b1f6b138 100644

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

sound/pci/hda/hda_intel.c +3 -0
index 1872c8b75053..d4e325b78533 100644

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

sound/pci/hda/patch_realtek.c +2 -0
index cb41cd2ba0ef..30e9e26c5b2a 100644

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

sound/soc/amd/yc/acp6x-mach.c +7 -0
index 3d9da93d22ee..b27966f82c8b 100644

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

sound/soc/codecs/rt1320-sdw.c +16 -1
index f2d194e76a94..8755a63478d7 100644

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

sound/soc/codecs/wcd9335.c +14 -26
index 373a31ddccb2..1375ac571fbf 100644

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

sound/usb/quirks.c +2 -0
index c7387081577c..0da4ee9757c0 100644

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

sound/usb/stream.c +2 -0
index c1ea8844a46f..aa91d63749f2 100644

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

tools/lib/bpf/btf_dump.c +3 -0
index 46cce18c8308..12306b5de3ef 100644

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

tools/lib/bpf/libbpf.c +7 -3
index 1290314da676..36e341b4b77b 100644

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

tools/testing/selftests/bpf/progs/test_global_map_resize.c +16 -0
index a3f220ba7025..ee65bad0436d 100644

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

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

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