diff options
author | Alex Deucher <alex@t41p.hsd1.va.comcast.net> | 2007-05-15 00:36:05 -0400 |
---|---|---|
committer | Alex Deucher <alex@t41p.hsd1.va.comcast.net> | 2007-05-15 00:36:05 -0400 |
commit | 9ed00e959fcdab2739a7e64ca1e303a6faf28f15 (patch) | |
tree | 9084f8104489f701780c01bf2d63743247766c1b | |
parent | 5106c8fe5f74865cac8b00937739a4efde9fc254 (diff) |
RADEON: Lots of small fixes
- remove extra crtc2_base set
- remove some debugging code
- clean up RestoreMode()
- make sure a DDC reg gets assigned for LCD_DDC
- make sure we adjust the right frame in AdjustFrame()
- rename RADEONMapControllers() to RADEONPrintPortMap() to
reflect what it actually does now
- make i2c bus name match the DDC port
- remove or comment out un-needed code
-rw-r--r-- | src/radeon.h | 2 | ||||
-rw-r--r-- | src/radeon_bios.c | 4 | ||||
-rw-r--r-- | src/radeon_display.c | 2 | ||||
-rw-r--r-- | src/radeon_driver.c | 25 | ||||
-rw-r--r-- | src/radeon_output.c | 15 |
5 files changed, 17 insertions, 31 deletions
diff --git a/src/radeon.h b/src/radeon.h index e0b4b9b..fde7f79 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -833,7 +833,7 @@ extern void RADEONInitDispBandwidth(ScrnInfoPtr pScrn); extern Bool RADEONI2cInit(ScrnInfoPtr pScrn); extern void RADEONSetSyncRangeFromEdid(ScrnInfoPtr pScrn, int flag); extern Bool RADEONSetupConnectors(ScrnInfoPtr pScrn); -extern Bool RADEONMapControllers(ScrnInfoPtr pScrn); +extern void RADEONPrintPortMap(ScrnInfoPtr pScrn); extern void RADEONEnableDisplay(xf86OutputPtr pPort, BOOL bEnable); extern void RADEONDisableDisplays(ScrnInfoPtr pScrn); extern void RADEONGetPanelInfo(ScrnInfoPtr pScrn); diff --git a/src/radeon_bios.c b/src/radeon_bios.c index 6e08f24..f63eec7 100644 --- a/src/radeon_bios.c +++ b/src/radeon_bios.c @@ -408,8 +408,6 @@ Bool RADEONGetLVDSInfoFromBIOS (xf86OutputPtr output) RADEONOutputPrivatePtr radeon_output = output->driver_private; unsigned long tmp, i; - ErrorF("grabbing LVDS from bios"); - if (!info->VBIOS) return FALSE; if (info->IsAtomBios) { @@ -551,8 +549,6 @@ Bool RADEONGetTMDSInfoFromBIOS (xf86OutputPtr output) CARD32 tmp, maxfreq; int i, n; - ErrorF("grabbing LVDS from bios"); - if (!info->VBIOS) return FALSE; if (info->IsAtomBios) { diff --git a/src/radeon_display.c b/src/radeon_display.c index c3167bc..85a4844 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -742,8 +742,6 @@ Bool RADEONGetLVDSInfo (xf86OutputPtr output) RADEONOutputPrivatePtr radeon_output = output->driver_private; char* s; - ErrorF("LVDS get info"); - if (!RADEONGetLVDSInfoFromBIOS(output)) RADEONGetPanelInfoFromReg(output); diff --git a/src/radeon_driver.c b/src/radeon_driver.c index c82c6ba..32f51d6 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -116,8 +116,6 @@ void RADEONRestoreMode(ScrnInfoPtr pScrn, RADEONSavePtr restore); static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen); static Bool RADEONSaveScreen(ScreenPtr pScreen, int mode); static void RADEONSave(ScrnInfoPtr pScrn); -//static void RADEONRestore(ScrnInfoPtr pScrn); -//static Bool RADEONModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode); static void RADEONSetDynamicClock(ScrnInfoPtr pScrn, int mode); static void RADEONForceSomeClocks(ScrnInfoPtr pScrn); @@ -2498,7 +2496,7 @@ static Bool RADEONPreInitControllers(ScrnInfoPtr pScrn, xf86Int10InfoPtr pInt10 return FALSE; } - RADEONMapControllers(pScrn); + RADEONPrintPortMap(pScrn); RADEONGetClockInfo(pScrn); @@ -3577,7 +3575,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen, RADEONSaveScreen(pScreen, SCREEN_SAVER_ON); - pScrn->AdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); + // pScrn->AdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); /* Backing store setup */ RADEONTRACE(("Initializing backing store\n")); @@ -4612,10 +4610,8 @@ void RADEONRestoreMode(ScrnInfoPtr pScrn, RADEONSavePtr restore) */ RADEONRestoreMemMapRegisters(pScrn, restore); RADEONRestoreCommonRegisters(pScrn, restore); - if ((pCRTC2->binding == 1) || pRADEONEnt->HasSecondary) { - RADEONRestoreCrtc2Registers(pScrn, restore); - RADEONRestorePLL2Registers(pScrn, restore); - } + RADEONRestoreCrtc2Registers(pScrn, restore); + RADEONRestorePLL2Registers(pScrn, restore); RADEONRestoreCrtcRegisters(pScrn, restore); RADEONRestorePLLRegisters(pScrn, restore); @@ -4623,10 +4619,7 @@ void RADEONRestoreMode(ScrnInfoPtr pScrn, RADEONSavePtr restore) RADEONRestoreDACRegisters(pScrn, restore); RADEONEnableOutputs(pScrn, 0); - - if ((pCRTC2->binding == 1) || pRADEONEnt->HasSecondary) { - RADEONEnableOutputs(pScrn, 1); - } + RADEONEnableOutputs(pScrn, 1); #if 0 RADEONRestorePalette(pScrn, &info->SavedReg); @@ -5732,7 +5725,6 @@ Bool RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save, } Base &= ~7; /* 3 lower bits are always 0 */ - save->crtc2_offset = Base; #ifdef XF86DRI if (info->directRenderingInited) { @@ -6189,6 +6181,7 @@ void RADEONAdjustFrame(int scrnIndex, int x, int y, int flags) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; RADEONInfoPtr info = RADEONPTR(pScrn); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); xf86OutputPtr output = config->output[config->compat_output]; xf86CrtcPtr crtc = output->crtc; @@ -6204,7 +6197,10 @@ void RADEONAdjustFrame(int scrnIndex, int x, int y, int flags) if (info->FBDev) { fbdevHWAdjustFrame(scrnIndex, crtc->desiredX + x, crtc->desiredY + y, flags); } else { - RADEONDoAdjustFrame(pScrn, crtc->desiredX + x, crtc->desiredY + y, FALSE); + if (crtc == pRADEONEnt->pCrtc[0]) + RADEONDoAdjustFrame(pScrn, crtc->desiredX + x, crtc->desiredY + y, FALSE); + else + RADEONDoAdjustFrame(pScrn, crtc->desiredX + x, crtc->desiredY + y, TRUE); } crtc->x = output->initial_x + x; crtc->y = output->initial_y + y; @@ -6258,7 +6254,6 @@ Bool RADEONEnterVT(int scrnIndex, int flags) { xf86CrtcPtr crtc = xf86_config->crtc[i]; RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private; - radeon_crtc->binding = 1; /* Mark that we'll need to re-set the mode for sure */ memset(&crtc->mode, 0, sizeof(crtc->mode)); if (!crtc->desiredMode.CrtcHDisplay) { diff --git a/src/radeon_output.c b/src/radeon_output.c index e9e1aea..3052c36 100644 --- a/src/radeon_output.c +++ b/src/radeon_output.c @@ -126,7 +126,7 @@ const char *OutputType[10] = { static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr output); -Bool RADEONMapControllers(ScrnInfoPtr pScrn) +void RADEONPrintPortMap(ScrnInfoPtr pScrn) { RADEONInfoPtr info = RADEONPTR(pScrn); RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); @@ -136,9 +136,6 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) xf86OutputPtr output; int o; - pRADEONEnt->Controller[0]->binding = 1; - pRADEONEnt->Controller[1]->binding = 1; - for (o = 0; o < xf86_config->num_output; o++) { output = xf86_config->output[o]; radeon_output = output->driver_private; @@ -156,7 +153,6 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) } - return TRUE; } /* Primary Head (DVI or Laptop Int. panel)*/ @@ -433,13 +429,14 @@ void RADEONInitConnector(xf86OutputPtr output) ScrnInfoPtr pScrn = output->scrn; RADEONOutputPrivatePtr radeon_output = output->driver_private; int DDCReg = 0; - char* name = OutputType[radeon_output->type]; + char* name = (char*) DDCTypeName[radeon_output->DDCType]; switch(radeon_output->DDCType) { case DDC_MONID: DDCReg = RADEON_GPIO_MONID; break; case DDC_DVI : DDCReg = RADEON_GPIO_DVI_DDC; break; - case DDC_VGA: DDCReg = RADEON_GPIO_VGA_DDC; break; - case DDC_CRT2: DDCReg = RADEON_GPIO_CRT2_DDC; break; + case DDC_VGA : DDCReg = RADEON_GPIO_VGA_DDC; break; + case DDC_CRT2 : DDCReg = RADEON_GPIO_CRT2_DDC; break; + case DDC_LCD : DDCReg = RADEON_LCD_GPIO_MASK; break; default: break; } @@ -455,7 +452,7 @@ void RADEONInitConnector(xf86OutputPtr output) if (radeon_output->type == OUTPUT_DVI) { RADEONGetTMDSInfo(output); - // FIXME + // FIXME -- this should be done in detect or getmodes /*if (i == 0) RADEONGetHardCodedEDIDFromBIOS(output);*/ |