[PATCH] drm/amdkfd: Use gpu_offset for user queue's wptr

Christian König christian.koenig at amd.com
Fri Sep 15 06:50:01 UTC 2023


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 at 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 at 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;



More information about the amd-gfx mailing list