* [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,
- ¶m);
+ 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(¶m, 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,
> - ¶m);
> + 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(¶m, 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,
>> - ¶m);
>> + 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(¶m, 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.