aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-04-19 15:42:58 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-22 15:31:16 -0700
commit81e37fdce400ce5d005052c75d5e093578f21617 (patch)
treeaa322ff79113184fea751392a0ea93319d43d1e6
parent0a2f823acff10b95374cea2f5debfeda9c2fc5c0 (diff)
downloadkernel_goldelico_gta04-81e37fdce400ce5d005052c75d5e093578f21617.zip
kernel_goldelico_gta04-81e37fdce400ce5d005052c75d5e093578f21617.tar.gz
kernel_goldelico_gta04-81e37fdce400ce5d005052c75d5e093578f21617.tar.bz2
drm/radeon: fix load detect on rn50 with hardcoded EDIDs.
commit a09d431f344d854e4fe9cfac44f78cb8202f3eb7 upstream. When the force changes went in back in 3.3.0, we ended up returning disconnected in the !force case, and the connected in when forced, as it hit the hardcoded check. Fix it so all exits go via the hardcoded check and stop spurious modesets on platforms with hardcoded EDIDs. Reported-by: Evan McNabb (Red Hat) Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/radeon/radeon_connectors.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
index f19ea2e..4a4493f 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -976,6 +976,7 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
* cases the DVI port is actually a virtual KVM port connected to the service
* processor.
*/
+out:
if ((!rdev->is_atom_bios) &&
(ret == connector_status_disconnected) &&
rdev->mode_info.bios_hardcoded_edid_size) {
@@ -983,7 +984,6 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
ret = connector_status_connected;
}
-out:
/* updated in get modes as well since we need to know if it's analog or digital */
radeon_connector_update_scratch_regs(connector, ret);
return ret;