[PATCH 1/4] drm/amdgpu: Allocate root PD on correct partition

2023-07-17 Thread Guchun Chen
file_priv needs to be setup firstly, otherwise, root PD
will always be allocated on partition 0, even if opening
the device from other partitions.

Fixes: ffc6deb773f7 ("drm/amdkfd: Store xcp partition id to amdgpu bo")
Signed-off-by: Guchun Chen 
Reviewed-by: Felix Kuehling 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 85a0d5f419c8..53a024cf0544 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -1232,13 +1232,13 @@ int amdgpu_driver_open_kms(struct drm_device *dev, 
struct drm_file *file_priv)
pasid = 0;
}
 
-   r = amdgpu_vm_init(adev, >vm);
+   r = amdgpu_xcp_open_device(adev, fpriv, file_priv);
if (r)
goto error_pasid;
 
-   r = amdgpu_xcp_open_device(adev, fpriv, file_priv);
+   r = amdgpu_vm_init(adev, >vm);
if (r)
-   goto error_vm;
+   goto error_pasid;
 
r = amdgpu_vm_set_pasid(adev, >vm, pasid);
if (r)
-- 
2.25.1



[PATCH 1/4] drm/amdgpu: Allocate root PD on correct partition

2023-07-16 Thread Guchun Chen
file_priv needs to be setup firstly, otherwise, root PD
will always be allocated on partition 0, even if opening
the device from other partitions.

Signed-off-by: Guchun Chen 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 85a0d5f419c8..53a024cf0544 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -1232,13 +1232,13 @@ int amdgpu_driver_open_kms(struct drm_device *dev, 
struct drm_file *file_priv)
pasid = 0;
}
 
-   r = amdgpu_vm_init(adev, >vm);
+   r = amdgpu_xcp_open_device(adev, fpriv, file_priv);
if (r)
goto error_pasid;
 
-   r = amdgpu_xcp_open_device(adev, fpriv, file_priv);
+   r = amdgpu_vm_init(adev, >vm);
if (r)
-   goto error_vm;
+   goto error_pasid;
 
r = amdgpu_vm_set_pasid(adev, >vm, pasid);
if (r)
-- 
2.25.1