* [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
@ 2023-09-15 2:52 YuBiao Wang
2023-09-15 6:50 ` Christian König
0 siblings, 1 reply; 6+ messages in thread
From: YuBiao Wang @ 2023-09-15 2:52 UTC (permalink / raw)
To: amd-gfx
Cc: YuBiao Wang, Feifei Xu, horace.chen, Kevin Wang, Tuikov Luben,
Deucher Alexander, Christian König, Monk Liu, Hawking Zhang
Directly use tbo's start address will miss the domain start offset. Need
to use gpu_offset instead.
Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
---
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index 77159b03a422..36e7171ad9a7 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -216,7 +216,7 @@ static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
if (q->wptr_bo) {
wptr_addr_off = (uint64_t)q->properties.write_ptr & (PAGE_SIZE - 1);
- queue_input.wptr_mc_addr = ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) + wptr_addr_off;
+ queue_input.wptr_mc_addr = amdgpu_bo_gpu_offset(q->wptr_bo) + wptr_addr_off;
}
queue_input.is_kfd_process = 1;
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
2023-09-15 2:52 [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr YuBiao Wang
@ 2023-09-15 6:50 ` Christian König
2023-09-15 14:53 ` Felix Kuehling
0 siblings, 1 reply; 6+ messages in thread
From: Christian König @ 2023-09-15 6:50 UTC (permalink / raw)
To: YuBiao Wang, amd-gfx, Kuehling, Felix, Sharma, Shashank
Cc: Feifei Xu, horace.chen, Kevin Wang, Tuikov Luben,
Deucher Alexander, Monk Liu, Hawking Zhang
Am 15.09.23 um 04:52 schrieb YuBiao Wang:
> Directly use tbo's start address will miss the domain start offset. Need
> to use gpu_offset instead.
>
> Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
Felix and/or Shashank should probably take a look as well, but of hand
that looks like the correct fix.
Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> index 77159b03a422..36e7171ad9a7 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -216,7 +216,7 @@ static int add_queue_mes(struct device_queue_manager *dqm, struct queue *q,
>
> if (q->wptr_bo) {
> wptr_addr_off = (uint64_t)q->properties.write_ptr & (PAGE_SIZE - 1);
> - queue_input.wptr_mc_addr = ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) + wptr_addr_off;
> + queue_input.wptr_mc_addr = amdgpu_bo_gpu_offset(q->wptr_bo) + wptr_addr_off;
> }
>
> queue_input.is_kfd_process = 1;
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
2023-09-15 6:50 ` Christian König
@ 2023-09-15 14:53 ` Felix Kuehling
2023-09-18 2:14 ` Wang, YuBiao
2023-09-18 8:23 ` Christian König
0 siblings, 2 replies; 6+ messages in thread
From: Felix Kuehling @ 2023-09-15 14:53 UTC (permalink / raw)
To: Christian König, YuBiao Wang, amd-gfx, Sharma, Shashank
Cc: Feifei Xu, horace.chen, Kevin Wang, Tuikov Luben,
Deucher Alexander, Monk Liu, Hawking Zhang
On 2023-09-15 2:50, Christian König wrote:
> Am 15.09.23 um 04:52 schrieb YuBiao Wang:
>> Directly use tbo's start address will miss the domain start offset. Need
>> to use gpu_offset instead.
>>
>> Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
>
> Felix and/or Shashank should probably take a look as well, but of hand
> that looks like the correct fix.
Looks reasonable to me. Why did this not cause problems before? Are we
just lucky that the domain start offset is 0 on the GPUs we've tested so
far?
Regards,
Felix
>
> Reviewed-by: Christian König <christian.koenig@amd.com>
>
>> ---
>> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> index 77159b03a422..36e7171ad9a7 100644
>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> @@ -216,7 +216,7 @@ static int add_queue_mes(struct
>> device_queue_manager *dqm, struct queue *q,
>> if (q->wptr_bo) {
>> wptr_addr_off = (uint64_t)q->properties.write_ptr &
>> (PAGE_SIZE - 1);
>> - queue_input.wptr_mc_addr =
>> ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) +
>> wptr_addr_off;
>> + queue_input.wptr_mc_addr = amdgpu_bo_gpu_offset(q->wptr_bo)
>> + wptr_addr_off;
>> }
>> queue_input.is_kfd_process = 1;
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
2023-09-15 14:53 ` Felix Kuehling
@ 2023-09-18 2:14 ` Wang, YuBiao
2023-09-18 16:11 ` Felix Kuehling
2023-09-18 8:23 ` Christian König
1 sibling, 1 reply; 6+ messages in thread
From: Wang, YuBiao @ 2023-09-18 2:14 UTC (permalink / raw)
To: Kuehling, Felix, Koenig, Christian, amd-gfx@lists.freedesktop.org,
Sharma, Shashank
Cc: Xu, Feifei, Chen, Horace, Kevin Wang, Tuikov, Luben,
Deucher, Alexander, Liu, Monk, Zhang, Hawking
[AMD Official Use Only - General]
Hi Felix,
Yeah, I believe that we were always set gart domain start as 0 before.
Regards,
Yubiao
-----Original Message-----
From: Kuehling, Felix <Felix.Kuehling@amd.com>
Sent: Friday, September 15, 2023 10:54 PM
To: Koenig, Christian <Christian.Koenig@amd.com>; Wang, YuBiao <YuBiao.Wang@amd.com>; amd-gfx@lists.freedesktop.org; Sharma, Shashank <Shashank.Sharma@amd.com>
Cc: Chen, Horace <Horace.Chen@amd.com>; Tuikov, Luben <Luben.Tuikov@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Zhang, Hawking <Hawking.Zhang@amd.com>; Liu, Monk <Monk.Liu@amd.com>; Xu, Feifei <Feifei.Xu@amd.com>; Kevin Wang <Kevin1.Wang@amd.com>
Subject: Re: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
On 2023-09-15 2:50, Christian König wrote:
> Am 15.09.23 um 04:52 schrieb YuBiao Wang:
>> Directly use tbo's start address will miss the domain start offset.
>> Need to use gpu_offset instead.
>>
>> Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
>
> Felix and/or Shashank should probably take a look as well, but of hand
> that looks like the correct fix.
Looks reasonable to me. Why did this not cause problems before? Are we just lucky that the domain start offset is 0 on the GPUs we've tested so far?
Regards,
Felix
>
> Reviewed-by: Christian König <christian.koenig@amd.com>
>
>> ---
>> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> index 77159b03a422..36e7171ad9a7 100644
>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>> @@ -216,7 +216,7 @@ static int add_queue_mes(struct
>> device_queue_manager *dqm, struct queue *q,
>> if (q->wptr_bo) {
>> wptr_addr_off = (uint64_t)q->properties.write_ptr &
>> (PAGE_SIZE - 1);
>> - queue_input.wptr_mc_addr =
>> ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) +
>> wptr_addr_off;
>> + queue_input.wptr_mc_addr = amdgpu_bo_gpu_offset(q->wptr_bo)
>> +wptr_addr_off;
>> }
>> queue_input.is_kfd_process = 1;
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
2023-09-15 14:53 ` Felix Kuehling
2023-09-18 2:14 ` Wang, YuBiao
@ 2023-09-18 8:23 ` Christian König
1 sibling, 0 replies; 6+ messages in thread
From: Christian König @ 2023-09-18 8:23 UTC (permalink / raw)
To: Felix Kuehling, Christian König, YuBiao Wang, amd-gfx,
Sharma, Shashank
Cc: Feifei Xu, horace.chen, Kevin Wang, Tuikov Luben,
Deucher Alexander, Monk Liu, Hawking Zhang
Am 15.09.23 um 16:53 schrieb Felix Kuehling:
> On 2023-09-15 2:50, Christian König wrote:
>> Am 15.09.23 um 04:52 schrieb YuBiao Wang:
>>> Directly use tbo's start address will miss the domain start offset.
>>> Need
>>> to use gpu_offset instead.
>>>
>>> Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
>>
>> Felix and/or Shashank should probably take a look as well, but of
>> hand that looks like the correct fix.
>
> Looks reasonable to me. Why did this not cause problems before? Are we
> just lucky that the domain start offset is 0 on the GPUs we've tested
> so far?
By coincident the GART ended up being placed at 0 before. Now Alex has
to move it to work around other issues.
Regards,
Christian.
>
> Regards,
> Felix
>
>
>>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>>
>>> ---
>>> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> index 77159b03a422..36e7171ad9a7 100644
>>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> @@ -216,7 +216,7 @@ static int add_queue_mes(struct
>>> device_queue_manager *dqm, struct queue *q,
>>> if (q->wptr_bo) {
>>> wptr_addr_off = (uint64_t)q->properties.write_ptr &
>>> (PAGE_SIZE - 1);
>>> - queue_input.wptr_mc_addr =
>>> ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) +
>>> wptr_addr_off;
>>> + queue_input.wptr_mc_addr = amdgpu_bo_gpu_offset(q->wptr_bo)
>>> + wptr_addr_off;
>>> }
>>> queue_input.is_kfd_process = 1;
>>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
2023-09-18 2:14 ` Wang, YuBiao
@ 2023-09-18 16:11 ` Felix Kuehling
0 siblings, 0 replies; 6+ messages in thread
From: Felix Kuehling @ 2023-09-18 16:11 UTC (permalink / raw)
To: Wang, YuBiao, Koenig, Christian, amd-gfx@lists.freedesktop.org,
Sharma, Shashank
Cc: Xu, Feifei, Chen, Horace, Kevin Wang, Tuikov, Luben,
Deucher, Alexander, Liu, Monk, Zhang, Hawking
On 2023-09-17 22:14, Wang, YuBiao wrote:
> [AMD Official Use Only - General]
>
> Hi Felix,
>
> Yeah, I believe that we were always set gart domain start as 0 before.
Thanks for confirming that. The patch is
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
>
> Regards,
> Yubiao
>
> -----Original Message-----
> From: Kuehling, Felix <Felix.Kuehling@amd.com>
> Sent: Friday, September 15, 2023 10:54 PM
> To: Koenig, Christian <Christian.Koenig@amd.com>; Wang, YuBiao <YuBiao.Wang@amd.com>; amd-gfx@lists.freedesktop.org; Sharma, Shashank <Shashank.Sharma@amd.com>
> Cc: Chen, Horace <Horace.Chen@amd.com>; Tuikov, Luben <Luben.Tuikov@amd.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; Zhang, Hawking <Hawking.Zhang@amd.com>; Liu, Monk <Monk.Liu@amd.com>; Xu, Feifei <Feifei.Xu@amd.com>; Kevin Wang <Kevin1.Wang@amd.com>
> Subject: Re: [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr
>
> On 2023-09-15 2:50, Christian König wrote:
>> Am 15.09.23 um 04:52 schrieb YuBiao Wang:
>>> Directly use tbo's start address will miss the domain start offset.
>>> Need to use gpu_offset instead.
>>>
>>> Signed-off-by: YuBiao Wang <YuBiao.Wang@amd.com>
>> Felix and/or Shashank should probably take a look as well, but of hand
>> that looks like the correct fix.
> Looks reasonable to me. Why did this not cause problems before? Are we just lucky that the domain start offset is 0 on the GPUs we've tested so far?
>
> Regards,
> Felix
>
>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>>
>>> ---
>>> drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> index 77159b03a422..36e7171ad9a7 100644
>>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
>>> @@ -216,7 +216,7 @@ static int add_queue_mes(struct
>>> device_queue_manager *dqm, struct queue *q,
>>> if (q->wptr_bo) {
>>> wptr_addr_off = (uint64_t)q->properties.write_ptr &
>>> (PAGE_SIZE - 1);
>>> - queue_input.wptr_mc_addr =
>>> ((uint64_t)q->wptr_bo->tbo.resource->start << PAGE_SHIFT) +
>>> wptr_addr_off;
>>> + queue_input.wptr_mc_addr = amdgpu_bo_gpu_offset(q->wptr_bo)
>>> +wptr_addr_off;
>>> }
>>> queue_input.is_kfd_process = 1;
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-09-18 16:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-15 2:52 [PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr YuBiao Wang
2023-09-15 6:50 ` Christian König
2023-09-15 14:53 ` Felix Kuehling
2023-09-18 2:14 ` Wang, YuBiao
2023-09-18 16:11 ` Felix Kuehling
2023-09-18 8:23 ` Christian König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox