From: Likun Gao <[email protected]>

Set GFXHUB accodring to xcc_mask for gfx version 12_1.

Signed-off-by: Likun Gao <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
index dfb06baea1ff1..74bbb683cd0f1 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
@@ -805,7 +805,6 @@ static int gmc_v12_0_sw_init(struct amdgpu_ip_block 
*ip_block)
        switch (amdgpu_ip_version(adev, GC_HWIP, 0)) {
        case IP_VERSION(12, 0, 0):
        case IP_VERSION(12, 0, 1):
-       case IP_VERSION(12, 1, 0):
                set_bit(AMDGPU_GFXHUB(0), adev->vmhubs_mask);
                set_bit(AMDGPU_MMHUB0(0), adev->vmhubs_mask);
                /*
@@ -815,6 +814,17 @@ static int gmc_v12_0_sw_init(struct amdgpu_ip_block 
*ip_block)
                 */
                amdgpu_vm_adjust_size(adev, 256 * 1024, 9, 3, 48);
                break;
+       case IP_VERSION(12, 1, 0):
+               bitmap_set(adev->vmhubs_mask, AMDGPU_GFXHUB(0),
+                               NUM_XCC(adev->gfx.xcc_mask));
+               set_bit(AMDGPU_MMHUB0(0), adev->vmhubs_mask);
+               /*
+                * To fulfill 4-level page support,
+                * vm size is 256TB (48bit), maximum size,
+                * block size 512 (9bit)
+                */
+               amdgpu_vm_adjust_size(adev, 256 * 1024, 9, 3, 48);
+               break;
        default:
                break;
        }
-- 
2.51.1

Reply via email to