xf86-video-openchrome 0.2.903
This commit is contained in:
parent
0bcea225c7
commit
07af4914ae
@ -1,4 +1,22 @@
|
||||
openchrome 0.2.902 (29/03/2008)
|
||||
openchrome 0.2.903 (19/08/2008)
|
||||
-------------------------------
|
||||
* Enhancements and bug fixes:
|
||||
- Simplify memory bandwidth setting.
|
||||
- Fix compilation without EXA.
|
||||
- Fix interpolation for CN400.
|
||||
- Fix Xv on LCD for K8M890 and CX700.
|
||||
- Disable XvDMA for P4M890 and K8M890, it is broken...
|
||||
- Replace xf86strstr by the unwrapped version.
|
||||
- Fix chipset revision detection in libpciaccess code path.
|
||||
- Print driver version in the libpciaccess code path.
|
||||
|
||||
* New boards:
|
||||
- Biostar P4M890-M7 TE, ECS CLE266, FIC CE261, Foxconn P4M9007MB-8RS2H,
|
||||
Hewlett Packard 2133 Mini-Note, KamLAB KINO-LUKE-533-R20, Mercury P4VM800M7,
|
||||
MSI K9MM-V, MSI VR321, PCChips (unknown model), Samsung Q1B.
|
||||
|
||||
|
||||
openchrome 0.2.902 (08/04/2008)
|
||||
-------------------------------
|
||||
* Enhancements and bug fixes:
|
||||
- libpciaccess support.
|
||||
|
20
driver/xf86-video-openchrome/configure
vendored
20
driver/xf86-video-openchrome/configure
vendored
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.59 for xf86-video-openchrome 0.2.902.
|
||||
# Generated by GNU Autoconf 2.59 for xf86-video-openchrome 0.2.903.
|
||||
#
|
||||
# Report bugs to <http://www.openchrome.org/trac/report/1>.
|
||||
#
|
||||
@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='xf86-video-openchrome'
|
||||
PACKAGE_TARNAME='xf86-video-openchrome'
|
||||
PACKAGE_VERSION='0.2.902'
|
||||
PACKAGE_STRING='xf86-video-openchrome 0.2.902'
|
||||
PACKAGE_VERSION='0.2.903'
|
||||
PACKAGE_STRING='xf86-video-openchrome 0.2.903'
|
||||
PACKAGE_BUGREPORT='http://www.openchrome.org/trac/report/1'
|
||||
|
||||
ac_unique_file="Makefile.am"
|
||||
@ -982,7 +982,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures xf86-video-openchrome 0.2.902 to adapt to many kinds of systems.
|
||||
\`configure' configures xf86-video-openchrome 0.2.903 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1048,7 +1048,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of xf86-video-openchrome 0.2.902:";;
|
||||
short | recursive ) echo "Configuration of xf86-video-openchrome 0.2.903:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1206,7 +1206,7 @@ fi
|
||||
test -n "$ac_init_help" && exit 0
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
xf86-video-openchrome configure 0.2.902
|
||||
xf86-video-openchrome configure 0.2.903
|
||||
generated by GNU Autoconf 2.59
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
@ -1220,7 +1220,7 @@ cat >&5 <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by xf86-video-openchrome $as_me 0.2.902, which was
|
||||
It was created by xf86-video-openchrome $as_me 0.2.903, which was
|
||||
generated by GNU Autoconf 2.59. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -1823,7 +1823,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='xf86-video-openchrome'
|
||||
VERSION='0.2.902'
|
||||
VERSION='0.2.903'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -21902,7 +21902,7 @@ _ASBOX
|
||||
} >&5
|
||||
cat >&5 <<_CSEOF
|
||||
|
||||
This file was extended by xf86-video-openchrome $as_me 0.2.902, which was
|
||||
This file was extended by xf86-video-openchrome $as_me 0.2.903, which was
|
||||
generated by GNU Autoconf 2.59. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -21965,7 +21965,7 @@ _ACEOF
|
||||
|
||||
cat >>$CONFIG_STATUS <<_ACEOF
|
||||
ac_cs_version="\\
|
||||
xf86-video-openchrome config.status 0.2.902
|
||||
xf86-video-openchrome config.status 0.2.903
|
||||
configured by $0, generated by GNU Autoconf 2.59,
|
||||
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
AC_INIT([xf86-video-openchrome],
|
||||
0.2.902,
|
||||
0.2.903,
|
||||
[http://www.openchrome.org/trac/report/1],
|
||||
xf86-video-openchrome)
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
# $Id: Makefile.in,v 1.2 2008/07/12 12:59:52 matthieu Exp $
|
||||
# $Id: Makefile.in,v 1.3 2008/11/03 20:37:24 matthieu Exp $
|
||||
#
|
||||
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
|
||||
#
|
||||
|
@ -1 +1 @@
|
||||
#define BUILDCOMMENT "(openchrome 0.2.902 release)"
|
||||
#define BUILDCOMMENT "(openchrome 0.2.903 release)"
|
||||
|
@ -1200,6 +1200,44 @@ viaAccelWaitMarker(ScreenPtr pScreen, int marker)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if we need to force upload of the whole 3D state (when other
|
||||
* clients or subsystems have touched the 3D engine). Also tell DRI
|
||||
* clients and subsystems that we have touched the 3D engine.
|
||||
*/
|
||||
static Bool
|
||||
viaCheckUpload(ScrnInfoPtr pScrn, Via3DState * v3d)
|
||||
{
|
||||
VIAPtr pVia = VIAPTR(pScrn);
|
||||
Bool forceUpload;
|
||||
|
||||
forceUpload = (pVia->lastToUpload != v3d);
|
||||
pVia->lastToUpload = v3d;
|
||||
|
||||
#ifdef XF86DRI
|
||||
if (pVia->directRenderingEnabled) {
|
||||
volatile drm_via_sarea_t *saPriv = (drm_via_sarea_t *)
|
||||
DRIGetSAREAPrivate(pScrn->pScreen);
|
||||
int myContext = DRIGetContext(pScrn->pScreen);
|
||||
|
||||
forceUpload = forceUpload || (saPriv->ctxOwner != myContext);
|
||||
saPriv->ctxOwner = myContext;
|
||||
}
|
||||
#endif
|
||||
return forceUpload;
|
||||
}
|
||||
|
||||
static Bool
|
||||
viaOrder(CARD32 val, CARD32 * shift)
|
||||
{
|
||||
*shift = 0;
|
||||
|
||||
while (val > (1 << *shift))
|
||||
(*shift)++;
|
||||
return (val == (1 << *shift));
|
||||
}
|
||||
|
||||
|
||||
#ifdef VIA_HAVE_EXA
|
||||
/*
|
||||
* Exa functions. It is assumed that EXA does not exceed the blitter limits.
|
||||
@ -1473,43 +1511,6 @@ viaExpandablePixel(int format)
|
||||
formatType == PICT_TYPE_ABGR || formatType == PICT_TYPE_ARGB);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if we need to force upload of the whole 3D state (when other
|
||||
* clients or subsystems have touched the 3D engine). Also tell DRI
|
||||
* clients and subsystems that we have touched the 3D engine.
|
||||
*/
|
||||
static Bool
|
||||
viaCheckUpload(ScrnInfoPtr pScrn, Via3DState * v3d)
|
||||
{
|
||||
VIAPtr pVia = VIAPTR(pScrn);
|
||||
Bool forceUpload;
|
||||
|
||||
forceUpload = (pVia->lastToUpload != v3d);
|
||||
pVia->lastToUpload = v3d;
|
||||
|
||||
#ifdef XF86DRI
|
||||
if (pVia->directRenderingEnabled) {
|
||||
volatile drm_via_sarea_t *saPriv = (drm_via_sarea_t *)
|
||||
DRIGetSAREAPrivate(pScrn->pScreen);
|
||||
int myContext = DRIGetContext(pScrn->pScreen);
|
||||
|
||||
forceUpload = forceUpload || (saPriv->ctxOwner != myContext);
|
||||
saPriv->ctxOwner = myContext;
|
||||
}
|
||||
#endif
|
||||
return forceUpload;
|
||||
}
|
||||
|
||||
static Bool
|
||||
viaOrder(CARD32 val, CARD32 * shift)
|
||||
{
|
||||
*shift = 0;
|
||||
|
||||
while (val > (1 << *shift))
|
||||
(*shift)++;
|
||||
return (val == (1 << *shift));
|
||||
}
|
||||
|
||||
#ifdef XF86DRI
|
||||
|
||||
static int
|
||||
|
@ -600,6 +600,9 @@ via_pci_probe(DriverPtr driver, int entity_num,
|
||||
"VIA Technologies does not support this driver in any way.\n");
|
||||
xf86Msg(X_NOTICE,
|
||||
"For support, please refer to http://www.openchrome.org/.\n");
|
||||
#ifdef BUILDCOMMENT
|
||||
xf86Msg(X_NOTICE, BUILDCOMMENT"\n");
|
||||
#endif
|
||||
}
|
||||
return scrn != NULL;
|
||||
}
|
||||
@ -820,12 +823,16 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
|
||||
pVia->agpEnable = FALSE;
|
||||
pVia->DRIIrqEnable = FALSE;
|
||||
break;
|
||||
case VIA_PM800:
|
||||
pVia->VideoEngine = VIDEO_ENGINE_CME;
|
||||
break;
|
||||
case VIA_VM800:
|
||||
pVia->agpEnable = FALSE;
|
||||
break;
|
||||
case VIA_K8M890:
|
||||
pVia->VideoEngine = VIDEO_ENGINE_CME;
|
||||
pVia->agpEnable = FALSE;
|
||||
pVia->dmaXV = FALSE;
|
||||
break;
|
||||
case VIA_P4M900:
|
||||
pVia->VideoEngine = VIDEO_ENGINE_CME;
|
||||
@ -835,13 +842,13 @@ VIASetupDefaultOptions(ScrnInfoPtr pScrn)
|
||||
pVia->dmaXV = FALSE;
|
||||
break;
|
||||
case VIA_CX700:
|
||||
case VIA_PM800:
|
||||
pVia->VideoEngine = VIDEO_ENGINE_CME;
|
||||
pVia->swov.maxWInterp = 1920;
|
||||
pVia->swov.maxHInterp = 1080;
|
||||
break;
|
||||
case VIA_P4M890:
|
||||
pVia->VideoEngine = VIDEO_ENGINE_CME;
|
||||
pVia->dmaXV = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1062,7 +1069,7 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
#ifdef XSERVER_LIBPCIACCESS
|
||||
struct pci_device *bridge = via_host_bridge();
|
||||
|
||||
pci_device_cfg_read_u32(bridge, &pVia->ChipRev, 0xF6);
|
||||
pci_device_cfg_read_u8(bridge, &pVia->ChipRev, 0xF6);
|
||||
#else
|
||||
pVia->ChipRev = pciReadByte(pciTag(0, 0, 0), 0xF6);
|
||||
#endif
|
||||
@ -1335,13 +1342,13 @@ VIAPreInit(ScrnInfoPtr pScrn, int flags)
|
||||
/* ActiveDevice Option for device selection */
|
||||
//pVia->ActiveDevice = 0x00;
|
||||
if ((s = xf86GetOptValString(VIAOptions, OPTION_ACTIVEDEVICE))) {
|
||||
if (xf86strstr(s, "CRT"))
|
||||
if (strstr(s, "CRT"))
|
||||
pVia->ActiveDevice |= VIA_DEVICE_CRT;
|
||||
if (xf86strstr(s, "LCD"))
|
||||
if (strstr(s, "LCD"))
|
||||
pVia->ActiveDevice |= VIA_DEVICE_LCD;
|
||||
if (xf86strstr(s, "DFP")) /* just treat this the same as LCD */
|
||||
if (strstr(s, "DFP")) /* just treat this the same as LCD */
|
||||
pVia->ActiveDevice |= VIA_DEVICE_LCD;
|
||||
if (xf86strstr(s, "TV"))
|
||||
if (strstr(s, "TV"))
|
||||
pVia->ActiveDevice |= VIA_DEVICE_TV;
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@
|
||||
#define VERSION_MAJOR 0
|
||||
#define VERSION_MINOR 2
|
||||
#ifdef USE_NEW_XVABI
|
||||
#define PATCHLEVEL 902
|
||||
#define PATCHLEVEL 903
|
||||
#else
|
||||
#define PATCHLEVEL 0
|
||||
#endif
|
||||
|
@ -39,6 +39,7 @@
|
||||
*/
|
||||
static struct ViaCardIdStruct ViaCardId[] = {
|
||||
/*** CLE266 ***/
|
||||
{"ECS CLE266 (1.0)", VIA_CLE266, 0x1019, 0x1B43, VIA_DEVICE_CRT | VIA_DEVICE_TV},
|
||||
{"LT21 VA28", VIA_CLE266, 0x1019, 0x1B44, VIA_DEVICE_CRT},
|
||||
{"ECS G320", VIA_CLE266, 0x1019, 0xB320, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"Asustek Terminator C3V", VIA_CLE266, 0x1043, 0x8155, VIA_DEVICE_CRT},
|
||||
@ -74,7 +75,8 @@ static struct ViaCardIdStruct ViaCardId[] = {
|
||||
{"Packard Bell Quasar2 (MSI MS6786)", VIA_KM400, 0x1631, 0xD002, VIA_DEVICE_CRT},
|
||||
{"Epox EP-8KMM3I", VIA_KM400, 0x1695, 0x9023, VIA_DEVICE_CRT},
|
||||
{"ASRock Inc. K7VM2/3/4", VIA_KM400, 0x1849, 0x7205, VIA_DEVICE_CRT},
|
||||
{"ACorp KM400QP", VIA_KM400, 0x1915, 0x1100, VIA_DEVICE_CRT| VIA_DEVICE_TV},
|
||||
{"ACorp KM400QP", VIA_KM400, 0x1915, 0x1100, VIA_DEVICE_CRT | VIA_DEVICE_TV},
|
||||
{"Mercury P4VM800M7 (1.0)", VIA_KM400, 0x3344, 0x1122, VIA_DEVICE_CRT},
|
||||
{"Soyo K7VME", VIA_KM400, 0xA723, 0x10FD, VIA_DEVICE_CRT},
|
||||
|
||||
/*** K8M800, K8N800, K8N800A ***/
|
||||
@ -93,6 +95,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
|
||||
{"MSI K8M Neo-V", VIA_K8M800, 0x1462, 0x0320, VIA_DEVICE_CRT},
|
||||
{"MSI K8MM-V", VIA_K8M800, 0x1462, 0x7142, VIA_DEVICE_CRT},
|
||||
{"MSI K8MM3-V", VIA_K8M800, 0x1462, 0x7181, VIA_DEVICE_CRT},
|
||||
{"MSI K9MM-V", VIA_K8M800, 0x1462, 0x7312, VIA_DEVICE_CRT},
|
||||
{"MSI K8MM-ILSR", VIA_K8M800, 0x1462, 0x7410, VIA_DEVICE_CRT},
|
||||
{"Abit KV-80", VIA_K8M800, 0x147B, 0x1419, VIA_DEVICE_CRT},
|
||||
{"Abit KV-81", VIA_K8M800, 0x147B, 0x141A, VIA_DEVICE_CRT},
|
||||
@ -125,6 +128,7 @@ static struct ViaCardIdStruct ViaCardId[] = {
|
||||
{"Fujitsu/Siemens Amilo L7310", VIA_PM800, 0x1734, 0x10AB, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"ASRock P4VM8", VIA_PM800, 0x1849, 0x3118, VIA_DEVICE_CRT},
|
||||
{"Chaintech MPM800-3", VIA_PM800, 0x270F, 0x7671, VIA_DEVICE_CRT},
|
||||
{"KamLAB KINO-LUKE-533-R20", VIA_PM800, 0x3344, 0x1122, VIA_DEVICE_CRT},
|
||||
|
||||
/*** P4M800Pro, VN800, CN700 ***/
|
||||
{"Clevo/RoverBook Partner E419L", VIA_VM800, 0x1019, 0x0F75, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
@ -164,13 +168,16 @@ static struct ViaCardIdStruct ViaCardId[] = {
|
||||
|
||||
/*** P4M900, VN896, CN896 ***/
|
||||
{"VIA Epia SN", VIA_P4M900, 0x0908, 0x1975, VIA_DEVICE_CRT},
|
||||
{"Hewlett Packard 2133 Mini-Note", VIA_P4M900, 0x103C, 0x3030, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"Asustek P5VD2-VM", VIA_P4M900, 0x1043, 0x81CE, VIA_DEVICE_CRT},
|
||||
{"Asustek P5VD2-VM SE", VIA_P4M900, 0x1043, 0x8252, VIA_DEVICE_CRT},
|
||||
{"Foxconn P4M9007MB-8RS2H", VIA_P4M900, 0x105B, 0x0C87, VIA_DEVICE_CRT},
|
||||
{"Mitac 8515", VIA_P4M900, 0x1071, 0x8515, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"Medion Notebook MD96483", VIA_P4M900, 0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"Mitac 8624", VIA_P4M900, 0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"VIA VT3364 (P4M900)", VIA_P4M900, 0x1106, 0x3371, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"Gigabyte GA-VM900M", VIA_P4M900, 0x1458, 0xD000, VIA_DEVICE_CRT},
|
||||
{"MSI VR321", VIA_P4M900, 0x1462, 0x3355, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"MSI P4M900M / P4M900M2-F/L", VIA_P4M900, 0x1462, 0x7255, VIA_DEVICE_CRT},
|
||||
{"Everex NC1501/NC1503", VIA_P4M900, 0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"Clevo M660SE", VIA_P4M900, 0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
@ -186,16 +193,20 @@ static struct ViaCardIdStruct ViaCardId[] = {
|
||||
{"VIA VT8454B", VIA_CX700, 0x0908, 0x1975, VIA_DEVICE_CRT}, /* Evaluation board, reference possibly wrong */
|
||||
{"VIA VT3324 (CX700)", VIA_CX700, 0x1106, 0x3157, VIA_DEVICE_CRT},
|
||||
{"MSI Fuzzy CX700/CX700D", VIA_CX700, 0x1462, 0x8020, VIA_DEVICE_CRT | VIA_DEVICE_LCD | VIA_DEVICE_TV},
|
||||
{"Samsung Q1B", VIA_CX700, 0x144D, 0xC02C, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"FIC CE260", VIA_CX700, 0x1509, 0x2D30, VIA_DEVICE_LCD},
|
||||
{"FIC CE261", VIA_CX700, 0x1509, 0x2F07, VIA_DEVICE_LCD},
|
||||
{"Packard Bell EasyNote XS", VIA_CX700, 0x1631, 0xC201, VIA_DEVICE_LCD}, /* aka Everex Cloudbook CE1200V */
|
||||
|
||||
/*** P4M890, VN890 ***/
|
||||
{"PCChips P29G", VIA_P4M890, 0x1019, 0x1629, VIA_DEVICE_CRT},
|
||||
{"PCChips ????", VIA_P4M890, 0x1019, 0x2174, VIA_DEVICE_CRT},
|
||||
{"Asustek P5V-VM ULTRA", VIA_P4M890, 0x1043, 0x81B5, VIA_DEVICE_CRT},
|
||||
{"Asustek P5V-VM DH", VIA_P4M890, 0x1043, 0x81CE, VIA_DEVICE_CRT},
|
||||
{"Mitac 8615", VIA_P4M890, 0x1071, 0x8615, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
|
||||
{"VIA VT3343 (P4M890)", VIA_P4M890, 0x1106, 0x3343, VIA_DEVICE_CRT},
|
||||
{"MSI P4M890M-L/IL (MS-7255)", VIA_P4M890, 0x1462, 0x7255, VIA_DEVICE_CRT},
|
||||
{"Biostar P4M890-M7 TE", VIA_P4M890, 0x1565, 0x1207, VIA_DEVICE_CRT},
|
||||
{"ASRock P4VM890", VIA_P4M890, 0x1849, 0x3343, VIA_DEVICE_CRT},
|
||||
|
||||
/* keep this */
|
||||
|
@ -52,6 +52,7 @@
|
||||
* 2 - DRM
|
||||
*/
|
||||
|
||||
#ifdef VIA_HAVE_EXA
|
||||
static void
|
||||
viaExaFBSave(ScreenPtr pScreen, ExaOffscreenArea * exa)
|
||||
{
|
||||
@ -60,6 +61,7 @@ viaExaFBSave(ScreenPtr pScreen, ExaOffscreenArea * exa)
|
||||
"\t\thttp://wiki.openchrome.org/tikiwiki/tiki-index"
|
||||
".php?page=EXAAcceleration .\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
VIAFreeLinear(VIAMemPtr mem)
|
||||
|
@ -794,37 +794,23 @@ ViaGetMemoryBandwidth(ScrnInfoPtr pScrn)
|
||||
|
||||
DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaGetMemoryBandwidth\n"));
|
||||
|
||||
switch (pVia->Chipset) {
|
||||
case VIA_CLE266:
|
||||
if (CLE266_REV_IS_AX(pVia->ChipRev))
|
||||
return ViaBandwidthTable[VIA_BW_CLE266A].Bandwidth[pVia->
|
||||
MemClk];
|
||||
else
|
||||
return ViaBandwidthTable[VIA_BW_CLE266C].Bandwidth[pVia->
|
||||
MemClk];
|
||||
case VIA_KM400:
|
||||
/* 0x84 is earliest public device, 0x80 is more likely though */
|
||||
if (pVia->ChipRev < 0x84)
|
||||
return ViaBandwidthTable[VIA_BW_KM400].Bandwidth[pVia->MemClk];
|
||||
else
|
||||
return ViaBandwidthTable[VIA_BW_KM400A].Bandwidth[pVia->MemClk];
|
||||
case VIA_K8M800:
|
||||
return ViaBandwidthTable[VIA_BW_K8M800].Bandwidth[pVia->MemClk];
|
||||
case VIA_PM800:
|
||||
return ViaBandwidthTable[VIA_BW_PM800].Bandwidth[pVia->MemClk];
|
||||
case VIA_VM800:
|
||||
return ViaBandwidthTable[VIA_BW_VM800].Bandwidth[pVia->MemClk];
|
||||
case VIA_K8M890:
|
||||
return ViaBandwidthTable[VIA_BW_K8M890].Bandwidth[pVia->MemClk];
|
||||
case VIA_P4M900:
|
||||
return ViaBandwidthTable[VIA_BW_P4M900].Bandwidth[pVia->MemClk];
|
||||
case VIA_CX700:
|
||||
return ViaBandwidthTable[VIA_BW_CX700].Bandwidth[pVia->MemClk];
|
||||
case VIA_P4M890:
|
||||
return ViaBandwidthTable[VIA_BW_P4M890].Bandwidth[pVia->MemClk];
|
||||
switch (pVia->MemClk) {
|
||||
case VIA_MEM_SDR66:
|
||||
case VIA_MEM_SDR100:
|
||||
case VIA_MEM_SDR133:
|
||||
return VIA_BW_MIN;
|
||||
case VIA_MEM_DDR200:
|
||||
return VIA_BW_DDR200;
|
||||
case VIA_MEM_DDR266:
|
||||
case VIA_MEM_DDR333:
|
||||
case VIA_MEM_DDR400:
|
||||
return VIA_BW_DDR400;
|
||||
case VIA_MEM_DDR533:
|
||||
case VIA_MEM_DDR667:
|
||||
return VIA_BW_DDR667;
|
||||
default:
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"ViaBandwidthAllowed: Unknown Chipset.\n");
|
||||
"ViaBandwidthAllowed: Unknown memory type: %d\n", pVia->MemClk);
|
||||
return VIA_BW_MIN;
|
||||
}
|
||||
}
|
||||
|
@ -30,43 +30,11 @@
|
||||
* Bandwidth
|
||||
*
|
||||
*/
|
||||
/* used for impossible entries: allow a minimum bandwidth in case this does happen */
|
||||
#define VIA_BW_MIN 74000000 /* > 640x480@60Hz@32bpp */
|
||||
#define VIA_BW_MIN 74000000 /* > 640x480@60Hz@32bpp */
|
||||
#define VIA_BW_DDR200 394000000
|
||||
#define VIA_BW_DDR400 461000000
|
||||
#define VIA_BW_DDR667 922000000
|
||||
|
||||
/* index to table */
|
||||
#define VIA_BW_CLE266A 0
|
||||
#define VIA_BW_CLE266C 1
|
||||
#define VIA_BW_KM400 2
|
||||
#define VIA_BW_KM400A 3
|
||||
#define VIA_BW_K8M800 4
|
||||
#define VIA_BW_PM800 5
|
||||
#define VIA_BW_VM800 6
|
||||
#define VIA_BW_K8M890 7
|
||||
#define VIA_BW_P4M900 8
|
||||
#define VIA_BW_CX700 9
|
||||
#define VIA_BW_P4M890 10
|
||||
#define VIA_BW_ALL 11
|
||||
|
||||
/*
|
||||
* 393216000 is for SDR133 in via_refresh.h
|
||||
* 460800000 is for DDR266
|
||||
*/
|
||||
static struct {
|
||||
CARD8 Device; /* equal to index */
|
||||
CARD32 Bandwidth[VIA_MEM_END];
|
||||
} ViaBandwidthTable[VIA_BW_ALL] = {
|
||||
{ VIA_BW_CLE266A, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN } },
|
||||
{ VIA_BW_CLE266C, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN } },
|
||||
{ VIA_BW_KM400, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN } },
|
||||
{ VIA_BW_KM400A, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, VIA_BW_MIN, VIA_BW_MIN } },
|
||||
{ VIA_BW_K8M800, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, VIA_BW_MIN, VIA_BW_MIN } },
|
||||
{ VIA_BW_PM800, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, 922000000, VIA_BW_MIN } },
|
||||
{ VIA_BW_VM800, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, 922000000, VIA_BW_MIN } },
|
||||
{ VIA_BW_K8M890, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, 922000000, 922000000 } },
|
||||
{ VIA_BW_P4M900, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, 922000000, 922000000 } },
|
||||
{ VIA_BW_CX700, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, 922000000, VIA_BW_MIN } },
|
||||
{ VIA_BW_P4M890, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN, 394000000, 461000000, 461000000, 461000000, 922000000, VIA_BW_MIN } }
|
||||
};
|
||||
|
||||
/*
|
||||
* simple lookup table for dotclocks
|
||||
|
@ -1727,7 +1727,8 @@ Upd_Video(ScrnInfoPtr pScrn, unsigned long videoFlag,
|
||||
* FIXME:
|
||||
* Enable video on secondary
|
||||
*/
|
||||
if ((pVia->Chipset == VIA_P4M900 || pVia->Chipset == VIA_VM800)
|
||||
if ((pVia->VideoEngine == VIDEO_ENGINE_CME
|
||||
|| pVia->Chipset == VIA_VM800)
|
||||
&& pVia->pBIOSInfo->PanelActive) {
|
||||
/* V1_ON_SND_DISPLAY */
|
||||
vidCtl |= 0x80000000;
|
||||
|
Loading…
Reference in New Issue
Block a user