.gitignore | 84 ChangeLog | 3532 +++++++++++++++- Makefile.am | 12 README | 13 configure.ac | 72 debian/NEWS | 29 debian/changelog | 35 debian/control | 55 debian/radeon-kms.conf | 2 debian/rules | 4 debian/xserver-xorg-video-ati.NEWS | 18 debian/xserver-xorg-video-radeon.NEWS | 41 debian/xserver-xorg-video-radeon.postinst.in | 21 debian/xserver-xorg-video-radeon.postrm.in | 21 debian/xserver-xorg-video-radeon.prerm.in | 21 man/Makefile.am | 41 man/radeon.man | 83 src/.gitignore | 3 src/AtomBios/includes/atombios.h | 1090 ++++- src/Makefile.am | 33 src/ati_pciids_gen.h | 35 src/atombios_crtc.c | 1376 ++++-- src/atombios_output.c | 1421 ++++++ src/drmmode_display.c | 1350 ++++++ src/drmmode_display.h | 86 src/legacy_crtc.c | 77 src/legacy_output.c | 23 src/pcidb/ati_pciids.csv | 35 src/pcidb/parse_pci_ids.pl | 2 src/r600_exa.c | 1437 ++++-- src/r600_reg_r6xx.h | 6 src/r600_shader.c | 1112 +++-- src/r600_state.h | 73 src/r600_textured_videofuncs.c | 358 - src/r6xx_accel.c | 605 +- src/radeon.h | 347 + src/radeon_accel.c | 209 src/radeon_accelfuncs.c | 10 src/radeon_atombios.c | 390 + src/radeon_atombios.h | 18 src/radeon_bios.c | 119 src/radeon_chipinfo_gen.h | 37 src/radeon_chipset_gen.h | 35 src/radeon_commonfuncs.c | 518 +- src/radeon_crtc.c | 428 +- src/radeon_cursor.c | 77 src/radeon_dga.c | 466 -- src/radeon_dri.c | 77 src/radeon_dri2.c | 375 + src/radeon_dri2.h | 42 src/radeon_driver.c | 765 +-- src/radeon_drm.h | 153 src/radeon_dummy_bufmgr.h | 62 src/radeon_exa.c | 252 + src/radeon_exa_funcs.c | 557 ++ src/radeon_exa_render.c | 823 ++- src/radeon_kms.c | 1057 +++++ src/radeon_legacy_memory.c | 25 src/radeon_macros.h | 49 src/radeon_modes.c | 12 src/radeon_output.c | 231 - src/radeon_pci_chipset_gen.h | 35 src/radeon_pci_device_match_gen.h | 35 src/radeon_pm.c | 886 ++++ src/radeon_probe.c | 87 src/radeon_probe.h | 41 src/radeon_reg.h | 278 + src/radeon_render.c | 8 src/radeon_textured_video.c | 631 +- src/radeon_textured_videofuncs.c | 5705 +++++++++++++++++---------- src/radeon_vbo.c | 206 src/radeon_vbo.h | 62 src/radeon_video.c | 192 src/radeon_video.h | 27 src/simple_list.h | 202 75 files changed, 22224 insertions(+), 6511 deletions(-)
New commits: commit 6e677b632d39a0bf15961d4fb93635a908e40f97 Author: Brice Goglin <bgog...@debian.org> Date: Mon Mar 22 11:14:30 2010 +0100 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index d02aca7..d595e6c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-ati (1:6.12.192-2) UNRELEASED; urgency=low +xserver-xorg-video-ati (1:6.12.192-2) unstable; urgency=low * Enable kernel mode setting by default on Linux. * Bump Standards-Version to 3.8.4, no changes needed. @@ -6,7 +6,7 @@ xserver-xorg-video-ati (1:6.12.192-2) UNRELEASED; urgency=low * Stop installing the NEWS file in all binary packages, only keep the relevant entries in -radeon and -ati NEWS files. - -- Brice Goglin <bgog...@debian.org> Mon, 15 Mar 2010 19:13:14 +0100 + -- Brice Goglin <bgog...@debian.org> Mon, 22 Mar 2010 11:12:35 +0100 xserver-xorg-video-ati (1:6.12.192-1) experimental; urgency=low diff --git a/debian/xserver-xorg-video-radeon.NEWS b/debian/xserver-xorg-video-radeon.NEWS index 21cd9aa..a41527f 100644 --- a/debian/xserver-xorg-video-radeon.NEWS +++ b/debian/xserver-xorg-video-radeon.NEWS @@ -1,4 +1,4 @@ -xserver-xorg-video-radeon (1:6.12.192-2) UNRELEASED; urgency=low +xserver-xorg-video-radeon (1:6.12.192-2) unstable; urgency=low * Starting with this version, the radeon driver enables kernel mode setting (KMS) by default. This comes with a framebuffer driver which enables commit f62daf71011a40aa37802b6abd726b731985174b Author: Brice Goglin <bgog...@debian.org> Date: Sun Mar 21 19:58:48 2010 +0100 Enable kernel mode setting by default on Linux diff --git a/debian/changelog b/debian/changelog index 45b5eee..d02aca7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ xserver-xorg-video-ati (1:6.12.192-2) UNRELEASED; urgency=low + * Enable kernel mode setting by default on Linux. * Bump Standards-Version to 3.8.4, no changes needed. * Pull from upstream master up to commit 5c256808. * Stop installing the NEWS file in all binary packages, only diff --git a/debian/radeon-kms.conf b/debian/radeon-kms.conf new file mode 100644 index 0000000..9b86072 --- /dev/null +++ b/debian/radeon-kms.conf @@ -0,0 +1,2 @@ +options radeon modeset=1 + diff --git a/debian/rules b/debian/rules index e4cdab5..8815ada 100755 --- a/debian/rules +++ b/debian/rules @@ -89,6 +89,10 @@ binary-arch: build install serverabi-ati serverabi-radeon dh_installdocs dh_installchangelogs ChangeLog dh_install --sourcedir=debian/tmp --list-missing --exclude=.la --exclude=usr/share/man/man4 +ifeq ($(DEB_HOST_ARCH_OS), linux) + install -d -m 755 debian/xserver-xorg-video-radeon/etc/modprobe.d/ + install -m 644 debian/radeon-kms.conf debian/xserver-xorg-video-radeon/etc/modprobe.d/ +endif dh_installman dh_link dh_strip -pxserver-xorg-video-ati --dbg-package=xserver-xorg-video-ati-dbg diff --git a/debian/xserver-xorg-video-radeon.NEWS b/debian/xserver-xorg-video-radeon.NEWS index 51d3dab..21cd9aa 100644 --- a/debian/xserver-xorg-video-radeon.NEWS +++ b/debian/xserver-xorg-video-radeon.NEWS @@ -1,3 +1,15 @@ +xserver-xorg-video-radeon (1:6.12.192-2) UNRELEASED; urgency=low + + * Starting with this version, the radeon driver enables kernel mode setting + (KMS) by default. This comes with a framebuffer driver which enables + native resolution on the console. KMS also allows faster VT switching + and mode changes. + + In case of trouble KMS can be disabled with the 'nomodeset' kernel + command line parameter, or by editing /etc/modprobe.d/radeon-kms.conf. + + -- Brice Goglin <bgog...@debian.org> Sun, 21 Mar 2010 19:46:25 +0100 + xserver-xorg-video-radeon (1:6.12.2-2) unstable; urgency=low * The standard linux kernels in Debian as of version 2.6.29-1 do not contain diff --git a/debian/xserver-xorg-video-radeon.postinst.in b/debian/xserver-xorg-video-radeon.postinst.in new file mode 100644 index 0000000..c24fb34 --- /dev/null +++ b/debian/xserver-xorg-video-radeon.postinst.in @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +THIS_SCRIPT=postinst +THIS_PACKAGE=xserver-xorg-video-radeon + +#INCLUDE_SHELL_LIB# + +case "$1" in + abort-upgrade) + if dpkg --compare-versions "$2" lt-nl 1:6.12.99; then + # failed downgrading to a version without kms + remove_conffile_rollback /etc/modprobe.d/radeon-kms.conf + fi + ;; +esac + +#DEBHELPER# + +# vim:set ai et sw=2 ts=2 tw=80: diff --git a/debian/xserver-xorg-video-radeon.postrm.in b/debian/xserver-xorg-video-radeon.postrm.in new file mode 100644 index 0000000..78c330a --- /dev/null +++ b/debian/xserver-xorg-video-radeon.postrm.in @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +THIS_SCRIPT=postrm +THIS_PACKAGE=xserver-xorg-video-radeon + +#INCLUDE_SHELL_LIB# + +case "$1" in + upgrade) + if dpkg --compare-versions "$2" lt-nl 1:6.12.99; then + # downgrading to a version without kms + remove_conffile_commit /etc/modprobe.d/radeon-kms.conf + fi + ;; +esac + +#DEBHELPER# + +# vim:set ai et sw=2 ts=2 tw=80: diff --git a/debian/xserver-xorg-video-radeon.prerm.in b/debian/xserver-xorg-video-radeon.prerm.in new file mode 100644 index 0000000..10ba541 --- /dev/null +++ b/debian/xserver-xorg-video-radeon.prerm.in @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +THIS_SCRIPT=prerm +THIS_PACKAGE=xserver-xorg-video-radeon + +#INCLUDE_SHELL_LIB# + +case "$1" in + upgrade) + if dpkg --compare-versions "$2" lt-nl 1:6.12.99; then + # downgrading to a version without kms + remove_conffile_lookup $THIS_PACKAGE /etc/modprobe.d/radeon-kms.conf + fi + ;; +esac + +#DEBHELPER# + +# vim:set ai et sw=2 ts=2 tw=80: commit 198fdd98316522b5fb22549538c18e519bc48bbe Author: Brice Goglin <bgog...@debian.org> Date: Sun Mar 21 19:57:05 2010 +0100 Use different NEWS file for -ati and -radeon diff --git a/debian/NEWS b/debian/NEWS deleted file mode 100644 index 40580e9..0000000 --- a/debian/NEWS +++ /dev/null @@ -1,29 +0,0 @@ -xserver-xorg-video-ati (1:6.12.2-2) unstable; urgency=low - - * The standard linux kernels in Debian as of version 2.6.29-1 do not contain - the firmware necessary to allow the radeon driver to use 3D acceleration - via DRI. In addition, the driver will pay significant performance - penalties for 2D and Xvideo usage when the firmware is absent. This - firmware has been moved to the firmware-linux package in non-free, and - must be installed to use this feature. - - -- David Nusinow <dnusi...@debian.org> Wed, 29 Apr 2009 21:14:53 -0400 - -xserver-xorg-video-ati (1:6.8.1~git20080302.a4398ac3-1) experimental; urgency=low - - * The 'ati' Xorg driver module does not contain the 'r128' and 'mach64' - submodules anymore. Users of Rage or Mach boards may safely remove - the xserver-xorg-video-ati packages only if they use Driver "r128" or - "mach64" instead of "ati" in their /etc/X11/xorg.conf. - - -- Brice Goglin <bgog...@debian.org> Sun, 02 Mar 2008 13:22:03 +0100 - -xserver-xorg-video-ati (1:6.7.197-1) unstable; urgency=low - - * The X.Org ATI driver supports RandR 1.2 which enables dynamic - enabling, disabling, resizing, rotating, placing, ... of multiple - outputs at runtime. You might want to update your /etc/X11/xorg.conf - accordingly. See http://wiki.debian.org/XStrikeForce/HowToRandR12 - and http://www.intellinuxgraphics.org/dualhead.html for some help. - - -- Brice Goglin <bgog...@debian.org> Fri, 21 Dec 2007 08:12:13 +0100 diff --git a/debian/changelog b/debian/changelog index 9c31ab9..45b5eee 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ xserver-xorg-video-ati (1:6.12.192-2) UNRELEASED; urgency=low * Bump Standards-Version to 3.8.4, no changes needed. * Pull from upstream master up to commit 5c256808. + * Stop installing the NEWS file in all binary packages, only + keep the relevant entries in -radeon and -ati NEWS files. -- Brice Goglin <bgog...@debian.org> Mon, 15 Mar 2010 19:13:14 +0100 diff --git a/debian/xserver-xorg-video-ati.NEWS b/debian/xserver-xorg-video-ati.NEWS new file mode 100644 index 0000000..0d0674b --- /dev/null +++ b/debian/xserver-xorg-video-ati.NEWS @@ -0,0 +1,18 @@ +xserver-xorg-video-ati (1:6.8.1~git20080302.a4398ac3-1) experimental; urgency=low + + * The 'ati' Xorg driver module does not contain the 'r128' and 'mach64' + submodules anymore. Users of Rage or Mach boards may safely remove + the xserver-xorg-video-ati packages only if they use Driver "r128" or + "mach64" instead of "ati" in their /etc/X11/xorg.conf. + + -- Brice Goglin <bgog...@debian.org> Sun, 02 Mar 2008 13:22:03 +0100 + +xserver-xorg-video-ati (1:6.7.197-1) unstable; urgency=low + + * The X.Org ATI driver supports RandR 1.2 which enables dynamic + enabling, disabling, resizing, rotating, placing, ... of multiple + outputs at runtime. You might want to update your /etc/X11/xorg.conf + accordingly. See http://wiki.debian.org/XStrikeForce/HowToRandR12 + and http://www.intellinuxgraphics.org/dualhead.html for some help. + + -- Brice Goglin <bgog...@debian.org> Fri, 21 Dec 2007 08:12:13 +0100 diff --git a/debian/xserver-xorg-video-radeon.NEWS b/debian/xserver-xorg-video-radeon.NEWS new file mode 100644 index 0000000..51d3dab --- /dev/null +++ b/debian/xserver-xorg-video-radeon.NEWS @@ -0,0 +1,29 @@ +xserver-xorg-video-radeon (1:6.12.2-2) unstable; urgency=low + + * The standard linux kernels in Debian as of version 2.6.29-1 do not contain + the firmware necessary to allow the radeon driver to use 3D acceleration + via DRI. In addition, the driver will pay significant performance + penalties for 2D and Xvideo usage when the firmware is absent. This + firmware has been moved to the firmware-linux package in non-free, and + must be installed to use this feature. + + -- David Nusinow <dnusi...@debian.org> Wed, 29 Apr 2009 21:14:53 -0400 + +xserver-xorg-video-ati (1:6.8.1~git20080302.a4398ac3-1) experimental; urgency=low + + * The 'ati' Xorg driver module does not contain the 'r128' and 'mach64' + submodules anymore. Users of Rage or Mach boards may safely remove + the xserver-xorg-video-ati packages only if they use Driver "r128" or + "mach64" instead of "ati" in their /etc/X11/xorg.conf. + + -- Brice Goglin <bgog...@debian.org> Sun, 02 Mar 2008 13:22:03 +0100 + +xserver-xorg-video-ati (1:6.7.197-1) unstable; urgency=low + + * The X.Org ATI driver supports RandR 1.2 which enables dynamic + enabling, disabling, resizing, rotating, placing, ... of multiple + outputs at runtime. You might want to update your /etc/X11/xorg.conf + accordingly. See http://wiki.debian.org/XStrikeForce/HowToRandR12 + and http://www.intellinuxgraphics.org/dualhead.html for some help. + + -- Brice Goglin <bgog...@debian.org> Fri, 21 Dec 2007 08:12:13 +0100 commit 9141f779b02f6c00460780c5f484c398733c5320 Author: Brice Goglin <bgog...@debian.org> Date: Sun Mar 21 16:28:52 2010 +0100 Pull from upstream master diff --git a/ChangeLog b/ChangeLog index 8ba30c4..d798dd2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +commit 5c256808cb5fea955eea96ffe9196473715156aa +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Wed Mar 17 23:47:50 2010 -0400 + + XAA: disable render accel + + It's been reported broken for a while. Should fix + fdo bug 27151, others. + +commit a0683be5cc082bdbdd3bc4e9b52f39f423650946 +Author: Dave Airlie <airl...@redhat.com> +Date: Thu Mar 18 12:36:25 2010 +1000 + + radeon: avoid using DRI1 init path on DRI2 driver. + + I was playing with multi-seat and found this code, fixed + it up to be sane and more DRI2 like. + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit 080a5414593e9b59ed923f26aa6057747b0c868f +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Tue Mar 16 12:33:39 2010 -0400 + + kms: fix ums naming compat for DisplayPort + commit 819b4015349b5d8c5ffa5f979097599774fce5bb Author: Alex Deucher <alexdeuc...@gmail.com> Date: Mon Mar 15 13:47:29 2010 -0400 diff --git a/debian/changelog b/debian/changelog index f02fff2..9c31ab9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xserver-xorg-video-ati (1:6.12.192-2) UNRELEASED; urgency=low * Bump Standards-Version to 3.8.4, no changes needed. + * Pull from upstream master up to commit 5c256808. -- Brice Goglin <bgog...@debian.org> Mon, 15 Mar 2010 19:13:14 +0100 commit 5c256808cb5fea955eea96ffe9196473715156aa Author: Alex Deucher <alexdeuc...@gmail.com> Date: Wed Mar 17 23:47:50 2010 -0400 XAA: disable render accel It's been reported broken for a while. Should fix fdo bug 27151, others. diff --git a/src/radeon_accelfuncs.c b/src/radeon_accelfuncs.c index dd1defd..36f25e7 100644 --- a/src/radeon_accelfuncs.c +++ b/src/radeon_accelfuncs.c @@ -1332,6 +1332,7 @@ FUNC_NAME(RADEONAccelInit)(ScreenPtr pScreen, XAAInfoRecPtr a) #endif #ifdef RENDER + info->RenderAccel = FALSE; if (info->RenderAccel && info->xaaReq.minorversion >= 2) { a->CPUToScreenAlphaTextureFlags = XAA_RENDER_POWER_OF_2_TILE_ONLY; commit a0683be5cc082bdbdd3bc4e9b52f39f423650946 Author: Dave Airlie <airl...@redhat.com> Date: Thu Mar 18 12:36:25 2010 +1000 radeon: avoid using DRI1 init path on DRI2 driver. I was playing with multi-seat and found this code, fixed it up to be sane and more DRI2 like. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 1121044..399a6a7 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1151,31 +1151,11 @@ static const xf86CrtcConfigFuncsRec drmmode_xf86crtc_config_funcs = { }; -Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, char *busId, char *driver_name, int cpp) +Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp) { xf86CrtcConfigPtr xf86_config; - RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); int i; - Bool ret; - - /* Create a bus Id */ - /* Low level DRM open */ - if (!pRADEONEnt->fd) { - ret = DRIOpenDRMMaster(pScrn, SAREA_MAX, busId, driver_name); - if (!ret) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "[dri] DRIGetVersion failed to open the DRM\n" - "[dri] Disabling DRI.\n"); - return FALSE; - } - drmmode->fd = DRIMasterFD(pScrn); - pRADEONEnt->fd = drmmode->fd; - } else { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - " reusing fd for second head\n"); - drmmode->fd = pRADEONEnt->fd; - } xf86CrtcConfigInit(pScrn, &drmmode_xf86crtc_config_funcs); xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); diff --git a/src/drmmode_display.h b/src/drmmode_display.h index 1576d49..2e76259 100644 --- a/src/drmmode_display.h +++ b/src/drmmode_display.h @@ -74,7 +74,7 @@ typedef struct { } drmmode_output_private_rec, *drmmode_output_private_ptr; -extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, char *busId, char *driver_name, int cpp); +extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp); extern Bool drmmode_set_bufmgr(ScrnInfoPtr pScrn, drmmode_ptr drmmode, struct radeon_bo_manager *bufmgr); extern void drmmode_set_cursor(ScrnInfoPtr scrn, drmmode_ptr drmmode, int id, struct radeon_bo *bo); void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y, int flags); diff --git a/src/radeon_kms.c b/src/radeon_kms.c index 1f9c5d4..15e5e3f 100644 --- a/src/radeon_kms.c +++ b/src/radeon_kms.c @@ -362,12 +362,67 @@ static Bool radeon_alloc_dri(ScrnInfoPtr pScrn) return TRUE; } +static Bool radeon_open_drm_master(ScrnInfoPtr pScrn) +{ + RADEONInfoPtr info = RADEONPTR(pScrn); + RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); + struct pci_device *dev = info->PciInfo; + char *busid; + drmSetVersion sv; + int err; + + if (pRADEONEnt->fd) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " reusing fd for second head\n"); + + info->dri2.drm_fd = pRADEONEnt->fd; + goto out; + } + + busid = XNFprintf("pci:%04x:%02x:%02x.%d", + dev->domain, dev->bus, dev->dev, dev->func); + + info->dri2.drm_fd = drmOpen("radeon", busid); + if (info->dri2.drm_fd == -1) { + + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "[drm] Failed to open DRM device for %s: %s\n", + busid, strerror(errno)); + xfree(busid); + return FALSE; + } + xfree(busid); + + /* Check that what we opened was a master or a master-capable FD, + * by setting the version of the interface we'll use to talk to it. + * (see DRIOpenDRMMaster() in DRI1) + */ + sv.drm_di_major = 1; + sv.drm_di_minor = 1; + sv.drm_dd_major = -1; + sv.drm_dd_minor = -1; + err = drmSetInterfaceVersion(info->dri2.drm_fd, &sv); + if (err != 0) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "[drm] failed to set drm interface version.\n"); + drmClose(info->dri2.drm_fd); + info->dri2.drm_fd = -1; + + return FALSE; + } + + pRADEONEnt->fd = info->dri2.drm_fd; + out: + info->drmmode.fd = info->dri2.drm_fd; + info->dri->drmFD = info->dri2.drm_fd; + return TRUE; +} + Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags) { RADEONInfoPtr info; RADEONEntPtr pRADEONEnt; DevUnion* pPriv; - char *bus_id; Gamma zeros = { 0.0, 0.0, 0.0 }; xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, @@ -434,17 +489,16 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "KMS Color Tiling: %sabled\n", info->allowColorTiling ? "en" : "dis"); - bus_id = DRICreatePCIBusID(info->PciInfo); - if (drmmode_pre_init(pScrn, &info->drmmode, bus_id, "radeon", pScrn->bitsPerPixel / 8) == FALSE) { - xfree(bus_id); + if (radeon_open_drm_master(pScrn) == FALSE) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n"); + goto fail; + } + if (drmmode_pre_init(pScrn, &info->drmmode, pScrn->bitsPerPixel / 8) == FALSE) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n"); goto fail; } - info->dri->drmFD = info->drmmode.fd; - info->dri2.drm_fd = info->drmmode.fd; info->dri2.enabled = FALSE; - xfree(bus_id); info->dri->pKernelDRMVersion = drmGetVersion(info->dri->drmFD); if (info->dri->pKernelDRMVersion == NULL) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, commit 080a5414593e9b59ed923f26aa6057747b0c868f Author: Alex Deucher <alexdeuc...@gmail.com> Date: Tue Mar 16 12:33:39 2010 -0400 kms: fix ums naming compat for DisplayPort diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 253ec1e..1121044 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -844,7 +844,7 @@ const char *output_names[] = { "None", "LVDS", "CTV", "DIN", - "DP", + "DisplayPort", "HDMI", "HDMI", "TV", @@ -889,6 +889,7 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num) case DRM_MODE_CONNECTOR_DVIA: case DRM_MODE_CONNECTOR_HDMIA: case DRM_MODE_CONNECTOR_HDMIB: + case DRM_MODE_CONNECTOR_DisplayPort: snprintf(name, 32, "%s-%d", output_names[koutput->connector_type], koutput->connector_type_id - 1); break; default: commit 7730fd3d3438f4d4d2cd66b2d6a1107b7e40fca9 Author: Brice Goglin <bgog...@debian.org> Date: Mon Mar 15 19:13:29 2010 +0100 Bump Standards-Version to 3.8.4 diff --git a/debian/changelog b/debian/changelog index c3401cb..f02fff2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-ati (1:6.12.192-2) UNRELEASED; urgency=low + + * Bump Standards-Version to 3.8.4, no changes needed. + + -- Brice Goglin <bgog...@debian.org> Mon, 15 Mar 2010 19:13:14 +0100 + xserver-xorg-video-ati (1:6.12.192-1) experimental; urgency=low * New upstream release candidate. diff --git a/debian/control b/debian/control index 2210c53..75baf86 100644 --- a/debian/control +++ b/debian/control @@ -22,7 +22,7 @@ Build-Depends: automake, libtool, xutils-dev -Standards-Version: 3.8.3 +Standards-Version: 3.8.4 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-ati Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-ati.git commit 5bf0b9d0baf97b41cb29218a4db84cbef3e15f9e Author: Brice Goglin <bgog...@debian.org> Date: Mon Mar 15 19:06:34 2010 +0100 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 3e4e302..c3401cb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -xserver-xorg-video-ati (1:6.12.192-1) UNRELEASED; urgency=low +xserver-xorg-video-ati (1:6.12.192-1) experimental; urgency=low * New upstream release candidate. * Update package descriptions. * Drop x11proto-xinerama-dev from Build-Depends, it is not used anymore. - -- Brice Goglin <bgog...@debian.org> Wed, 10 Mar 2010 22:55:05 +0100 + -- Brice Goglin <bgog...@debian.org> Mon, 15 Mar 2010 19:06:31 +0100 xserver-xorg-video-ati (1:6.12.191-1) experimental; urgency=low commit 72911c6660a7af1a4f3a88b864f8dab6421dc71b Author: Brice Goglin <bgog...@debian.org> Date: Mon Mar 15 19:06:29 2010 +0100 Drop x11proto-xinerama-dev from Build-Depends, it is not used anymore diff --git a/debian/changelog b/debian/changelog index 7699830..3e4e302 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xserver-xorg-video-ati (1:6.12.192-1) UNRELEASED; urgency=low * New upstream release candidate. * Update package descriptions. + * Drop x11proto-xinerama-dev from Build-Depends, it is not used anymore. -- Brice Goglin <bgog...@debian.org> Wed, 10 Mar 2010 22:55:05 +0100 diff --git a/debian/control b/debian/control index 7cae381..2210c53 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,6 @@ Build-Depends: x11proto-xext-dev, x11proto-core-dev, x11proto-video-dev, - x11proto-xinerama-dev, libgl1-mesa-dev | libgl-dev, x11proto-fonts-dev, x11proto-randr-dev (>= 1.2), commit e335b58adb94dad30476ab31482cb38151a647b2 Author: Brice Goglin <bgog...@debian.org> Date: Mon Mar 15 19:04:51 2010 +0100 New upstream release candidate diff --git a/ChangeLog b/ChangeLog index 97d510d..8ba30c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,89 @@ +commit 819b4015349b5d8c5ffa5f979097599774fce5bb +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Mon Mar 15 13:47:29 2010 -0400 + + dump version for rc release + +commit d3482a947e3731be4ed0b00b4e3079470700dc4c +Author: Michael Cree <mc...@orcon.net.nz> +Date: Fri Mar 12 22:23:31 2010 +1300 + + Fix some word accesses in AtomBios to work on all architectures. + + The UINT16LE_TO_CPU(), etc., macros are used in the AtomBios code to + fix up endian issues but they do not address bad alignment or assist + architectures that cannot perform hardware byte or word accesses. + This patch inserts use of the ldw_u(), etc., interface of the Xserver + into certain AtomBios accesses to address alignment issues. + + This resolves Debian bug 572311, namely that the driver when compiled + for generic Alpha architecture (i.e. doesn't use the byte-word extension) + resulted in no display output on certain Radeon cards. + + Signed-off-by: Michael Cree <mc...@orcon.net.nz> + +commit 488c9fd8300505cc6c0c2f8f0f00849f27cc5d63 +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Mon Mar 15 12:25:57 2010 -0400 + + r6xx/r7xx: fix domain handling in accel code + + Noticed by Pauli and Michel on IRC. + + Improves GetImage performace by a factor of ~10. + +commit 2ace2591d92fb6d3ce7a6453edb04b36a6c49a32 +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Mon Mar 15 12:03:58 2010 -0400 + + radeon: remove some leftover debugging output + +commit 67e81c8f17ddde6eba633d2a5aef528e1d598d89 +Author: Andrzej Hajda <andrzej.ha...@wp.pl> +Date: Wed Mar 10 18:19:35 2010 -0500 + + radeon: add support for pal on legacy IGP chips + + Based on my initial non-working patch. + + Fixes some element of fdo bug 12007 + +commit 3a44f1cb0d2bb748692b1024003de8ee88ca77a5 +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Tue Mar 9 09:44:01 2010 -0500 + + atom: i2c gpio fixes + + Basically a port of my kms patch. This allows us + to remove some quirks. + +commit d85cb40f516c67305e818302bec7ee817df4144c +Author: Matt Turner <matts...@gmail.com> +Date: Sun Mar 7 14:24:35 2010 -0500 + + Don't check for Xinerama. + + It doesn't seem to be used anywhere, so don't require it. + + CC: Jerome Glisse <jgli...@redhat.com> + CC: Alex Deucher <alexdeuc...@gmail.com> + CC: Dave Airlie <airl...@redhat.com> + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit e7b41f8cb082ed462d29bf3fc440072424cbd852 +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Fri Mar 5 19:16:11 2010 -0500 + + radeon: disable frac fb div with new pll code + + fixes fdo bug 26897 + +commit 14aff767490c253cbcdd411f812e50b91673119e +Author: Alex Deucher <alexdeuc...@gmail.com> +Date: Wed Mar 3 13:31:19 2010 -0500 + + radeon: add new RS880 pci id + commit e6dc886634b38e4a36af7b5f0b23299d5acd7244 Author: Dave Airlie <airl...@redhat.com> Date: Tue Mar 2 10:25:15 2010 +1000 diff --git a/debian/changelog b/debian/changelog index 0ae0221..7699830 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -xserver-xorg-video-ati (1:6.12.191-2) UNRELEASED; urgency=low +xserver-xorg-video-ati (1:6.12.192-1) UNRELEASED; urgency=low + * New upstream release candidate. * Update package descriptions. -- Brice Goglin <bgog...@debian.org> Wed, 10 Mar 2010 22:55:05 +0100 commit 819b4015349b5d8c5ffa5f979097599774fce5bb Author: Alex Deucher <alexdeuc...@gmail.com> Date: Mon Mar 15 13:47:29 2010 -0400 dump version for rc release diff --git a/configure.ac b/configure.ac index d2c70f5..c1fae22 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-ati], - 6.12.191, + 6.12.192, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-ati) commit d3482a947e3731be4ed0b00b4e3079470700dc4c Author: Michael Cree <mc...@orcon.net.nz> Date: Fri Mar 12 22:23:31 2010 +1300 Fix some word accesses in AtomBios to work on all architectures. The UINT16LE_TO_CPU(), etc., macros are used in the AtomBios code to fix up endian issues but they do not address bad alignment or assist architectures that cannot perform hardware byte or word accesses. This patch inserts use of the ldw_u(), etc., interface of the Xserver into certain AtomBios accesses to address alignment issues. This resolves Debian bug 572311, namely that the driver when compiled for generic Alpha architecture (i.e. doesn't use the byte-word extension) resulted in no display output on certain Radeon cards. Signed-off-by: Michael Cree <mc...@orcon.net.nz> diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c index c1279b8..ae27049 100644 --- a/src/AtomBios/CD_Operations.c +++ b/src/AtomBios/CD_Operations.c @@ -42,6 +42,7 @@ Revision History: #include <X11/Xos.h> #include "xorg-server.h" +#include "compiler.h" #include "Decoder.h" @@ -230,7 +231,7 @@ UINT32 IndirectInputOutput(PARSER_TEMP_DATA STACK_BASED * pParserTempData) IndirectIOParserCommands[*pParserTempData->IndirectIOTablePointer].func(pParserTempData); pParserTempData->IndirectIOTablePointer+=IndirectIOParserCommands[*pParserTempData->IndirectIOTablePointer].csize; } - pParserTempData->IndirectIOTablePointer-=UINT16LE_TO_CPU(*(UINT16*)(pParserTempData->IndirectIOTablePointer+1)); + pParserTempData->IndirectIOTablePointer-=UINT16LE_TO_CPU(ldw_u((uint16_t *)(pParserTempData->IndirectIOTablePointer+1))); pParserTempData->IndirectIOTablePointer++; return pParserTempData->IndirectData; } else pParserTempData->IndirectIOTablePointer+=IndirectIOParserCommands[*pParserTempData->IndirectIOTablePointer].csize; @@ -267,8 +268,8 @@ VOID PutDataRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData) VOID PutDataPS(PARSER_TEMP_DATA STACK_BASED * pParserTempData) { - *(pParserTempData->pDeviceData->pParameterSpace+pParserTempData->pCmd->Parameters.ByteXX.PA_Destination)= - CPU_TO_UINT32LE(pParserTempData->DestData32); + stl_u(CPU_TO_UINT32LE(pParserTempData->DestData32), + pParserTempData->pDeviceData->pParameterSpace+pParserTempData->pCmd->Parameters.ByteXX.PA_Destination); } VOID PutDataWS(PARSER_TEMP_DATA STACK_BASED * pParserTempData) @@ -341,7 +342,7 @@ VOID SkipParameters16(PARSER_TEMP_DATA STACK_BASED * pParserTempData) UINT32 GetParametersRegister(PARSER_TEMP_DATA STACK_BASED * pParserTempData) { - pParserTempData->Index=UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP); + pParserTempData->Index=UINT16LE_TO_CPU(ldw_u((uint16_t *)pParserTempData->pWorkingTableData->IP)); pParserTempData->pWorkingTableData->IP+=sizeof(UINT16); pParserTempData->Index+=pParserTempData->CurrentRegBlock; switch(pParserTempData->Multipurpose.CurrentPort) @@ -425,9 +426,9 @@ UINT32 GetParametersMC(PARSER_TEMP_DATA STACK_BASED * pParserTempData) UINT32 GetParametersIndirect(PARSER_TEMP_DATA STACK_BASED * pParserTempData) { - UINT32 ret; + UINT32 ret; - pParserTempData->Index=UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP); + pParserTempData->Index=UINT16LE_TO_CPU(ldw_u((uint16_t *)pParserTempData->pWorkingTableData->IP)); pParserTempData->pWorkingTableData->IP+=sizeof(UINT16); ret = UINT32LE_TO_CPU(*(UINT32*)(RELATIVE_TO_BIOS_IMAGE(pParserTempData->Index)+pParserTempData->CurrentDataBlock)); return ret; @@ -444,7 +445,7 @@ UINT32 GetParametersDirect8(PARSER_TEMP_DATA STACK_BASED * pParserTempData) UINT32 GetParametersDirect16(PARSER_TEMP_DATA STACK_BASED * pParserTempData) { pParserTempData->CD_Mask.SrcAlignment=alignmentLowerWord; - pParserTempData->Index=UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP); + pParserTempData->Index=UINT16LE_TO_CPU(ldw_u((uint16_t *)pParserTempData->pWorkingTableData->IP)); pParserTempData->pWorkingTableData->IP+=sizeof(UINT16); return pParserTempData->Index; } @@ -680,7 +681,7 @@ VOID ProcessSwitch(PARSER_TEMP_DATA STACK_BASED * pParserTempData){ pParserTempData->SourceData32 >>= SourceAlignmentShift[pParserTempData->CD_Mask.SrcAlignment]; pParserTempData->SourceData32 &= AlignmentMask[pParserTempData->CD_Mask.SrcAlignment]; - while ( UINT16LE_TO_CPU(*(UINT16*)pParserTempData->pWorkingTableData->IP) != (((UINT16)NOP_OPCODE << 8)+NOP_OPCODE)) + while ( UINT16LE_TO_CPU(ldw_u((uint16_t *)pParserTempData->pWorkingTableData->IP)) != (((UINT16)NOP_OPCODE << 8)+NOP_OPCODE)) { if (*pParserTempData->pWorkingTableData->IP == 'c') { commit 488c9fd8300505cc6c0c2f8f0f00849f27cc5d63 Author: Alex Deucher <alexdeuc...@gmail.com> Date: Mon Mar 15 12:25:57 2010 -0400 r6xx/r7xx: fix domain handling in accel code Noticed by Pauli and Michel on IRC. Improves GetImage performace by a factor of ~10. diff --git a/src/r600_exa.c b/src/r600_exa.c index 488291d..0d7e9f9 100644 --- a/src/r600_exa.c +++ b/src/r600_exa.c @@ -276,7 +276,7 @@ R600PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) vs_conf.num_gprs = 2; vs_conf.stack_size = 0; vs_conf.bo = accel_state->shaders_bo; - vs_setup (pScrn, accel_state->ib, &vs_conf); + vs_setup (pScrn, accel_state->ib, &vs_conf, RADEON_GEM_DOMAIN_VRAM); /* flush SQ cache */ cp_set_surface_sync(pScrn, accel_state->ib, SH_ACTION_ENA_bit, @@ -290,7 +290,7 @@ R600PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) ps_conf.clamp_consts = 0; ps_conf.export_mode = 2; ps_conf.bo = accel_state->shaders_bo; - ps_setup (pScrn, accel_state->ib, &ps_conf); + ps_setup (pScrn, accel_state->ib, &ps_conf, RADEON_GEM_DOMAIN_VRAM); /* Render setup */ if (pm & 0x000000ff) @@ -324,7 +324,7 @@ R600PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) } cb_conf.source_format = 1; cb_conf.blend_clamp = 1; - set_render_target(pScrn, accel_state->ib, &cb_conf); + set_render_target(pScrn, accel_state->ib, &cb_conf, RADEON_GEM_DOMAIN_VRAM); /* Interpolator setup */ /* one unused export from VS (VS_EXPORT_COUNT is zero based, count minus one) */ @@ -498,7 +498,7 @@ R600DoPrepareCopy(ScrnInfoPtr pScrn, vs_conf.num_gprs = 2; vs_conf.stack_size = 0; vs_conf.bo = accel_state->shaders_bo; - vs_setup (pScrn, accel_state->ib, &vs_conf); + vs_setup (pScrn, accel_state->ib, &vs_conf, RADEON_GEM_DOMAIN_VRAM); /* flush SQ cache */ cp_set_surface_sync(pScrn, accel_state->ib, SH_ACTION_ENA_bit, @@ -512,12 +512,12 @@ R600DoPrepareCopy(ScrnInfoPtr pScrn, ps_conf.clamp_consts = 0; ps_conf.export_mode = 2; ps_conf.bo = accel_state->shaders_bo; - ps_setup (pScrn, accel_state->ib, &ps_conf); + ps_setup (pScrn, accel_state->ib, &ps_conf, RADEON_GEM_DOMAIN_VRAM); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1ntemu-00044r...@alioth.debian.org