diff options
Diffstat (limited to 'src/aticonsole.c')
-rw-r--r-- | src/aticonsole.c | 427 |
1 files changed, 0 insertions, 427 deletions
diff --git a/src/aticonsole.c b/src/aticonsole.c deleted file mode 100644 index 1d65df7c..00000000 --- a/src/aticonsole.c +++ /dev/null @@ -1,427 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/aticonsole.c,v 1.21 2003/07/24 22:08:27 tsi Exp $ */ -/* - * Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting documentation, and - * that the name of Marc Aurele La France not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. Marc Aurele La France makes no representations - * about the suitability of this software for any purpose. It is provided - * "as-is" without express or implied warranty. - * - * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO - * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - * - * DRI support by: - * Manuel Teira - * Leif Delgass <ldelgass@retinalburn.net> - */ - -#include "ati.h" -#include "atiadapter.h" -#include "aticonsole.h" -#include "aticrtc.h" -#include "atii2c.h" -#include "atilock.h" -#include "atimach64.h" -#include "atimach64io.h" -#include "atimode.h" -#include "atistruct.h" -#include "ativga.h" -#include "atividmem.h" - -#include "mach64_common.h" - - - -#include "xf86.h" - -/* - * ATISaveScreen -- - * - * This function is a screen saver hook for DIX. - */ -Bool -ATISaveScreen -( - ScreenPtr pScreen, - int Mode -) -{ - ScrnInfoPtr pScreenInfo; - ATIPtr pATI; - - if ((Mode != SCREEN_SAVER_ON) && (Mode != SCREEN_SAVER_CYCLE)) - SetTimeSinceLastInputEvent(); - - if (!pScreen) - return TRUE; - - pScreenInfo = xf86Screens[pScreen->myNum]; - if (!pScreenInfo->vtSema) - return TRUE; - - pATI = ATIPTR(pScreenInfo); - switch (pATI->NewHW.crtc) - { - -#ifndef AVOID_CPIO - - case ATI_CRTC_VGA: - ATIVGASaveScreen(pATI, Mode); - break; - -#endif /* AVOID_CPIO */ - - case ATI_CRTC_MACH64: - ATIMach64SaveScreen(pATI, Mode); - break; - - default: - break; - } - - return TRUE; -} - -/* - * ATISetDPMSMode -- - * - * This function sets the adapter's VESA Display Power Management Signaling - * mode. - */ -void -ATISetDPMSMode -( - ScrnInfoPtr pScreenInfo, - int DPMSMode, - int flags -) -{ - ATIPtr pATI; - - if (!pScreenInfo || !pScreenInfo->vtSema) - return; - - pATI = ATIPTR(pScreenInfo); - - switch (pATI->Adapter) - { - case ATI_ADAPTER_MACH64: - ATIMach64SetDPMSMode(pScreenInfo, pATI, DPMSMode); - break; - - default: - -#ifndef AVOID_CPIO - - /* Assume EGA/VGA */ - ATIVGASetDPMSMode(pATI, DPMSMode); - break; - - case ATI_ADAPTER_NONE: - case ATI_ADAPTER_8514A: - case ATI_ADAPTER_MACH8: - -#endif /* AVOID_CPIO */ - - break; - } -} - -/* - * ATIEnterGraphics -- - * - * This function sets the hardware to a graphics video state. - */ -Bool -ATIEnterGraphics -( - ScreenPtr pScreen, - ScrnInfoPtr pScreenInfo, - ATIPtr pATI -) -{ - /* Map apertures */ - if (!ATIMapApertures(pScreenInfo->scrnIndex, pATI)) - return FALSE; - - /* Unlock device */ - ATIUnlock(pATI); - - /* Calculate hardware data */ - if (pScreen && - !ATIModeCalculate(pScreenInfo->scrnIndex, pATI, &pATI->NewHW, - pScreenInfo->currentMode)) - return FALSE; - - pScreenInfo->vtSema = TRUE; - - /* Save current state */ - ATIModeSave(pScreenInfo, pATI, &pATI->OldHW); - - /* Set graphics state */ - ATIModeSet(pScreenInfo, pATI, &pATI->NewHW); - - /* Possibly blank the screen */ - if (pScreen) - (void)ATISaveScreen(pScreen, SCREEN_SAVER_ON); - - /* Position the screen */ - (*pScreenInfo->AdjustFrame)(pScreenInfo->scrnIndex, - pScreenInfo->frameX0, pScreenInfo->frameY0, 0); - - SetTimeSinceLastInputEvent(); - - return TRUE; -} - -/* - * ATILeaveGraphics -- - * - * This function restores the hardware to its previous state. - */ -void -ATILeaveGraphics -( - ScrnInfoPtr pScreenInfo, - ATIPtr pATI -) -{ - if (pScreenInfo->vtSema) - { - /* If not exiting, save graphics video state */ - if (!xf86ServerIsExiting()) - ATIModeSave(pScreenInfo, pATI, &pATI->NewHW); - - /* Restore mode in effect on server entry */ - ATIModeSet(pScreenInfo, pATI, &pATI->OldHW); - - pScreenInfo->vtSema = FALSE; - } - - /* Lock device */ - ATILock(pATI); - - /* Unmap apertures */ - -#ifdef AVOID_DGA - - if (!pATI->Closeable) - -#else /* AVOID_DGA */ - - if (!pATI->Closeable || !pATI->nDGAMode) - -#endif /* AVOID_DGA */ - - ATIUnmapApertures(pScreenInfo->scrnIndex, pATI); - - SetTimeSinceLastInputEvent(); -} - -/* - * ATISwitchMode -- - * - * This function switches to another graphics video state. - */ -Bool -ATISwitchMode -( - int iScreen, - DisplayModePtr pMode, - int flags -) -{ - ScrnInfoPtr pScreenInfo = xf86Screens[iScreen]; - ATIPtr pATI = ATIPTR(pScreenInfo); - - /* Calculate new hardware data */ - if (!ATIModeCalculate(iScreen, pATI, &pATI->NewHW, pMode)) - return FALSE; - - /* Set new hardware state */ - if (pScreenInfo->vtSema) - { - pScreenInfo->currentMode = pMode; - -#ifdef XF86DRI - - if (pATI->directRenderingEnabled) - { - DRILock(pScreenInfo->pScreen,0); - ATIDRIWaitForIdle(pATI); - } - -#endif /* XF86DRI */ - - ATIModeSet(pScreenInfo, pATI, &pATI->NewHW); - -#ifdef XF86DRI - - if (pATI->directRenderingEnabled) - { - DRIUnlock(pScreenInfo->pScreen); - } - -#endif /* XF86DRI */ - - } - - SetTimeSinceLastInputEvent(); - - return TRUE; -} - -/* - * ATIEnterVT -- - * - * This function sets the server's virtual console to a graphics video state. - */ -Bool -ATIEnterVT -( - int iScreen, - int flags -) -{ - ScrnInfoPtr pScreenInfo = xf86Screens[iScreen]; - ScreenPtr pScreen = pScreenInfo->pScreen; - ATIPtr pATI = ATIPTR(pScreenInfo); - PixmapPtr pScreenPixmap; - DevUnion PixmapPrivate; - Bool Entered; - - if (!ATIEnterGraphics(NULL, pScreenInfo, pATI)) - return FALSE; - - /* The rest of this isn't needed for shadowfb */ - if (pATI->OptionShadowFB) - { - -#ifdef XF86DRI - - if (pATI->directRenderingEnabled) - { - DRIUnlock(pScreen); - } - -#endif /* XF86DRI */ - - return TRUE; - } - -#ifndef AVOID_CPIO - - /* If used, modify banking interface */ - if (!miModifyBanking(pScreen, &pATI->BankInfo)) - return FALSE; - -#endif /* AVOID_CPIO */ - - pScreenPixmap = (*pScreen->GetScreenPixmap)(pScreen); - PixmapPrivate = pScreenPixmap->devPrivate; - if (!PixmapPrivate.ptr) - pScreenPixmap->devPrivate = pScreenInfo->pixmapPrivate; - - /* Tell framebuffer about remapped aperture */ - Entered = (*pScreen->ModifyPixmapHeader)(pScreenPixmap, - -1, -1, -1, -1, -1, pATI->pMemory); - - if (!PixmapPrivate.ptr) - { - pScreenInfo->pixmapPrivate = pScreenPixmap->devPrivate; - pScreenPixmap->devPrivate.ptr = NULL; - } - -#ifdef XF86DRI - - if (pATI->directRenderingEnabled) - { - DRIUnlock(pScreen); - } - -#endif /* XF86DRI */ - - return Entered; -} - -/* - * ATILeaveVT -- - * - * This function restores the server's virtual console to its state on server - * entry. - */ -void -ATILeaveVT -( - int iScreen, - int flags -) -{ - ScrnInfoPtr pScreenInfo = xf86Screens[iScreen]; - ScreenPtr pScreen = pScreenInfo->pScreen; - ATIPtr pATI = ATIPTR(pScreenInfo); - -#ifdef XF86DRI - - if (pATI->directRenderingEnabled) - { - DRILock(pScreen,0); - ATIDRIWaitForIdle(pATI); - } - -#endif /* XF86DRI */ - - ATILeaveGraphics(pScreenInfo, ATIPTR(pScreenInfo)); -} - -/* - * ATIFreeScreen -- - * - * This function frees all driver data related to a screen. - */ -void -ATIFreeScreen -( - int iScreen, - int flags -) -{ - ScreenPtr pScreen = screenInfo.screens[iScreen]; - ScrnInfoPtr pScreenInfo = xf86Screens[iScreen]; - ATIPtr pATI = ATIPTR(pScreenInfo); - - ATII2CFreeScreen(iScreen); - - if (pATI->Closeable) - (void)(*pScreen->CloseScreen)(iScreen, pScreen); - - ATILeaveGraphics(pScreenInfo, pATI); - -#ifndef AVOID_CPIO - - xfree(pATI->OldHW.frame_buffer); - xfree(pATI->NewHW.frame_buffer); - -#endif /* AVOID_CPIO */ - - xfree(pATI->pShadow); - -#ifndef AVOID_DGA - - xfree(pATI->pDGAMode); - -#endif /* AVOID_DGA */ - - xfree(pATI); - pScreenInfo->driverPrivate = NULL; -} |