Applied. Thanks! Alex
On Mon, May 25, 2026 at 7:39 AM Timur Kristóf <[email protected]> wrote: > > UVD 4.x and older have two requirements for CS BOs: > 1. All BOs must not cross 256M segments > 2. MSG and FB BOs must be located in the same segment as the VCPU BO > > The amdgpu_uvd code attempts to solve those requirements, > but unfortunately it has hit various limitations: > > * VCPU BO may be placed in a different segment > * GTT manager doesn't respect placement requirements > * GTT allocations may cross 256M > * GTT->GTT moves are not implemented > > Let's solve these issues by fixing the GTT manager, > making sure that GTT allocations are placed in 256M segments. > Also fix forcing MSG and FB BOs to the UVD segment > when the UVD segment isn't the first segment, which can be > the case when resizable BAR is enabled. > > This series should be backported to 7.0 and 7.1 because > technically this may have been a regression for some users > caused by switching to amdgpu by default. > > Changes in v2: > > * Fix GTT->GTT moves instead of specifying a placement in > the amdgpu_ttm_alloc_gart() function. > * Move MSG and FB BOs to the VCPU segments, leave all other > BOs in segment 0 like before. > > Timur Kristóf (4): > drm/amdgpu: Respect placement requirements in amdgpu_gtt_mgr functions > drm/amdgpu: Fix amdgpu_bo_move() when old_mem and new_mem are both GTT > drm/amdgpu/uvd: Place VCPU BO only in VRAM for UVD 4.x and older > drm/amdgpu/uvd: Fix forcing MSG, FB BOs into VCPU segment when it > isn't at 0 (v2) > > drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 30 ++++++++++++- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 18 ++++++++ > drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 50 ++++++++++++++------- > 3 files changed, 81 insertions(+), 17 deletions(-) > > -- > 2.54.0 >
