[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-ati: Changes to 'debian-unstable'



 .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 <bgoglin@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 <bgoglin@debian.org>  Mon, 15 Mar 2010 19:13:14 +0100
+ -- Brice Goglin <bgoglin@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 <bgoglin@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 <bgoglin@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 <bgoglin@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 <dnusinow@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 <bgoglin@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 <bgoglin@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 <bgoglin@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 <bgoglin@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 <bgoglin@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 <dnusinow@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 <bgoglin@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 <bgoglin@debian.org>  Fri, 21 Dec 2007 08:12:13 +0100

commit 9141f779b02f6c00460780c5f484c398733c5320
Author: Brice Goglin <bgoglin@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 <alexdeucher@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 <airlied@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 <airlied@redhat.com>
+
+commit 080a5414593e9b59ed923f26aa6057747b0c868f
+Author: Alex Deucher <alexdeucher@gmail.com>
+Date:   Tue Mar 16 12:33:39 2010 -0400
+
+    kms: fix ums naming compat for DisplayPort
+
 commit 819b4015349b5d8c5ffa5f979097599774fce5bb
 Author: Alex Deucher <alexdeucher@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 <bgoglin@debian.org>  Mon, 15 Mar 2010 19:13:14 +0100
 

commit 5c256808cb5fea955eea96ffe9196473715156aa
Author: Alex Deucher <alexdeucher@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 <airlied@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 <airlied@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 <alexdeucher@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 <bgoglin@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 <bgoglin@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 <bgoglin@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 <bgoglin@debian.org>  Wed, 10 Mar 2010 22:55:05 +0100
+ -- Brice Goglin <bgoglin@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 <bgoglin@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 <bgoglin@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 <bgoglin@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 <alexdeucher@gmail.com>
+Date:   Mon Mar 15 13:47:29 2010 -0400
+
+    dump version for rc release
+
+commit d3482a947e3731be4ed0b00b4e3079470700dc4c
+Author: Michael Cree <mcree@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 <mcree@orcon.net.nz>
+
+commit 488c9fd8300505cc6c0c2f8f0f00849f27cc5d63
+Author: Alex Deucher <alexdeucher@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 <alexdeucher@gmail.com>
+Date:   Mon Mar 15 12:03:58 2010 -0400
+
+    radeon: remove some leftover debugging output
+
+commit 67e81c8f17ddde6eba633d2a5aef528e1d598d89
+Author: Andrzej Hajda <andrzej.hajda@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 <alexdeucher@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 <mattst88@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 <jglisse@redhat.com>
+    CC: Alex Deucher <alexdeucher@gmail.com>
+    CC: Dave Airlie <airlied@redhat.com>
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit e7b41f8cb082ed462d29bf3fc440072424cbd852
+Author: Alex Deucher <alexdeucher@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 <alexdeucher@gmail.com>
+Date:   Wed Mar 3 13:31:19 2010 -0500
+
+    radeon: add new RS880 pci id
+
 commit e6dc886634b38e4a36af7b5f0b23299d5acd7244
 Author: Dave Airlie <airlied@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 <bgoglin@debian.org>  Wed, 10 Mar 2010 22:55:05 +0100

commit 819b4015349b5d8c5ffa5f979097599774fce5bb
Author: Alex Deucher <alexdeucher@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 <mcree@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 <mcree@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 <alexdeucher@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);
 


Reply to: