VRAM width per memory channel for LPDDR5
AMDGPU drivers report 256-bits of VRAM width on APUs using LPDDR5.
However, according to the product specifications, VRAM width is 128-bits.
- VanGogh
- Rembrandt/Yellow Carp
- Mendocino (AMDGPU: LPDDR5 128-bits, actually: LPDDR5 64-bits)
I think it is because the code in the drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
fixes the bus width per memory channel at 64-bits.
if (adev->flags & AMD_IS_APU) {
igp_info = (union igp_info *)
(mode_info->atom_context->bios + data_offset);
switch (frev) {
case 1:
switch (crev) {
case 11:
case 12:
mem_channel_number = igp_info->v11.umachannelnumber;
if (!mem_channel_number)
mem_channel_number = 1;
/* channel width is 64 */
if (vram_width)
*vram_width = mem_channel_number * 64;
mem_type = igp_info->v11.memorytype;
if (vram_type)
*vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
break;
default:
return -EINVAL;
}
break;
case 2:
switch (crev) {
case 1:
case 2:
mem_channel_number = igp_info->v21.umachannelnumber;
if (!mem_channel_number)
mem_channel_number = 1;
/* channel width is 64 */
if (vram_width)
*vram_width = mem_channel_number * 64;
mem_type = igp_info->v21.memorytype;
if (vram_type)
*vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type);
break;
default:
return -EINVAL;
}
break;
default:
return -EINVAL;
}
Edited by Umio Yasuno