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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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@xxxxxxx>

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@xxxxxxx>

  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) {

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux