diff options
-rw-r--r-- | src/Imakefile | 4 | ||||
-rw-r--r-- | src/ddmpeg.h | 24 | ||||
-rw-r--r-- | src/via_bios.h | 16 | ||||
-rw-r--r-- | src/via_driver.c | 3 | ||||
-rw-r--r-- | src/via_driver.h | 9 | ||||
-rw-r--r-- | src/via_mode.c | 14 | ||||
-rw-r--r-- | src/via_utility.c | 1690 | ||||
-rw-r--r-- | src/via_utility.h | 199 | ||||
-rw-r--r-- | src/via_video.c | 6 | ||||
-rw-r--r-- | src/via_xvpriv.h | 1 |
10 files changed, 1 insertions, 1965 deletions
diff --git a/src/Imakefile b/src/Imakefile index 54ff442..7362738 100644 --- a/src/Imakefile +++ b/src/Imakefile @@ -24,7 +24,6 @@ SRCS = via_driver.c \ via_video.c \ via_i2c.c \ via_gpioi2c.c \ - via_utility.c \ via_swov.c \ via_regrec.c \ via_memory.c \ @@ -46,7 +45,6 @@ OBJS = via_driver.o \ via_video.o \ via_i2c.o \ via_gpioi2c.o \ - via_utility.o \ via_swov.o \ via_regrec.o \ via_memory.o \ @@ -131,8 +129,6 @@ InstallDriverSDKNonExecFile(via_swov.c,$(DRIVERSDKDIR)/drivers/via) InstallDriverSDKNonExecFile(via_swov.h,$(DRIVERSDKDIR)/drivers/via) InstallDriverSDKNonExecFile(via_tv2.h,$(DRIVERSDKDIR)/drivers/via) InstallDriverSDKNonExecFile(via_tv3.h,$(DRIVERSDKDIR)/drivers/via) -InstallDriverSDKNonExecFile(via_utility.c,$(DRIVERSDKDIR)/drivers/via) -InstallDriverSDKNonExecFile(via_utility.h,$(DRIVERSDKDIR)/drivers/via) InstallDriverSDKNonExecFile(via_video.c,$(DRIVERSDKDIR)/drivers/via) InstallDriverSDKNonExecFile(via_video.h,$(DRIVERSDKDIR)/drivers/via) InstallDriverSDKNonExecFile(via_xvmc.c,$(DRIVERSDKDIR)/drivers/via) diff --git a/src/ddmpeg.h b/src/ddmpeg.h index c6dd0cd..cc3a114 100644 --- a/src/ddmpeg.h +++ b/src/ddmpeg.h @@ -117,30 +117,6 @@ #define AUDIOCONTROL CREATEDRIVER +170 /* - * Define for Utility functions using XvPutImage. - */ -/* Primary ID */ -#define UT_XV_FUNC_BIOS 0x11 /* Primary ID */ -#define UT_XV_FUNC_DRIVER 0x12 -#define UT_XV_FUNC_DEVICE 0x13 -#define UT_XV_FUNC_PANEL 0x14 -#define UT_XV_FUNC_TV 0x15 -#define UT_XV_FUNC_GAMMA 0x16 -/* Secondary ID */ -#define UT_XV_FUNC_BIOS_GetChipID 0x01 /* Get Chip ID */ -#define UT_XV_FUNC_BIOS_GetVersion 0x02 /* Get the version of the BIOS */ -#define UT_XV_FUNC_BIOS_GetDate 0x03 /* Get the date (year, month, day) of the BIOS. */ -#define UT_XV_FUNC_BIOS_GetVideoMemSizeMB 0x04 /* Get the video memory size, in MB */ - -#define UT_XV_FUNC_DRIVER_GetFileName 0x01 -#define UT_XV_FUNC_DRIVER_GetFileVersion 0x02 -/* Return value */ -#define UT_RESULT_OK 1 /* Return value */ -#define UT_RESULT_FAIL 0 -#define UT_RESULT_NO_FUNC -1 - - -/* * Structures for create surface */ typedef struct _DDSURFACEDESC diff --git a/src/via_bios.h b/src/via_bios.h index b122cbc..57a5122 100644 --- a/src/via_bios.h +++ b/src/via_bios.h @@ -383,20 +383,6 @@ typedef struct _VIAVMODETABLE { VIABIOSTV3TableRec vt1622aOverTable[VIA_BIOS_NUM_TV3]; } VIAModeTableRec, *VIAModeTablePtr; -typedef struct _VIAUserSettingRec -{ - Bool DefaultSetting; - Bool AdaptiveFilterOn; - unsigned long tvVPosition; - unsigned long tvHPosition; - unsigned long tvFFilter; - unsigned long tvAdaptiveFFilter; - unsigned long tvBrightness; - unsigned long tvContrast; - unsigned long tvSaturation; - unsigned long tvTint; -} VIAUserSettingRec, *VIAUserSettingPtr; - typedef struct _VIABIOSINFO { VIAModeTablePtr pModeTable; @@ -491,8 +477,6 @@ typedef struct _VIABIOSINFO { Bool SetTV; Bool SetDVI; - /* Utility User Setting */ - VIAUserSettingPtr UserSetting; LOCO colors[256]; /* Gamma value. LOCO typedef in colormapst.h */ } VIABIOSInfoRec, *VIABIOSInfoPtr; diff --git a/src/via_driver.c b/src/via_driver.c index 90b042d..6be2509 100644 --- a/src/via_driver.c +++ b/src/via_driver.c @@ -462,8 +462,6 @@ static Bool VIAGetRec(ScrnInfoPtr pScrn) pScrn->driverPrivate = xnfcalloc(sizeof(VIARec), 1); ((VIARec *)(pScrn->driverPrivate))->pBIOSInfo = xnfcalloc(sizeof(VIABIOSInfoRec), 1); - ((VIARec *)(pScrn->driverPrivate))->pBIOSInfo->UserSetting = - xnfcalloc(sizeof(VIAUserSettingRec), 1); ((VIARec *)(pScrn->driverPrivate))->pBIOSInfo->pModeTable = xnfcalloc(sizeof(VIAModeTableRec), 1); ((VIARec *)(pScrn->driverPrivate))->pBIOSInfo->hwp = VGAHWPTR(pScrn); @@ -491,7 +489,6 @@ static void VIAFreeRec(ScrnInfoPtr pScrn) vbeFree(VIAPTR(pScrn)->pVbe); xfree(((VIARec *)(pScrn->driverPrivate))->pBIOSInfo->pModeTable); - xfree(((VIARec *)(pScrn->driverPrivate))->pBIOSInfo->UserSetting); xfree(((VIARec *)(pScrn->driverPrivate))->pBIOSInfo); ViaTunerDestroy(pScrn); xfree(pScrn->driverPrivate); diff --git a/src/via_driver.h b/src/via_driver.h index 1e5ec48..30e86ee 100644 --- a/src/via_driver.h +++ b/src/via_driver.h @@ -448,15 +448,6 @@ int viaPutImageG( ScrnInfoPtr, short, short, short, short, short, short, short, short,int, unsigned char*, short, short, Bool, RegionPtr, pointer); - -/*In via_utility.c */ -void VIAXVUtilityProc(ScrnInfoPtr pScrn, unsigned char* buf); -Bool VIAUTGetInfo(VIABIOSInfoPtr pBIOSInfo); -Bool VIALoadUserSetting(VIABIOSInfoPtr pBIOSInfo); -Bool VIALoadGammaSetting(VIABIOSInfoPtr pBIOSInfo); -Bool VIARestoreUserSetting(VIABIOSInfoPtr pBIOSInfo); -void VIAUTRemoveRestartFlag(VIABIOSInfoPtr pBIOSInfo); - /* in via_overlay.c */ unsigned long viaOverlayHQVCalcZoomHeight (VIAPtr pVia, unsigned long srcHeight,unsigned long dstHeight, unsigned long * lpzoomCtl, unsigned long * lpminiCtl, unsigned long * lpHQVfilterCtl, unsigned long * lpHQVminiCtl,unsigned long * lpHQVzoomflag); diff --git a/src/via_mode.c b/src/via_mode.c index ff30214..927b94e 100644 --- a/src/via_mode.c +++ b/src/via_mode.c @@ -1513,8 +1513,6 @@ VIAFindModeUseBIOSTable(VIABIOSInfoPtr pBIOSInfo) (pBIOSInfo->PanelSize == VIA_PANEL_INVALID)) VIAGetPanelInfo(pBIOSInfo); - pBIOSInfo->UserSetting->DefaultSetting = FALSE; - if (!pBIOSInfo->ActiveDevice) pBIOSInfo->ActiveDevice = VIAGetDeviceDetect(pBIOSInfo); @@ -2692,7 +2690,6 @@ VIASetModeUseBIOSTable(ScrnInfoPtr pScrn) vgaHWPtr hwp = VGAHWPTR(pScrn); VIABIOSInfoPtr pBIOSInfo = VIAPTR(pScrn)->pBIOSInfo; VIAModeTablePtr pViaModeTable = pBIOSInfo->pModeTable; - VIAUserSettingPtr UserSetting = pBIOSInfo->UserSetting; int port, offset, mask, data; int i; VIAModeEntryPtr Mode; @@ -2831,17 +2828,6 @@ VIASetModeUseBIOSTable(ScrnInfoPtr pScrn) if (pBIOSInfo->SetTV) ViaTVModePostSet(pBIOSInfo); - /* load/save TV attribute for utility. */ - if (!pBIOSInfo->HasSecondary && (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV)) { - /* Read User Setting */ - if (UserSetting->DefaultSetting) { - VIARestoreUserSetting(pBIOSInfo); - } - else { /* Read from I2C */ - VIAUTGetInfo(pBIOSInfo); - } - } - ViaSetPrimaryFIFO(pBIOSInfo); /* Enable CRT Controller (3D5.17 Hardware Reset) */ diff --git a/src/via_utility.c b/src/via_utility.c deleted file mode 100644 index c7fb1c2..0000000 --- a/src/via_utility.c +++ /dev/null @@ -1,1690 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/via/via_utility.c,v 1.5 2003/12/31 05:42:05 dawes Exp $ */ -/* - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. - * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sub license, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -/* - * I N C L U D E S - */ -#include "via_driver.h" -#include "via_utility.h" - - -void VIAXVUtilityProc(ScrnInfoPtr pScrn, unsigned char *buf) -{ - VIAPtr pVia = VIAPTR(pScrn); - VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo; - VIAUserSettingPtr pUserSetting = pBIOSInfo->UserSetting; - VIAModeTablePtr pViaModeTable = pBIOSInfo->pModeTable; - CARD8 *TV = NULL; - int i, HPos, VPos; - unsigned int tvIndx = pBIOSInfo->resTVMode; - CARD32 dwFunc, dwAction = 0, dwInData = 0; - UTBIOSVERSION pUTBIOSVERSION; - UTBIOSDATE pUTBIOSDATE; - UTPANELINFO pUTPANELINFO; - UTXYVALUE MaxViewSizeValue, ViewSizeValue, MaxViewPosValue, ViewPosValue; - UTSETTVTUNINGINFO pUTSETTVTUNINGINFO; - UTSETTVITEMSTATE pUTSETTVITEMSTATE; - UTGAMMAINFO pUTGAMMAINFO; - CARD32 dwVideoRam, dwSupportState = 0, dwConnectState = 0, dwActiveState = 0; - CARD32 dwSAMMState, dwRotateState = 0, dwExpandState, dwStandard = 0; - CARD32 dwSignalType, dwMaxValue, dwItemID = 0, dwValue, dwState; - CARD32 value; - long dwUTRetOK = 1, dwUTRetFail = 0, dwUTRetNoFunc = -1; - unsigned char *InParam; - I2CDevPtr dev = NULL; - unsigned char W_Buffer[3]; - unsigned char R_Buffer[3]; - - WaitIdle(); - - if ((pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) && (!pUserSetting->DefaultSetting)) { - VIAUTGetInfo(pBIOSInfo); - } - - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - if (pBIOSInfo->TVType == TVTYPE_PAL) { - switch (pBIOSInfo->TVVScan) { - case VIA_TVNORMAL: - if (pBIOSInfo->TVOutput == TVOUTPUT_COMPOSITE) - TV = pViaModeTable->tv2Table[tvIndx].TVPALC; - else - TV = pViaModeTable->tv2Table[tvIndx].TVPALS; - break; - case VIA_TVOVER: - if (pBIOSInfo->TVOutput == TVOUTPUT_COMPOSITE) - TV = pViaModeTable->tv2OverTable[tvIndx].TVPALC; - else - TV = pViaModeTable->tv2OverTable[tvIndx].TVPALS; - break; - } - } else { - switch (pBIOSInfo->TVVScan) { - case VIA_TVNORMAL: - if (pBIOSInfo->TVOutput == TVOUTPUT_COMPOSITE) - TV = pViaModeTable->tv2Table[tvIndx].TVNTSCC; - else - TV = pViaModeTable->tv2Table[tvIndx].TVNTSCS; - break; - case VIA_TVOVER: - if (pBIOSInfo->TVOutput == TVOUTPUT_COMPOSITE) - TV = pViaModeTable->tv2OverTable[tvIndx].TVNTSCC; - else - TV = pViaModeTable->tv2OverTable[tvIndx].TVNTSCS; - break; - } - } - break; - case VIA_TV3: - if (pBIOSInfo->TVType == TVTYPE_PAL) { - switch (pBIOSInfo->TVVScan) { - case VIA_TVNORMAL: - TV = pViaModeTable->tv3Table[tvIndx].TVPAL; - break; - case VIA_TVOVER: - TV = pViaModeTable->tv3OverTable[tvIndx].TVPAL; - break; - } - } else { - switch (pBIOSInfo->TVVScan) { - case VIA_TVNORMAL: - TV = pViaModeTable->tv3Table[tvIndx].TVNTSC; - break; - case VIA_TVOVER: - TV = pViaModeTable->tv3OverTable[tvIndx].TVNTSC; - break; - } - } - break; - case VIA_VT1622A: - case VIA_VT1623: - if (pBIOSInfo->TVType == TVTYPE_PAL) { - switch (pBIOSInfo->TVVScan) { - case VIA_TVNORMAL: - TV = pViaModeTable->vt1622aTable[tvIndx].TVPAL; - break; - case VIA_TVOVER: - TV = pViaModeTable->vt1622aOverTable[tvIndx].TVPAL; - break; - } - } else { - switch (pBIOSInfo->TVVScan) { - case VIA_TVNORMAL: - TV = pViaModeTable->vt1622aTable[tvIndx].TVNTSC; - break; - case VIA_TVOVER: - TV = pViaModeTable->vt1622aOverTable[tvIndx].TVNTSC; - break; - } - } - break; - default: - break; - } - - InParam = buf; - dwFunc = *((CARD32 *) InParam); - InParam += 4; - - dwAction = *((CARD32 *) InParam); - InParam += 4; - - switch (dwFunc) { - case UT_XV_FUNC_BIOS: - switch (dwAction) { - case UT_XV_FUNC_BIOS_GetChipID: - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &pVia->ChipId, sizeof(CARD32)); - InParam += 4; - break; - case UT_XV_FUNC_BIOS_GetVersion: - pUTBIOSVERSION.dwVersion = pBIOSInfo->BIOSMajorVersion; - pUTBIOSVERSION.dwRevision = pBIOSInfo->BIOSMinorVersion; - memcpy((void *) InParam, &dwUTRetOK, sizeof(long)); - InParam += 4; - memcpy((void *) InParam, &pUTBIOSVERSION, sizeof(UTBIOSVERSION)); - break; - case UT_XV_FUNC_BIOS_GetDate: - pUTBIOSDATE.dwYear = (CARD32) pBIOSInfo->BIOSDateYear + 2000; - pUTBIOSDATE.dwMonth = (CARD32) pBIOSInfo->BIOSDateMonth; - pUTBIOSDATE.dwDay = (CARD32) pBIOSInfo->BIOSDateDay; - memcpy((void *) InParam, &dwUTRetOK, sizeof(long)); - InParam += 4; - memcpy((void *) InParam, &pUTBIOSDATE, sizeof(UTBIOSDATE)); - break; - case UT_XV_FUNC_BIOS_GetVideoMemSizeMB: - dwVideoRam = pScrn->videoRam >> 10; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwVideoRam, sizeof(CARD32)); - break; - default: - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - InParam += 4; - ErrorF(" via_utility.c : dwAction not supported\n"); - break; - } - break; - case UT_XV_FUNC_DEVICE: - switch (dwAction) { - case UT_XV_FUNC_DEVICE_GetSupportState: - dwSupportState = UT_DEVICE_CRT1; - if (pBIOSInfo->TVEncoder) - dwSupportState |= UT_DEVICE_TV; - if (pBIOSInfo->TMDS) { - dwSupportState |= UT_DEVICE_DFP; - } - if (pBIOSInfo->LVDS) { - dwSupportState |= UT_DEVICE_LCD; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSupportState, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_GetConnectState: - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - dwConnectState = VIAGetDeviceDetect(pBIOSInfo); - memcpy((void *) InParam, &dwConnectState, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_GetActiveState: - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - if (pBIOSInfo->HasSecondary) /* if SAMM */ - dwActiveState = pVia->ActiveDevice; - else - dwActiveState = pBIOSInfo->ActiveDevice; - memcpy((void *) InParam, &dwActiveState, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_SetActiveState: - InParam += 4; - dwInData = *((CARD32 *) InParam); - /* DuoView not implement yet, we do nothing */ - if ((dwInData == (VIA_DEVICE_TV | VIA_DEVICE_LCD)) || (dwInData == (VIA_DEVICE_TV | VIA_DEVICE_DFP))) { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - } - pBIOSInfo->ActiveDevice = (unsigned char) dwInData; - /* Avoid device switch in panning mode or expansion */ - pBIOSInfo->scaleY = FALSE; - pScrn->frameX1 = pBIOSInfo->SaveframeX1; - pScrn->frameY1 = pBIOSInfo->SaveframeY1; - pScrn->currentMode->HDisplay = pBIOSInfo->SaveHDisplay; - pScrn->currentMode->VDisplay = pBIOSInfo->SaveVDisplay; - pScrn->currentMode->CrtcHDisplay = pBIOSInfo->SaveCrtcHDisplay; - pScrn->currentMode->CrtcVDisplay = pBIOSInfo->SaveCrtcVDisplay; - - /*BIOS_SetActiveDevice(pScrn); */ - VIASwitchMode(0, pScrn->currentMode, 0); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_GetSAMMState: - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - if (!pBIOSInfo->HasSecondary) - dwSAMMState = UT_STATE_SAMM_OFF; - else - dwSAMMState = UT_STATE_SAMM_ON; - memcpy((void *) InParam, &dwSAMMState, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_GetRoateState: - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - dwRotateState = UT_ROTATE_NONE; - memcpy((void *) InParam, &dwRotateState, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_SetRoateState: - memcpy((void *) InParam, &dwUTRetNoFunc, sizeof(CARD32)); - break; - default: - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - ErrorF(" via_utility.c : dwAction not supported\n"); - break; - } - break; - case UT_XV_FUNC_PANEL: - switch (dwAction) { - case UT_XV_FUNC_DEVICE_SetTargetPanel: - memcpy((void *) InParam, &dwUTRetNoFunc, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_GetPanelInfo: - pUTPANELINFO.dwType = UT_PANEL_TYPE_TFT; - pUTPANELINFO.dwResX = pBIOSInfo->panelX; - pUTPANELINFO.dwResY = pBIOSInfo->panelY; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &pUTPANELINFO, sizeof(UTPANELINFO)); - break; - case UT_XV_FUNC_DEVICE_GetExpandState: - if (pBIOSInfo->Center) - dwExpandState = UT_STATE_EXPAND_OFF; - else - dwExpandState = UT_STATE_EXPAND_ON; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwExpandState, sizeof(CARD32)); - break; - case UT_XV_FUNC_DEVICE_SetExpandState: - InParam += 4; - dwInData = *((CARD32 *) InParam); - if (dwInData == UT_STATE_EXPAND_OFF) { - pBIOSInfo->Center = TRUE; - VIASwitchMode(0, pScrn->currentMode, 0); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else if (dwInData == UT_STATE_EXPAND_ON) { - pBIOSInfo->Center = FALSE; - VIASwitchMode(0, pScrn->currentMode, 0); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_XV_FUNC_DEVICE_GetSupportExpand: - InParam += 4; - dwInData = *((CARD32 *) InParam); - if (pBIOSInfo->LVDS) { - switch (pBIOSInfo->PanelSize) { - case VIA_PANEL6X4: - if (pBIOSInfo->SaveHDisplay < 640 && pBIOSInfo->SaveVDisplay < 480) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - case VIA_PANEL8X6: - if (pBIOSInfo->SaveHDisplay < 800 && pBIOSInfo->SaveVDisplay < 600) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - case VIA_PANEL10X7: - if (pBIOSInfo->SaveHDisplay < 1024 && pBIOSInfo->SaveVDisplay < 768) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - case VIA_PANEL12X7: - if (pBIOSInfo->SaveHDisplay < 1280 && pBIOSInfo->SaveVDisplay < 768) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - case VIA_PANEL12X10: - if (pBIOSInfo->SaveHDisplay < 1280 && pBIOSInfo->SaveVDisplay < 1024) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - case VIA_PANEL14X10: - if (pBIOSInfo->SaveHDisplay < 1400 && pBIOSInfo->SaveVDisplay < 1050) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - case VIA_PANEL16X12: - if (pBIOSInfo->SaveHDisplay < 1600 && pBIOSInfo->SaveVDisplay < 1200) { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_ON; - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - break; - default: - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - break; - } - } else { - dwSupportState = UT_PANEL_SUPPORT_EXPAND_OFF; - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSupportState, sizeof(CARD32)); - break; - default: - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - InParam += 4; - ErrorF(" via_utility.c : dwAction not supported\n"); - break; - } - break; - case UT_XV_FUNC_TV: - switch (dwAction) { - case UT_XV_FUNC_TV_GetSupportStandardState: - dwSupportState = UT_TV_STD_NTSC | UT_TV_STD_PAL; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSupportState, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_GetStandard: - dwStandard = pBIOSInfo->TVType; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwStandard, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_SetStandard: - InParam += 4; - dwInData = *((CARD32 *) InParam); - switch (dwInData) { - case UT_TV_STD_NTSC: - pBIOSInfo->TVType = TVTYPE_NTSC; - if (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) { - VIASwitchMode(0, pScrn->currentMode, 0); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_STD_PAL: - pBIOSInfo->TVType = TVTYPE_PAL; - if (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) { - VIASwitchMode(0, pScrn->currentMode, 0); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - break; - } - break; - case UT_XV_FUNC_TV_GetSupportSignalTypeState: - VIAGetActiveDisplay(pBIOSInfo); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwSupportState = UT_TV_SGNL_COMPOSITE | UT_TV_SGNL_S_VIDEO; - break; - case VIA_TV3: - case VIA_VT1622A: - dwSupportState = UT_TV_SGNL_COMPOSITE | UT_TV_SGNL_S_VIDEO | UT_TV_SGNL_SCART | UT_TV_SGNL_COMP_OUTPUT; - break; - default: - dwSupportState = 0; - break; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSupportState, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_GetSignalType: - dwSignalType = pBIOSInfo->TVOutput; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSignalType, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_SetSignalType: - InParam += 4; - dwInData = *((CARD32 *) InParam); - switch (dwInData) { - case UT_TV_SGNL_COMPOSITE: - pBIOSInfo->TVOutput = TVOUTPUT_COMPOSITE; - if (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) { - VIASwitchMode(0, pScrn->currentMode, 0); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_SGNL_S_VIDEO: - pBIOSInfo->TVOutput = TVOUTPUT_SVIDEO; - if (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) { - VIASwitchMode(0, pScrn->currentMode, 0); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_SGNL_SCART: - pBIOSInfo->TVOutput = TVOUTPUT_RGB; - if (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) { - VIASwitchMode(0, pScrn->currentMode, 0); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_SGNL_COMP_OUTPUT: - pBIOSInfo->TVOutput = TVOUTPUT_YCBCR; - if (pBIOSInfo->ActiveDevice & VIA_DEVICE_TV) { - VIASwitchMode(0, pScrn->currentMode, 0); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - break; - } - break; - case UT_XV_FUNC_TV_GetMaxViewSizeValue: - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - MaxViewSizeValue.dwX = 0; - MaxViewSizeValue.dwY = 2; - break; - default: - MaxViewSizeValue.dwX = 0; - MaxViewSizeValue.dwY = 0; - break; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &MaxViewSizeValue, sizeof(UTXYVALUE)); - break; - case UT_XV_FUNC_TV_GetViewSizeValue: - ViewSizeValue.dwX = 0; - ViewSizeValue.dwY = pBIOSInfo->TVVScan + 1; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &ViewSizeValue, sizeof(UTXYVALUE)); - break; - case UT_XV_FUNC_TV_SetViewSizeValue: - InParam = buf + 12; - memcpy(&ViewSizeValue, (void *) InParam, sizeof(UTXYVALUE)); - if (ViewSizeValue.dwY == 0xFFFF) { - pBIOSInfo->TVVScan = VIA_TVNORMAL; - } else { - pBIOSInfo->TVVScan = (int) ViewSizeValue.dwY - 1; - } - VIASwitchMode(0, pScrn->currentMode, 0); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - - case UT_XV_FUNC_TV_GetMaxViewPositionValue: - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - MaxViewPosValue.dwX = 0; - MaxViewPosValue.dwY = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - MaxViewPosValue.dwX = 11; /* 9 bit, [0:7]08H, [2]1CH */ - MaxViewPosValue.dwY = 11; /* 9 bit, [0:7]09H, [1]1CH */ - break; - default: - MaxViewPosValue.dwX = 0; - MaxViewPosValue.dwY = 0; - break; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &MaxViewPosValue, sizeof(UTXYVALUE)); - break; - case UT_XV_FUNC_TV_GetViewPositionValue: - InParam = buf + 12; - memcpy(&ViewPosValue, (void *) InParam, sizeof(UTXYVALUE)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - ViewPosValue.dwX = 0; - ViewPosValue.dwY = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - if (ViewPosValue.dwX == 0xFFFF && ViewPosValue.dwY == 0xFFFF) { - /*value = TV[0x1C]; - ViewPosValue.dwX = (CARD32)(TV[0x08] & 0xFF); - ViewPosValue.dwX |= (CARD32)((value & 0x04) << 6); - ViewPosValue.dwY = (CARD32)(TV[0x09] & 0xFF); - ViewPosValue.dwY |= (CARD32)((value & 0x02) << 7); */ - ViewPosValue.dwX = 6; - ViewPosValue.dwY = 6; - } else { - ViewPosValue.dwX = pUserSetting->tvHPosition; - ViewPosValue.dwY = pUserSetting->tvVPosition; - } - break; - default: - ViewPosValue.dwX = 0; - ViewPosValue.dwY = 0; - break; - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &ViewPosValue, sizeof(UTXYVALUE)); - break; - case UT_XV_FUNC_TV_SetViewPositionValue: - InParam = buf + 12; - memcpy(&ViewPosValue, (void *) InParam, sizeof(UTXYVALUE)); - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->tvHPosition = 0; - pUserSetting->tvVPosition = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - if (ViewPosValue.dwX == 0xFFFF && ViewPosValue.dwX == 0xFFFF) { - W_Buffer[0] = 0x1C; - W_Buffer[1] = TV[0x1C]; - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - W_Buffer[0] = 0x08; - W_Buffer[1] = TV[0x08]; - W_Buffer[2] = TV[0x09]; - xf86I2CWriteRead(dev, W_Buffer, 3, NULL, 0); - /*value = TV[0x1C]; - pUserSetting->tvHPosition = TV[0x08] & 0xFF; - pUserSetting->tvHPosition |= (value & 0x04) << 6; - pUserSetting->tvVPosition = TV[0x09] & 0xFF; - pUserSetting->tvVPosition |= (value & 0x02) << 7; */ - pUserSetting->tvHPosition = 6; - pUserSetting->tvVPosition = 6; - } else { - W_Buffer[0] = 0x08; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 2); - HPos = R_Buffer[0]; - VPos = R_Buffer[1]; - W_Buffer[0] = 0x1C; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - HPos |= (R_Buffer[0] & 0x04) << 6; - VPos |= (R_Buffer[0] & 0x02) << 7; - - HPos += ViewPosValue.dwX - pUserSetting->tvHPosition; - VPos += ViewPosValue.dwY - pUserSetting->tvVPosition; - - W_Buffer[0] = 0x08; - W_Buffer[1] = HPos & 0xFF; - W_Buffer[2] = VPos & 0xFF; - xf86I2CWriteRead(dev, W_Buffer, 3, NULL, 0); - - W_Buffer[0] = 0x1C; - W_Buffer[1] = R_Buffer[0] & ~0x06; /* [2]1CH, [1]1CH */ - W_Buffer[1] |= (HPos >> 6) & 0x04; - W_Buffer[1] |= (VPos >> 7) & 0x02; - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - - pUserSetting->tvHPosition = ViewPosValue.dwX; - pUserSetting->tvVPosition = ViewPosValue.dwY; - } - break; - default: - pUserSetting->tvHPosition = 0; - pUserSetting->tvVPosition = 0; - break; - } - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - } - break; - case UT_XV_FUNC_TV_GetSupportTuningState: - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwSupportState = UT_TV_TUNING_FFILTER | UT_TV_TUNING_BRIGHTNESS | UT_TV_TUNING_CONTRAST | UT_TV_TUNING_SATURATION | UT_TV_TUNING_TINT; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwSupportState = UT_TV_TUNING_FFILTER | UT_TV_TUNING_ADAPTIVE_FFILTER | UT_TV_TUNING_BRIGHTNESS | UT_TV_TUNING_CONTRAST | UT_TV_TUNING_SATURATION | UT_TV_TUNING_TINT; - break; - default: - dwSupportState = 0; - break; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSupportState, sizeof(UTXYVALUE)); - break; - case UT_XV_FUNC_TV_GetTuningItemMaxValue: /* 0 BASE */ - InParam += 4; - dwInData = *((CARD32 *) InParam); - switch (dwInData) { - case UT_TV_TUNING_FFILTER: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwMaxValue = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwMaxValue = 3; /* 2bit, [1:0]03H */ - break; - default: - dwMaxValue = 0; - break; - } - break; - case UT_TV_TUNING_ADAPTIVE_FFILTER: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwMaxValue = 0; /* TV2Plus No Adaptive Flicker */ - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwMaxValue = 255; /* 8bit, [7:0]61H */ - break; - default: - dwMaxValue = 0; - break; - } - break; - case UT_TV_TUNING_BRIGHTNESS: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwMaxValue = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwMaxValue = 255; /* 8bit, [7:0]0BH */ - break; - default: - dwMaxValue = 0; - break; - } - break; - case UT_TV_TUNING_CONTRAST: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwMaxValue = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwMaxValue = 255; /* 8bit, [7:0]0CH */ - break; - default: - dwMaxValue = 0; - break; - } - break; - case UT_TV_TUNING_SATURATION: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwMaxValue = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwMaxValue = 65535; /* 16bit, [7:0]0AH, [7:0]0DH */ - break; - default: - dwMaxValue = 0; - break; - } - break; - case UT_TV_TUNING_TINT: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - dwMaxValue = 2047; /* 11bit, [7:0]10H, [7:5]11H */ - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwMaxValue = 2047; /* 11bit, [7:0]10H, [2:0]11H */ - break; - default: - dwMaxValue = 0; - break; - } - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - dwMaxValue = 0; - break; - } - InParam += 4; - memcpy((void *) InParam, &dwMaxValue, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_GetTuningItemValue: - InParam += 4; - dwInData = *((CARD32 *) InParam); - switch (dwInData) { - case UT_TV_TUNING_FFILTER: - dwValue = pUserSetting->tvFFilter; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_TUNING_ADAPTIVE_FFILTER: - dwValue = pUserSetting->tvAdaptiveFFilter; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_TUNING_BRIGHTNESS: - dwValue = pUserSetting->tvBrightness; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_TUNING_CONTRAST: - dwValue = pUserSetting->tvContrast; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_TUNING_SATURATION: - dwValue = pUserSetting->tvSaturation; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_TUNING_TINT: - dwValue = pUserSetting->tvTint; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - dwValue = 0; - break; - } - InParam += 4; - memcpy((void *) InParam, &dwValue, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_SetTuningItemValue: - InParam = buf + 12; - memcpy(&pUTSETTVTUNINGINFO, (void *) InParam, sizeof(UTSETTVTUNINGINFO)); - switch (pUTSETTVTUNINGINFO.dwItemID) { - case UT_TV_TUNING_FFILTER: - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->tvFFilter = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[0] = 0x03; - W_Buffer[1] = TV[0x03]; - pUserSetting->tvFFilter = TV[0x03] & 0x03; - if (pUserSetting->tvFFilter == 0) - pUserSetting->AdaptiveFilterOn = TRUE; - } else { - W_Buffer[0] = 0x03; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[1] = R_Buffer[0] & ~0x03; - W_Buffer[1] |= pUTSETTVTUNINGINFO.dwValue; - pUserSetting->tvFFilter = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - break; - default: - pUserSetting->tvFFilter = 0; - break; - } - - xf86DestroyI2CDevRec(dev, TRUE); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_TUNING_ADAPTIVE_FFILTER: - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->tvAdaptiveFFilter = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[0] = 0x61; - W_Buffer[1] = TV[0x61]; - pUserSetting->tvAdaptiveFFilter = TV[0x61] & 0xFF; - } else { - W_Buffer[0] = 0x61; - W_Buffer[1] = (unsigned char) pUTSETTVTUNINGINFO.dwValue; - pUserSetting->tvAdaptiveFFilter = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - break; - default: - pUserSetting->tvAdaptiveFFilter = 0; - break; - } - xf86DestroyI2CDevRec(dev, TRUE); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_TUNING_BRIGHTNESS: - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->tvBrightness = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - W_Buffer[0] = 0x0B; - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[1] = TV[0x0B]; - pUserSetting->tvBrightness = TV[0x0B] & 0xFF; - } else { - W_Buffer[1] = (unsigned char) pUTSETTVTUNINGINFO.dwValue; - pUserSetting->tvBrightness = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - break; - default: - pUserSetting->tvBrightness = 0; - break; - } - - xf86DestroyI2CDevRec(dev, TRUE); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_TUNING_CONTRAST: - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->tvContrast = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - W_Buffer[0] = 0x0C; - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[1] = TV[0x0C]; - pUserSetting->tvContrast = TV[0x0C] & 0xFF; - } else { - W_Buffer[1] = (unsigned char) pUTSETTVTUNINGINFO.dwValue; - pUserSetting->tvContrast = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - break; - default: - pUserSetting->tvContrast = 0; - break; - } - - xf86DestroyI2CDevRec(dev, TRUE); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_TUNING_SATURATION: - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->tvSaturation = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[0] = 0x0D; - W_Buffer[1] = TV[0x0D]; - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - W_Buffer[0] = 0x0A; - W_Buffer[1] = TV[0x0A]; - value = TV[0x0D]; - pUserSetting->tvSaturation = TV[0x0A] & 0xFF; - pUserSetting->tvSaturation |= value << 8; - } else { - W_Buffer[0] = 0x0D; - W_Buffer[1] = (unsigned char) ((pUTSETTVTUNINGINFO.dwValue >> 8) & 0xFF); - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - W_Buffer[0] = 0x0A; - W_Buffer[1] = (unsigned char) (pUTSETTVTUNINGINFO.dwValue & 0xFF); - pUserSetting->tvSaturation = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 3, NULL, 0); - break; - default: - pUserSetting->tvSaturation = 0; - break; - } - - xf86DestroyI2CDevRec(dev, TRUE); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_TUNING_TINT: - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[0] = 0x10; - W_Buffer[1] = TV[0x10]; - W_Buffer[2] = TV[0x11]; - pUserSetting->tvTint = TV[0x10] & 0xFF; - pUserSetting->tvTint |= (TV[0x11] & 0xE0) << 3; - } else { - W_Buffer[0] = 0x11; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[2] = R_Buffer[0] & ~0xE0; - W_Buffer[2] |= (unsigned char) ((pUTSETTVTUNINGINFO.dwValue >> 3) & 0xFF); - W_Buffer[0] = 0x10; - W_Buffer[1] = (unsigned char) (pUTSETTVTUNINGINFO.dwValue & 0xFF); - pUserSetting->tvTint = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 3, NULL, 0); - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - if (pUTSETTVTUNINGINFO.dwValue == 0xFFFF) { - W_Buffer[0] = 0x10; - W_Buffer[1] = TV[0x10]; - W_Buffer[2] = TV[0x11]; - value = TV[0x11]; - pUserSetting->tvTint = TV[0x10] & 0xFF; - pUserSetting->tvTint |= TV[0x11] << 8; - } else { - W_Buffer[0] = 0x11; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[2] = R_Buffer[0] & ~0x07; - W_Buffer[2] |= (unsigned char) (pUTSETTVTUNINGINFO.dwValue >> 8) & 0xFF; - W_Buffer[0] = 0x10; - W_Buffer[1] = (unsigned char) (pUTSETTVTUNINGINFO.dwValue & 0xFF); - pUserSetting->tvTint = pUTSETTVTUNINGINFO.dwValue; - } - xf86I2CWriteRead(dev, W_Buffer, 3, NULL, 0); - break; - default: - pUserSetting->tvTint = 0; - break; - } - - xf86DestroyI2CDevRec(dev, TRUE); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - break; - } - break; - case UT_XV_FUNC_TV_GetSupportSettingState: - dwItemID |= UT_TV_SETTING_FFILTER; - switch (pBIOSInfo->TVEncoder) { - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - dwItemID |= UT_TV_SETTING_ADAPTIVE_FFILTER; - if (pBIOSInfo->TVType == TVTYPE_NTSC) - dwItemID |= UT_TV_SETTING_DOT_CRAWL; - break; - default: - break; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwItemID, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_GetSettingItemState: - InParam += 4; - dwInData = *((CARD32 *) InParam); - switch (dwInData) { - case UT_TV_SETTING_FFILTER: - if (pUserSetting->tvFFilter) - dwState = UT_STATE_ON; - else - dwState = UT_STATE_OFF; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_SETTING_ADAPTIVE_FFILTER: - if (pUserSetting->tvFFilter) - dwState = UT_STATE_OFF; - else - dwState = UT_STATE_ON; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_SETTING_DOT_CRAWL: - if (pBIOSInfo->TVDotCrawl) - dwState = UT_STATE_ON; - else - dwState = UT_STATE_OFF; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - break; - case UT_TV_SETTING_LOCK_ASPECT_RATIO: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetNoFunc, sizeof(CARD32)); - dwState = UT_STATE_OFF; - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - dwState = UT_STATE_OFF; - break; - } - InParam += 4; - memcpy((void *) InParam, &dwState, sizeof(CARD32)); - break; - case UT_XV_FUNC_TV_SetSettingItemState: - InParam = buf + 12; - memcpy(&pUTSETTVITEMSTATE, (void *) InParam, sizeof(UTSETTVITEMSTATE)); - switch (pUTSETTVITEMSTATE.dwItemID) { - case UT_TV_SETTING_FFILTER: - if (pUTSETTVITEMSTATE.dwState == UT_STATE_OFF) { - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - W_Buffer[0] = 0x03; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[1] = R_Buffer[0] & ~0x03; - break; - default: - break; - } - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - xf86DestroyI2CDevRec(dev, TRUE); - pUserSetting->AdaptiveFilterOn = TRUE; - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - } - } else if (pUTSETTVITEMSTATE.dwState == UT_STATE_ON) { - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - W_Buffer[0] = 0x03; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[1] = R_Buffer[0] & ~0x03; - W_Buffer[1] |= (unsigned char) (pUserSetting->tvFFilter - 1); - break; - default: - break; - } - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - xf86DestroyI2CDevRec(dev, TRUE); - pUserSetting->AdaptiveFilterOn = FALSE; - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - } - } else { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_SETTING_ADAPTIVE_FFILTER: - if (pUTSETTVITEMSTATE.dwState == UT_STATE_OFF) { - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->AdaptiveFilterOn = FALSE; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - W_Buffer[0] = 0x61; - W_Buffer[1] = 0x00; - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - xf86DestroyI2CDevRec(dev, TRUE); - pUserSetting->AdaptiveFilterOn = FALSE; - break; - default: - pUserSetting->AdaptiveFilterOn = FALSE; - break; - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - } - } else if (pUTSETTVITEMSTATE.dwState == UT_STATE_ON) { - if (xf86I2CProbeAddress(pBIOSInfo->I2C_Port2, pBIOSInfo->TVI2CAdd)) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - pUserSetting->AdaptiveFilterOn = FALSE; - pUserSetting->tvAdaptiveFFilter = 0; - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - W_Buffer[0] = 0x03; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[1] = R_Buffer[0] & ~0x03; - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - W_Buffer[0] = 0x61; - W_Buffer[1] = (unsigned char) pUserSetting->tvAdaptiveFFilter; - xf86DestroyI2CDevRec(dev, TRUE); - pUserSetting->AdaptiveFilterOn = TRUE; - break; - default: - pUserSetting->AdaptiveFilterOn = FALSE; - pUserSetting->tvAdaptiveFFilter = 0; - break; - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - xf86DestroyI2CDevRec(dev, TRUE); - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - } - } else { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_SETTING_DOT_CRAWL: - if (pUTSETTVITEMSTATE.dwState == UT_STATE_OFF || pUTSETTVITEMSTATE.dwState == UT_STATE_DEFAULT) { - pBIOSInfo->TVDotCrawl = FALSE; - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - VIAPreSetTV2Mode(pBIOSInfo); - VIAPostSetTV2Mode(pBIOSInfo); - break; - case VIA_TV3: - case VIA_VT1622A: - VIAPreSetTV3Mode(pBIOSInfo); - VIAPostSetTV3Mode(pBIOSInfo); - break; - default: - break; - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else if (pUTSETTVITEMSTATE.dwState == UT_STATE_ON) { - pBIOSInfo->TVDotCrawl = TRUE; - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - VIAPreSetTV2Mode(pBIOSInfo); - VIAPostSetTV2Mode(pBIOSInfo); - break; - case VIA_TV3: - case VIA_VT1622A: - case VIA_VT1623: - VIAPreSetTV3Mode(pBIOSInfo); - VIAPostSetTV3Mode(pBIOSInfo); - break; - default: - break; - } - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_TV_SETTING_LOCK_ASPECT_RATIO: - if (pUTSETTVITEMSTATE.dwState == UT_STATE_OFF) { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetNoFunc, sizeof(CARD32)); - } else if (pUTSETTVITEMSTATE.dwState == UT_STATE_ON) { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetNoFunc, sizeof(CARD32)); - } else { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - default: - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - break; - } - break; - default: - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - InParam += 4; - ErrorF(" via_utility.c : dwAction not supported\n"); - break; - } - break; - case UT_XV_FUNC_GAMMA: - switch (dwAction) { - case UT_ESC_FUNC_GAMMA_GetDeviceSupportState: - if (pScrn->bitsPerPixel == 8) - dwSupportState = UT_DEVICE_NONE; - else - dwSupportState = UT_DEVICE_CRT1 | UT_DEVICE_TV | UT_DEVICE_DFP | UT_DEVICE_LCD; - /*dwSupportState = UT_DEVICE_NONE; */ - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, &dwSupportState, sizeof(CARD32)); - break; - case UT_ESC_FUNC_GAMMA_GetLookUpTable: - if (VIASavePalette(pScrn, pBIOSInfo->colors)) { - for (i = 0; i < 256; i++) { - pUTGAMMAINFO.LookUpTable[i] = ((CARD32) pBIOSInfo->colors[i].red) << 16; - pUTGAMMAINFO.LookUpTable[i] |= ((CARD32) pBIOSInfo->colors[i].green) << 8; - pUTGAMMAINFO.LookUpTable[i] |= (CARD32) pBIOSInfo->colors[i].blue; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, pUTGAMMAINFO.LookUpTable, sizeof(pUTGAMMAINFO.LookUpTable)); - } else { - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_ESC_FUNC_GAMMA_SetLookUpTable: - InParam = buf + 12; - memcpy(&pUTGAMMAINFO, (void *) InParam, sizeof(UTGAMMAINFO)); - if (pUTGAMMAINFO.LookUpTable[0] == 0xFFFFFFFF) { /* Set default gamma value */ - for (i = 0; i < 256; i++) { - pBIOSInfo->colors[i].red = i; - pBIOSInfo->colors[i].green = i; - pBIOSInfo->colors[i].blue = i; - } - } else { - for (i = 0; i < 256; i++) { - pBIOSInfo->colors[i].red = (unsigned short) (pUTGAMMAINFO.LookUpTable[i] >> 16); - pBIOSInfo->colors[i].green = (unsigned short) (pUTGAMMAINFO.LookUpTable[i] >> 8) & 0x00FF; - pBIOSInfo->colors[i].blue = (unsigned short) (pUTGAMMAINFO.LookUpTable[i] & 0x000000FF); - } - } - if (VIARestorePalette(pScrn, pBIOSInfo->colors)) { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - } else { - InParam = buf + 8; - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - } - break; - case UT_ESC_FUNC_GAMMA_GetDefaultLookUpTable: - for (i = 0; i < 256; i++) { - pUTGAMMAINFO.LookUpTable[i] = (CARD32) i << 16; - pUTGAMMAINFO.LookUpTable[i] |= (CARD32) i << 8; - pUTGAMMAINFO.LookUpTable[i] |= (CARD32) i; - } - memcpy((void *) InParam, &dwUTRetOK, sizeof(CARD32)); - InParam += 4; - memcpy((void *) InParam, pUTGAMMAINFO.LookUpTable, sizeof(pUTGAMMAINFO.LookUpTable)); - break; - default: - memcpy((void *) InParam, &dwUTRetNoFunc, sizeof(CARD32)); - InParam += 4; - ErrorF(" via_utility.c : dwAction not supported\n"); - break; - } - break; - default: - ErrorF(" via_utility.c : dwFunc not supported\n"); - memcpy((void *) InParam, &dwUTRetFail, sizeof(CARD32)); - InParam += 4; - break; - } /* end of switch */ -} - -Bool VIAUTGetInfo(VIABIOSInfoPtr pBIOSInfo) -{ - VIAUserSettingPtr pUserSetting = pBIOSInfo->UserSetting; - I2CDevPtr dev; - unsigned char W_Buffer[3]; - unsigned char R_Buffer[2]; - - DEBUG(xf86DrvMsg(pBIOSInfo->scrnIndex, X_INFO, "VIAUTGetInfo\n")); - if (pBIOSInfo->TVEncoder) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - - if (xf86I2CDevInit(dev)) { - switch (pBIOSInfo->TVEncoder) { - case VIA_TV2PLUS: - case VIA_TV3: - case VIA_VT1622A: - pUserSetting->tvHPosition = 6; - pUserSetting->tvVPosition = 6; - - W_Buffer[0] = 0x03; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvFFilter = (R_Buffer[0] & 0x03) + 1; - - W_Buffer[0] = 0x0B; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvBrightness = R_Buffer[0]; - - W_Buffer[0] = 0x0C; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvContrast = R_Buffer[0]; - - W_Buffer[0] = 0x0D; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvSaturation = R_Buffer[0] << 8; - W_Buffer[0] = 0x0A; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvSaturation += R_Buffer[0]; - - break; - case VIA_VT1623: - VIAGPIOI2C_Initial(pBIOSInfo, 0x40); - pUserSetting->tvHPosition = 6; - pUserSetting->tvVPosition = 6; - - VIAGPIOI2C_Read(pBIOSInfo, 0x03, R_Buffer, 1); - pUserSetting->tvFFilter = (R_Buffer[0] & 0x03) + 1; - - VIAGPIOI2C_Read(pBIOSInfo, 0x0B, R_Buffer, 1); - pUserSetting->tvBrightness = R_Buffer[0]; - - VIAGPIOI2C_Read(pBIOSInfo, 0x0C, R_Buffer, 1); - pUserSetting->tvContrast = R_Buffer[0]; - - VIAGPIOI2C_Read(pBIOSInfo, 0x0D, R_Buffer, 1); - pUserSetting->tvSaturation = R_Buffer[0] << 8; - VIAGPIOI2C_Read(pBIOSInfo, 0x0A, R_Buffer, 1); - pUserSetting->tvSaturation += R_Buffer[0]; - - break; - default: - pUserSetting->tvHPosition = 0; - pUserSetting->tvVPosition = 0; - pUserSetting->tvFFilter = 0; - pUserSetting->tvBrightness = 0; - pUserSetting->tvContrast = 0; - pUserSetting->tvSaturation = 0; - pUserSetting->tvAdaptiveFFilter = 0; - pUserSetting->tvTint = 0; - pUserSetting->AdaptiveFilterOn = FALSE; - break; - } - if (pBIOSInfo->TVEncoder == VIA_TV2PLUS) { - pUserSetting->tvAdaptiveFFilter = 0; - - W_Buffer[0] = 0x10; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvTint = R_Buffer[0]; - W_Buffer[0] = 0x11; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvTint += (R_Buffer[0] & 0xE0) << 8; - } else if (pBIOSInfo->TVEncoder == VIA_TV3 || pBIOSInfo->TVEncoder == VIA_VT1622A) { - W_Buffer[0] = 0x61; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvAdaptiveFFilter = R_Buffer[0]; - W_Buffer[0] = 0x10; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvTint = R_Buffer[0]; - W_Buffer[0] = 0x11; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - pUserSetting->tvTint += (R_Buffer[0] & 0x07) << 8; - if (pUserSetting->tvAdaptiveFFilter && !pUserSetting->tvFFilter) - pUserSetting->AdaptiveFilterOn = TRUE; - else - pUserSetting->AdaptiveFilterOn = FALSE; - } else if (pBIOSInfo->TVEncoder == VIA_VT1623) { - VIAGPIOI2C_Read(pBIOSInfo, 0x61, R_Buffer, 1); - pUserSetting->tvAdaptiveFFilter = R_Buffer[0]; - VIAGPIOI2C_Read(pBIOSInfo, 0x10, R_Buffer, 1); - pUserSetting->tvTint = R_Buffer[0]; - VIAGPIOI2C_Read(pBIOSInfo, 0x11, R_Buffer, 1); - pUserSetting->tvTint += (R_Buffer[0] & 0x07) << 8; - if (pUserSetting->tvAdaptiveFFilter && !pUserSetting->tvFFilter) - pUserSetting->AdaptiveFilterOn = TRUE; - else - pUserSetting->AdaptiveFilterOn = FALSE; - } - xf86DestroyI2CDevRec(dev, TRUE); - pUserSetting->DefaultSetting = TRUE; - } else { - xf86DestroyI2CDevRec(dev, TRUE); - DEBUG(xf86Msg(X_DEFAULT, "DevInit fail!\n")); - } - } else - DEBUG(xf86Msg(X_DEFAULT, "No TVEncoder Exist!\n")); - return TRUE; -} - - -Bool VIARestoreUserSetting(VIABIOSInfoPtr pBIOSInfo) -{ - VIAUserSettingPtr pUserSetting = pBIOSInfo->UserSetting; - I2CDevPtr dev; - int HPos, VPos; - unsigned char W_Buffer[4], R_Buffer[3]; - dev = xf86CreateI2CDevRec(); - dev->DevName = "TV"; - dev->SlaveAddr = pBIOSInfo->TVI2CAdd; - dev->pI2CBus = pBIOSInfo->I2C_Port2; - if (xf86I2CDevInit(dev)) { - - switch (pBIOSInfo->TVEncoder) { - case VIA_TV3: - case VIA_VT1622A: - if ((pUserSetting->tvHPosition != 6) - || (pUserSetting->tvVPosition != 6)) { - W_Buffer[0] = 0x08; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 2); - HPos = R_Buffer[0]; - VPos = R_Buffer[1]; - W_Buffer[0] = 0x1C; - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - HPos |= (R_Buffer[0] & 0x04) << 6; - VPos |= (R_Buffer[0] & 0x02) << 7; - - HPos += pUserSetting->tvHPosition - 6; - VPos += pUserSetting->tvVPosition - 6; - - W_Buffer[0] = 0x08; - W_Buffer[1] = (unsigned char) (HPos & 0xFF); - W_Buffer[2] = (unsigned char) (VPos & 0xFF); - xf86I2CWriteRead(dev, W_Buffer, 3, NULL, 0); - - W_Buffer[1] = R_Buffer[0] & ~0x06; /* [2]1CH, [1]1CH */ - W_Buffer[1] |= (unsigned char) ((HPos >> 6) & 0x04); - W_Buffer[1] |= (unsigned char) ((VPos >> 7) & 0x02); - xf86I2CWriteRead(dev, W_Buffer, 2, NULL, 0); - } - - W_Buffer[0] = 0x03; /* Fflick */ - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - if (pUserSetting->AdaptiveFilterOn) { - W_Buffer[1] = R_Buffer[0] & ~0x03; - } else { - W_Buffer[1] = R_Buffer[0] & ~0x03; - W_Buffer[1] |= (unsigned char) (pUserSetting->tvFFilter - 1); - } - xf86I2CWriteRead(dev, W_Buffer, 2, R_Buffer, 0); - - W_Buffer[0] = 0x61; /* Adaptive Fflick */ - W_Buffer[1] = (unsigned char) pUserSetting->tvAdaptiveFFilter; - xf86I2CWriteRead(dev, W_Buffer, 2, R_Buffer, 0); - - W_Buffer[0] = 0x0B; /* BRIGHTNESS */ - W_Buffer[1] = (unsigned char) pUserSetting->tvBrightness; - xf86I2CWriteRead(dev, W_Buffer, 2, R_Buffer, 0); - - W_Buffer[0] = 0x0C; /* CONTRAST */ - W_Buffer[1] = (unsigned char) pUserSetting->tvContrast; - xf86I2CWriteRead(dev, W_Buffer, 2, R_Buffer, 0); - - W_Buffer[0] = 0x0D; /* SATURATION highbyte */ - W_Buffer[1] = (unsigned char) (pUserSetting->tvSaturation >> 8); - xf86I2CWriteRead(dev, W_Buffer, 2, R_Buffer, 0); - W_Buffer[0] = 0x0A; /* SATURATION lowbyte */ - W_Buffer[1] = (unsigned char) pUserSetting->tvSaturation & 0xFF; - xf86I2CWriteRead(dev, W_Buffer, 2, R_Buffer, 0); - - W_Buffer[0] = 0x11; /* TINT highbyte */ - xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, 1); - W_Buffer[2] = R_Buffer[0] & ~0xE0; - W_Buffer[2] |= (unsigned char) (pUserSetting->tvTint >> 8); - W_Buffer[0] = 0x10; /* TINT lowbyte */ - W_Buffer[1] = (unsigned char) pUserSetting->tvTint & 0xFF; - xf86I2CWriteRead(dev, W_Buffer, 3, R_Buffer, 0); - break; - case VIA_VT1623: - default: - break; - } - - xf86DestroyI2CDevRec(dev, TRUE); - return TRUE; - } else { - xf86DestroyI2CDevRec(dev, TRUE); - return FALSE; - } -} diff --git a/src/via_utility.h b/src/via_utility.h deleted file mode 100644 index dd7dda3..0000000 --- a/src/via_utility.h +++ /dev/null @@ -1,199 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/via/via_utility.h,v 1.3 2003/08/27 15:16:14 tsi Exp $ */ -/* - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. - * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sub license, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifndef _VIA_UTILITY_H_ -#define _VIA_UTILITY_H_ 1 - -/* - * Define for Utility functions using XvPutImage. - */ - -/* Primary ID */ -#define UT_XV_FUNC_BIOS 0x11 /* Primary ID */ -#define UT_XV_FUNC_DRIVER 0x12 -#define UT_XV_FUNC_DEVICE 0x13 -#define UT_XV_FUNC_PANEL 0x14 -#define UT_XV_FUNC_TV 0x15 -#define UT_XV_FUNC_GAMMA 0x16 - -/* Secondary ID */ -#define UT_XV_FUNC_BIOS_GetChipID 0x01 /* Get Chip ID */ -#define UT_XV_FUNC_BIOS_GetVersion 0x02 /* Get the version of the BIOS */ -#define UT_XV_FUNC_BIOS_GetDate 0x03 /* Get the date (year, month, day) of the BIOS. */ -#define UT_XV_FUNC_BIOS_GetVideoMemSizeMB 0x04 /* Get the video memory size, in MB */ - -#define UT_XV_FUNC_DRIVER_GetFileName 0x01 -#define UT_XV_FUNC_DRIVER_GetFileVersion 0x02 - -#define UT_XV_FUNC_DEVICE_GetSupportState 1 -#define UT_XV_FUNC_DEVICE_GetConnectState 2 -#define UT_XV_FUNC_DEVICE_GetActiveState 3 -#define UT_XV_FUNC_DEVICE_SetActiveState 4 -#define UT_XV_FUNC_DEVICE_GetSAMMState 5 -#define UT_XV_FUNC_DEVICE_GetRoateState 6 -#define UT_XV_FUNC_DEVICE_SetRoateState 7 - -#define UT_XV_FUNC_DEVICE_SetTargetPanel 1 -#define UT_XV_FUNC_DEVICE_GetPanelInfo 2 -#define UT_XV_FUNC_DEVICE_GetExpandState 3 -#define UT_XV_FUNC_DEVICE_SetExpandState 4 -#define UT_XV_FUNC_DEVICE_GetSupportExpand 5 - -#define UT_XV_FUNC_TV_GetSupportStandardState 1 -#define UT_XV_FUNC_TV_GetStandard 2 -#define UT_XV_FUNC_TV_SetStandard 3 -#define UT_XV_FUNC_TV_GetSupportSignalTypeState 4 -#define UT_XV_FUNC_TV_GetSignalType 5 -#define UT_XV_FUNC_TV_SetSignalType 6 -#define UT_XV_FUNC_TV_GetMaxViewSizeValue 7 -#define UT_XV_FUNC_TV_GetViewSizeValue 8 -#define UT_XV_FUNC_TV_SetViewSizeValue 9 -#define UT_XV_FUNC_TV_GetMaxViewPositionValue 10 -#define UT_XV_FUNC_TV_GetViewPositionValue 11 -#define UT_XV_FUNC_TV_SetViewPositionValue 12 -#define UT_XV_FUNC_TV_GetSupportTuningState 13 -#define UT_XV_FUNC_TV_GetTuningItemMaxValue 14 -#define UT_XV_FUNC_TV_GetTuningItemValue 15 -#define UT_XV_FUNC_TV_SetTuningItemValue 16 -#define UT_XV_FUNC_TV_GetSupportSettingState 17 -#define UT_XV_FUNC_TV_GetSettingItemState 18 -#define UT_XV_FUNC_TV_SetSettingItemState 19 - -#define UT_ESC_FUNC_GAMMA_GetDeviceSupportState 1 -#define UT_ESC_FUNC_GAMMA_GetLookUpTable 2 -#define UT_ESC_FUNC_GAMMA_SetLookUpTable 3 -#define UT_ESC_FUNC_GAMMA_GetDefaultLookUpTable 4 - -/* Input & Output Data */ -#define DISPLAY_DRIVER 1 -#define VIDEO_CAPTURE_DRIVER 2 -#define HWOVERLAY_DRIVER 3 -#define UT_DEVICE_NONE 0x00 -#define UT_DEVICE_CRT1 0x01 -#define UT_DEVICE_LCD 0x02 -#define UT_DEVICE_TV 0x04 -#define UT_DEVICE_DFP 0x08 -#define UT_DEVICE_CRT2 0x16 -#define UT_STATE_SAMM_OFF 0 /* Not in SAMM mode. */ -#define UT_STATE_SAMM_ON 1 /* In SAMM mode. */ -#define UT_ROTATE_NONE 0 /* Normal. */ -#define UT_ROTATE_90_DEG 1 /* Rotate 90 deg. clockwise. */ -#define UT_ROTATE_180_DEG 2 /* Rotate 180 deg. clockwise. */ -#define UT_ROTATE_270_DEG 3 /* Rotate 270 deg. clockwise. */ -#define UT_PANEL_TYPE_STN 0 /* STN. */ -#define UT_PANEL_TYPE_TFT 1 /* TFT. */ -#define UT_STATE_EXPAND_OFF 0 /* Not expanded; centered. */ -#define UT_STATE_EXPAND_ON 1 /* Expanded. */ -#define UT_PANEL_SUPPORT_EXPAND_OFF 0 -#define UT_PANEL_SUPPORT_EXPAND_ON 1 -#define UT_TV_STD_NTSC 0x0001 /* NTSC. */ -#define UT_TV_STD_PAL 0x0002 /* PAL. */ -#define UT_TV_STD_PAL_M 0x0004 /* PAL M. */ -#define UT_TV_STD_PAL_N 0x0008 /* PAL N. */ -#define UT_TV_STD_PAL_NC 0x0010 /* PAL N combination. */ -#define UT_TV_SGNL_COMPOSITE 0x0001 /* Composite. */ -#define UT_TV_SGNL_S_VIDEO 0x0002 /* S-Video. */ -#define UT_TV_SGNL_SCART 0x0004 /* SCART. */ -#define UT_TV_SGNL_COMP_OUTPUT 0x0008 /* Component Output. */ -#define UT_TV_TUNING_FFILTER 0x0001 /* Flicker Filter. */ -#define UT_TV_TUNING_ADAPTIVE_FFILTER 0x0002 /* Adaptive Flicker Filter. */ -#define UT_TV_TUNING_BRIGHTNESS 0x0004 /* Brightness. */ -#define UT_TV_TUNING_CONTRAST 0x0008 /* Contrast. */ -#define UT_TV_TUNING_SATURATION 0x0010 /* Saturation. */ -#define UT_TV_TUNING_TINT 0x0020 /* Tint. */ -#define UT_TV_SETTING_FFILTER 0x0001 -#define UT_TV_SETTING_ADAPTIVE_FFILTER 0x0002 -#define UT_TV_SETTING_DOT_CRAWL 0x0004 -#define UT_TV_SETTING_LOCK_ASPECT_RATIO 0x0008 -#define UT_STATE_OFF 0 -#define UT_STATE_ON 1 -#define UT_STATE_DEFAULT 0xFFFF - - -typedef struct _UTBIOSVERSION -{ - CARD32 dwVersion; /* The version. */ - CARD32 dwRevision; /* The revision. */ -} UTBIOSVERSION; - -typedef struct _UTBIOSDATE -{ - CARD32 dwYear; /* Year, like 2001. */ - CARD32 dwMonth; /* Month, like 5, 12. */ - CARD32 dwDay; /* Day, like 7, 30. */ -} UTBIOSDATE; - -typedef struct _UTDriverVersion -{ - CARD32 dwMajorNum; - CARD32 dwMinorNum; - CARD32 dwReversionNum; -} UTDriverVersion; - -typedef struct _UTXYVALUE -{ - CARD32 dwX; - CARD32 dwY; -} UTXYVALUE; - -typedef struct _UTDEVICEINFO -{ - CARD32 dwDeviceType; - CARD32 dwResX; - CARD32 dwResY; - CARD32 dwColorDepth; -} UTDEVICEINFO; - -typedef struct _UTPANELINFO -{ - CARD32 dwType; /* Panel type */ - CARD32 dwResX; /* X Resolution of the panel. */ - CARD32 dwResY; /* Y Resolution of the panel. */ -} UTPANELINFO; - -typedef struct _UTSETTVTUNINGINFO -{ - CARD32 dwItemID; - CARD32 dwValue; -} UTSETTVTUNINGINFO; - -typedef struct _UTSETTVITEMSTATE -{ - CARD32 dwItemID; - CARD32 dwState; /* Value defined in TV Setting state. */ -} UTSETTVITEMSTATE; - -typedef struct _UTGAMMAINFO -{ - UTDEVICEINFO DeviceInfo; /* E.g., if we want the table of CRT1, we should set */ - CARD32 LookUpTable[256]; /* the dwDeviceType as UT_DEVICE_CRT1. */ -} UTGAMMAINFO; - - -/* Functions protype */ -Bool VIASaveUserSetting(VIABIOSInfoPtr pBIOSInfo); -Bool VIASaveGammaSetting(VIABIOSInfoPtr pBIOSInfo); - -#endif /* _VIA_UTILITY_H_ */ diff --git a/src/via_video.c b/src/via_video.c index 7714670..f2b6626 100644 --- a/src/via_video.c +++ b/src/via_video.c @@ -1137,11 +1137,6 @@ viaPutImageG( } } break; - - case COMMAND_FOR_UTCTRL :{ - VIAXVUtilityProc(pScrn, buf); - break; - } default: DBG_DD(ErrorF(" via_video.c : XVPort not supported\n")); break; @@ -1255,7 +1250,6 @@ viaPutVideo(ScrnInfoPtr pScrn, case COMMAND_FOR_SWOV : case COMMAND_FOR_DUMMY : - case COMMAND_FOR_UTCTRL : DBG_DD(ErrorF(" via_video.c : This port doesn't support PutVideo.\n")); return XvBadAlloc; default: diff --git a/src/via_xvpriv.h b/src/via_xvpriv.h index 31cd8de..bc0d978 100644 --- a/src/via_xvpriv.h +++ b/src/via_xvpriv.h @@ -34,6 +34,7 @@ #define XV_SWOV_PORTID 0 #define XV_TV0_PORTID 1 #define XV_TV1_PORTID 2 +/* UTCTRL is deprecated */ #define XV_UTCTRL_PORTID 3 #define XV_DUMMY_PORTID 4 |