drm/amdgpu: skip vram reserve on firmware_v2_2 for bare-metal
authorLikun Gao <Likun.Gao@amd.com>
Wed, 23 Nov 2022 09:49:28 +0000 (17:49 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 29 Nov 2022 16:03:36 +0000 (11:03 -0500)
vram_usagebyfirmware v2_2 is only used in SRIOV case, skip the related
settings in bare-metal case currently.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c

index e40df72..ac6fe0a 100644 (file)
@@ -147,16 +147,18 @@ static int amdgpu_atomfirmware_allocate_fb_v2_2(struct amdgpu_device *adev,
                          drv_start_addr,
                          drv_size);
 
-       if ((fw_start_addr & (ATOM_VRAM_BLOCK_NEEDS_NO_RESERVATION <<
-               ATOM_VRAM_OPERATION_FLAGS_SHIFT)) == 0) {
+       if (amdgpu_sriov_vf(adev) &&
+           ((fw_start_addr & (ATOM_VRAM_BLOCK_NEEDS_NO_RESERVATION <<
+               ATOM_VRAM_OPERATION_FLAGS_SHIFT)) == 0)) {
                /* Firmware request VRAM reservation for SR-IOV */
                adev->mman.fw_vram_usage_start_offset = (fw_start_addr &
                        (~ATOM_VRAM_OPERATION_FLAGS_MASK)) << 10;
                adev->mman.fw_vram_usage_size = fw_size << 10;
        }
 
-       if ((drv_start_addr & (ATOM_VRAM_BLOCK_NEEDS_NO_RESERVATION <<
-               ATOM_VRAM_OPERATION_FLAGS_SHIFT)) == 0) {
+       if (amdgpu_sriov_vf(adev) &&
+           ((drv_start_addr & (ATOM_VRAM_BLOCK_NEEDS_NO_RESERVATION <<
+               ATOM_VRAM_OPERATION_FLAGS_SHIFT)) == 0)) {
                /* driver request VRAM reservation for SR-IOV */
                adev->mman.drv_vram_usage_start_offset = (drv_start_addr &
                        (~ATOM_VRAM_OPERATION_FLAGS_MASK)) << 10;