Re: [PATCH drm-misc-next v2 5/7] drm/gpuvm: add an abstraction for a VM / BO combination

2023-09-07 Thread Boris Brezillon
On Thu, 7 Sep 2023 11:41:11 +0200 Danilo Krummrich wrote: > On 9/7/23 10:42, Boris Brezillon wrote: > > On Wed, 6 Sep 2023 23:47:13 +0200 > > Danilo Krummrich wrote: > > > >> +void drm_gpuvm_bo_destroy(struct kref *kref); > > > > I usually keep kref's release functions private so people

Re: [PATCH drm-misc-next v2 5/7] drm/gpuvm: add an abstraction for a VM / BO combination

2023-09-07 Thread Danilo Krummrich
On 9/7/23 10:42, Boris Brezillon wrote: On Wed, 6 Sep 2023 23:47:13 +0200 Danilo Krummrich wrote: +void drm_gpuvm_bo_destroy(struct kref *kref); I usually keep kref's release functions private so people are not tempted to use them. I think I did that because drm_gpuvm_bo_put() needs it.

Re: [PATCH drm-misc-next v2 5/7] drm/gpuvm: add an abstraction for a VM / BO combination

2023-09-07 Thread Danilo Krummrich
On 9/7/23 10:16, Boris Brezillon wrote: On Wed, 6 Sep 2023 23:47:13 +0200 Danilo Krummrich wrote: @@ -812,15 +967,20 @@ EXPORT_SYMBOL_GPL(drm_gpuva_remove); /** * drm_gpuva_link() - link a _gpuva * @va: the _gpuva to link + * @vm_bo: the _gpuvm_bo to add the _gpuva to * - * This

Re: [PATCH drm-misc-next v2 5/7] drm/gpuvm: add an abstraction for a VM / BO combination

2023-09-07 Thread Boris Brezillon
On Wed, 6 Sep 2023 23:47:13 +0200 Danilo Krummrich wrote: > +void drm_gpuvm_bo_destroy(struct kref *kref); I usually keep kref's release functions private so people are not tempted to use them. > + > +/** > + * drm_gpuvm_bo_get() - acquire a struct drm_gpuvm_bo reference > + * @vm_bo: the

Re: [PATCH drm-misc-next v2 5/7] drm/gpuvm: add an abstraction for a VM / BO combination

2023-09-07 Thread Boris Brezillon
On Wed, 6 Sep 2023 23:47:13 +0200 Danilo Krummrich wrote: > @@ -812,15 +967,20 @@ EXPORT_SYMBOL_GPL(drm_gpuva_remove); > /** > * drm_gpuva_link() - link a _gpuva > * @va: the _gpuva to link > + * @vm_bo: the _gpuvm_bo to add the _gpuva to > * > - * This adds the given to the GPU VA list

[PATCH drm-misc-next v2 5/7] drm/gpuvm: add an abstraction for a VM / BO combination

2023-09-06 Thread Danilo Krummrich
This patch adds an abstraction layer between the drm_gpuva mappings of a particular drm_gem_object and this GEM object itself. The abstraction represents a combination of a drm_gem_object and drm_gpuvm. The drm_gem_object holds a list of drm_gpuvm_bo structures (the structure representing this