From: Le Ma <[email protected]>

This region is reserved by firmware thus carve it out in driver.

v2: set reserve size based on aid configuration.

Signed-off-by: Le Ma <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 0f83d140b6ae5..87b913a62fb6a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1835,7 +1835,13 @@ static int amdgpu_ttm_reserve_tmr(struct amdgpu_device 
*adev)
             amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 4) ||
             amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 5, 0)))
                reserve_size = max(reserve_size, (uint32_t)280 << 20);
-       else if (!reserve_size)
+       else if (!adev->bios && 
+                amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(12, 1, 0)) {
+               if (hweight32(adev->aid_mask) == 1)
+                       reserve_size = max(reserve_size, (uint32_t)128 << 20);
+               else
+                       reserve_size = max(reserve_size, (uint32_t)144 << 20);
+       } else if (!reserve_size)
                reserve_size = DISCOVERY_TMR_OFFSET;
 
        if (mem_train_support) {
-- 
2.52.0

Reply via email to