All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/1] drm/amdkfd: use allowed domain for vmbo validation
@ 2021-06-08 13:06 Nirmoy Das
  2021-06-08 13:08 ` Christian König
  0 siblings, 1 reply; 3+ messages in thread
From: Nirmoy Das @ 2021-06-08 13:06 UTC (permalink / raw)
  To: amd-gfx; +Cc: Felix.Kuehling, Nirmoy Das, Christian.Koenig

Fixes handling when page tables are in system memory.

v3: remove struct amdgpu_vm_parser.
v2: remove unwanted variable.
    change amdgpu_amdkfd_validate instead of amdgpu_amdkfd_bo_validate.

Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
---
 .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c  | 21 ++++---------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index d6cb7cf76623..016815b7a773 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -47,12 +47,6 @@ static struct {
 	spinlock_t mem_limit_lock;
 } kfd_mem_limit;

-/* Struct used for amdgpu_amdkfd_bo_validate */
-struct amdgpu_vm_parser {
-	uint32_t        domain;
-	bool            wait;
-};
-
 static const char * const domain_bit_to_string[] = {
 		"CPU",
 		"GTT",
@@ -348,11 +342,9 @@ static int amdgpu_amdkfd_bo_validate(struct amdgpu_bo *bo, uint32_t domain,
 	return ret;
 }

-static int amdgpu_amdkfd_validate(void *param, struct amdgpu_bo *bo)
+static int amdgpu_amdkfd_validate_vm_bo(void *_unused, struct amdgpu_bo *bo)
 {
-	struct amdgpu_vm_parser *p = param;
-
-	return amdgpu_amdkfd_bo_validate(bo, p->domain, p->wait);
+	return amdgpu_amdkfd_bo_validate(bo, bo->allowed_domains, false);
 }

 /* vm_validate_pt_pd_bos - Validate page table and directory BOs
@@ -366,20 +358,15 @@ static int vm_validate_pt_pd_bos(struct amdgpu_vm *vm)
 {
 	struct amdgpu_bo *pd = vm->root.base.bo;
 	struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev);
-	struct amdgpu_vm_parser param;
 	int ret;

-	param.domain = AMDGPU_GEM_DOMAIN_VRAM;
-	param.wait = false;
-
-	ret = amdgpu_vm_validate_pt_bos(adev, vm, amdgpu_amdkfd_validate,
-					&param);
+	ret = amdgpu_vm_validate_pt_bos(adev, vm, amdgpu_amdkfd_validate_vm_bo, NULL);
 	if (ret) {
 		pr_err("failed to validate PT BOs\n");
 		return ret;
 	}

-	ret = amdgpu_amdkfd_validate(&param, pd);
+	ret = amdgpu_amdkfd_validate_vm_bo(NULL, pd);
 	if (ret) {
 		pr_err("failed to validate PD\n");
 		return ret;
--
2.31.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 1/1] drm/amdkfd: use allowed domain for vmbo validation
  2021-06-08 13:06 [PATCH v3 1/1] drm/amdkfd: use allowed domain for vmbo validation Nirmoy Das
@ 2021-06-08 13:08 ` Christian König
  2021-06-08 16:19   ` Felix Kuehling
  0 siblings, 1 reply; 3+ messages in thread
From: Christian König @ 2021-06-08 13:08 UTC (permalink / raw)
  To: Nirmoy Das, amd-gfx; +Cc: Felix.Kuehling

Am 08.06.21 um 15:06 schrieb Nirmoy Das:
> Fixes handling when page tables are in system memory.
>
> v3: remove struct amdgpu_vm_parser.
> v2: remove unwanted variable.
>      change amdgpu_amdkfd_validate instead of amdgpu_amdkfd_bo_validate.
>
> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>

Reviewed-by: Christian König <christian.koenig@amd.com> but Felix should 
probably take a look as well.

> ---
>   .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c  | 21 ++++---------------
>   1 file changed, 4 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index d6cb7cf76623..016815b7a773 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -47,12 +47,6 @@ static struct {
>   	spinlock_t mem_limit_lock;
>   } kfd_mem_limit;
>
> -/* Struct used for amdgpu_amdkfd_bo_validate */
> -struct amdgpu_vm_parser {
> -	uint32_t        domain;
> -	bool            wait;
> -};
> -
>   static const char * const domain_bit_to_string[] = {
>   		"CPU",
>   		"GTT",
> @@ -348,11 +342,9 @@ static int amdgpu_amdkfd_bo_validate(struct amdgpu_bo *bo, uint32_t domain,
>   	return ret;
>   }
>
> -static int amdgpu_amdkfd_validate(void *param, struct amdgpu_bo *bo)
> +static int amdgpu_amdkfd_validate_vm_bo(void *_unused, struct amdgpu_bo *bo)
>   {
> -	struct amdgpu_vm_parser *p = param;
> -
> -	return amdgpu_amdkfd_bo_validate(bo, p->domain, p->wait);
> +	return amdgpu_amdkfd_bo_validate(bo, bo->allowed_domains, false);
>   }
>
>   /* vm_validate_pt_pd_bos - Validate page table and directory BOs
> @@ -366,20 +358,15 @@ static int vm_validate_pt_pd_bos(struct amdgpu_vm *vm)
>   {
>   	struct amdgpu_bo *pd = vm->root.base.bo;
>   	struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev);
> -	struct amdgpu_vm_parser param;
>   	int ret;
>
> -	param.domain = AMDGPU_GEM_DOMAIN_VRAM;
> -	param.wait = false;
> -
> -	ret = amdgpu_vm_validate_pt_bos(adev, vm, amdgpu_amdkfd_validate,
> -					&param);
> +	ret = amdgpu_vm_validate_pt_bos(adev, vm, amdgpu_amdkfd_validate_vm_bo, NULL);
>   	if (ret) {
>   		pr_err("failed to validate PT BOs\n");
>   		return ret;
>   	}
>
> -	ret = amdgpu_amdkfd_validate(&param, pd);
> +	ret = amdgpu_amdkfd_validate_vm_bo(NULL, pd);
>   	if (ret) {
>   		pr_err("failed to validate PD\n");
>   		return ret;
> --
> 2.31.1
>

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 1/1] drm/amdkfd: use allowed domain for vmbo validation
  2021-06-08 13:08 ` Christian König
@ 2021-06-08 16:19   ` Felix Kuehling
  0 siblings, 0 replies; 3+ messages in thread
From: Felix Kuehling @ 2021-06-08 16:19 UTC (permalink / raw)
  To: Christian König, Nirmoy Das, amd-gfx

Am 2021-06-08 um 9:08 a.m. schrieb Christian König:
> Am 08.06.21 um 15:06 schrieb Nirmoy Das:
>> Fixes handling when page tables are in system memory.
>>
>> v3: remove struct amdgpu_vm_parser.
>> v2: remove unwanted variable.
>>      change amdgpu_amdkfd_validate instead of amdgpu_amdkfd_bo_validate.
>>
>> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
>
> Reviewed-by: Christian König <christian.koenig@amd.com> but Felix
> should probably take a look as well.

Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>

Thanks.


>
>> ---
>>   .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c  | 21 ++++---------------
>>   1 file changed, 4 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
>> index d6cb7cf76623..016815b7a773 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
>> @@ -47,12 +47,6 @@ static struct {
>>       spinlock_t mem_limit_lock;
>>   } kfd_mem_limit;
>>
>> -/* Struct used for amdgpu_amdkfd_bo_validate */
>> -struct amdgpu_vm_parser {
>> -    uint32_t        domain;
>> -    bool            wait;
>> -};
>> -
>>   static const char * const domain_bit_to_string[] = {
>>           "CPU",
>>           "GTT",
>> @@ -348,11 +342,9 @@ static int amdgpu_amdkfd_bo_validate(struct
>> amdgpu_bo *bo, uint32_t domain,
>>       return ret;
>>   }
>>
>> -static int amdgpu_amdkfd_validate(void *param, struct amdgpu_bo *bo)
>> +static int amdgpu_amdkfd_validate_vm_bo(void *_unused, struct
>> amdgpu_bo *bo)
>>   {
>> -    struct amdgpu_vm_parser *p = param;
>> -
>> -    return amdgpu_amdkfd_bo_validate(bo, p->domain, p->wait);
>> +    return amdgpu_amdkfd_bo_validate(bo, bo->allowed_domains, false);
>>   }
>>
>>   /* vm_validate_pt_pd_bos - Validate page table and directory BOs
>> @@ -366,20 +358,15 @@ static int vm_validate_pt_pd_bos(struct
>> amdgpu_vm *vm)
>>   {
>>       struct amdgpu_bo *pd = vm->root.base.bo;
>>       struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev);
>> -    struct amdgpu_vm_parser param;
>>       int ret;
>>
>> -    param.domain = AMDGPU_GEM_DOMAIN_VRAM;
>> -    param.wait = false;
>> -
>> -    ret = amdgpu_vm_validate_pt_bos(adev, vm, amdgpu_amdkfd_validate,
>> -                    &param);
>> +    ret = amdgpu_vm_validate_pt_bos(adev, vm,
>> amdgpu_amdkfd_validate_vm_bo, NULL);
>>       if (ret) {
>>           pr_err("failed to validate PT BOs\n");
>>           return ret;
>>       }
>>
>> -    ret = amdgpu_amdkfd_validate(&param, pd);
>> +    ret = amdgpu_amdkfd_validate_vm_bo(NULL, pd);
>>       if (ret) {
>>           pr_err("failed to validate PD\n");
>>           return ret;
>> -- 
>> 2.31.1
>>
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-08 16:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-08 13:06 [PATCH v3 1/1] drm/amdkfd: use allowed domain for vmbo validation Nirmoy Das
2021-06-08 13:08 ` Christian König
2021-06-08 16:19   ` Felix Kuehling

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.