diff options
author | Jerome Glisse <jglisse@redhat.com> | 2009-11-12 08:13:53 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-11-23 22:02:25 -0500 |
commit | f82f5f3ac4de6c6b872fcbb3dec97f368e78ff58 (patch) | |
tree | 8765b1317a8fbf82f0b21efd22d25b5d38eea3ba | |
parent | a698cf34ea867efef12fc29dd63d443f0c71a53c (diff) |
drm/radeon/kms: Report vga connector is connected according to ddc_probe
On broken EDID we were reporting vga connector to be disconnected
even if ddc probe did found a monitor. This patch report that the
connector is connected on such case. This allow drm to add a fail
safe mode (800x600 at the time of this patch) thus user can boot
and later add a mode which match its monitor capabilities.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_connectors.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 55fecfc1f197..29763ceae3af 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c | |||
@@ -566,8 +566,9 @@ static enum drm_connector_status radeon_vga_detect(struct drm_connector *connect | |||
566 | radeon_i2c_do_lock(radeon_connector, 0); | 566 | radeon_i2c_do_lock(radeon_connector, 0); |
567 | 567 | ||
568 | if (!radeon_connector->edid) { | 568 | if (!radeon_connector->edid) { |
569 | DRM_ERROR("DDC responded but not EDID found for %s\n", | 569 | DRM_ERROR("%s: probed a monitor but no|invalid EDID\n", |
570 | drm_get_connector_name(connector)); | 570 | drm_get_connector_name(connector)); |
571 | ret = connector_status_connected; | ||
571 | } else { | 572 | } else { |
572 | radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL); | 573 | radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL); |
573 | 574 | ||
@@ -720,8 +721,8 @@ static enum drm_connector_status radeon_dvi_detect(struct drm_connector *connect | |||
720 | radeon_i2c_do_lock(radeon_connector, 0); | 721 | radeon_i2c_do_lock(radeon_connector, 0); |
721 | 722 | ||
722 | if (!radeon_connector->edid) { | 723 | if (!radeon_connector->edid) { |
723 | DRM_ERROR("DDC responded but not EDID found for %s\n", | 724 | DRM_ERROR("%s: probed a monitor but no|invalid EDID\n", |
724 | drm_get_connector_name(connector)); | 725 | drm_get_connector_name(connector)); |
725 | } else { | 726 | } else { |
726 | radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL); | 727 | radeon_connector->use_digital = !!(radeon_connector->edid->input & DRM_EDID_INPUT_DIGITAL); |
727 | 728 | ||