|
@@ -371,6 +371,8 @@ static enum drm_mode_status
|
|
intel_dp_mst_mode_valid(struct drm_connector *connector,
|
|
intel_dp_mst_mode_valid(struct drm_connector *connector,
|
|
struct drm_display_mode *mode)
|
|
struct drm_display_mode *mode)
|
|
{
|
|
{
|
|
|
|
+ int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
|
|
|
|
+
|
|
/* TODO - validate mode against available PBN for link */
|
|
/* TODO - validate mode against available PBN for link */
|
|
if (mode->clock < 10000)
|
|
if (mode->clock < 10000)
|
|
return MODE_CLOCK_LOW;
|
|
return MODE_CLOCK_LOW;
|
|
@@ -378,6 +380,9 @@ intel_dp_mst_mode_valid(struct drm_connector *connector,
|
|
if (mode->flags & DRM_MODE_FLAG_DBLCLK)
|
|
if (mode->flags & DRM_MODE_FLAG_DBLCLK)
|
|
return MODE_H_ILLEGAL;
|
|
return MODE_H_ILLEGAL;
|
|
|
|
|
|
|
|
+ if (mode->clock > max_dotclk)
|
|
|
|
+ return MODE_CLOCK_HIGH;
|
|
|
|
+
|
|
return MODE_OK;
|
|
return MODE_OK;
|
|
}
|
|
}
|
|
|
|
|