diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2008-08-24 00:23:54 -0700 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2008-08-24 00:23:54 -0700 |
commit | 7884f5918715a8df35cd0d7601cb50c7c5b56e70 (patch) | |
tree | 2cea7b18dc9bacacdb9a7afa9df887a07b613cea | |
parent | ff32eb25f8edde7343da3d4782f0f59896515ebd (diff) |
Bug #15309: Set the pixel clock even if the hardware doesn't think it needs it.
Fixes a problem where switching from DVI to VGA hangs.
-rw-r--r-- | src/g80_display.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/g80_display.c b/src/g80_display.c index 8b97b8a..cf4631d 100644 --- a/src/g80_display.c +++ b/src/g80_display.c @@ -191,15 +191,14 @@ G80DispCommand(ScrnInfoPtr pScrn, CARD32 addr, CARD32 data) if(super) { if(super == 2) { xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); - const CARD32 r = pNv->reg[0x00610030/4]; int i; for(i = 0; i < xf86_config->num_crtc; i++) { xf86CrtcPtr crtc = xf86_config->crtc[i]; - G80CrtcPrivPtr pPriv = crtc->driver_private; + const int headOff = 0x800 * G80CrtcGetHead(crtc); - if(r & (0x200 << pPriv->head)) + if((pNv->reg[(0x00614200+headOff)/4] & 0xc0) == 0x80) G80CrtcSetPClk(crtc); } } |