Commit d4f6425a authored by Le Ma's avatar Le Ma Committed by Alex Deucher

drm/amdgpu: update mall info v2 from discovery

Mall info v2 is introduced in ip discovery
Signed-off-by: default avatarLe Ma <le.ma@amd.com>
Reviewed-by: default avatarShiwu Zhang <shiwu.zhang@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: default avatarLijo Lazar <lijo.lazar@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4b721ed8
...@@ -1478,6 +1478,7 @@ static int amdgpu_discovery_get_gfx_info(struct amdgpu_device *adev) ...@@ -1478,6 +1478,7 @@ static int amdgpu_discovery_get_gfx_info(struct amdgpu_device *adev)
union mall_info { union mall_info {
struct mall_info_v1_0 v1; struct mall_info_v1_0 v1;
struct mall_info_v2_0 v2;
}; };
static int amdgpu_discovery_get_mall_info(struct amdgpu_device *adev) static int amdgpu_discovery_get_mall_info(struct amdgpu_device *adev)
...@@ -1518,6 +1519,10 @@ static int amdgpu_discovery_get_mall_info(struct amdgpu_device *adev) ...@@ -1518,6 +1519,10 @@ static int amdgpu_discovery_get_mall_info(struct amdgpu_device *adev)
adev->gmc.mall_size = mall_size; adev->gmc.mall_size = mall_size;
adev->gmc.m_half_use = half_use; adev->gmc.m_half_use = half_use;
break; break;
case 2:
mall_size_per_umc = le32_to_cpu(mall_info->v2.mall_size_per_umc);
adev->gmc.mall_size = mall_size_per_umc * adev->gmc.num_umc;
break;
default: default:
dev_err(adev->dev, dev_err(adev->dev,
"Unhandled MALL info table %d.%d\n", "Unhandled MALL info table %d.%d\n",
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#define GC_TABLE_ID 0x4347 #define GC_TABLE_ID 0x4347
#define HARVEST_TABLE_SIGNATURE 0x56524148 #define HARVEST_TABLE_SIGNATURE 0x56524148
#define VCN_INFO_TABLE_ID 0x004E4356 #define VCN_INFO_TABLE_ID 0x004E4356
#define MALL_INFO_TABLE_ID 0x4D414C4C #define MALL_INFO_TABLE_ID 0x4C4C414D
typedef enum typedef enum
{ {
...@@ -312,6 +312,12 @@ struct mall_info_v1_0 { ...@@ -312,6 +312,12 @@ struct mall_info_v1_0 {
uint32_t reserved[5]; uint32_t reserved[5];
}; };
struct mall_info_v2_0 {
struct mall_info_header header;
uint32_t mall_size_per_umc;
uint32_t reserved[8];
};
#define VCN_INFO_TABLE_MAX_NUM_INSTANCES 4 #define VCN_INFO_TABLE_MAX_NUM_INSTANCES 4
struct vcn_info_header { struct vcn_info_header {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment