diff options
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm')
| -rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 17 | 
1 files changed, 11 insertions, 6 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 94c29b74c086..9c83c1303f08 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2008,17 +2008,22 @@ void amdgpu_dm_update_connector_after_detect(  		dc_sink_retain(aconnector->dc_sink);  		if (sink->dc_edid.length == 0) {  			aconnector->edid = NULL; -			drm_dp_cec_unset_edid(&aconnector->dm_dp_aux.aux); +			if (aconnector->dc_link->aux_mode) { +				drm_dp_cec_unset_edid( +					&aconnector->dm_dp_aux.aux); +			}  		} else {  			aconnector->edid = -				(struct edid *) sink->dc_edid.raw_edid; - +				(struct edid *)sink->dc_edid.raw_edid;  			drm_connector_update_edid_property(connector, -					aconnector->edid); -			drm_dp_cec_set_edid(&aconnector->dm_dp_aux.aux, -					    aconnector->edid); +							   aconnector->edid); + +			if (aconnector->dc_link->aux_mode) +				drm_dp_cec_set_edid(&aconnector->dm_dp_aux.aux, +						    aconnector->edid);  		} +  		amdgpu_dm_update_freesync_caps(connector, aconnector->edid);  		update_connector_ext_caps(aconnector);  	} else { |