Linux/linux 1229e2efs/smb/server smb2pdu.c oplock.c, fs/smb/server/mgmt user_session.c user_session.h

Merge tag 'v7.2-rc3-smb3-server-fixes' of git://git.samba.org/ksmbd

Pull smb server fixes from Steve French:
 "ksmbd server fixes, mostly addressing malformed SMB request
  handling and connection/session lifetime issues, including
  two information-disclosure or memory-safety bugs in the SMB2
  request/response paths.

   - validate FILE_ALLOCATION_INFORMATION before block rounding to
     prevent a client-controlled overflow from truncating a file.

   - pin connections while asynchronous oplock and lease-break
     notifications are pending.

   - initialize compound SMB2 READ alignment padding, preventing
     disclosure of uninitialized heap bytes.

   - release the allocated alternate-stream xattr name after rename.


    [21 lines not shown]
DeltaFile
+35-15fs/smb/server/smb2pdu.c
+11-14fs/smb/server/mgmt/user_session.c
+4-2fs/smb/server/oplock.c
+5-0fs/smb/server/smb2misc.c
+1-1fs/smb/server/mgmt/user_session.h
+56-325 files

Linux/linux 94dc07ddrivers/ata sata_dwc_460ex.c

Merge tag 'ata-7.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fixes from Damien Le Moal:

 - Interrupt initialization and handling fixes for the Designware
   ahci_dwc driver (Rosen)

 - Avoid possible infinite loop when scanning completion in the
   Designware ahci_dwc driver (Rosen)

* tag 'ata-7.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: sata_dwc_460ex: fix infinite loop in NCQ tag completion bit-scanning
  ata: sata_dwc_460ex: fix clear_interrupt_bit() clearing all pending interrupts
  ata: sata_dwc_460ex: use platform_get_irq()
  ata: sata_dwc_460ex: enable SATA interrupts only after IRQ handler is registered
DeltaFile
+12-26drivers/ata/sata_dwc_460ex.c
+12-261 files

Linux/linux 7d6ca51drivers/gpu/drm/amd/amdgpu amdgpu_bios.c, drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c amdgpu_dm_crtc.c

Merge tag 'drm-fixes-2026-07-18-1' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Daie Airlie:
 "Weekly drm fixes, there is amdgpu, xe and i915 and then a lot of
  scattered fixes.

  Looks about the right level for the new right.

  ttm:
   - Handle NULL pages and backup handles in ttm_pool_backup() correctly

  gpusvm:
   - Improve unmap and error handling on gpusvm

  udmabuf:
   - Always synchronize for CPU in begin_cpu_udmabuf

  xe:
   - Fix BO prefetch with CONSULT_MEM_ADVISE_PREF_LOCK

    [75 lines not shown]
DeltaFile
+342-209drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+1-115drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h
+41-29drivers/gpu/drm/xe/xe_guc_submit.c
+42-28drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
+51-11drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
+43-15drivers/gpu/drm/xe/xe_bo.c
+520-40761 files not shown
+1,076-56467 files

Linux/linux 973fd94drivers/gpu/drm/amd/amdgpu amdgpu_bios.c, drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c amdgpu_dm_crtc.c

Merge tag 'amd-drm-fixes-7.2-2026-07-17' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes

amd-drm-fixes-7.2-2026-07-17:

amdgpu:
- DCN 4.2 fixes
- NUTMEG fixes
- 8K panel fix
- Backlight fixes
- UserQ fix
- Fix bo->pin leaking in amdgpu_bo_create_reserved()
- VFCT fixes
- devcoredump fixes
- Display fixes
- SMU7 DPM fix
- AC/DC fixes for SMU7 and SI
- Queue reset fix
- PCIe DPM fix
- XHCI/GPU resume ordering fix

    [10 lines not shown]
DeltaFile
+342-209drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+1-115drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h
+42-28drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
+51-11drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
+45-0drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
+45-0drivers/gpu/drm/amd/display/dc/core/dc.c
+526-36325 files not shown
+720-43131 files

Linux/linux f39283edrivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c

Revert "drm/amd/display: Restore 5s vbl offdelay for NV3x+ DGPUs"

Now that proper fixes have been found, let's revert this workaround.

This reverts commit a1fc7bf6677eb547167cb72b3bcafdc34b976692.

Tested-by: Mario Limonciello (AMD) <superm1 at kernel.org>
Reviewed-by: Mario Limonciello (AMD) <superm1 at kernel.org>
Signed-off-by: Leo Li <sunpeng.li at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit f64a9be5653689ff43e148cd8a6483077488c8e5)
Cc: stable at vger.kernel.org # 8382cd234981: drm/amd/display: consolidate DCN vblank/flip handling onto vupdate_no_lock
Cc: stable at vger.kernel.org # 48ab86360af1: drm/amd/display: check GRPH_FLIP status before sending event
Cc: stable at vger.kernel.org
DeltaFile
+3-15drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+3-151 files

Linux/linux 48ab863drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c, drivers/gpu/drm/amd/display/dc dc.h

drm/amd/display: check GRPH_FLIP status before sending event

[Why]

After unifying DCN interrupt sources under VUPDATE_NO_LOCK, we have two
remaining issues to clean up:

1. On DCN, flip completion is now delivered from VUPDATE_NO_LOCK
   (dm_crtc_high_irq_handler) instead of GRPH_PFLIP. But VUPDATE_NO_LOCK
   fires every frame, regardless of whether a flip has latched.

2. There is a window during commit where a flip is armed (pflip_status =
   SUBMITTED) but not yet programmed into HW. If the VUPDATE_NO_LOCK
   fires in that window, its handler would deliver a flip event to
   userspace before HW has latched to it. If userspace then renders to
   what it believes is now the back buffer (but HW is still latched to
   it!), it will cause display corruption. This issue seemed to have
   been introduced by:
   commit 1159898a88db ("drm/amd/display: Handle commit plane with no FB.")

    [52 lines not shown]
DeltaFile
+151-40drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+45-0drivers/gpu/drm/amd/display/dc/core/dc.c
+1-0drivers/gpu/drm/amd/display/dc/dc.h
+197-403 files

Linux/linux 8382cd2drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c amdgpu_dm_crtc.c

drm/amd/display: consolidate DCN vblank/flip handling onto vupdate_no_lock

[Why]

On DCN, vblank events were delivered from VSTARTUP/VUPDATE
(dm_crtc_high_irq/dm_vupdate_high_irq) and pageflip completion from
GRPH_PFLIP (dm_pflip_high_irq). These signals can be masked by hardware
by a few things:

* DPG - DCN can Dynamically Power Gate parts of the display pipe when a
  self-refresh capable eDP is connected. DPG is engaged when there's
  enough static frames (detected through drm_vblank_off). Once gated,
  even though the OTG (output timing generator) is still enabled,
  VSTARTUP and GRPH_FLIP are masked.

* GSL - Driver can use the Global Sync Lock to block HW from latching
  onto double-buffered registers during programming, to prevent HW from
  latching onto a partially programmed state. This will mask VSTARTUP,
  GRPH_FLIP, and VUPDATE. See dcn20_pipe_control_lock().

    [58 lines not shown]
DeltaFile
+186-161drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+42-28drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
+228-1892 files

Linux/linux 75c8746drivers/gpu/drm/amd/pm/swsmu amdgpu_smu.c, drivers/gpu/drm/amd/pm/swsmu/inc amdgpu_smu.h

drm/amd: Create a device link between APU display and XHCI devices

Some AMD APU multi-function devices expose an integrated USB xHCI
controller. In some circumstances (such as larger VRAM), the PM core
can resume can fail when the xHCI controller is resuming in parallel
with the GPU/display function.

On affected systems, the xHCI controller can complete pci_pm_resume
and start resuming USB devices while the GPU is still in its much
longer resume path. This race condition leads to USB device resume
failures followed by:

  xhci_hcd ...: xHCI host not responding to stop endpoint command
  xhci_hcd ...: HC died; cleaning up

Create a device link from any xHCI controller sharing the same PCIe
root port as the APU display function. The link uses DL_FLAG_STATELESS
and DL_FLAG_PM_RUNTIME to ensure the GPU completes its resume before
the xHCI controller begins resuming USB devices.

    [17 lines not shown]
DeltaFile
+45-0drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c
+12-0drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+11-1drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h
+68-13 files

Linux/linux 46c3c32drivers/gpu/drm/amd/display/dc/resource/dcn42b dcn42b_resource.c

drm/amd/display: wire DCN42B mcache programming callback

DCN42B enables DML2 and DML21 by default and defines
dcn42b_prepare_mcache_programming(), but the resource function table only
wires the callback when CONFIG_DRM_AMD_DC_DML21 is defined.

There is no in-tree Kconfig symbol named DRM_AMD_DC_DML21, so the
preprocessor always removes the callback entry.  Sibling DCN42 and DCN401
resource tables wire their prepare_mcache_programming callbacks
unconditionally, and the core DC code already checks whether the callback
pointer is present before calling it.

Remove the stale guard so DCN42B exposes the callback relation that its
source and DML21 build world already provide.

This is an RFC patch draft from static conditional callback legality
auditing.  It needs AMD display maintainer review before submission as a
final fix.


    [4 lines not shown]
DeltaFile
+0-2drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c
+0-21 files

Linux/linux 9fa26b9drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c

drm/amd/display: set new_stream to NULL after release

In dm_update_crtc_state(), the skip_modeset path releases new_stream
via dc_stream_release() but does not set the pointer to NULL.

If a later error (e.g., color management failure) triggers the fail
label, the error path calls dc_stream_release() again on the same
dangling pointer, causing a double release and potential use-after-free.

Fix this by setting new_stream to NULL after the initial release.

Fixes: 9b690ef3c704 ("drm/amd/display: Avoid full modeset when not required")
Signed-off-by: WenTao Liang <vulab at iscas.ac.cn>
Reviewed-by: George Zhang <george.zhang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 99f3af19073b3ddbfd96e789124cce12c4277b28)
Cc: stable at vger.kernel.org
DeltaFile
+1-0drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+1-01 files

Linux/linux bad177fdrivers/gpu/drm drm_panel_backlight_quirks.c, drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c

drm/amd/display: Force PWM backlight on Lenovo Legion 5 15ARH05

The Lenovo Legion 5 15ARH05 (Renoir) ships a BOE 0x08DF eDP panel that
advertises AUX/DPCD backlight control, so amdgpu's automatic detection
(amdgpu_backlight == -1) selects AUX. On this panel the AUX backlight
path has no effect: brightness writes are accepted but the panel level
never changes, the display is stuck at a fixed brightness and
max_brightness is reported as a bogus 511000. As a result neither the
desktop brightness slider nor the brightness hotkeys do anything.

Forcing PWM backlight (amdgpu.backlight=0) restores working control:
max_brightness becomes 65535 and the level tracks writes. This has long
been applied by users as a manual kernel-parameter workaround.

Extend the generic panel backlight quirk with a force_pwm flag, add an
entry for the Legion 5 15ARH05 / BOE 0x08DF panel, and have amdgpu
disable AUX backlight (use PWM) when the quirk matches and the user
lets the driver auto-select the backlight type.


    [6 lines not shown]
DeltaFile
+9-0drivers/gpu/drm/drm_panel_backlight_quirks.c
+5-2drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+1-0include/drm/drm_utils.h
+15-23 files

Linux/linux b240f79drivers/gpu/drm/amd/amdkfd kfd_device_queue_manager.c

drm/amdkfd: free MQD managers on DQM init failures

The change referenced by the Fixes tag releases the HIQ SDMA MQD trunk
buffer when device_queue_manager_init() fails after it has been
allocated.

However, the same failure path can also be reached after
init_mqd_managers() has succeeded. At that point dqm->mqd_mgrs[] contains
per-type MQD manager objects owned by the device queue manager. The
normal teardown path frees those objects from uninitialize(), but the
initialization error path only frees dqm itself.

Free the MQD managers from the initialization error path as well. This is
safe for earlier failures because dqm is zeroed when allocated and
init_mqd_managers() clears the entries it rolls back internally.

Fixes: b7cccc8286bb ("drm/amdkfd: fix a memory leak in device_queue_manager_init()")
Signed-off-by: Guangshuo Li <lgs201920130244 at gmail.com>
Reviewed-by: Mukul Joshi <mukul.joshi at amd.com>

    [5 lines not shown]
DeltaFile
+4-0drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+4-01 files

Linux/linux 79f408cdrivers/gpu/drm/amd/amdgpu amdgpu_ttm.c

drm/amdgpu/ttm: Consider concurrent VM flushes for buffer entities

Allow using multiple SDMA schedulers only on GPUs where
we are allowed to do concurrent VM flushes.
This consideration is necessary because all GART windows
are mapped in VMID 0 (the kernel VMID) so each buffer
entity would flush VMID 0 concurrently.

Practically this means that we can't use multiple SDMA
engines for TTM on GFX6-8 and Navi 1x.

Fixes: 01c836788b37 ("drm/amdgpu: pass all the sdma scheds to amdgpu_mman")
Fixes: e4029f7a9474 ("drm/amdgpu: only use working sdma schedulers for ttm")
Cc: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit a8171229bc836607fbc225d323ebc4d14489cfbb)
DeltaFile
+15-5drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+15-51 files

Linux/linux ec917f1drivers/gpu/drm/amd/pm/powerplay/hwmgr smu7_hwmgr.c

drm/amd/pm/smu7: Fix AC/DC switch notification

There were two mistakes in the previous implementation:

The check for AutomaticDCTransition should be inverted.
We recently learned that the kernel should send
PPSMC_MSG_RunningOnAC when the flag is set, and not the
other way around.

The clocks also need to be recomputed, because the code in
the smu7_apply_state_adjust_rules() function selects
different limits on AC and DC.

Fixes: 96da0d86614e ("drm/amd/pm/smu7: Notify SMU7 of DC->AC switch")
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 516f8fc30a1b56af03f39e93c18707d13419fb1f)
Cc: stable at vger.kernel.org
DeltaFile
+10-6drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c
+10-61 files

Linux/linux 0148ac3drivers/gpu/drm/amd/amdgpu amdgpu_device.c

drm/amdgpu: Disable PCIe dynamic speed switching on Ryzen Pinnacle Ridge

AMD Ryzen Pinnacle Ridge (Zen+, family 0x17 model 0x08) CPUs have
PCI controllers that don't support PCIe dynamic speed switching,
causing system freezes during GPU initialization when enabled.

Disable dynamic speed switching when this CPU is detected.

Assisted-by: Claude:sonnet
Fixes: 466a7d115326 ("drm/amd: Use the first non-dGPU PCI device for BW limits")
Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5436
Reviewed-by: Lijo Lazar <lijo.lazar at amd.com>
Link: https://patch.msgid.link/20260709031520.841611-1-mario.limonciello@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 9ceb4e034a327a04155f32f1cd1a5031dfa5fe02)
Cc: stable at vger.kernel.org
DeltaFile
+9-0drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+9-01 files

Linux/linux b2ff059drivers/gpu/drm/amd/amdgpu amdgpu_vm.c

drm/amdgpu: always emit the job vm fence

We need the fence to reemit the gds switch or spm update
after a queue reset.

Fixes: a17ef941212b ("drm/amdgpu: rework ring reset backup and reemit v9")
Cc: timur.kristof at gmail.com
Cc: christian.koenig at amd.com
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit bc639a9eadc75822f7f15a4315c198a4b5513bd2)
Cc: stable at vger.kernel.org
DeltaFile
+4-6drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+4-61 files

Linux/linux 86b6cf8drivers/gpu/drm/amd/pm/legacy-dpm si_dpm.c

drm/amd/pm/si: Fix AC/DC switch notification

There were two mistakes in the previous implementation:

The check for ATOM_PP_PLATFORM_CAP_HARDWAREDC should be
inverted. We recently learned that the kernel should send
PPSMC_MSG_RunningOnAC when the flag is set, and not the
other way around.

The clocks also need to be recomputed, because the code in
the si_apply_state_adjust_rules() function selects different
limits on AC and DC.

Fixes: 2d071f6457af ("drm/amd/pm/si: Notify the SMC when switching to AC")
Tested-by: Jeremy Klarenbeek <jeremy.klarenbeek99 at gmail.com>
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 358dd0a9ce66d898fa934887385327547d599d88)
Cc: stable at vger.kernel.org
DeltaFile
+9-6drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
+9-61 files

Linux/linux f8922d5drivers/gpu/drm/amd/pm/legacy-dpm si_dpm.c

drm/amd/pm/si: Don't schedule thermal work when queue isn't initialized

When DPM is turned off with the amdgpu.dpm=0 module parameter,
the thermal work queue isn't initialized so we shouldn't
schedule any work on it.

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit bd018d36171a695952c6d391471c279c9e05c8b2)
DeltaFile
+1-1drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
+1-11 files

Linux/linux d340cbadrivers/gpu/drm/amd/display/dc/resource/dce100 dce100_resource.c

drm/amd/display: dce100: skip non-DP stream encoders for DP MST

On DCE8-class ASICs (e.g. Bonaire), the resource pool contains digital
DIG stream encoders plus one analog DAC encoder. When assigning a stream
encoder for a second DisplayPort MST stream, if the preferred digital
encoder is already acquired, dce100_find_first_free_match_stream_enc_for_link()
falls back to the first free pool entry. That entry may be the analog
encoder, whose funcs table lacks DP hooks such as dp_set_stream_attribute.
The subsequent atomic commit then dereferences NULL function pointers in
link_set_dpms_on() and crashes.

Skip encoders without dp_set_stream_attribute when the stream uses a DP
signal (including MST). Use dc_is_dp_signal(stream->signal) for the MST
fallback path instead of checking only the link connector signal.

Tested on:
- GPU: AMD Radeon R7 260X (Bonaire / DCE8)
- Board: Supermicro C9X299-PG300
- Setup: DP MST daisy chain, hotplug second monitor or have it connected on boot

    [8 lines not shown]
DeltaFile
+6-1drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
+6-11 files

Linux/linux cea54c5drivers/gpu/drm/amd/display/amdgpu_dm amdgpu_dm.c

drm/amd/display: Set native cursor mode for disabled CRTCs

Always set native cursor mode when the CRTC is disabled,
to make sure it doesn't cause atomic commits to fail when
they are trying to disable the CRTC.

Fixes: 41af6215cdbc ("drm/amd/display: Reject cursor plane on DCE when scaled differently than primary")
Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5432
Cc: Leo Li <sunpeng.li at amd.com>
Cc: Michel Dänzer <michel.daenzer at mailbox.org>
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Tested-by: Viktor Jägersküpper <viktor_jaegerskuepper at freenet.de>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 2f79f0130f828cf26fe2dcf45291821616af7b47)
Cc: stable at vger.kernel.org
DeltaFile
+6-1drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+6-11 files

Linux/linux 85371c5drivers/gpu/drm/amd/pm/powerplay/hwmgr hwmgr.c

drm/amd/pm/ci: Don't disable MCLK DPM on Bonaire 0x6658 (R7 260X)

The old radeon driver has a documented workaround in ci_dpm.c
which claims that Bonaire 0x6658 with old memory controller
firmware is unstable with MCLK DPM, so as a precaution I
disabled MCLK DPM on this ASIC in amdgpu.

Note that the old MC firmware is not actually used with
amdgpu, but in theory it's possible that the VBIOS sets
up the ASIC with an old MC firmware that is already running
when amdgpu initializes (in which case amdgpu doesn't
load its own firmware).

What I expected to happen is that the GPU would simply use
its maximum memory clock, and indeed this is what seemed
to happen according to amdgpu_pm_info which reads the
current MCLK value from the SMU.
However, some users reported a huge perf regression
and upon a closer look it seems that the GPU seems to

    [13 lines not shown]
DeltaFile
+2-5drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c
+2-51 files

Linux/linux 54d4deedrivers/gpu/drm/amd/display/dc/dce dce_clock_source.c

drm/amd/display: fix __udivdi3 link error

When compiling the AMDGPU display driver for 32-bit architectures,
the linker reports undefined reference to `__udivdi3` in functions
get_dp_dto_frequency_100hz() and dcn401_get_dp_dto_frequency_100hz().

This is because the code uses 64-bit division (/) on 32-bit systems,
which GCC cannot handle directly and instead tries to call the missing
__udivdi3 helper function.

Replace the raw division with div_u64(), the kernel's standard 64-bit
division helper, to avoid the link error.

Signed-off-by: Linlin Yang <yanglinlin at kylinos.cn>
Reported-by: k2ci <kernel-bot at kylinos.cn>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 0421fc6ab3a8514e99156ff3c2cee13ee9af3fa7)
Cc: stable at vger.kernel.org
DeltaFile
+5-6drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c
+5-61 files

Linux/linux b5eab15drivers/gpu/drm/amd/amdgpu amdgpu_dev_coredump.c

drm/amdgpu: Reserve space for IB contents in devcoredumps

Currently the contents of IBs are abruptly cut off and don't
show the full contents. This patch makes sure to reserve
space for those contents too so they may be printed.

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Acked-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 4e2c0821509fed754e8c31d5053d152fbb3484a5)
Cc: stable at vger.kernel.org
DeltaFile
+3-0drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
+3-01 files

Linux/linux ea9d70ddrivers/gpu/drm/amd/amdgpu amdgpu_dev_coredump.c amdgpu_dev_coredump.h

drm/amdgpu: Print vmid, pasid and more task info in devcoredump

These are in the dmesg logs but are missing from devcoredumps.

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit fed7aa36d79802c3e02acd05aeae8b0a877e47c2)
Cc: stable at vger.kernel.org
DeltaFile
+6-1drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
+1-0drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.h
+7-12 files

Linux/linux 65bff26drivers/gpu/drm/amd/amdgpu amdgpu_bios.c

drm/amdgpu: Release VFCT ACPI table reference

amdgpu_acpi_vfct_bios() fetches the VFCT table with acpi_get_table()
but never releases it. acpi_get_table() takes a reference on the
table (incrementing its validation_count and mapping it on the 0->1
transition); without a paired acpi_put_table() the mapping is leaked
on every call, whether or not a matching VBIOS image is found.

Route all exit paths after the table is acquired through a common
acpi_put_table(). The VBIOS image is copied out with kmemdup() before
the table is released, so it remains valid for the caller.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Link: https://patch.msgid.link/20260708193518.702584-3-mario.limonciello@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit ca5988682b4cba4cd125a0fa99b2de1239164ae4)
Cc: stable at vger.kernel.org
DeltaFile
+11-6drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
+11-61 files

Linux/linux db7e810drivers/gpu/drm/amd/amdgpu amdgpu_bios.c

drm/amdgpu: Fix VFCT bus number matching with soft filter

On systems where PCI bus renumbering occurs (e.g. pci=realloc,
resource conflicts), the runtime bus number may differ from the
BIOS POST bus number recorded in the VFCT table. This causes
amdgpu_acpi_vfct_bios() to fail finding the VBIOS even though
the correct device entry exists.

Introduce amdgpu_acpi_vfct_match() which treats the bus number
as a soft filter: vendor/device/function identity is the hard
requirement, while exact bus match is the preferred path. When
bus numbers disagree but device identity matches, accept the
VFCT entry and log a dev_notice for diagnostics.

Reported-by: Oz Tiram <oz at shift-computing.de>
Closes: https://lore.kernel.org/amd-gfx/20260621173211.28443-1-oz@shift-computing.de/
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Link: https://patch.msgid.link/20260708193518.702584-2-mario.limonciello@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>

    [3 lines not shown]
DeltaFile
+40-5drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
+40-51 files

Linux/linux a2f895fdrivers/gpu/drm/amd/amdgpu amdgpu_object.c

drm/amdgpu: fix bo->pin leaking in amdgpu_bo_create_reserved

amdgpu_bo_create_reserved() only allocates a new BO when
*bo_ptr (struct amdgpu_bo **bo_ptr as input parameter) is
NULL, it simply skips creation when *bo_ptr is non-NULL.
But it unconditionally reserves, pins, gart allocates
and maps the BO afterwards.

When the same non-NULL BO pointer is passed in again,
for example firmware buffers that live in adev and are
re-loaded on every resume / cp_resume / start
under AMDGPU_FW_LOAD_DIRECT, amdgpu_bo_pin() just increases
pin_count unconditionally, however the matching teardown only unpins
once, so pin_count never drops to zero, so TTM is not able
to move, swap or evict a BO, causing BO leaks.

This commit fixes this issue by only pinning the bo
once at creation, and repeated calls no longer
take additional pin references.

    [7 lines not shown]
DeltaFile
+8-5drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+8-51 files

Linux/linux 5d75ec2drivers/gpu/drm/amd/amdgpu amdgpu_userq.c

drm/amdgpu/userq: fix indefinite fence wait during GPU reset

pre_reset only force-completes fences of MAPPED queues. A queue in any
other state (e.g. mid-eviction) keeps its last_fence pending; after a
GPU reset that fence never signals, so the eviction/suspend worker and
process teardown (amdgpu_evf_mgr_flush_suspend) wait on it forever and
wedge the machine:

  INFO: task kworker/6:28 blocked for more than 120 seconds.
  Workqueue: events amdgpu_eviction_fence_suspend_worker [amdgpu]
  Call Trace:
   dma_fence_wait_timeout+0x7e/0x130
   amdgpu_userq_evict+0x67/0x140 [amdgpu]
   amdgpu_eviction_fence_suspend_worker+0xd8/0x160 [amdgpu]
   process_scheduled_works+0xa6/0x420

Force-complete every queue's fence regardless of state. The unmap and
mark-hung step stays gated on MAPPED, since unmapping a queue that is
not mapped is invalid.

    [7 lines not shown]
DeltaFile
+12-9drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
+12-91 files

Linux/linux f9ad396drivers/gpu/drm/amd/display/dc/resource/dcn42b dcn42b_resource.c

drm/amd/display: fix dcn42b det allocation order

set_pipe_unlock_order needs to be set to true for the pipes to be unlocked
in correct order to avoid det overallocation

Reviewed-by: Charlene Liu <charlene.liu at amd.com>
Signed-off-by: Dmytro Laktyushkin <dmytro.laktyushkin at amd.com>
Signed-off-by: George Zhang <george.zhang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 183bbded999a70c5996e8f399fa8790568d71112)
DeltaFile
+1-0drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c
+1-01 files

Linux/linux 5b1250edrivers/gpu/drm/amd/display/dc/resource/dcn42 dcn42_resource.c

drm/amd/display: fix dcn42 det allocation order

set_pipe_unlock_order needs to be set to true for the pipes to be unlocked
in correct order to avoid det overallocation

Reviewed-by: Taimur Hassan <syed.hassan at amd.com>
Signed-off-by: Dmytro Laktyushkin <dmytro.laktyushkin at amd.com>
Signed-off-by: George Zhang <george.zhang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 198663d035cc439eb48844a2da66f6ae1b0de303)
DeltaFile
+1-0drivers/gpu/drm/amd/display/dc/resource/dcn42/dcn42_resource.c
+1-01 files