summaryrefslogtreecommitdiff
path: root/src/atombios_output.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-08-20 01:17:13 -0400
committerAlex Deucher <alexdeucher@gmail.com>2010-08-20 01:17:13 -0400
commitbdd41fecdb19c83c6c7b793016b61d38065dcd13 (patch)
tree234ba4e6a227315efbc3dd632f82cd50f6e3cc95 /src/atombios_output.c
parentad8ea1f6e5fcb4f163622cf5eab953ea812b5829 (diff)
evergreen: set encoder type to DVI for HDMI
Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=27452 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/atombios_output.c')
-rw-r--r--src/atombios_output.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/atombios_output.c b/src/atombios_output.c
index da766833..0d92bfae 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -422,6 +422,8 @@ atombios_maybe_hdmi_mode(xf86OutputPtr output)
int
atombios_get_encoder_mode(xf86OutputPtr output)
{
+ ScrnInfoPtr pScrn = output->scrn;
+ RADEONInfoPtr info = RADEONPTR(pScrn);
RADEONOutputPrivatePtr radeon_output = output->driver_private;
/* DVI should really be atombios_maybe_hdmi_mode() as well */
@@ -438,7 +440,10 @@ atombios_get_encoder_mode(xf86OutputPtr output)
break;
case CONNECTOR_HDMI_TYPE_A:
case CONNECTOR_HDMI_TYPE_B:
- return atombios_maybe_hdmi_mode(output);
+ if (IS_DCE4_VARIANT)
+ return ATOM_ENCODER_MODE_DVI;
+ else
+ return atombios_maybe_hdmi_mode(output);
break;
case CONNECTOR_LVDS:
return ATOM_ENCODER_MODE_LVDS;
@@ -447,8 +452,12 @@ atombios_get_encoder_mode(xf86OutputPtr output)
case CONNECTOR_EDP:
if (radeon_output->MonType == MT_DP)
return ATOM_ENCODER_MODE_DP;
- else
- return atombios_maybe_hdmi_mode(output);
+ else {
+ if (IS_DCE4_VARIANT)
+ return ATOM_ENCODER_MODE_DVI;
+ else
+ return atombios_maybe_hdmi_mode(output);
+ }
break;
case CONNECTOR_DVI_A:
case CONNECTOR_VGA: