return ret;
 }
 
-static bool is_dp_capable_without_timing_msa(struct dc *dc,
-                                            struct amdgpu_dm_connector *amdgpu_dm_connector)
-{
-       u8 dpcd_data;
-       bool capable = false;
-
-       if (amdgpu_dm_connector->dc_link &&
-               dm_helpers_dp_read_dpcd(
-                               NULL,
-                               amdgpu_dm_connector->dc_link,
-                               DP_DOWN_STREAM_PORT_COUNT,
-                               &dpcd_data,
-                               sizeof(dpcd_data))) {
-               capable = (dpcd_data & DP_MSA_TIMING_PAR_IGNORED) ? true:false;
-       }
-
-       return capable;
-}
-
 static bool dm_edid_parser_send_cea(struct amdgpu_display_manager *dm,
                unsigned int offset,
                unsigned int total_length,
                     sink->sink_signal == SIGNAL_TYPE_EDP)) {
                bool edid_check_required = false;
 
-               if (is_dp_capable_without_timing_msa(adev->dm.dc,
-                                                    amdgpu_dm_connector)) {
+               if (amdgpu_dm_connector->dc_link &&
+                   amdgpu_dm_connector->dc_link->dpcd_caps.allow_invalid_MSA_timing_param) {
                        if (edid->features & DRM_EDID_FEATURE_CONTINUOUS_FREQ) {
                                amdgpu_dm_connector->min_vfreq = connector->display_info.monitor_range.min_vfreq;
                                amdgpu_dm_connector->max_vfreq = connector->display_info.monitor_range.max_vfreq;