Use IP versions rather than asic_type to differentiate IP version specific 
features.

Signed-off-by: Tim Huang <xiaohu.hu...@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 87299e62fe12..c967e1e344e4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -1119,19 +1119,17 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
        for (i = 0; i < fb_info->num_fb; ++i)
                hw_params.fb[i] = &fb_info->fb[i];
 
-       switch (adev->asic_type) {
-       case CHIP_YELLOW_CARP:
-               if (dc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_A0) {
-                       hw_params.dpia_supported = true;
+       switch (adev->ip_versions[DCE_HWIP][0]) {
+       case IP_VERSION(3, 1, 3): /* Only for this asic hw internal rev B0 */
+               hw_params.dpia_supported = true;
 #if defined(CONFIG_DRM_AMD_DC_DCN)
-                       hw_params.disable_dpia = 
dc->debug.dpia_debug.bits.disable_dpia;
+               hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia;
 #endif
-               }
                break;
        default:
                break;
        }
-
+       
        status = dmub_srv_hw_init(dmub_srv, &hw_params);
        if (status != DMUB_STATUS_OK) {
                DRM_ERROR("Error initializing DMUB HW: %d\n", status);
-- 
2.25.1

Reply via email to