struct edid *edid;
 
        dp->panel->max_dp_lanes = dp->parser->max_dp_lanes;
+       dp->panel->max_dp_link_rate = dp->parser->max_dp_link_rate;
+
+       drm_dbg_dp(dp->drm_dev, "max_lanes=%d max_link_rate=%d\n",
+               dp->panel->max_dp_lanes, dp->panel->max_dp_link_rate);
 
        rc = dp_panel_read_sink_caps(dp->panel, dp->dp_display.connector);
        if (rc)
 
        link_info->rate = drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]);
        link_info->num_lanes = dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK;
 
+       /* Limit data lanes from data-lanes of endpoint property of dtsi */
        if (link_info->num_lanes > dp_panel->max_dp_lanes)
                link_info->num_lanes = dp_panel->max_dp_lanes;
 
-       /* Limit support upto HBR2 until HBR3 support is added */
-       if (link_info->rate >= (drm_dp_bw_code_to_link_rate(DP_LINK_BW_5_4)))
-               link_info->rate = drm_dp_bw_code_to_link_rate(DP_LINK_BW_5_4);
+       /* Limit link rate from link-frequencies of endpoint property of dtsi */
+       if (link_info->rate > dp_panel->max_dp_link_rate)
+               link_info->rate = dp_panel->max_dp_link_rate;
 
        drm_dbg_dp(panel->drm_dev, "version: %d.%d\n", major, minor);
        drm_dbg_dp(panel->drm_dev, "link_rate=%d\n", link_info->rate);