diff options
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_drrs.c')
| -rw-r--r-- | drivers/gpu/drm/i915/display/intel_drrs.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c b/drivers/gpu/drm/i915/display/intel_drrs.c index c1439fcb5a95..3ff149df4a77 100644 --- a/drivers/gpu/drm/i915/display/intel_drrs.c +++ b/drivers/gpu/drm/i915/display/intel_drrs.c @@ -405,6 +405,7 @@ intel_drrs_init(struct intel_connector *connector,  		struct drm_display_mode *fixed_mode)  {  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev); +	struct intel_encoder *encoder = connector->encoder;  	struct drm_display_mode *downclock_mode = NULL;  	INIT_DELAYED_WORK(&dev_priv->drrs.work, intel_drrs_downclock_work); @@ -416,6 +417,13 @@ intel_drrs_init(struct intel_connector *connector,  		return NULL;  	} +	if ((DISPLAY_VER(dev_priv) < 8 && !HAS_GMCH(dev_priv)) && +	    encoder->port != PORT_A) { +		drm_dbg_kms(&dev_priv->drm, +			    "DRRS only supported on eDP port A\n"); +		return NULL; +	} +  	if (dev_priv->vbt.drrs_type != SEAMLESS_DRRS_SUPPORT) {  		drm_dbg_kms(&dev_priv->drm, "VBT doesn't support DRRS\n");  		return NULL; |