[PATCH] drm/amdkfd: Enforce queue BO's adev

Felix Kuehling felix.kuehling at amd.com
Wed Apr 24 18:21:53 UTC 2024


On 2024-04-24 13:40, Harish Kasiviswanathan wrote:
> Queue buffer, though it is in system memory, has to be created using the
> correct amdgpu device. Enforce this as the BO needs to mapped to the
> GART for MES Hardware scheduler to access it.
>
> Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan at amd.com>

I guess this doesn't break existing user mode. It only makes it fail in 
a more obvious way. If that's the case, the patch is

Reviewed-by: Felix Kuehling <felix.kuehling at amd.com>


> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> index 8fd5e0da628c..963cf6d657cb 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> @@ -373,6 +373,11 @@ static int kfd_ioctl_create_queue(struct file *filep, struct kfd_process *p,
>   			err = -EINVAL;
>   			goto err_wptr_map_gart;
>   		}
> +		if (dev->adev != amdgpu_ttm_adev(wptr_bo->tbo.bdev)) {
> +			pr_err("Queue memory allocated to wrong device\n");
> +			err = -EINVAL;
> +			goto err_wptr_map_gart;
> +		}
>   
>   		err = amdgpu_amdkfd_map_gtt_bo_to_gart(dev->adev, wptr_bo);
>   		if (err) {


More information about the amd-gfx mailing list