deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncRamDacHelperRecPtr IBMramdacProbe(ScrnInfoPtr pScrn, RamDacSupportedInfoRecPtr ramdacs);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid IBMramdacSave(ScrnInfoPtr pScrn, RamDacRecPtr RamDacRec, RamDacRegRecPtr RamDacRegRec);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid IBMramdacRestore(ScrnInfoPtr pScrn, RamDacRecPtr RamDacRec, RamDacRegRecPtr RamDacRegRec);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid IBMramdac526SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr RamDacRegRec);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid IBMramdac640SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr RamDacRegRec);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncunsigned long IBMramdac526CalculateMNPCForClock(unsigned long RefClock,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long ReqClock, char IsPixClock, unsigned long MinClock,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long MaxClock, unsigned long *rM, unsigned long *rN,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncunsigned long IBMramdac640CalculateMNPCForClock(unsigned long RefClock,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long ReqClock, char IsPixClock, unsigned long MinClock,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long MaxClock, unsigned long *rM, unsigned long *rN,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid IBMramdac526HWCursorInit(xf86CursorInfoPtr infoPtr);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid IBMramdac640HWCursorInit(xf86CursorInfoPtr infoPtr);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void IBMramdac526SetBppProc(ScrnInfoPtr, RamDacRegRecPtr);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncIBMramdac526SetBppProc *IBMramdac526SetBppWeak(void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * IBM Ramdac registers
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* #define IBMRGB_f0 0x20 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* Constants rgb525.h */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_REVISION_LEVEL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_ID */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_MISC_CTRL_1 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_MISC_CTRL_2 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_MISC_CTRL_3 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_MISC_CLK_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_SYNC_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_HSYNC_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_POWER_MANAGEMENT */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_DAC_OPERATION */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_PALETTE_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_PIXEL_FORMAT */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_8BPP_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_16BPP_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_24BPP_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_32BPP_CTRL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_PLL_CTRL_1 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_PLL_CTRL_2 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_PLL_REF_DIV_COUNT */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_F0 - RGB525_F15 */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_PLL_REFCLK values */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_CURSOR_CONTROL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_REVISION_LEVEL */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* RGB525_ID */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* MISR status */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* the IBMRGB640 is rather different from the rest of the RAMDACs,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync so we define a completely new set of register names for it */