mirror of
https://github.com/X11Libre/xf86-video-nv.git
synced 2026-03-24 01:24:21 +00:00
Work around more MacBook wackiness.
Turn off more corrupt the framebuffer mode. Don't mess with the pixel clock for LVDS as long as we're trusting the VBIOS-programmed timings.
This commit is contained in:
committed by
Aaron Plattner
parent
bc439899f3
commit
42dffde988
@@ -829,6 +829,7 @@ G80ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
||||
AvailFBArea.y2 = pNv->offscreenHeight;
|
||||
xf86InitFBManager(pScreen, &AvailFBArea);
|
||||
|
||||
pNv->reg[0x00001708/4] = 0;
|
||||
for(i = 0; i < 8; i++)
|
||||
pNv->reg[0x00001900/4 + i] = 0;
|
||||
|
||||
|
||||
@@ -158,7 +158,8 @@ void
|
||||
G80OutputSetPClk(xf86OutputPtr output, int pclk)
|
||||
{
|
||||
G80OutputPrivPtr pPriv = output->driver_private;
|
||||
pPriv->set_pclk(output, pclk);
|
||||
if(pPriv->set_pclk)
|
||||
pPriv->set_pclk(output, pclk);
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
@@ -38,7 +38,7 @@ G80SorSetPClk(xf86OutputPtr output, int pclk)
|
||||
G80Ptr pNv = G80PTR(output->scrn);
|
||||
G80OutputPrivPtr pPriv = output->driver_private;
|
||||
const int orOff = 0x800 * pPriv->or;
|
||||
const int limit = pPriv->panelType == LVDS ? 112000 : 165000;
|
||||
const int limit = 165000;
|
||||
|
||||
pNv->reg[(0x00614300+orOff)/4] = (pclk > limit) ? 0x101 : 0;
|
||||
}
|
||||
@@ -284,7 +284,8 @@ G80CreateSor(ScrnInfoPtr pScrn, ORNum or, PanelType panelType)
|
||||
pPriv->or = or;
|
||||
pPriv->panelType = panelType;
|
||||
pPriv->cached_status = XF86OutputStatusUnknown;
|
||||
pPriv->set_pclk = G80SorSetPClk;
|
||||
if(panelType == TMDS)
|
||||
pPriv->set_pclk = G80SorSetPClk;
|
||||
output->driver_private = pPriv;
|
||||
output->interlaceAllowed = TRUE;
|
||||
output->doubleScanAllowed = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user