Skip to content

Commit

Permalink
drm/radeon/kms: also check for edid in lvds detect
Browse files Browse the repository at this point in the history
In case the system has bad native mode info but
valid edid.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
Alex Deucher authored and Dave Airlie committed Oct 12, 2009
1 parent de2103e commit 0549a06
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion drivers/gpu/drm/radeon/radeon_connectors.c
Original file line number Diff line number Diff line change
Expand Up @@ -398,8 +398,10 @@ static int radeon_lvds_mode_valid(struct drm_connector *connector,

static enum drm_connector_status radeon_lvds_detect(struct drm_connector *connector)
{
enum drm_connector_status ret = connector_status_disconnected;
struct radeon_connector *radeon_connector = to_radeon_connector(connector);
struct drm_encoder *encoder = radeon_best_single_encoder(connector);
enum drm_connector_status ret = connector_status_disconnected;
bool dret;

if (encoder) {
struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
Expand All @@ -410,6 +412,15 @@ static enum drm_connector_status radeon_lvds_detect(struct drm_connector *connec
ret = connector_status_connected;

}

/* check for edid as well */
if (radeon_connector->ddc_bus) {
radeon_i2c_do_lock(radeon_connector, 1);
dret = radeon_ddc_probe(radeon_connector);
radeon_i2c_do_lock(radeon_connector, 0);
if (dret)
ret = connector_status_connected;
}
/* check acpi lid status ??? */

radeon_connector_update_scratch_regs(connector, ret);
Expand Down

0 comments on commit 0549a06

Please sign in to comment.