drm/amdgpu: Add soc config init for GC9.4.3 ASICs
authorLijo Lazar <lijo.lazar@amd.com>
Fri, 23 Sep 2022 09:13:17 +0000 (14:43 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:49:39 +0000 (09:49 -0400)
Add function to initialize soc configuration information for GC 9.4.3
ASICs. Use it to map IPs and other SOC related information once IP
configuration information is available through discovery.

For GC9.4.3 compute partition related callbacks are initialized as part
of configuration init.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram_reg_init.c
drivers/gpu/drm/amd/amdgpu/soc15.h

index b602df4b445a94e5448ff4df47d46c07a22d9e93..e6d10a3f1753c4ba18851fdc1a11ed018c1eb6e7 100644 (file)
@@ -1983,11 +1983,11 @@ static int amdgpu_discovery_set_mes_ip_blocks(struct amdgpu_device *adev)
        return 0;
 }
 
-static void amdgpu_discovery_ip_map_init(struct amdgpu_device *adev)
+static void amdgpu_discovery_init_soc_config(struct amdgpu_device *adev)
 {
        switch (adev->ip_versions[GC_HWIP][0]) {
        case IP_VERSION(9, 4, 3):
-               aqua_vanjaram_ip_map_init(adev);
+               aqua_vanjaram_init_soc_config(adev);
                break;
        default:
                break;
@@ -2171,7 +2171,7 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
                break;
        }
 
-       amdgpu_discovery_ip_map_init(adev);
+       amdgpu_discovery_init_soc_config(adev);
 
        switch (adev->ip_versions[GC_HWIP][0]) {
        case IP_VERSION(9, 0, 1):
index 4264fbd267ae3b3d0ac07452c07f49219cf40694..a9de229a2828668560abc4f81e65357206e66433 100644 (file)
@@ -351,3 +351,16 @@ static int aqua_vanjaram_xcp_mgr_init(struct amdgpu_device *adev)
 
        return ret;
 }
+
+int aqua_vanjaram_init_soc_config(struct amdgpu_device *adev)
+{
+       int ret;
+
+       ret = aqua_vanjaram_xcp_mgr_init(adev);
+       if (ret)
+               return ret;
+
+       aqua_vanjaram_ip_map_init(adev);
+
+       return 0;
+}
index dd48db09aa51117894185e6438ab4948b2fd3971..eac54042c6c0e424629cf6c2c3cbbe8824ad3246 100644 (file)
@@ -113,6 +113,7 @@ int arct_reg_base_init(struct amdgpu_device *adev);
 int aldebaran_reg_base_init(struct amdgpu_device *adev);
 void aqua_vanjaram_ip_map_init(struct amdgpu_device *adev);
 u64 aqua_vanjaram_encode_ext_smn_addressing(int ext_id);
+int aqua_vanjaram_init_soc_config(struct amdgpu_device *adev);
 
 void vega10_doorbell_index_init(struct amdgpu_device *adev);
 void vega20_doorbell_index_init(struct amdgpu_device *adev);