Update to xf86-video-geode 2.11.19. tested on Geode LX (Alix 3C3).
This commit is contained in:
parent
c503a0e73b
commit
f0c1142d0d
@ -1,3 +1,105 @@
|
||||
commit ec3440ea602aa2c8fc826adfd921506aec60eb7d
|
||||
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||
Date: Sat Dec 10 15:18:28 2016 +0200
|
||||
|
||||
Geode 2.11.19
|
||||
|
||||
This release restores compatibility with xserver-1.19 and newer.
|
||||
|
||||
VALIDATION PLATFORM
|
||||
* Debian (X server 1.19.0) on FIC ION603A (Geode LX800).
|
||||
|
||||
Signed-off-by: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||
|
||||
commit 4d27afae183123ad947416e98cb6cb62e20aeebe
|
||||
Author: Adam Jackson <ajax@redhat.com>
|
||||
Date: Tue Jul 19 10:03:56 2016 -0400
|
||||
|
||||
Adapt Block/WakeupHandler signature for ABI 23
|
||||
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
|
||||
commit 9b04a4df4239e7e9414402f8522cb31728481a27
|
||||
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||
Date: Wed Feb 3 20:38:37 2016 +0200
|
||||
|
||||
Geode 2.11.18
|
||||
|
||||
This release restores compatibility with xserver-1.18 and newer.
|
||||
|
||||
Conditional support for the Geode MSR device on FreeBSD is merged.
|
||||
|
||||
GX acceleration and compositing is upgraded to current standards.
|
||||
|
||||
LX switching to VT and back is restored. Farewell blanks screens!
|
||||
|
||||
VALIDATION PLATFORM
|
||||
* Debian (X server 1.18.0) on FIC ION603A (Geode LX800).
|
||||
|
||||
Signed-off-by: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||
|
||||
commit cecdf5085739649dc3b52e343c246f6c3c1dda4d
|
||||
Author: Connor Behan <connor.behan@gmail.com>
|
||||
Date: Tue Dec 1 18:45:59 2015 -0500
|
||||
|
||||
LX: Restore old VT switch code
|
||||
|
||||
Calls for enabling and disabling outputs were removed from the VT switch
|
||||
routine when RandR support was added. Presumably, this is because the
|
||||
server already sets DPMS properly on a VT switch. However, DDX code can
|
||||
undo what the server does so it seems best to keep the explicit calls.
|
||||
|
||||
Closes: X.Org Bugzilla #80825
|
||||
|
||||
Signed-off-by: Connor Behan <connor.behan@gmail.com>
|
||||
|
||||
commit 44c508916af7a6e59d898829faaec599dbd51f4a
|
||||
Author: Arrigo Marchiori <ardovm@yahoo.it>
|
||||
Date: Mon Sep 28 13:52:34 2015 +0300
|
||||
|
||||
Geode MSR support for FreeBSD
|
||||
|
||||
The file src/geode_msr.c does not compile under FreeBSD.
|
||||
The attached patch allows to compile the driver.
|
||||
|
||||
Closes: Free Desktop Bug #92158
|
||||
|
||||
Signed-off-by: Arrigo Marchiori <ardovm@yahoo.it>
|
||||
|
||||
commit aecb0803d318e8100d6024f34a96df225ff738aa
|
||||
Author: Connor Behan <connor.behan@gmail.com>
|
||||
Date: Thu Aug 27 01:09:53 2015 -0400
|
||||
|
||||
Fix GX UploadToScreen and DownloadFromScreen
|
||||
|
||||
Even though most embedded drivers don't do it, there could be a slight
|
||||
advantage on a single arch from reimplementing unaccelerated UTS and DFS
|
||||
since the xserver avoids assembly. This does not remove them, it merely
|
||||
updates them to work with the latest EXA.
|
||||
|
||||
Signed-off-by: Connor Behan <connor.behan@gmail.com>
|
||||
|
||||
commit d0d07108b7db4536ec12a45d5b7633b1abb22f60
|
||||
Author: Connor Behan <connor.behan@gmail.com>
|
||||
Date: Tue Aug 25 23:32:29 2015 -0400
|
||||
|
||||
Fix GX composite hooks
|
||||
|
||||
These need to fallback for solid and gradient pictures.
|
||||
|
||||
Signed-off-by: Connor Behan <connor.behan@gmail.com>
|
||||
|
||||
commit fc5d97e06c922de929017f676a58adf741770bc7
|
||||
Author: Matthew Green <mrg@NetBSD.org>
|
||||
Date: Mon Jul 20 10:37:16 2015 +0200
|
||||
|
||||
Properly hide config.h inclusion inside HAVE_CONFIG_H.
|
||||
|
||||
v2: make config.h inclusion the first one.
|
||||
|
||||
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
|
||||
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
|
||||
|
||||
commit 97e53b5896752a7e504d0159a7009418e2510521
|
||||
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||
Date: Wed May 20 11:24:30 2015 +0300
|
||||
|
1
driver/xf86-video-geode/aclocal.m4
vendored
1
driver/xf86-video-geode/aclocal.m4
vendored
@ -1294,6 +1294,7 @@ m4_if(m4_version_compare(vers_have, [$1]), -1,
|
||||
m4_undefine([vers_have])
|
||||
m4_undefine([maj_have])
|
||||
m4_undefine([maj_needed])
|
||||
AM_MAINTAINER_MODE
|
||||
]) # XORG_MACROS_VERSION
|
||||
|
||||
# XORG_PROG_RAWCPP()
|
||||
|
47
driver/xf86-video-geode/configure
vendored
47
driver/xf86-video-geode/configure
vendored
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for xf86-video-geode 2.11.17.
|
||||
# Generated by GNU Autoconf 2.69 for xf86-video-geode 2.11.19.
|
||||
#
|
||||
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode>.
|
||||
#
|
||||
@ -591,8 +591,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='xf86-video-geode'
|
||||
PACKAGE_TARNAME='xf86-video-geode'
|
||||
PACKAGE_VERSION='2.11.17'
|
||||
PACKAGE_STRING='xf86-video-geode 2.11.17'
|
||||
PACKAGE_VERSION='2.11.19'
|
||||
PACKAGE_STRING='xf86-video-geode 2.11.19'
|
||||
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode'
|
||||
PACKAGE_URL='http://www.x.org/wiki/GeodeDriver'
|
||||
|
||||
@ -1363,7 +1363,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-geode 2.11.17 to adapt to many kinds of systems.
|
||||
\`configure' configures xf86-video-geode 2.11.19 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1434,7 +1434,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of xf86-video-geode 2.11.17:";;
|
||||
short | recursive ) echo "Configuration of xf86-video-geode 2.11.19:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1570,7 +1570,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
xf86-video-geode configure 2.11.17
|
||||
xf86-video-geode configure 2.11.19
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@ -1985,7 +1985,7 @@ cat >config.log <<_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-geode $as_me 2.11.17, which was
|
||||
It was created by xf86-video-geode $as_me 2.11.19, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -2816,7 +2816,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='xf86-video-geode'
|
||||
VERSION='2.11.17'
|
||||
VERSION='2.11.19'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -11463,6 +11463,29 @@ CC="$lt_save_CC"
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
|
||||
# Check whether --enable-maintainer-mode was given.
|
||||
if test "${enable_maintainer_mode+set}" = set; then :
|
||||
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
|
||||
else
|
||||
USE_MAINTAINER_MODE=no
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
|
||||
$as_echo "$USE_MAINTAINER_MODE" >&6; }
|
||||
if test $USE_MAINTAINER_MODE = yes; then
|
||||
MAINTAINER_MODE_TRUE=
|
||||
MAINTAINER_MODE_FALSE='#'
|
||||
else
|
||||
MAINTAINER_MODE_TRUE='#'
|
||||
MAINTAINER_MODE_FALSE=
|
||||
fi
|
||||
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
|
||||
$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
|
||||
if ${ac_cv_prog_cc_c99+:} false; then :
|
||||
@ -18391,6 +18414,10 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
|
||||
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
|
||||
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${BUILD_ZTV_TRUE}" && test -z "${BUILD_ZTV_FALSE}"; then
|
||||
as_fn_error $? "conditional \"BUILD_ZTV\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
@ -18792,7 +18819,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by xf86-video-geode $as_me 2.11.17, which was
|
||||
This file was extended by xf86-video-geode $as_me 2.11.19, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -18859,7 +18886,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
xf86-video-geode config.status 2.11.17
|
||||
xf86-video-geode config.status 2.11.19
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT([xf86-video-geode],
|
||||
[2.11.17],
|
||||
[2.11.19],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode],
|
||||
[xf86-video-geode],
|
||||
[http://www.x.org/wiki/GeodeDriver])
|
||||
|
@ -89,8 +89,13 @@
|
||||
|
||||
#define SCREEN_INIT_ARGS_DECL ScreenPtr pScrn, int argc, char **argv
|
||||
|
||||
#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0)
|
||||
#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout
|
||||
#define BLOCKHANDLER_ARGS arg, pTimeout
|
||||
#else
|
||||
#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
|
||||
#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
|
||||
#endif
|
||||
|
||||
#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScrn
|
||||
#define CLOSE_SCREEN_ARGS pScrn
|
||||
|
@ -27,8 +27,10 @@
|
||||
#ifndef _GEODE_H_
|
||||
#define _GEODE_H_
|
||||
|
||||
#include "geode_pcirename.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
#include "geode_pcirename.h"
|
||||
|
||||
#ifdef HAVE_XAA_H
|
||||
#include "xaa.h"
|
||||
@ -439,6 +441,10 @@ void GXAccelSync(ScrnInfoPtr pScrni);
|
||||
/* gx_video.c */
|
||||
void GXInitVideo(ScreenPtr pScrn);
|
||||
|
||||
/* lx_display.c */
|
||||
void lx_enable_dac_power(ScrnInfoPtr pScrni, int option);
|
||||
void lx_disable_dac_power(ScrnInfoPtr pScrni, int option);
|
||||
|
||||
/* lx_driver.c */
|
||||
void LXSetupChipsetFPtr(ScrnInfoPtr pScrn);
|
||||
|
||||
|
@ -39,12 +39,19 @@
|
||||
#include <machine/amdmsr.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/cpuctl.h>
|
||||
#endif
|
||||
|
||||
#include "os.h"
|
||||
#include "geode.h"
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
#define _PATH_MSRDEV "/dev/amdmsr"
|
||||
#define X_PRIVSEP
|
||||
#elif defined __FreeBSD__
|
||||
#define _PATH_MSRDEV "/dev/cpuctl0"
|
||||
#else
|
||||
#define _PATH_MSRDEV "/dev/cpu/0/msr"
|
||||
#endif
|
||||
@ -83,6 +90,18 @@ GeodeReadMSR(unsigned long addr, unsigned long *lo, unsigned long *hi)
|
||||
|
||||
*hi = req.val >> 32;
|
||||
*lo = req.val & 0xffffffff;
|
||||
#elif defined __FreeBSD__
|
||||
cpuctl_msr_args_t args;
|
||||
int fd = _msr_open();
|
||||
|
||||
args.msr = addr;
|
||||
|
||||
if (ioctl(fd, CPUCTL_RDMSR, &args) == -1)
|
||||
FatalError("Unable to read MSR at address %0x06x: %s\n", addr,
|
||||
strerror(errno));
|
||||
|
||||
*hi = args.data >> 32;
|
||||
*lo = args.data & 0xffffffff;
|
||||
#else
|
||||
unsigned int data[2];
|
||||
int fd = _msr_open();
|
||||
@ -120,6 +139,16 @@ GeodeWriteMSR(unsigned long addr, unsigned long lo, unsigned long hi)
|
||||
if (ioctl(fd, WRMSR, &req) == -1)
|
||||
FatalError("Unable to write MSR at address 0x%06x: %s\n", addr,
|
||||
strerror(errno));
|
||||
#elif defined __FreeBSD__
|
||||
cpuctl_msr_args_t args;
|
||||
int fd = _msr_open();
|
||||
|
||||
args.msr = addr;
|
||||
args.data = (u_int64_t) hi << 32 | (u_int64_t)lo;
|
||||
|
||||
if (ioctl(fd, CPUCTL_WRMSR, &args) == -1)
|
||||
FatalError("Unable to write MSR at address 0x%06x: %s\n", addr,
|
||||
strerror(errno));
|
||||
#else
|
||||
unsigned int data[2];
|
||||
int fd = _msr_open();
|
||||
|
@ -1489,7 +1489,8 @@ static Bool
|
||||
amd_gx_exa_UploadToScreen(PixmapPtr pDst, int x, int y, int w, int h,
|
||||
char *src, int src_pitch)
|
||||
{
|
||||
char *dst = pDst->devPrivate.ptr;
|
||||
GeodeRec *pGeode = GEODEPTR_FROM_PIXMAP(pDst);
|
||||
char *dst = pGeode->pExa->memoryBase + exaGetPixmapOffset(pDst);
|
||||
int dst_pitch = exaGetPixmapPitch(pDst);
|
||||
int bpp = pDst->drawable.bitsPerPixel;
|
||||
|
||||
@ -1504,7 +1505,8 @@ static Bool
|
||||
amd_gx_exa_DownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h,
|
||||
char *dst, int dst_pitch)
|
||||
{
|
||||
char *src = pSrc->devPrivate.ptr;
|
||||
GeodeRec *pGeode = GEODEPTR_FROM_PIXMAP(pSrc);
|
||||
char *src = pGeode->pExa->memoryBase + exaGetPixmapOffset(pSrc);
|
||||
int src_pitch = exaGetPixmapPitch(pSrc);
|
||||
int bpp = pSrc->drawable.bitsPerPixel;
|
||||
|
||||
@ -1740,6 +1742,7 @@ amd_gx_exa_PrepareComposite(int op, PicturePtr pSrc, PicturePtr pMsk,
|
||||
PixmapPtr pxDst)
|
||||
{
|
||||
int srcPitch;
|
||||
if (!pxSrc || !pSrc->pDrawable) return FALSE;
|
||||
|
||||
GeodeRec *pGeode = GEODEPTR_FROM_PIXMAP(pxDst);
|
||||
amd_gx_exa_fmt_t *sfp, *dfp;
|
||||
|
@ -39,7 +39,7 @@ typedef struct _LXOutputPrivateRec {
|
||||
GeodeMemPtr rotate_mem;
|
||||
} LXCrtcPrivateRec, *LXCrtcPrivatePtr;
|
||||
|
||||
static void
|
||||
void
|
||||
lx_enable_dac_power(ScrnInfoPtr pScrni, int option)
|
||||
{
|
||||
GeodeRec *pGeode = GEODEPTR(pScrni);
|
||||
@ -59,7 +59,7 @@ lx_enable_dac_power(ScrnInfoPtr pScrni, int option)
|
||||
df_set_panel_enable(1);
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
lx_disable_dac_power(ScrnInfoPtr pScrni, int option)
|
||||
{
|
||||
GeodeRec *pGeode = GEODEPTR(pScrni);
|
||||
|
@ -689,6 +689,8 @@ LXLeaveGraphics(ScrnInfoPtr pScrni)
|
||||
|
||||
gp_wait_until_idle();
|
||||
|
||||
lx_disable_dac_power(pScrni, DF_CRT_DISABLE);
|
||||
|
||||
vg_set_custom_mode(&(pGeode->FBcimdisplaytiming.vgDisplayMode),
|
||||
pGeode->FBcimdisplaytiming.wBpp);
|
||||
|
||||
@ -717,6 +719,7 @@ LXLeaveGraphics(ScrnInfoPtr pScrni)
|
||||
vg_delay_milliseconds(3);
|
||||
}
|
||||
|
||||
lx_enable_dac_power(pScrni, 1);
|
||||
pScrni->vtSema = FALSE;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user