Applied the series. Thanks!
On Sat, Jul 11, 2026 at 7:59 AM Timur Kristóf <[email protected]> wrote: > > 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 <[email protected]> > Signed-off-by: Timur Kristóf <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 74ada995bd8e..9eb55df6e692 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -2685,12 +2685,22 @@ void amdgpu_sdma_set_buffer_funcs_scheds(struct > amdgpu_device *adev, > return; > } > > - /* Navi1x's workaround requires us to limit to a single SDMA sched > - * for ttm. > - */ > hub = &adev->vmhub[AMDGPU_GFXHUB(0)]; > - adev->mman.num_buffer_funcs_scheds = > hub->sdma_invalidation_workaround ? > - 1 : n; > + > + /* > + * 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. > + * > + * Also consider the SDMA invalidation workaround on > + * Navi 1x GPUs, which also prevents us from using > + * multiple SDMA engines on VMID 0 at the same time. > + */ > + adev->mman.num_buffer_funcs_scheds = > + (adev->vm_manager.concurrent_flush && > + !hub->sdma_invalidation_workaround) ? n : 1; > } > > #if defined(CONFIG_DEBUG_FS) > -- > 2.55.0 >
