On 2019-09-04 11:02 a.m., Christian König wrote: > For handling PDE updates directly in the fault handler. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 8 +++++--- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 4 ++-- > 5 files changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c > index b0f0e060ded6..d3942d9306c4 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c > @@ -343,7 +343,7 @@ static int vm_update_pds(struct amdgpu_vm *vm, struct amdgpu_sync *sync) > struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev); > int ret; > > - ret = amdgpu_vm_update_directories(adev, vm); > + ret = amdgpu_vm_update_pdes(adev, vm, false); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > index 51f3db08b8eb..bd6b88827447 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c > @@ -845,7 +845,7 @@ static int amdgpu_cs_vm_handling(struct amdgpu_cs_parser *p) > if (r) > return r; > > - r = amdgpu_vm_update_directories(adev, vm); > + r = amdgpu_vm_update_pdes(adev, vm, false); > if (r) > return r; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > index e7af35c7080d..a621e629d876 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > @@ -521,7 +521,7 @@ static void amdgpu_gem_va_update_vm(struct amdgpu_device *adev, > goto error; > } > > - r = amdgpu_vm_update_directories(adev, vm); > + r = amdgpu_vm_update_pdes(adev, vm, false); > > error: > if (r && r != -ERESTARTSYS) > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index fc103a9f20c5..b6c89ba9281c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -1221,18 +1221,19 @@ static void amdgpu_vm_invalidate_pds(struct amdgpu_device *adev, > } > > /* > - * amdgpu_vm_update_directories - make sure that all directories are valid > + * amdgpu_vm_update_ - make sure that all directories are valid Typo. Regards, Felix > * > * @adev: amdgpu_device pointer > * @vm: requested vm > + * @direct: submit directly to the paging queue > * > * Makes sure all directories are up to date. > * > * Returns: > * 0 for success, error for failure. > */ > -int amdgpu_vm_update_directories(struct amdgpu_device *adev, > - struct amdgpu_vm *vm) > +int amdgpu_vm_update_pdes(struct amdgpu_device *adev, > + struct amdgpu_vm *vm, bool direct) > { > struct amdgpu_vm_update_params params; > int r; > @@ -1243,6 +1244,7 @@ int amdgpu_vm_update_directories(struct amdgpu_device *adev, > memset(¶ms, 0, sizeof(params)); > params.adev = adev; > params.vm = vm; > + params.direct = direct; > > r = vm->update_funcs->prepare(¶ms, AMDGPU_FENCE_OWNER_VM, NULL); > if (r) > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > index 54dcd0bcce1a..0a97dc839f3b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > @@ -366,8 +366,8 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm, > int (*callback)(void *p, struct amdgpu_bo *bo), > void *param); > int amdgpu_vm_flush(struct amdgpu_ring *ring, struct amdgpu_job *job, bool need_pipe_sync); > -int amdgpu_vm_update_directories(struct amdgpu_device *adev, > - struct amdgpu_vm *vm); > +int amdgpu_vm_update_pdes(struct amdgpu_device *adev, > + struct amdgpu_vm *vm, bool direct); > int amdgpu_vm_clear_freed(struct amdgpu_device *adev, > struct amdgpu_vm *vm, > struct dma_fence **fence); _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx