drm/radeon/kms: fix shared ddc handling
Connectors with a shared ddc line can be connected to different encoders. Reported by Pasi Kärkkäinen <pasik@iki.fi> on dri-devel Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
5870a4d97d
commit
b2ea4aa67b
@@ -785,7 +785,9 @@ static enum drm_connector_status radeon_dvi_detect(struct drm_connector *connect
|
|||||||
if (connector == list_connector)
|
if (connector == list_connector)
|
||||||
continue;
|
continue;
|
||||||
list_radeon_connector = to_radeon_connector(list_connector);
|
list_radeon_connector = to_radeon_connector(list_connector);
|
||||||
if (radeon_connector->devices == list_radeon_connector->devices) {
|
if (list_radeon_connector->shared_ddc &&
|
||||||
|
(list_radeon_connector->ddc_bus->rec.i2c_id ==
|
||||||
|
radeon_connector->ddc_bus->rec.i2c_id)) {
|
||||||
if (drm_detect_hdmi_monitor(radeon_connector->edid)) {
|
if (drm_detect_hdmi_monitor(radeon_connector->edid)) {
|
||||||
if (connector->connector_type == DRM_MODE_CONNECTOR_DVID) {
|
if (connector->connector_type == DRM_MODE_CONNECTOR_DVID) {
|
||||||
kfree(radeon_connector->edid);
|
kfree(radeon_connector->edid);
|
||||||
|
Reference in New Issue
Block a user