diff options
| author | Dave Airlie <airlied@redhat.com> | 2024-05-23 12:49:41 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2024-05-23 12:49:44 +1000 |
| commit | c99eb9cc2a5249b07abf1dd70bd0285f8a8cdc71 (patch) | |
| tree | 30239f8545e983b1096c14690bf45b0cd63465f2 /drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | |
| parent | 3e3eb55e2b5fec69d5128896061149e0ba6b39c8 (diff) | |
| parent | e64e8f7c178e5228e0b2dbb504b9dc75953a319f (diff) | |
| download | linux-c99eb9cc2a5249b07abf1dd70bd0285f8a8cdc71.tar.gz linux-c99eb9cc2a5249b07abf1dd70bd0285f8a8cdc71.tar.bz2 linux-c99eb9cc2a5249b07abf1dd70bd0285f8a8cdc71.zip | |
Merge tag 'amd-drm-fixes-6.10-2024-05-22' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
amd-drm-fixes-6.10-2024-05-22:
amdgpu:
- Handle vbios table integrated info v2.3
amdkfd:
- Handle duplicate BOs in reserve_bo_and_cond_vms
- Handle memory limitations on small APUs
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240522185346.16716-1-alexander.deucher@amd.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c index a6d64bdbbb14..108003bdf1e9 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c @@ -212,6 +212,7 @@ union igp_info { struct atom_integrated_system_info_v1_11 v11; struct atom_integrated_system_info_v1_12 v12; struct atom_integrated_system_info_v2_1 v21; + struct atom_integrated_system_info_v2_3 v23; }; union umc_info { @@ -360,6 +361,20 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev, if (vram_type) *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); break; + case 3: + mem_channel_number = igp_info->v23.umachannelnumber; + if (!mem_channel_number) + mem_channel_number = 1; + mem_type = igp_info->v23.memorytype; + if (mem_type == LpDdr5MemType) + mem_channel_width = 32; + else + mem_channel_width = 64; + if (vram_width) + *vram_width = mem_channel_number * mem_channel_width; + if (vram_type) + *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); + break; default: return -EINVAL; } |
