summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-03-11 15:55:43 +1100
committerDave Airlie <airlied@linux.ie>2007-03-11 15:55:43 +1100
commit44eb0774a9328af7cd6782de85bfba6db1a8459e (patch)
tree549483fcec5222a867fcd00324a8a2e1a57ac92c
parent5241104b4ce1668934e72948f8499855846d55d7 (diff)
downloadxorg-driver-xf86-video-nouveau-44eb0774a9328af7cd6782de85bfba6db1a8459e.tar.gz
cleanup pll setting for TMDS monitor
-rw-r--r--src/nv_crtc.c2
-rw-r--r--src/nv_output.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/nv_crtc.c b/src/nv_crtc.c
index 81f3265..bb931ae 100644
--- a/src/nv_crtc.c
+++ b/src/nv_crtc.c
@@ -442,7 +442,7 @@ void nv_crtc_calc_state_ext(
if (flags & V_DBLSCAN)
regp->CRTC[NV_VGA_CRTCX_CURCTL1]|= 2;
- state->pllsel |= NV_RAMDAC_PLL_SELECT_VCLK_RATIO_DB2 | NV_RAMDAC_PLL_SELECT_PLL_SOURCE_ALL;
+
state->config = nvReadFB(pNv, NV_PFB_CFG0);
regp->CRTC[NV_VGA_CRTCX_REPAINT1] = hDisplaySize < 1280 ? 0x04 : 0x00;
break;
diff --git a/src/nv_output.c b/src/nv_output.c
index ffa3e54..346a4cb 100644
--- a/src/nv_output.c
+++ b/src/nv_output.c
@@ -399,7 +399,7 @@ nv_output_mode_set_regs(xf86OutputPtr output, DisplayModePtr mode)
else
regp->output = NV_RAMDAC_OUTPUT_DAC_ENABLE;
- if (nv_crtc->crtc == 1 && (two_crt == TRUE))
+ if (nv_crtc->crtc == 1 && two_mon)
regp->output |= NV_RAMDAC_OUTPUT_SELECT_CRTC2;
if (nv_crtc->crtc == 1 && two_mon) {
@@ -408,6 +408,10 @@ nv_output_mode_set_regs(xf86OutputPtr output, DisplayModePtr mode)
state->pllsel |= (1<<29) | (1<<11);
}
else {
+ /* setting this bit affects the TMDS PLL by the looks of it */
+ //state->pllsel |= NV_RAMDAC_PLL_SELECT_VCLK_RATIO_DB2
+ state->pllsel &= ~NV_RAMDAC_PLL_SELECT_VCLK_RATIO_DB2;
+ state->pllsel |= NV_RAMDAC_PLL_SELECT_PLL_SOURCE_ALL;
state->vpll = state->pll;
state->vpllB = state->pllB;
}