diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lg_driver.c | 198 |
1 files changed, 97 insertions, 101 deletions
diff --git a/src/lg_driver.c b/src/lg_driver.c index 67815a5..daaf4f9 100644 --- a/src/lg_driver.c +++ b/src/lg_driver.c @@ -21,28 +21,26 @@ #define EXPERIMENTAL /* - * All drivers should typically include these + * All drivers should typically include these. */ #include "xf86.h" #include "xf86_OSproc.h" /* - * All drivers need this + * All drivers need this. */ #include "compiler.h" /* - * Drivers that need to access the PCI config space directly need this + * Drivers that need to access the PCI config space directly need + * this. */ #include "xf86Pci.h" /* - * All drivers using the vgahw module need this - */ -/* - * This driver needs to be modified to not use vgaHW for multihead - * operation + * All drivers using the vgahw module need this. This driver needs + * to be modified to not use vgaHW for multihead operation. */ #include "vgaHW.h" @@ -52,19 +50,19 @@ #endif /* - * All drivers initialising the SW cursor need this + * All drivers initialising the SW cursor need this. */ #include "mipointer.h" /* - * need this for inputInfo + * Need this for inputInfo. */ #include "inputstr.h" #include "micmap.h" /* - * Needed by the Shadow Framebuffer + * Needed by the shadowfb. */ #include "shadowfb.h" @@ -98,11 +96,11 @@ static Bool LgCloseScreen(CLOSE_SCREEN_ARGS_DECL); static Bool LgSaveScreen(ScreenPtr pScreen, Bool mode); /* - * Required if the driver supports mode switching + * Required if the driver supports mode switching. */ Bool LgSwitchMode(SWITCH_MODE_ARGS_DECL); /* - * Required if the driver supports moving the viewport + * Required if the driver supports moving the viewport. */ void LgAdjustFrame(ADJUST_FRAME_ARGS_DECL); @@ -114,7 +112,7 @@ ModeStatus LgValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags); /* - * Internally used functions + * Internal functions */ static void LgRestoreLgRegs(ScrnInfoPtr pScrn, LgRegPtr lgReg); static int LgFindLineData(int displayWidth, int bpp); @@ -159,7 +157,7 @@ static const OptionInfoRec LgOptions[] = { }; /* - * 1/4bpp 8bpp 15/16bpp 24bpp 32bpp + * 1/4 bpp 8 bpp 15/16 bpp 24 bpp 32 bpp */ static int gd5462_MaxClocks[] = { 170000, 170000, 135100, 135100, 85500 }; @@ -170,7 +168,7 @@ static int gd5465_MaxClocks[] = /* * We're rather use skinny tiles, so put all of them at the head of - * the table + * the table. */ LgLineDataRec LgLineData[] = { { 5, 640, 0}, @@ -188,26 +186,26 @@ LgLineDataRec LgLineData[] = { {20, 5120, 1}, {26, 6656, 1}, /* - * Sentinal to indicate end of table + * Sentinal to indicate end of table. */ {-1, -1, -1} }; static int LgLinePitches[4][11] = { /* - * 8 + * 8 bpp */ { 640, 1024, 1280, 1664, 2048, 2560, 3328, 4096, 5120, 6656, 0 }, /* - * 16 + * 16 bpp */ { 320, 512, 640, 832, 1024, 1280, 1664, 2048, 2560, 3328, 0 }, /* - * 24 + * 24 bpp */ { 213, 341, 426, 554, 682, 853, 1109, 1365, 1706, 2218, 0 }, /* - * 32 + * 32 bpp */ { 160, 256, 320, 416, 512, 640, 832, 1024, 1280, 1664, 0 } }; @@ -227,7 +225,7 @@ static XF86ModuleVersionInfo lgVersRec = XORG_VERSION_CURRENT, LG_MAJOR_VERSION, LG_MINOR_VERSION, LG_PATCHLEVEL, /* - * This is a video driver + * This is a video driver. */ ABI_CLASS_VIDEODRV, ABI_VIDEODRV_VERSION, @@ -285,7 +283,7 @@ LgGetRec(ScrnInfoPtr pScrn) xnfcalloc(sizeof(LgRec), 1); /* - * Initialize it + * Initialize it. */ pCir = CIRPTR(pScrn); pCir->chip.lg->oldBitmask = 0x00000000; @@ -319,8 +317,8 @@ LgCountRam(ScrnInfoPtr pScrn) vgaHWProtect(pScrn, TRUE); /* - * The ROM BIOS scratchpad registers contain, among other things, - * the amount of installed RDRAM on the laguna chip. + * The ROM BIOS scratch pad registers contain, among other things, + * the amount of installed RDRAM for the Laguna chip. */ SR14 = hwp->readSeq(hwp, 0x14); @@ -346,7 +344,7 @@ LgDoDDC(ScrnInfoPtr pScrn) xf86MonPtr MonInfo = NULL; /* - * Map the CIR memory and MMIO areas + * Map the CIR memory and MMIO areas. */ if (!CirMapMem(pCir, pScrn->scrnIndex)) return FALSE; @@ -359,7 +357,7 @@ LgDoDDC(ScrnInfoPtr pScrn) } /* - * Read and output monitor info using DDC2 over I2C bus + * Read and output monitor info using DDC2 over I2C bus. */ MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, pCir->I2CPtr1); xf86DrvMsg(pScrn->scrnIndex, X_INFO, @@ -410,13 +408,13 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) return FALSE; /* - * The vgahw module should be loaded here when needed + * The vgahw module should be loaded here when needed. */ if (!xf86LoadSubModule(pScrn, "vgahw")) return FALSE; /* - * Allocate a vgaHWRec + * Allocate a vgaHWRec. */ if (!vgaHWGetHWRec(pScrn)) return FALSE; @@ -426,7 +424,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) vgaHWGetIOBase(hwp); /* - * Allocate the LgRec driverPrivate + * Allocate the LgRec driverPrivate. */ if (!LgGetRec(pScrn)) return FALSE; @@ -449,7 +447,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) pCir->Chipset = pCir->pEnt->chipset; /* - * Find the PCI info for this screen + * Find the PCI info for this screen. */ pCir->PciInfo = xf86GetPciInfoForEntity(pCir->pEnt->index); #ifndef XSERVER_LIBPCIACCESS @@ -467,13 +465,13 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * Set pScrn->monitor + * Set pScrn->monitor. */ pScrn->monitor = pScrn->confScreen->monitor; /* * The first thing we should figure out is the depth, bpp, etc. - * We support both 24bpp and 32bpp layouts, so indicate that. + * We support both 24 bpp and 32 bpp layouts, so indicate that. */ if (!xf86SetDepthBpp(pScrn, 0, 0, 0, Support24bppFb | Support32bppFb | @@ -482,7 +480,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) return FALSE; } /* - * Check that the returned depth is one we support + * Check that the returned depth is one we support. */ switch (pScrn->depth) { case 8: @@ -503,7 +501,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) xf86PrintDepthBpp(pScrn); /* - * Get the depth24 pixmap format + * Get the depth24 pixmap format. */ if (pScrn->depth == 24 && pix24bpp == 0) pix24bpp = xf86GetBppFromDepth(pScrn, 24); @@ -514,7 +512,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) */ if (pScrn->depth > 8) { /* - * The defaults are OK for us + * The defaults are OK for us. */ rgb zeros = { 0, 0, 0 }; @@ -527,7 +525,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) return FALSE; } else { /* - * XXX check that weight returned is supported + * XXX Check that weight returned is supported. */ ; } @@ -538,12 +536,12 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) /* * Collect all of the relevant option flags (fill in - * pScrn->options) + * pScrn->options). */ xf86CollectOptions(pScrn, NULL); /* - * Process the options + * Process the options. */ if (!(pCir->Options = malloc(sizeof(LgOptions)))) return FALSE; @@ -583,7 +581,8 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * Cirrus swapped the FB and IO registers in the 5465 (by design). + * Cirrus Logic swapped the FB and IO registers in the 5465 + * (by design). */ if (PCI_CHIP_GD5465 == pCir->Chipset) { fbPCIReg = 0; @@ -594,7 +593,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * Find the frame buffer base address + * Find the frame buffer base address. */ if (pCir->pEnt->device->MemBase != 0) { /* @@ -632,7 +631,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) (unsigned long) pCir->FbAddress); /* - * Find the MMIO base address + * Find the MMIO base address. */ if (pCir->pEnt->device->IOBase != 0) { /* @@ -701,7 +700,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) pCir->FbMapSize = pScrn->videoRam * 1024; /* - * 16K for moment, will increase + * 16K for moment, will increase. */ pCir->IoMapSize = 0x4000; @@ -736,13 +735,13 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) #endif /* - * Read and print the monitor DDC information + * Read and print the monitor DDC information. */ pScrn->monitor->DDC = LgDoDDC(pScrn); /* * The gamma fields must be initialised when using the new cmap - * code + * code. */ if (pScrn->depth > 1) { Gamma zeros = { 0.0, 0.0, 0.0 }; @@ -760,7 +759,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) if ((s = xf86GetOptValString(pCir->Options, OPTION_ROTATE))) { if (!xf86NameCmp(s, "CW")) { /* - * accel is disabled below for shadowFB + * Acceleration is disabled below for shadowfb. */ pCir->shadowFB = TRUE; pCir->rotate = 1; @@ -796,26 +795,26 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * We use a programmable clock + * We use a programmable clock. */ pScrn->progClock = TRUE; /* - * XXX Set HW cursor use + * XXX Set HW cursor use. */ /* - * Set the min pixel clock + * Set the min pixel clock. */ /* - * XXX Guess, need to check this + * XXX Guess, need to check this. */ pCir->MinClock = 12000; xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Min pixel clock is %d MHz\n", pCir->MinClock / 1000); /* - * If the user has specified ramdac speed in the XF86Config + * If the user has specified RAMDAC speed in the XF86Config * file, we respect that setting. */ if (pCir->pEnt->device->dacSpeeds[0]) { @@ -855,7 +854,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) break; default: /* - * Should not get here + * Should not get here. */ speed = 0; break; @@ -879,19 +878,19 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) */ clockRanges->clockIndex = -1; /* - * XXX check this + * XXX Check this. */ clockRanges->interlaceAllowed = FALSE; /* - * XXX check this + * XXX Check this. */ clockRanges->doubleScanAllowed = FALSE; /* - * XXX check this + * XXX Check this. */ clockRanges->doubleScanAllowed = FALSE; /* - * XXX check this + * XXX Check this. */ clockRanges->doubleScanAllowed = FALSE; clockRanges->ClockMulFactor = 1; @@ -937,7 +936,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * Prune the modes marked as invalid + * Prune the modes marked as invalid. */ xf86PruneDriverModes(pScrn); @@ -950,31 +949,30 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) /* * Set the CRTC parameters for all of the modes based on the type - * of mode, and the chipset's interlace requirements. - * - * Calling this is required if the mode->Crtc* values are used - * by the driver and if the driver doesn't provide code to set + * of mode, and the chipset's interlace requirements. Calling + * this is required if the mode->Crtc* values are used by the + * driver and if the driver doesn't provide code to set * them. They are not pre-initialised at all. */ xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V); /* - * Set the current mode to the first in the list + * Set the current mode to the first in the list. */ pScrn->currentMode = pScrn->modes; /* - * Print the list of modes being used + * Print the list of modes being used. */ xf86PrintModes(pScrn); /* - * Set display resolution + * Set display resolution. */ xf86SetDpi(pScrn, 0, 0); /* - * Load bpp-specific modules + * Load bpp-specific modules. */ switch (pScrn->bitsPerPixel) { case 8: @@ -989,7 +987,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * Load XAA if needed + * Load XAA if needed. */ if (!pCir->NoAccel) { #ifdef HAVE_XAA_H @@ -1006,7 +1004,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags) } /* - * Load ramdac if needed + * Load RAMDAC if needed. */ if (pCir->HWCursor) { if (!xf86LoadSubModule(pScrn, "ramdac")) { @@ -1133,7 +1131,7 @@ LgModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) } /* - * Initialise the ModeReg values + * Initialise the ModeReg values. */ if (!vgaHWInit(pScrn, mode)) return FALSE; @@ -1265,7 +1263,7 @@ LgModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) } } else if (16 == pScrn->bitsPerPixel) { /* - * !!! Assume 5-6-5 RGB mode (for now...) + * !!! Assume 5-6-5 RGB mode (for now...). */ pCir->chip.lg->ModeReg.FORMAT = 0x1400; @@ -1427,7 +1425,7 @@ LgModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) } /* - * Setup the appropriate memory interleaving + * Setup the appropriate memory interleaving. */ pCir->chip.lg->ModeReg.DTTC |= (pCir->chip.lg->memInterleave << 8); pCir->chip.lg->ModeReg.TILE |= pCir->chip.lg->memInterleave & 0xC0; @@ -1456,7 +1454,7 @@ LgModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) } /* - * Program the registers + * Programme the registers. */ vgaHWProtect(pScrn, TRUE); hwp->writeMiscOut(hwp, hwp->ModeReg.MiscOutReg); @@ -1471,7 +1469,7 @@ LgModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) LgRestoreLgRegs(pScrn, &pCir->chip.lg->ModeReg); /* - * Programme the registers + * Programme the registers. */ vgaHWRestore(pScrn, &hwp->ModeReg, VGA_SR_MODE | VGA_SR_CMAP); @@ -1485,7 +1483,7 @@ LgFindLineData(int displayWidth, int bpp) { /* * Find the smallest tile-line-pitch such that the total byte - * pitch is greater than or equal to displayWidth*Bpp. + * pitch is greater than or equal to displayWidth * Bpp. */ int i; @@ -1586,10 +1584,10 @@ LgRestore(ScrnInfoPtr pScrn) } /* - * Mandatory + * This gets called at the start of each server generation */ /* - * This gets called at the start of each server generation + * Mandatory */ Bool LgScreenInit(SCREEN_INIT_ARGS_DECL) @@ -1619,13 +1617,13 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) pCir = CIRPTR(pScrn); /* - * Map the VGA memory and get the VGA IO base + * Map the VGA memory and get the VGA IO base. */ if (!vgaHWMapMem(pScrn)) return FALSE; /* - * Map the CIR memory and MMIO areas + * Map the CIR memory and MMIO areas. */ if (!CirMapMem(pCir, pScrn->scrnIndex)) return FALSE; @@ -1635,23 +1633,23 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) vgaHWGetIOBase(hwp); /* - * Save the current state + * Save the current state. */ LgSave(pScrn); /* - * Initialise the first mode + * Initialise the first mode. */ if (!LgModeInit(pScrn, pScrn->currentMode)) return FALSE; /* - * Make things beautiful + * Make things beautiful. */ LgSaveScreen(pScreen, SCREEN_SAVER_ON); /* - * Set the viewport + * Set the viewport. */ LgAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, @@ -1733,7 +1731,7 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) #endif /* - * Override the default mask/offset settings + * Override the default mask/offset settings. */ if (pScrn->bitsPerPixel > 8) { for (i = 0; i < pScreen->numVisuals; i++) { @@ -1750,7 +1748,7 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) } /* - * must be after RGB ordering fixed + * Must be after RGB ordering fixed. */ fbPictureInit(pScreen, 0, 0); @@ -1762,7 +1760,7 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) #ifdef HAVE_XAA_H /* - * Initialize XAA functions + * Initialize XAA functions. */ if (!pCir->NoAccel) { if (!LgXAAInit(pScreen)) @@ -1779,12 +1777,12 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) xf86SetSilkenMouse(pScreen); /* - * Initialise cursor functions + * Initialise cursor functions. */ miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); /* - * Initialize HW cursor layer + * Initialize HW cursor layer. */ if (pCir->HWCursor) { if (!LgHWCursorInit(pScreen)) @@ -1793,7 +1791,7 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) } /* - * Initialise default colourmap + * Initialise default colourmap. */ if (!miCreateDefColormap(pScreen)) return FALSE; @@ -1823,7 +1821,7 @@ LgScreenInit(SCREEN_INIT_ARGS_DECL) pScreen->CloseScreen = LgCloseScreen; /* - * Report any unused options (only for the first generation) + * Report any unused options (only for the first generation). */ if (serverGeneration == 1) xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options); @@ -1957,9 +1955,8 @@ void LgAdjustFrame(ADJUST_FRAME_ARGS_DECL) { /* * This is called when VT switching back to the X server. Its job is - * to reinitialise the video mode. - * - * We may wish to unmap video/MMIO memory too. + * to reinitialise the video mode. We may wish to unmap video/MMIO + * memory too. */ /* * Mandatory @@ -1977,7 +1974,7 @@ LgEnterVT(VT_FUNC_ARGS_DECL) * XXX Shouldn't this be in LeaveVT? */ /* - * Disable HW cursor + * Disable HW cursor. */ if (pCir->HWCursor) LgHideCursor(pScrn); @@ -1990,9 +1987,8 @@ LgEnterVT(VT_FUNC_ARGS_DECL) /* * This is called when VT switching away from the X server. Its job - * is to restore the previous (text) mode. - * - * We may wish to remap video/MMIO memory too. + * is to restore the previous (text) mode. We may wish to remap + * video/MMIO memory too. */ /* * Mandatory @@ -2009,7 +2005,7 @@ void LgLeaveVT(VT_FUNC_ARGS_DECL) { * XXX Shouldn't this be in EnterVT? */ /* - * Enable HW cursor + * Enable HW cursor. */ if (pCir->HWCursor) LgShowCursor(pScrn); @@ -2066,7 +2062,7 @@ LgCloseScreen(CLOSE_SCREEN_ARGS_DECL) } /* - * Free up any persistent data structures + * Free up any persistent data structures. */ /* * Optional @@ -2115,7 +2111,7 @@ LgValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, } /* - * Do screen blanking + * Do screen blanking. */ /* * Mandatory @@ -2135,12 +2131,12 @@ LgSaveScreen(ScreenPtr pScreen, int mode) if (pScrn != NULL && pScrn->vtSema) { if (unblank) /* - * Power up the palette DAC + * Power up the palette DAC. */ memwb(0xB0, memrb(0xB0) & 0x7F); else /* - * Power down the palette DAC + * Power down the palette DAC. */ memwb(0xB0, memrb(0xB0) | 0x80); } @@ -2178,7 +2174,7 @@ LgSetClock(CirPtr pCir, vgaHWPtr hwp, int freq) } /* - * CIRDisplayPowerManagementSet -- + * LgDisplayPowerManagementSet -- * * Sets VESA Display Power Management Signaling (DPMS) Mode. */ |