xserver-xorg-video-ati: Changes to 'upstream-experimental'

2014-06-25 Thread Maarten Lankhorst
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 906a0ec9224146098bb4581486129d2934d36495
Author: Maarten Lankhorst maarten.lankho...@canonical.com
Date:   Wed Jun 25 16:10:21 2014 +0200

bump version for release

diff --git a/configure.ac b/configure.ac
index dc2a656..2fed8c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ati],
-[7.3.99],
+[7.4.0],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-video-ati])
 


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1wzoup-0005sx...@moszumanska.debian.org



xserver-xorg-video-ati: Changes to 'upstream-experimental'

2014-06-16 Thread Julien Cristau
 configure.ac|   30 +--
 man/radeon.man  |   28 --
 src/ati_pciids_gen.h|   51 
 src/drmmode_display.c   |   33 
 src/evergreen_accel.c   |2 
 src/evergreen_exa.c |   20 +++-
 src/evergreen_textured_videofuncs.c |   15 ++-
 src/pcidb/ati_pciids.csv|   51 
 src/r600_exa.c  |5 -
 src/radeon.h|   23 +++--
 src/radeon_bo_helper.c  |2 
 src/radeon_chipinfo_gen.h   |   51 
 src/radeon_chipset_gen.h|   51 
 src/radeon_dri2.c   |   41 +-
 src/radeon_drm.h|2 
 src/radeon_exa_funcs.c  |5 -
 src/radeon_glamor.c |   42 --
 src/radeon_glamor.h |4 
 src/radeon_kms.c|  147 +---
 src/radeon_pci_chipset_gen.h|   51 
 src/radeon_pci_device_match_gen.h   |   51 
 src/radeon_probe.c  |   15 +++
 src/radeon_probe.h  |   11 ++
 src/radeon_video.c  |9 +-
 24 files changed, 607 insertions(+), 133 deletions(-)

New commits:
commit cc615d06db0332fc6e673b55632bcc7bf957b44b
Author: Michel Dänzer michel.daen...@amd.com
Date:   Wed Jun 4 16:58:53 2014 +0900

Rename Option NoAccel to Accel

Removes the need for a double negation when forcing acceleration on.

Note that this change is backwards compatible, as the option parser
automagically handles the 'No' prefix.

Reviewed-by: Alex Deucher alexander.deuc...@amd.com

diff --git a/man/radeon.man b/man/radeon.man
index 65b880c..802f6c2 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -225,12 +225,12 @@ are supported:
 Selects software cursor.  The default is
 .B off.
 .TP
-.BI Option \*qNoAccel\*q \*q boolean \*q
+.BI Option \*qAccel\*q \*q boolean \*q
 Enables or disables all hardware acceleration.
 .br
-The default is to
-.B enable
-hardware acceleration.
+The default is
+.B on
+except for HAWAII.
 .TP
 .BI Option \*qZaphodHeads\*q \*q string \*q
 Specify the RandR output(s) to use with zaphod mode for a particular driver
diff --git a/src/radeon.h b/src/radeon.h
index 136a430..eac6ed5 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -135,7 +135,7 @@
 #endif
 
 typedef enum {
-OPTION_NOACCEL,
+OPTION_ACCEL,
 OPTION_SW_CURSOR,
 OPTION_PAGE_FLIP,
 OPTION_EXA_PIXMAPS,
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index ceaf575..707d0c7 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -59,7 +59,7 @@ extern SymTabRec RADEONChipsets[];
 static Bool radeon_setup_kernel_mem(ScreenPtr pScreen);
 
 const OptionInfoRec RADEONOptions_KMS[] = {
-{ OPTION_NOACCEL,NoAccel,  OPTV_BOOLEAN, {0}, FALSE },
+{ OPTION_ACCEL,  Accel,OPTV_BOOLEAN, {0}, FALSE },
 { OPTION_SW_CURSOR,  SWcursor, OPTV_BOOLEAN, {0}, FALSE },
 { OPTION_PAGE_FLIP,  EnablePageFlip,   OPTV_BOOLEAN, {0}, FALSE },
 { OPTION_COLOR_TILING,   ColorTiling,  OPTV_BOOLEAN, {0}, FALSE },
@@ -499,8 +499,8 @@ static Bool RADEONPreInitAccel_KMS(ScrnInfoPtr pScrn)
info-is_fast_fb = TRUE;
 }
 
-if (xf86ReturnOptValBool(info-Options, OPTION_NOACCEL,
-info-ChipFamily == CHIP_FAMILY_HAWAII) ||
+if (!xf86ReturnOptValBool(info-Options, OPTION_ACCEL,
+info-ChipFamily != CHIP_FAMILY_HAWAII) ||
(!RADEONIsAccelWorking(pScrn))) {
xf86DrvMsg(pScrn-scrnIndex, X_INFO,
   GPU accel disabled or not working, using shadowfb for 
KMS\n);

commit 851b2cf8714618843725f6d067915375485ade9d
Author: Adam Jackson a...@redhat.com
Date:   Wed May 21 09:34:32 2014 -0400

kms: Use own thunk function instead of shadowUpdatePackedWeak

I plan to delete the Weak functions from a future server.

Signed-off-by: Adam Jackson a...@redhat.com

diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 5e052e4..ceaf575 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -212,6 +212,12 @@ radeonShadowWindow(ScreenPtr screen, CARD32 row, CARD32 
offset, int mode,
 return ((uint8_t *)info-front_bo-ptr + row * stride + offset);
 }
 
+static void
+radeonUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
+{
+shadowUpdatePacked(pScreen, pBuf);
+}
+
 static Bool RADEONCreateScreenResources_KMS(ScreenPtr pScreen)
 {
 ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
@@ -232,7 +238,7 @@ static Bool RADEONCreateScreenResources_KMS(ScreenPtr 
pScreen)
 if (info-r600_shadow_fb) {
pixmap = pScreen-GetScreenPixmap(pScreen);
 
-   if (!shadowAdd(pScreen, pixmap, shadowUpdatePackedWeak(),
+   if (!shadowAdd(pScreen, pixmap, radeonUpdatePacked,
   radeonShadowWindow, 0, NULL))
return 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2013-08-07 Thread Maarten Lankhorst
 autogen.sh|4 
 configure.ac  |4 
 man/radeon.man|   25 +
 src/Makefile.am   |1 
 src/ati_pciids_gen.h  |   59 +++
 src/cayman_shader.c   |  590 -
 src/drmmode_display.c |  280 +++--
 src/drmmode_display.h |   11 
 src/evergreen_accel.c |   12 
 src/evergreen_exa.c   |  287 +-
 src/evergreen_shader.c|  596 --
 src/evergreen_state.h |2 
 src/pcidb/ati_pciids.csv  |  107 +-
 src/r600_exa.c|   14 
 src/radeon.h  |   32 +-
 src/radeon_bo_helper.c|   70 
 src/radeon_bo_helper.h|7 
 src/radeon_chipinfo_gen.h |  107 +-
 src/radeon_chipset_gen.h  |   59 +++
 src/radeon_dri2.c |  286 +++---
 src/radeon_driver.c   |  100 --
 src/radeon_exa.c  |   65 
 src/radeon_exa_funcs.c|3 
 src/radeon_exa_render.c   |   12 
 src/radeon_glamor.c   |   81 -
 src/radeon_kms.c  |   85 -
 src/radeon_pci_chipset_gen.h  |   59 +++
 src/radeon_pci_device_match_gen.h |   59 +++
 src/radeon_probe.h|7 
 src/radeon_video.c|6 
 src/radeon_video.h|1 
 31 files changed, 2223 insertions(+), 808 deletions(-)

New commits:
commit 9c97cca5c24409ca8447c99f051a12fd2d494e79
Author: Maarten Lankhorst maarten.lankho...@canonical.com
Date:   Wed Aug 7 10:48:17 2013 +0200

radeon: bump version for release

Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com

diff --git a/configure.ac b/configure.ac
index ed04028..ac202e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ati],
-[7.1.99],
+[7.2.0],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-video-ati])
 

commit 16270cfb202ab67dd152644ef019b2f1ee4d0341
Author: Maarten Lankhorst maarten.lankho...@canonical.com
Date:   Wed Aug 7 10:29:33 2013 +0200

add bicubic_table.py to EXTRA_DIST

Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com

diff --git a/src/Makefile.am b/src/Makefile.am
index 6b7171e..e23dc1d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -86,6 +86,7 @@ EXTRA_DIST = \
ati.h \
ativersion.h \
bicubic_table.h \
+   bicubic_table.py \
radeon_bo_helper.h \
radeon_drm.h \
radeon_exa_render.c \

commit 2cb9197ca7a337c911f38b5de562a2364b922b86
Author: Maarten Lankhorst maarten.lankho...@canonical.com
Date:   Wed Aug 7 10:28:52 2013 +0200

kill unused radeon_driver.c

Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com

diff --git a/src/radeon.h b/src/radeon.h
index 912e24d..4660893 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -497,9 +497,6 @@ extern void RADEONWaitForVLine(ScrnInfoPtr pScrn, PixmapPtr 
pPix,
   xf86CrtcPtr crtc, int start, int stop);
 
 
-/* radeon_driver.c */
-extern RADEONEntPtr RADEONEntPriv(ScrnInfoPtr pScrn);
-
 /* radeon_exa.c */
 extern unsigned eg_tile_split(unsigned tile_split);
 extern Bool radeon_transform_is_affine_or_scaled(PictTransformPtr t);
@@ -528,6 +525,7 @@ extern void radeon_ddx_cs_start(ScrnInfoPtr pScrn,
int num, const char *file,
const char *func, int line);
 void radeon_kms_update_vram_limit(ScrnInfoPtr pScrn, int new_fb_size);
+extern RADEONEntPtr RADEONEntPriv(ScrnInfoPtr pScrn);
 
 drmVBlankSeqType radeon_populate_vbl_request_type(xf86CrtcPtr crtc);
 
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
deleted file mode 100644
index 2f085a8..000
--- a/src/radeon_driver.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
- *VA Linux Systems Inc., Fremont, California.
- *
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * Software), to deal in the Software without restriction, including
- * without limitation on the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial
- * portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2013-01-30 Thread Maarten Lankhorst
 Makefile.am |2 
 configure.ac|   41 
 man/radeon.man  |9 
 src/Makefile.am |   10 
 src/ati.c   |   49 
 src/ati_pciids_gen.h|4 
 src/atipcirename.h  |   47 
 src/drmmode_display.c   |   28 
 src/evergreen_exa.c |   29 
 src/evergreen_textured_videofuncs.c |   14 
 src/pcidb/ati_pciids.csv|4 
 src/r600_exa.c  |   32 
 src/r600_textured_videofuncs.c  |   14 
 src/radeon.h|   22 
 src/radeon_chipinfo_gen.h   |4 
 src/radeon_chipset_gen.h|4 
 src/radeon_dri2.c   |  350 ++
 src/radeon_dri2.h   |2 
 src/radeon_driver.c |4 
 src/radeon_exa.c|   27 
 src/radeon_exa_funcs.c  |   31 
 src/radeon_exa_render.c |   40 
 src/radeon_exa_shared.c |3 
 src/radeon_glamor.c |   88 -
 src/radeon_glamor.h |7 
 src/radeon_glamor_wrappers.c| 1870 
 src/radeon_glamor_wrappers.h|  178 ---
 src/radeon_kms.c|   53 -
 src/radeon_pci_chipset_gen.h|4 
 src/radeon_pci_device_match_gen.h   |4 
 src/radeon_probe.c  |   71 -
 src/radeon_textured_videofuncs.c|   32 
 src/radeon_video.c  |   86 -
 src/radeon_video.h  |2 
 34 files changed, 242 insertions(+), 2923 deletions(-)

New commits:
commit 21a4f3eaca98c1c54bffcdf3926c631cec9c409d
Author: Maarten Lankhorst maarten.lankho...@canonical.com
Date:   Wed Jan 30 16:55:27 2013 +0100

radeon: bump version for release

And fixup distcheck..

Signed-off-by: Maarten Lankhorst maarten.lankho...@canonical.com

diff --git a/Makefile.am b/Makefile.am
index 4c278ba..f4f4233 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,4 +29,4 @@ INSTALL:
 ChangeLog:
$(CHANGELOG_CMD)
 
-dist-hook: ChangeLog INSTALL
+EXTRA_DIST = ChangeLog INSTALL
diff --git a/configure.ac b/configure.ac
index d7d5c72..d73fbb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ati],
-[7.0.99],
+[7.1.0],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-video-ati])
 

commit 102ee4a24e4c9ba0c0b65d3ca8599dc7e0216c1e
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Fri Jan 11 09:52:32 2013 -0500

radeon/r200: program RE_WIDTH_HEIGHT properly

Values are inclusive.  Mesa already sets these
correctly.  Also bump EXA/Xv limits from 2047 to
2048.

Signed-off-by: Alex Deucher alexdeuc...@gmail.com

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 263a2b4..1f6b86d 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -473,8 +473,8 @@ static Bool R100CheckComposite(int op, PicturePtr 
pSrcPicture,
 
 pDstPixmap = RADEONGetDrawablePixmap(pDstPicture-pDrawable);
 
-if (pDstPixmap-drawable.width  2047 ||
-   pDstPixmap-drawable.height  2047) {
+if (pDstPixmap-drawable.width  2048 ||
+   pDstPixmap-drawable.height  2048) {
RADEON_FALLBACK((Dest w/h too large (%d,%d).\n,
 pDstPixmap-drawable.width,
 pDstPixmap-drawable.height));
@@ -486,8 +486,8 @@ static Bool R100CheckComposite(int op, PicturePtr 
pSrcPicture,
 */
pSrcPixmap = RADEONGetDrawablePixmap(pSrcPicture-pDrawable);
 
-   if (pSrcPixmap-drawable.width  2047 ||
-   pSrcPixmap-drawable.height  2047) {
+   if (pSrcPixmap-drawable.width  2048 ||
+   pSrcPixmap-drawable.height  2048) {
RADEON_FALLBACK((Source w/h too large (%d,%d).\n,
 pSrcPixmap-drawable.width,
 pSrcPixmap-drawable.height));
@@ -501,8 +501,8 @@ static Bool R100CheckComposite(int op, PicturePtr 
pSrcPicture,
if (pMaskPicture-pDrawable) {
pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture-pDrawable);
 
-   if (pMaskPixmap-drawable.width  2047 ||
-   pMaskPixmap-drawable.height  2047) {
+   if (pMaskPixmap-drawable.width  2048 ||
+   pMaskPixmap-drawable.height  2048) {
RADEON_FALLBACK((Mask w/h too large (%d,%d).\n,
 pMaskPixmap-drawable.width,
 pMaskPixmap-drawable.height));
@@ -692,8 +692,8 @@ static Bool R100PrepareComposite(int op,
 OUT_RING_REG(RADEON_RB3D_BLENDCNTL, blendcntl);
 
 OUT_RING_REG(RADEON_RE_TOP_LEFT, 0);
-OUT_RING_REG(RADEON_RE_WIDTH_HEIGHT, (((pDst-drawable.width)  
RADEON_RE_WIDTH_SHIFT) |
-  ((pDst-drawable.height)  
RADEON_RE_HEIGHT_SHIFT)));
+

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2012-10-03 Thread Maarten Lankhorst
 configure.ac  |   15 ++-
 src/ati.c |   26 ++
 src/ati_pciids_gen.h  |3 
 src/drmmode_display.c |4 
 src/evergreen_exa.c   |   15 ++-
 src/evergreen_state.h |2 
 src/pcidb/ati_pciids.csv  |3 
 src/r600_exa.c|   14 ++-
 src/r600_state.h  |4 
 src/radeon.h  |   24 +
 src/radeon_bo_helper.c|   10 +-
 src/radeon_chipinfo_gen.h |3 
 src/radeon_chipset_gen.h  |3 
 src/radeon_dri2.c |  154 +-
 src/radeon_driver.c   |1 
 src/radeon_exa.c  |   75 ++
 src/radeon_exa_funcs.c|   13 ++-
 src/radeon_glamor.c   |8 +
 src/radeon_glamor_wrappers.h  |1 
 src/radeon_kms.c  |   79 +--
 src/radeon_pci_chipset_gen.h  |3 
 src/radeon_pci_device_match_gen.h |3 
 src/radeon_probe.c|   98 +++-
 23 files changed, 496 insertions(+), 65 deletions(-)

New commits:
commit e8cb0b721e6ea251f85c799ca0563bfa59a2d37c
Author: Adam Jackson a...@redhat.com
Date:   Wed Sep 26 09:27:54 2012 -0400

Remove mibstore.h

Signed-off-by: Adam Jackson a...@redhat.com

diff --git a/src/radeon_glamor_wrappers.h b/src/radeon_glamor_wrappers.h
index 9abbd22..53ce969 100644
--- a/src/radeon_glamor_wrappers.h
+++ b/src/radeon_glamor_wrappers.h
@@ -42,7 +42,6 @@
 #include pixmapstr.h
 #include windowstr.h
 #include servermd.h
-#include mibstore.h
 #include colormapst.h
 #include gcstruct.h
 #include input.h
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 2842a23..0a10bee 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -1215,13 +1215,8 @@ Bool RADEONScreenInit_KMS(SCREEN_INIT_ARGS_DECL)
 #endif
 
 pScrn-vtSema = TRUE;
-/* Backing store setup */
-xf86DrvMsgVerb(pScrn-scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
-  Initializing backing store\n);
-miInitializeBackingStore(pScreen);
 xf86SetBackingStore(pScreen);
 
-
 if (info-directRenderingEnabled) {
xf86DrvMsg(pScrn-scrnIndex, X_INFO, Direct rendering enabled\n);
 } else {

commit 8637f772347c958fa3beea6c0dc9c22255db70e5
Author: Michel Dänzer michel.daen...@amd.com
Date:   Thu Sep 13 19:50:35 2012 +0200

glamor: Force acceleration for DRI2 copies.

Improves performance of non-pageflipped 3D apps on SI.

Signed-off-by: Michel Dänzer michel.daen...@amd.com

diff --git a/src/radeon.h b/src/radeon.h
index eb46db2..9c2073f 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -402,6 +402,7 @@ struct radeon_accel_state {
 int   vline_y1;
 int   vline_y2;
 
+Bool  force;
 };
 
 typedef struct {
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 7c5898c..1e04b85 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -633,10 +633,12 @@ radeon_dri2_copy_region2(ScreenPtr pScreen,
 
 /* Driver option SwapbuffersWait defines if we vsync DRI2 copy-swaps. */ 
 info-accel_state-vsync = info-swapBuffersWait;
+info-accel_state-force = TRUE;
 
 (*gc-ops-CopyArea)(src_drawable, dst_drawable, gc,
  0, 0, drawable-width, drawable-height, off_x, 
off_y);
 
+info-accel_state-force = FALSE;
 info-accel_state-vsync = vsync;
 
 FreeScratchGC(gc);
diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index 12dfd38..99bc666 100644
--- a/src/radeon_glamor.c
+++ b/src/radeon_glamor.c
@@ -151,8 +151,12 @@ Bool radeon_glamor_prepare_access(PixmapPtr pixmap, 
glamor_access_t access)
struct radeon_bo *bo;
int ret;
 
-   if (access == GLAMOR_GPU_ACCESS_RW || access == GLAMOR_GPU_ACCESS_RO)
-   return info-ChipFamily  CHIP_FAMILY_TAHITI;
+   if (access == GLAMOR_GPU_ACCESS_RW || access == GLAMOR_GPU_ACCESS_RO) {
+   if (info-ChipFamily  CHIP_FAMILY_TAHITI)
+   return TRUE;
+
+   return info-accel_state-force;
+   }
 
bo = radeon_get_pixmap_bo(pixmap);
if (bo) {

commit 40b87f0e9db2642ca8a70e994fb4d3742e199640
Author: Michel Dänzer michel.daen...@amd.com
Date:   Wed Sep 12 18:44:10 2012 +0200

glamor: Fix DRI2 crash introduced by PRIME changes.

Signed-off-by: Michel Dänzer michel.daen...@amd.com

diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 02fe66d..7c5898c 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -358,7 +358,7 @@ radeon_dri2_create_buffer2(ScreenPtr pScreen,
 pixmap-refcnt++;
 }
 
-if (!pixmap  attachment != DRI2BufferFrontLeft) {
+if (!pixmap  (is_glamor_pixmap || attachment != DRI2BufferFrontLeft)) {
/* tile the back buffer */
switch(attachment) {
case DRI2BufferDepth:

commit 646ffd49d2cf0d3130301e8ad2f49f620bd9ef1b
Author: Dave Airlie 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2012-07-16 Thread Maarten Lankhorst
 configure.ac|  180 
 man/ati.man |2 
 man/radeon.man  |  579 ---
 src/AtomBios/CD_Operations.c|  983 -
 src/AtomBios/Decoder.c  |  258 -
 src/AtomBios/hwserv_drv.c   |  354 -
 src/AtomBios/includes/CD_Common_Types.h |  172 
 src/AtomBios/includes/CD_Definitions.h  |   50 
 src/AtomBios/includes/CD_Opcodes.h  |  181 
 src/AtomBios/includes/CD_Structs.h  |  486 --
 src/AtomBios/includes/CD_binding.h  |   46 
 src/AtomBios/includes/CD_hw_services.h  |  318 -
 src/AtomBios/includes/Decoder.h |  107 
 src/AtomBios/includes/ObjectID.h|  643 ---
 src/AtomBios/includes/atombios.h| 6137 
 src/AtomBios/includes/regsdef.h |   25 
 src/Makefile.am |  104 
 src/ati.c   |1 
 src/ati.h   |1 
 src/ati_pciids_gen.h|  161 
 src/atipciids.h |1 
 src/atombios_crtc.c | 1537 
 src/atombios_output.c   | 2747 --
 src/cayman_accel.c  |  304 +
 src/cayman_reg.h|  235 +
 src/cayman_reg_auto.h   | 4351 ++
 src/cayman_shader.c | 3131 
 src/cayman_shader.h |  279 +
 src/compat-api.h|   94 
 src/drmmode_display.c   |  616 ++-
 src/drmmode_display.h   |   29 
 src/evergreen_accel.c   | 1483 +++
 src/evergreen_exa.c | 1977 ++
 src/evergreen_reg.h |  250 +
 src/evergreen_reg_auto.h| 4039 +
 src/evergreen_shader.c  | 3130 
 src/evergreen_shader.h  |  292 +
 src/evergreen_state.h   |  354 +
 src/evergreen_textured_videofuncs.c |  525 ++
 src/generic_bus.h   |   36 
 src/legacy_crtc.c   | 1898 -
 src/legacy_output.c | 2102 --
 src/pcidb/ati_pciids.csv|  163 
 src/pcidb/parse_pci_ids.pl  |4 
 src/r600_exa.c  | 1326 ++
 src/r600_reg.h  |   56 
 src/r600_shader.c   |  860 +++-
 src/r600_shader.h   |   84 
 src/r600_state.h|  141 
 src/r600_textured_videofuncs.c  |  194 -
 src/r6xx_accel.c|  860 ++--
 src/radeon.h| 1360 +--
 src/radeon_accel.c  | 2019 --
 src/radeon_accelfuncs.c | 1385 ---
 src/radeon_atombios.c   | 3020 ---
 src/radeon_atombios.h   |  292 -
 src/radeon_atomwrapper.c|  102 
 src/radeon_atomwrapper.h|   31 
 src/radeon_bios.c   | 2053 --
 src/radeon_bo_helper.c  |  177 
 src/radeon_bo_helper.h  |   31 
 src/radeon_chipinfo_gen.h   |  161 
 src/radeon_chipset_gen.h|  165 
 src/radeon_commonfuncs.c| 1032 -
 src/radeon_crtc.c   | 1117 -
 src/radeon_cursor.c |  452 --
 src/radeon_dri.c| 2333 
 src/radeon_dri.h|   91 
 src/radeon_dri2.c   |  933 +++-
 src/radeon_dri2.h   |   48 
 src/radeon_driver.c | 5966 ---
 src/radeon_drm.h|   23 
 src/radeon_dummy_bufmgr.h   |   62 
 src/radeon_exa.c|  483 --
 src/radeon_exa_funcs.c  |  554 --
 src/radeon_exa_render.c |  949 ++--
 src/radeon_exa_shared.c |  106 
 src/radeon_exa_shared.h |6 
 src/radeon_glamor.c |  350 +
 src/radeon_glamor.h |   98 
 src/radeon_glamor_wrappers.c| 1870 +
 src/radeon_glamor_wrappers.h|  179 
 src/radeon_kms.c|  751 ++-
 src/radeon_legacy_memory.c  |  140 
 src/radeon_macros.h |  209 -
 src/radeon_mm_i2c.c |  642 ---
 src/radeon_modes.c  |  542 --
 src/radeon_output.c | 3115 
 src/radeon_pci_chipset_gen.h|  163 
 src/radeon_pci_device_match_gen.h   |  161 
 src/radeon_pm.c |  886 
 src/radeon_probe.c  |   44 
 src/radeon_probe.h  |  694 ---
 src/radeon_reg.h|7 
 src/radeon_render.c   

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2010-10-18 Thread Robert Hooker
 COPYING   |  133 +++
 configure.ac  |  111 --
 man/Makefile.am   |   22 
 man/radeon.man|2 
 src/AtomBios/CD_Operations.c  |9 
 src/AtomBios/includes/atombios.h  |   92 ++
 src/Makefile.am   |   32 
 src/ati.c |2 
 src/ati_pciids_gen.h  |   10 
 src/atombios_crtc.c   |  410 +-
 src/atombios_output.c |  361 -
 src/drmmode_display.c |  164 +++-
 src/drmmode_display.h |   16 
 src/legacy_crtc.c |   28 
 src/legacy_output.c   |   11 
 src/local_xf86Rename.h|   23 
 src/pcidb/ati_pciids.csv  |   14 
 src/r600_exa.c| 1435 +++---
 src/r600_shader.c |  862 +++---
 src/r600_shader.h |1 
 src/r600_state.h  |   30 
 src/r600_textured_videofuncs.c|  231 ++
 src/r6xx_accel.c  |  556 +-
 src/radeon.h  |   52 -
 src/radeon_accel.c|   22 
 src/radeon_accelfuncs.c   |2 
 src/radeon_atombios.c |   89 +-
 src/radeon_atombios.h |2 
 src/radeon_bios.c |   19 
 src/radeon_chipinfo_gen.h |   10 
 src/radeon_chipset_gen.h  |   14 
 src/radeon_commonfuncs.c  |   15 
 src/radeon_crtc.c |   67 -
 src/radeon_cursor.c   |   13 
 src/radeon_dri.c  |  135 +--
 src/radeon_dri.h  |4 
 src/radeon_dri2.c |  594 ++-
 src/radeon_dri2.h |6 
 src/radeon_driver.c   |  104 +-
 src/radeon_exa.c  |  147 ++-
 src/radeon_exa_funcs.c|  120 +--
 src/radeon_exa_render.c   |   54 +
 src/radeon_exa_shared.c   |  237 ++
 src/radeon_exa_shared.h   |   80 ++
 src/radeon_kms.c  |  187 
 src/radeon_output.c   |  101 ++
 src/radeon_pci_chipset_gen.h  |   10 
 src/radeon_pci_device_match_gen.h |   10 
 src/radeon_probe.c|8 
 src/radeon_probe.h|9 
 src/radeon_textured_video.c   |6 
 src/radeon_textured_videofuncs.c  |  504 +
 src/radeon_vbo.c  |   12 
 src/radeon_vbo.h  |   13 
 src/radeon_video.c|   54 -
 src/radeon_video.h|2 
 src/radeon_vip.c  |2 
 src/theatre200.c  |   16 
 src/theatre_detect.c  |4 
 59 files changed, 4271 insertions(+), 3008 deletions(-)

New commits:
commit cc5005af61f45a3552f7358dc5aa711e42f5af54
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Mon Sep 27 18:20:53 2010 -0400

bump version for release

diff --git a/configure.ac b/configure.ac
index decc46f..8625709 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ati],
-[6.13.99],
+[6.13.2],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-video-ati])
 

commit 7f8820fcec8c90bf2f823170bd08a23e8b4ff7af
Author: Michael Cree mc...@orcon.net.nz
Date:   Mon Sep 27 13:39:12 2010 -0400

Fix some unaligned 32bit accesses in the AtomBios code.

On the Alpha architecture unaligned 32bit accesses incur a software
trap to the kernel and pollute the kernel logs.  Fixed by use of the
ldl_u() interface.

Signed-off-by: Michael Cree mc...@orcon.net.nz

diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c
index 9d399d5..f8b47e3 100644
--- a/src/AtomBios/CD_Operations.c
+++ b/src/AtomBios/CD_Operations.c
@@ -367,7 +367,7 @@ UINT32 GetParametersPS(PARSER_TEMP_DATA STACK_BASED *   
pParserTempData)
 UINT32 data;
 pParserTempData-Index=*pParserTempData-pWorkingTableData-IP;
 pParserTempData-pWorkingTableData-IP+=sizeof(UINT8);
-data = 
UINT32LE_TO_CPU(*(pParserTempData-pDeviceData-pParameterSpace+pParserTempData-Index));
+data = 
UINT32LE_TO_CPU(ldl_u(pParserTempData-pDeviceData-pParameterSpace+pParserTempData-Index));
 return data;
 }
 
@@ -430,7 +430,7 @@ UINT32 GetParametersIndirect(PARSER_TEMP_DATA STACK_BASED * 
pParserTempData)
 
 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));
+ret = 
UINT32LE_TO_CPU(ldl_u((UINT32*)(RELATIVE_TO_BIOS_IMAGE(pParserTempData-Index)+pParserTempData-CurrentDataBlock)));
 return ret;
 }
 
@@ -453,7 +453,7 @@ UINT32 GetParametersDirect16(PARSER_TEMP_DATA STACK_BASED * 
pParserTempData)
 UINT32 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2010-03-21 Thread Brice Goglin
 src/drmmode_display.c   |   25 ++---
 src/drmmode_display.h   |2 -
 src/radeon_accelfuncs.c |1 
 src/radeon_kms.c|   68 +++-
 4 files changed, 66 insertions(+), 30 deletions(-)

New commits:
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 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2010-03-15 Thread Brice Goglin
 configure.ac  |3 -
 src/AtomBios/CD_Operations.c  |   17 +++--
 src/ati_pciids_gen.h  |1 
 src/pcidb/ati_pciids.csv  |3 -
 src/r600_exa.c|   26 -
 src/r600_state.h  |   12 ++--
 src/r600_textured_videofuncs.c|   24 
 src/r6xx_accel.c  |   36 ++--
 src/radeon_atombios.c |  108 +-
 src/radeon_chipinfo_gen.h |1 
 src/radeon_chipset_gen.h  |3 -
 src/radeon_crtc.c |4 -
 src/radeon_driver.c   |2 
 src/radeon_pci_chipset_gen.h  |1 
 src/radeon_pci_device_match_gen.h |1 
 src/radeon_tv.c   |   34 ---
 src/radeon_tv.h   |4 +
 17 files changed, 148 insertions(+), 132 deletions(-)

New commits:
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 = 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2010-03-03 Thread Brice Goglin
Rebased ref, commits from common ancestor:
commit e6dc886634b38e4a36af7b5f0b23299d5acd7244
Author: Dave Airlie airl...@redhat.com
Date:   Tue Mar 2 10:25:15 2010 +1000

radeon: bump configure.ac

diff --git a/configure.ac b/configure.ac
index a9e5b76..058535c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.12.99,
+6.12.191,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 4975658f05c387b39b3e96a292a7683f17645c2c
Author: Dave Airlie airl...@redhat.com
Date:   Sat Feb 27 16:47:19 2010 +1000

pciids: hopefully fix HP

diff --git a/src/atipciids.h b/src/atipciids.h
index 9bcca95..5f66aa0 100644
--- a/src/atipciids.h
+++ b/src/atipciids.h
@@ -41,7 +41,9 @@
 #define PCI_VENDOR_DELL0x1028
 #define PCI_VENDOR_VIA 0x1106
 #define PCI_VENDOR_INTEL   0x8086
+#ifndef PCI_VENDOR_HP
 #define PCI_VENDOR_HP  0x103c
+#endif
 
 #include ati_pciids_gen.h
 
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index 874b49a..ee62e95 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -51,7 +51,6 @@
 #include radeon_dri.h
 #include radeon_version.h
 
-#include atipciids.h
 
/* X and server generic header files */
 #include xf86.h
@@ -63,6 +62,8 @@
 #include GL/glxtokens.h
 #include sarea.h
 
+#include atipciids.h
+
 static size_t radeon_drm_page_size;
 
 #define RADEON_MAX_DRAWABLES 256

commit e76b90b399c3cc0f0998c0209300c46f97505498
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Fri Feb 26 15:01:28 2010 -0500

rv740: disable dfs workaround for drm 1.32+

rv740 pipe setup was fixed in 2.6.33

diff --git a/src/r600_exa.c b/src/r600_exa.c
index 6fed720..488291d 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -2015,9 +2015,11 @@ R600DownloadFromScreen(PixmapPtr pSrc, int x, int y, int 
w, int h,
 drmBufPtr scratch;
 struct radeon_bo *bo = NULL;
 
-/* RV740 seems to be particularly problematic with small xfers */
-if ((info-ChipFamily == CHIP_FAMILY_RV740)  (w  32 || h  32))
-   return FALSE;
+/* bad pipe setup in drm prior to 1.32 */
+if (info-dri-pKernelDRMVersion-version_minor  32) {
+   if ((info-ChipFamily == CHIP_FAMILY_RV740)  (w  32 || h  32))
+   return FALSE;
+}
 
 if (src_pitch  7)
return FALSE;

commit 2de0af5f5b806f9dbfdb1e9b6a5cf96d9433961d
Author: Matt Turner matts...@gmail.com
Date:   Wed Feb 24 22:46:28 2010 -0500

Use RADEON_ALIGN instead of open coding it.

Also fix some RADEON_ALIGN(x, 63), which would return incorrect results
for odd x. Though this shouldn't happen, it's still not right. You
wouldn't ever write (x + 62)  ~62 which is clearly wrong (and what it
expands to).

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

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 7fd5725..253ec1e 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -425,7 +425,7 @@ drmmode_crtc_shadow_allocate(xf86CrtcPtr crtc, int width, 
int height)
int ret;
unsigned long rotate_pitch;
 
-   width = RADEON_ALIGN(width, 63);
+   width = RADEON_ALIGN(width, 64);
rotate_pitch = width * drmmode-cpp;
 
size = rotate_pitch * height;
@@ -460,7 +460,7 @@ drmmode_crtc_shadow_create(xf86CrtcPtr crtc, void *data, 
int width, int height)
if (!data)
data = drmmode_crtc_shadow_allocate (crtc, width, height);
 
-   rotate_pitch = RADEON_ALIGN(width, 63) * drmmode-cpp;
+   rotate_pitch = RADEON_ALIGN(width, 64) * drmmode-cpp;
 
rotate_pixmap = drmmode_create_bo_pixmap(pScrn-pScreen,
 width, height,
@@ -1048,7 +1048,7 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scrn, int width, int 
height)
if (front_bo)
radeon_bo_wait(front_bo);
 
-   pitch = RADEON_ALIGN(width, 63);
+   pitch = RADEON_ALIGN(width, 64);
height = RADEON_ALIGN(height, 16);
 
screen_size = pitch * height * cpp;
diff --git a/src/r600_exa.c b/src/r600_exa.c
index 5ed9c07..6fed720 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -1916,7 +1916,7 @@ R600CopyToVRAM(ScrnInfoPtr pScrn,
 RADEONInfoPtr info = RADEONPTR(pScrn);
 uint32_t scratch_mc_addr;
 int wpass = w * (bpp/8);
-int scratch_pitch_bytes = (wpass + 255)  ~255;
+int scratch_pitch_bytes = RADEON_ALIGN(wpass, 256);
 uint32_t scratch_pitch = scratch_pitch_bytes / (bpp / 8);
 int scratch_offset = 0, hpass, temph;
 char *dst;
@@ -2008,7 +2008,7 @@ R600DownloadFromScreen(PixmapPtr pSrc, int x, int y, int 
w, int h,
 uint32_t src_height = pSrc-drawable.height;
 int bpp = pSrc-drawable.bitsPerPixel;
 uint32_t 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2010-02-01 Thread Brice Goglin
 .gitignore|   84 
 Makefile.am   |   12 
 README|   13 
 configure.ac  |   93 
 man/Makefile.am   |   41 
 man/radeon.man|   77 
 src/.gitignore|3 
 src/AtomBios/CD_Operations.c  |7 
 src/AtomBios/includes/Decoder.h   |1 
 src/AtomBios/includes/ObjectID.h  |  127 
 src/AtomBios/includes/atombios.h  | 1289 +++-
 src/Makefile.am   |   33 
 src/ati_pciids_gen.h  |   35 
 src/atombios_crtc.c   | 1378 +++--
 src/atombios_output.c | 1417 -
 src/drmmode_display.c | 1356 +
 src/drmmode_display.h |   86 
 src/legacy_crtc.c |   94 
 src/legacy_output.c   |   50 
 src/pcidb/ati_pciids.csv  |   35 
 src/pcidb/parse_pci_ids.pl|2 
 src/r600_exa.c| 1333 +---
 src/r600_reg_r6xx.h   |6 
 src/r600_shader.c | 1112 ---
 src/r600_state.h  |   61 
 src/r600_textured_videofuncs.c|  342 +-
 src/r6xx_accel.c  |  585 ++-
 src/radeon.h  |  337 +-
 src/radeon_accel.c|  168 -
 src/radeon_accelfuncs.c   |5 
 src/radeon_atombios.c |  391 ++
 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 |  306 +-
 src/radeon_cursor.c   |   74 
 src/radeon_dga.c  |  466 ---
 src/radeon_dri.c  |   77 
 src/radeon_dri2.c |  375 ++
 src/radeon_dri2.h |   42 
 src/radeon_driver.c   |  712 +---
 src/radeon_drm.h  |  153 +
 src/radeon_dummy_bufmgr.h |   62 
 src/radeon_exa.c  |  228 +
 src/radeon_exa_funcs.c|  541 ++-
 src/radeon_exa_render.c   |  845 +++--
 src/radeon_kms.c  | 1010 ++
 src/radeon_legacy_memory.c|   22 
 src/radeon_macros.h   |   49 
 src/radeon_modes.c|   16 
 src/radeon_output.c   |  283 +
 src/radeon_pci_chipset_gen.h  |   35 
 src/radeon_pci_device_match_gen.h |   35 
 src/radeon_pm.c   |  886 +
 src/radeon_probe.c|   79 
 src/radeon_probe.h|   41 
 src/radeon_reg.h  |  278 +
 src/radeon_textured_video.c   |  624 ++--
 src/radeon_textured_videofuncs.c  | 5705 --
 src/radeon_vbo.c  |  206 +
 src/radeon_vbo.h  |   62 
 src/radeon_video.c|  119 
 src/radeon_video.h|   25 
 src/simple_list.h |  202 +
 66 files changed, 18743 insertions(+), 6115 deletions(-)

New commits:
commit a887818f491f6c7315c56c4e0d0b702c4c6aa4ac
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Mon Feb 1 11:01:47 2010 -0500

evergreen: add pci ids

diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index 3f9691e..3dd36da 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -453,3 +453,38 @@
 #define PCI_CHIP_RS880_9712 0x9712
 #define PCI_CHIP_RS880_9713 0x9713
 #define PCI_CHIP_RS880_9714 0x9714
+#define PCI_CHIP_CYPRESS_6880 0x6880
+#define PCI_CHIP_CYPRESS_6888 0x6888
+#define PCI_CHIP_CYPRESS_6889 0x6889
+#define PCI_CHIP_CYPRESS_688A 0x688A
+#define PCI_CHIP_CYPRESS_6898 0x6898
+#define PCI_CHIP_CYPRESS_6899 0x6899
+#define PCI_CHIP_CYPRESS_689E 0x689E
+#define PCI_CHIP_HEMLOCK_689C 0x689C
+#define PCI_CHIP_HEMLOCK_689D 0x689D
+#define PCI_CHIP_JUNIPER_68A0 0x68A0
+#define PCI_CHIP_JUNIPER_68A1 0x68A1
+#define PCI_CHIP_JUNIPER_68A8 0x68A8
+#define PCI_CHIP_JUNIPER_68A9 0x68A9
+#define PCI_CHIP_JUNIPER_68B0 0x68B0
+#define PCI_CHIP_JUNIPER_68B8 0x68B8
+#define PCI_CHIP_JUNIPER_68B9 0x68B9
+#define PCI_CHIP_JUNIPER_68BE 0x68BE
+#define PCI_CHIP_REDWOOD_68C0 0x68C0
+#define PCI_CHIP_REDWOOD_68C1 0x68C1
+#define PCI_CHIP_REDWOOD_68C8 0x68C8
+#define PCI_CHIP_REDWOOD_68C9 0x68C9
+#define PCI_CHIP_REDWOOD_68D8 0x68D8
+#define PCI_CHIP_REDWOOD_68D9 0x68D9
+#define PCI_CHIP_REDWOOD_68DA 0x68DA
+#define PCI_CHIP_REDWOOD_68DE 0x68DE
+#define PCI_CHIP_CEDAR_68E0 0x68E0
+#define PCI_CHIP_CEDAR_68E1 0x68E1
+#define PCI_CHIP_CEDAR_68E4 0x68E4
+#define PCI_CHIP_CEDAR_68E5 0x68E5
+#define PCI_CHIP_CEDAR_68E8 0x68E8
+#define PCI_CHIP_CEDAR_68E9 0x68E9
+#define PCI_CHIP_CEDAR_68F1 0x68F1
+#define PCI_CHIP_CEDAR_68F8 0x68F8
+#define PCI_CHIP_CEDAR_68F9 0x68F9
+#define PCI_CHIP_CEDAR_68FE 0x68FE
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 695d9a6..9c72c40 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -454,3 +454,38 @@
 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2009-12-03 Thread Brice Goglin
 configure.ac  |6 
 man/radeon.man|   75 
 src/Makefile.am   |8 
 src/ati_pciids_gen.h  |   24 
 src/atipciids.h   |1 
 src/atombios_crtc.c   |  208 ++
 src/atombios_output.c |  889 +-
 src/legacy_crtc.c |   52 
 src/legacy_output.c   |   14 
 src/pcidb/ati_pciids.csv  |   24 
 src/r600_exa.c| 2106 +
 src/r600_reg.h|  132 +
 src/r600_reg_auto_r6xx.h  | 3087 ++
 src/r600_reg_r6xx.h   |  503 ++
 src/r600_reg_r7xx.h   |  149 +
 src/r600_shader.c | 1848 ++
 src/r600_shader.h |  359 
 src/r600_state.h  |  282 +++
 src/r600_textured_videofuncs.c|  519 ++
 src/r6xx_accel.c  | 1106 +
 src/radeon.h  |  153 +
 src/radeon_accel.c|  129 +
 src/radeon_atombios.c |   87 -
 src/radeon_atombios.h |2 
 src/radeon_bios.c |   17 
 src/radeon_chipinfo_gen.h |   24 
 src/radeon_chipset_gen.h  |   24 
 src/radeon_commonfuncs.c  |  130 -
 src/radeon_crtc.c |   39 
 src/radeon_cursor.c   |   70 
 src/radeon_dri.c  |  308 ++-
 src/radeon_driver.c   |  473 +++--
 src/radeon_exa.c  |3 
 src/radeon_exa_funcs.c|   16 
 src/radeon_exa_render.c   |   54 
 src/radeon_legacy_memory.c|4 
 src/radeon_macros.h   |   17 
 src/radeon_modes.c|   78 
 src/radeon_output.c   |  449 +++--
 src/radeon_pci_chipset_gen.h  |   24 
 src/radeon_pci_device_match_gen.h |   24 
 src/radeon_probe.c|3 
 src/radeon_probe.h|   18 
 src/radeon_reg.h  |  139 +
 src/radeon_textured_video.c   |  366 +++-
 src/radeon_textured_videofuncs.c  |  680 +++-
 src/radeon_tv.c   |6 
 src/radeon_version.h  |1 
 src/radeon_video.c|   44 
 src/radeon_video.h|   12 
 50 files changed, 13380 insertions(+), 1406 deletions(-)

New commits:
commit b7c14b00ff6a217cb69727b384cc4f4b433a907e
Author: Dave Airlie airl...@redhat.com
Date:   Fri Sep 11 09:31:46 2009 +1000

ati 6.12.4

diff --git a/configure.ac b/configure.ac
index 40045c5..f081c67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.12.3,
+6.12.4,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 93df2faf1ea2008248566326f10ed737e7f6fc66
Author: Dave Airlie airl...@redhat.com
Date:   Fri Sep 11 09:19:17 2009 +1000

Update to xextproto 7.1 support.

DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
need to include dpmsconst.h if xextproto 7.1 is available.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

Conflicts:

src/drmmode_display.c

diff --git a/configure.ac b/configure.ac
index 7c113e9..40045c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,6 +76,10 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
 # Checks for pkg-config packages
 PKG_CHECK_MODULES(XORG, [xorg-server = 1.2 xproto fontsproto 
$REQUIRED_MODULES])
+PKG_CHECK_MODULES(XEXT, [xextproto = 7.0.99.1],
+  HAVE_XEXTPROTO_71=yes; AC_DEFINE(HAVE_XEXTPROTO_71, 1, 
[xextproto 7.1 available]),
+  HAVE_XEXTPROTO_71=no)
+AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test $HAVE_XEXTPROTO_71 = yes ])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.
diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
index f060d8d..cd98c21 100644
--- a/src/atombios_crtc.c
+++ b/src/atombios_crtc.c
@@ -33,8 +33,13 @@
 #include config.h
 #endif
 /* DPMS */
+#ifdef HAVE_XEXTPROTO_71
+#include X11/extensions/dpmsconst.h
+#else
 #define DPMS_SERVER
 #include X11/extensions/dpms.h
+#endif
+
 
 #include radeon.h
 #include radeon_reg.h
diff --git a/src/atombios_output.c b/src/atombios_output.c
index e6ef025..57345b3 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -34,8 +34,13 @@
 #include config.h
 #endif
 /* DPMS */
+#ifdef HAVE_XEXTPROTO_71
+#include X11/extensions/dpmsconst.h
+#else
 #define DPMS_SERVER
 #include X11/extensions/dpms.h
+#endif
+
 #include unistd.h
 
 #include radeon.h
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 9d8bd39..551cb7f 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -106,8 +106,13 @@
 #include vgaHW.h
 #endif
 
+#ifdef HAVE_XEXTPROTO_71
+#include X11/extensions/dpmsconst.h
+#else
 #define DPMS_SERVER
 #include X11/extensions/dpms.h
+#endif
+
 
 #include atipciids.h
 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2009-02-18 Thread Brice Goglin
 configure.ac|2 
 man/radeon.man  |   42 -
 src/atombios_crtc.c |   21 +---
 src/atombios_output.c   |   46 --
 src/legacy_crtc.c   |4 +
 src/radeon.h|3 +
 src/radeon_atombios.c   |   10 
 src/radeon_crtc.c   |2 
 src/radeon_dri.c|9 ++-
 src/radeon_driver.c |   43 -
 src/radeon_exa.c|   10 +++-
 src/radeon_exa_render.c |  117 ++--
 src/radeon_output.c |   29 ++-
 src/radeon_probe.h  |1 
 14 files changed, 233 insertions(+), 106 deletions(-)

New commits:
commit 0d3d1f1f7b450dabd3ad7d2df26ad1c72709b29b
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Wed Feb 18 17:24:57 2009 -0500

bump for release

diff --git a/configure.ac b/configure.ac
index 8a51171..0523cc0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.10.99.99,
+6.11.0,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 76a32f8391317513538dafee49cbb61c0d756356
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Wed Feb 18 16:31:44 2009 -0500

R6xx: Connector quirk for asus board

bug 19943

diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index 87e89ba..34bf1dc 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1570,6 +1570,16 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int 
index)
(info-BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)) {
info-BiosConnector[index].devices = ~(ATOM_DEVICE_CRT_SUPPORT);
 }
+
+/* ASUS HD 3600 XT board lists the DVI port as HDMI */
+if ((info-Chipset == PCI_CHIP_RV635_9598) 
+   (PCI_SUB_VENDOR_ID(info-PciInfo) == 0x1043) 
+   (PCI_SUB_DEVICE_ID(info-PciInfo) == 0x01da)) {
+   if (info-BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)
+   info-BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
+}
+
+
 }
 
 uint32_t

commit 97b8482dba4e99088b59d3ab1396be98a70e823e
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Wed Feb 18 13:27:15 2009 -0500

Set default RMX type to FULL on LVDS

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 113bf67..352519f 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -1848,7 +1848,10 @@ void RADEONInitConnector(xf86OutputPtr output)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 RADEONOutputPrivatePtr radeon_output = output-driver_private;
 
-radeon_output-rmx_type = RMX_OFF;
+if (radeon_output-devices  (ATOM_DEVICE_LCD_SUPPORT))
+   radeon_output-rmx_type = RMX_FULL;
+else
+   radeon_output-rmx_type = RMX_OFF;
 
 if (!IS_AVIVO_VARIANT) {
if (radeon_output-devices  (ATOM_DEVICE_CRT2_SUPPORT)) {

commit 7d22b1799b34010d34c3600d6cb02ffe839a0780
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Wed Feb 18 12:55:40 2009 -0500

DCE3.2+: allow output cloning

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 2128dab..113bf67 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -2469,14 +2469,10 @@ static int
 radeon_output_clones (ScrnInfoPtr pScrn, xf86OutputPtr output)
 {
 RADEONOutputPrivatePtr radeon_output = output-driver_private;
-RADEONInfoPtr info   = RADEONPTR(pScrn);
 xf86CrtcConfigPtr  config = XF86_CRTC_CONFIG_PTR (pScrn);
 into;
 intindex_mask = 0;
 
-if (IS_DCE3_VARIANT)
-   return index_mask;
-
 /* LVDS is too wacky */
 if (radeon_output-devices  (ATOM_DEVICE_LCD_SUPPORT))
return index_mask;

commit 1a237a40958c006c56b80850bd77b2ac6c17e030
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Wed Feb 18 11:46:20 2009 -0500

ATOM: reset crtc initialized flag on CloseScreen()

additional fix needed for bug 16781

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 32608a4..32cb307 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -5641,6 +5641,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr 
pScreen)
 {
 ScrnInfoPtrpScrn = xf86Screens[scrnIndex];
 RADEONInfoPtr  info  = RADEONPTR(pScrn);
+xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+int i;
 
 xf86DrvMsgVerb(pScrn-scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
   RADEONCloseScreen\n);
@@ -5650,6 +5652,13 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr 
pScreen)
  */
 info-accelOn = FALSE;
 
+for (i = 0; i  config-num_crtc; i++) {
+   xf86CrtcPtr crtc = config-crtc[i];
+   RADEONCrtcPrivatePtr radeon_crtc = crtc-driver_private;
+
+   radeon_crtc-initialized = FALSE;
+}
+
 #ifdef XF86DRI
 #ifdef DAMAGE
 if (info-dri  info-dri-pDamage) {

commit 9a108f0a0b7203458673ce6221e747a166d39617
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Tue Feb 17 19:52:27 2009 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2009-02-09 Thread Brice Goglin
 README|   20 
 configure.ac  |2 
 man/ati.man   |2 
 man/radeon.man|2 
 src/ati_pciids_gen.h  |   22 
 src/atombios_crtc.c   |   82 -
 src/atombios_output.c | 1250 ++
 src/legacy_crtc.c |8 
 src/legacy_output.c   |  880 +--
 src/pcidb/ati_pciids.csv  |   22 
 src/radeon.h  |   32 
 src/radeon_accel.c|1 
 src/radeon_atombios.c |  640 +++
 src/radeon_atombios.h |   12 
 src/radeon_bios.c |  409 ---
 src/radeon_chipinfo_gen.h |   22 
 src/radeon_chipset_gen.h  |   22 
 src/radeon_dri.c  |   10 
 src/radeon_driver.c   |   60 -
 src/radeon_exa_funcs.c|  114 --
 src/radeon_exa_render.c   |  119 +-
 src/radeon_modes.c|  189 ++-
 src/radeon_output.c   | 2134 +-
 src/radeon_pci_chipset_gen.h  |   22 
 src/radeon_pci_device_match_gen.h |   22 
 src/radeon_probe.h|  188 +--
 src/radeon_reg.h  |   21 
 src/radeon_textured_videofuncs.c  |   54 
 src/radeon_tv.c   |  163 +-
 src/radeon_video.c|2 
 30 files changed, 3706 insertions(+), 2820 deletions(-)

New commits:
commit 610b8b65fd7aa97f9c03b2ff6ae607aa959eab0b
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Mon Feb 9 16:33:20 2009 -0500

Bump for rc release

diff --git a/configure.ac b/configure.ac
index 8a6000a..eeaecbf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.10.0.99,
+6.10.99.0,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 04859362ce64ed4ae48305a83c92059899c1db4b
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Sun Feb 8 20:13:06 2009 -0500

Add some missing r6xx/r7xx pci ids

diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index a32151d..d532f16 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -345,9 +345,15 @@
 #define PCI_CHIP_RV770_9456 0x9456
 #define PCI_CHIP_RV770_945A 0x945A
 #define PCI_CHIP_RV770_945B 0x945B
+#define PCI_CHIP_RV770_946A 0x946A
+#define PCI_CHIP_RV770_946B 0x946B
+#define PCI_CHIP_RV770_947A 0x947A
+#define PCI_CHIP_RV770_947B 0x947B
 #define PCI_CHIP_RV730_9487 0x9487
+#define PCI_CHIP_RV730_9489 0x9489
 #define PCI_CHIP_RV730_948F 0x948F
 #define PCI_CHIP_RV730_9490 0x9490
+#define PCI_CHIP_RV730_9491 0x9491
 #define PCI_CHIP_RV730_9498 0x9498
 #define PCI_CHIP_RV730_949C 0x949C
 #define PCI_CHIP_RV730_949E 0x949E
@@ -363,19 +369,27 @@
 #define PCI_CHIP_RV610_94C9 0x94C9
 #define PCI_CHIP_RV610_94CB 0x94CB
 #define PCI_CHIP_RV610_94CC 0x94CC
+#define PCI_CHIP_RV610_94CD 0x94CD
 #define PCI_CHIP_RV670_9500 0x9500
 #define PCI_CHIP_RV670_9501 0x9501
+#define PCI_CHIP_RV670_9504 0x9504
 #define PCI_CHIP_RV670_9505 0x9505
+#define PCI_CHIP_RV670_9506 0x9506
 #define PCI_CHIP_RV670_9507 0x9507
+#define PCI_CHIP_RV670_9508 0x9508
+#define PCI_CHIP_RV670_9509 0x9509
 #define PCI_CHIP_RV670_950F 0x950F
 #define PCI_CHIP_RV670_9511 0x9511
 #define PCI_CHIP_RV670_9515 0x9515
+#define PCI_CHIP_RV670_9517 0x9517
+#define PCI_CHIP_RV670_9519 0x9519
 #define PCI_CHIP_RV710_9540 0x9540
 #define PCI_CHIP_RV710_9541 0x9541
 #define PCI_CHIP_RV710_954E 0x954E
 #define PCI_CHIP_RV710_954F 0x954F
 #define PCI_CHIP_RV710_9552 0x9552
 #define PCI_CHIP_RV710_9553 0x9553
+#define PCI_CHIP_RV710_9555 0x9555
 #define PCI_CHIP_RV630_9580 0x9580
 #define PCI_CHIP_RV630_9581 0x9581
 #define PCI_CHIP_RV630_9583 0x9583
@@ -388,12 +402,16 @@
 #define PCI_CHIP_RV630_958C 0x958C
 #define PCI_CHIP_RV630_958D 0x958D
 #define PCI_CHIP_RV630_958E 0x958E
+#define PCI_CHIP_RV630_958F 0x958F
 #define PCI_CHIP_RV710_9542 0x9542
 #define PCI_CHIP_RV620_95C0 0x95C0
 #define PCI_CHIP_RV620_95C2 0x95C2
 #define PCI_CHIP_RV620_95C4 0x95C4
 #define PCI_CHIP_RV620_95C5 0x95C5
+#define PCI_CHIP_RV620_95C6 0x95C6
 #define PCI_CHIP_RV620_95C7 0x95C7
+#define PCI_CHIP_RV620_95C9 0x95C9
+#define PCI_CHIP_RV620_95CC 0x95CC
 #define PCI_CHIP_RV620_95CD 0x95CD
 #define PCI_CHIP_RV620_95CE 0x95CE
 #define PCI_CHIP_RV620_95CF 0x95CF
@@ -404,6 +422,8 @@
 #define PCI_CHIP_RV635_9599 0x9599
 #define PCI_CHIP_RV635_9591 0x9591
 #define PCI_CHIP_RV635_9593 0x9593
+#define PCI_CHIP_RV635_9595 0x9595
+#define PCI_CHIP_RV635_959B 0x959B
 #define PCI_CHIP_RS780_9610 0x9610
 #define PCI_CHIP_RS780_9611 0x9611
 #define PCI_CHIP_RS780_9612 0x9612
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 57c8ecd..4d4e625 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -346,9 +346,15 @@
 0x9456,RV770_9456,RV770,,ATI FirePro V8700 (FireGL)
 0x945A,RV770_945A,RV770,1,ATI Mobility RADEON HD 4870
 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2009-01-07 Thread Brice Goglin
 configure.ac|2 +-
 man/radeon.man  |   20 +++-
 src/Makefile.am |1 +
 src/atombios_output.c   |   15 +++
 src/radeon_atombios.c   |   14 ++
 src/radeon_dri.c|   11 +--
 src/radeon_exa_render.c |   22 +++---
 7 files changed, 62 insertions(+), 23 deletions(-)

New commits:
commit a0dd5d7ee3f038a9bfe051db8dbfac4934a81581
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Tue Jan 6 19:08:28 2009 -0500

Bump version for release

diff --git a/configure.ac b/configure.ac
index 4b9c6b1..19f6f2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.9.0.91,
+6.10.0,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit e23baa2fa8b25b68cd473aec7a3d8cf3ee7b0ea8
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Tue Jan 6 14:38:06 2009 -0500

R100: Fix typo in e55598cc1b35d398c9eb2c3946df71456775f621

Noticed by Andreas Stenglein

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 39c987c..50446ca 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -324,7 +324,7 @@ static Bool R100CheckCompositeTexture(PicturePtr pPict, int 
unit)
  * see 197a62704742a4a19736c2637ac92d1dc5ab34ed
  */
 
-if ((w  2048) || (h  2048))
+if ((w  2047) || (h  2047))
RADEON_FALLBACK((Picture w/h too large (%dx%d)\n, w, h));
 
 for (i = 0; i  sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) {

commit d5cb24075928690377fd2dfaa32abfebff9990df
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Sun Jan 4 21:04:52 2009 -0500

ATOM: add format rev 2 for digitial command tables

should fix bug 18911

diff --git a/src/atombios_output.c b/src/atombios_output.c
index c111d76..eb52f5c 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -298,6 +298,7 @@ atombios_output_digital_setup(xf86OutputPtr output, int 
device, DisplayModePtr m
 switch (major) {
 case 0:
 case 1:
+case 2:
switch (minor) {
case 1:
disp_data.ucMisc = 0;

commit 1813456af3def38c6f53103054976f3092491746
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Sun Jan 4 21:01:05 2009 -0500

ATOM: fail on more tables with unhandled revisions

diff --git a/src/atombios_output.c b/src/atombios_output.c
index 3030a10..c111d76 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -356,8 +356,14 @@ atombios_output_digital_setup(xf86OutputPtr output, int 
device, DisplayModePtr m
}
data.exec.pspace = disp_data2;
break;
+   default:
+   ErrorF(Unknown table version\n);
+   exit(-1);
}
break;
+default:
+   ErrorF(Unknown table version\n);
+   exit(-1);
 }
 
 data.exec.index = index;
@@ -479,7 +485,7 @@ atombios_output_dig_transmitter_setup(xf86OutputPtr output, 
int device, DisplayM
 int major, minor;
 
 memset(disp_data,0, sizeof(disp_data));
-if (IS_DCE32_VARIANT) 
+if (IS_DCE32_VARIANT)
index = GetIndexIntoMasterTable(COMMAND, UNIPHYTransmitterControl);
 else {
switch (device) {
@@ -874,7 +880,7 @@ atombios_set_output_crtc_source(xf86OutputPtr output)
 /*ErrorF(select crtc source table is %d %d\n, major, minor);*/
 
 switch(major) {
-case 1: {
+case 1:
switch(minor) {
case 0:
case 1:
@@ -959,9 +965,9 @@ atombios_set_output_crtc_source(xf86OutputPtr output)
break;
}
break;
-}
 default:
-   break;
+   ErrorF(Unknown table version\n);
+   exit(-1);
 }
 
 data.exec.index = index;

commit 90ce00a3dbf37833a71db234372695460c8f0342
Author: Alex Deucher alexdeuc...@gmail.com
Date:   Sun Jan 4 19:13:53 2009 -0500

AGP: Print both device and subsytem pci ids for agp

helpful for adding quirks with libpciaccess

diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index f3c510b..596c1c0 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -866,10 +866,12 @@ static Bool RADEONSetAgpMode(RADEONInfoPtr info, 
ScreenPtr pScreen)
 } /* Don't mention this otherwise, so that people don't get funny ideas */
 
 xf86DrvMsg(pScreen-myNum, X_INFO,
-  [agp] Mode 0x%08lx [AGP 0x%04x/0x%04x; Card 0x%04x/0x%04x]\n,
+  [agp] Mode 0x%08lx [AGP 0x%04x/0x%04x; Card 0x%04x/0x%04x 
0x%04x/0x%04x]\n,
   mode, vendor, device,
   PCI_DEV_VENDOR_ID(info-PciInfo),
-  PCI_DEV_DEVICE_ID(info-PciInfo));
+  PCI_DEV_DEVICE_ID(info-PciInfo),
+  PCI_SUB_VENDOR_ID(info-PciInfo),
+  PCI_SUB_DEVICE_ID(info-PciInfo));
 
 if (drmAgpEnable(info-dri-drmFD, mode)  0) {
xf86DrvMsg(pScreen-myNum, X_ERROR, [agp] AGP not enabled\n);

commit 006d736d890a6b2f1d7eb8ee20ccf467a939516f
Author: Alex Deucher 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-12-22 Thread Brice Goglin
 configure.ac  |3 
 man/radeon.man|  120 --
 src/AtomBios/CD_Operations.c  |8 
 src/AtomBios/includes/atombios.h  |   11 
 src/Makefile.am   |4 
 src/ati_pciids_gen.h  |   29 +
 src/atombios_crtc.c   |   14 
 src/atombios_output.c |  439 +-
 src/legacy_crtc.c |   44 +-
 src/legacy_output.c   |   17 
 src/pcidb/ati_pciids.csv  |   43 +-
 src/radeon.h  |   56 ++
 src/radeon_accel.c|5 
 src/radeon_atombios.c |  224 +++
 src/radeon_atombios.h |6 
 src/radeon_bios.c |   19 
 src/radeon_chipinfo_gen.h |   29 +
 src/radeon_chipset_gen.h  |   43 +-
 src/radeon_commonfuncs.c  |  123 +++---
 src/radeon_crtc.c |   51 ++
 src/radeon_dri.c  |6 
 src/radeon_driver.c   |7 
 src/radeon_drm.h  |   26 -
 src/radeon_exa.c  |   61 +--
 src/radeon_exa_funcs.c|   15 
 src/radeon_exa_render.c   |  174 +---
 src/radeon_modes.c|   65 +++
 src/radeon_output.c   |   68 ++-
 src/radeon_pci_chipset_gen.h  |   29 +
 src/radeon_pci_device_match_gen.h |   29 +
 src/radeon_probe.c|2 
 src/radeon_probe.h|8 
 src/radeon_reg.h  |  222 ++-
 src/radeon_textured_video.c   |   75 +++
 src/radeon_textured_videofuncs.c  |  735 ++
 src/radeon_video.c|   32 +
 src/radeon_video.h|   10 
 37 files changed, 2061 insertions(+), 791 deletions(-)

New commits:
commit 631123d144d088d4f77a0599c34deaa31d551d71
Author: Dave Airlie airl...@redhat.com
Date:   Tue Dec 23 10:08:46 2008 +1000

radeon: update to 6.9.0.91

do a prerelease for end of year.

diff --git a/configure.ac b/configure.ac
index 5ffe0d9..4b9c6b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.9.0,
+6.9.0.91,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 047f7603174f6047090f4fafbe6488d697eb78bc
Author: Dave Airlie airl...@linux.ie
Date:   Tue Dec 23 08:16:25 2008 +1000

radeon: pass distcheck

diff --git a/src/Makefile.am b/src/Makefile.am
index d65a3e4..a13bfad 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -130,18 +130,16 @@ EXTRA_DIST = \
radeon_textured_videofuncs.c \
ati.h \
ativersion.h \
+   bicubic_table.h \
generic_bus.h \
-   radeon_common.h \
radeon_commonfuncs.c \
radeon_dri.h \
-   radeon_dripriv.h \
radeon_exa_render.c \
radeon_exa_funcs.c \
radeon.h \
radeon_macros.h \
radeon_probe.h \
radeon_reg.h \
-   radeon_sarea.h \
radeon_version.h \
radeon_video.h \
radeon_tv.h \

commit c0c33dab44e6966b1702d4e8cfba3537fc6e2d5c
Author: Patrick Haller patrick.hal...@haller-consult.com
Date:   Mon Dec 22 03:06:23 2008 -0500

Fix off by one in EXA composite limit checking

Patch from Patrick, with some updates from me:
- fix r200 limits
- note about r100 limits

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 55e55be..c285109 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -320,7 +320,11 @@ static Bool R100CheckCompositeTexture(PicturePtr pPict, 
int unit)
 int h = pPict-pDrawable-height;
 int i;
 
-if ((w  0x7ff) || (h  0x7ff))
+/* r100 limit should be 2048, there are issues with 2048
+ * see 197a62704742a4a19736c2637ac92d1dc5ab34ed
+ */
+
+if ((w  2047) || (h  2047))
RADEON_FALLBACK((Picture w/h too large (%dx%d)\n, w, h));
 
 for (i = 0; i  sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) {
@@ -456,10 +460,14 @@ static Bool R100CheckComposite(int op, PicturePtr 
pSrcPicture,
 if (!pSrcPicture-pDrawable)
return FALSE;
 
+/* r100 limit should be 2048, there are issues with 2048
+ * see 197a62704742a4a19736c2637ac92d1dc5ab34ed
+ */
+
 pSrcPixmap = RADEONGetDrawablePixmap(pSrcPicture-pDrawable);
 
-if (pSrcPixmap-drawable.width = 2048 ||
-   pSrcPixmap-drawable.height = 2048) {
+if (pSrcPixmap-drawable.width  2047 ||
+   pSrcPixmap-drawable.height  2047) {
RADEON_FALLBACK((Source w/h too large (%d,%d).\n,
 pSrcPixmap-drawable.width,
 pSrcPixmap-drawable.height));
@@ -467,8 +475,8 @@ static Bool R100CheckComposite(int op, PicturePtr 
pSrcPicture,
 
 pDstPixmap = RADEONGetDrawablePixmap(pDstPicture-pDrawable);
 
-if (pDstPixmap-drawable.width = 2048 ||
-   pDstPixmap-drawable.height = 2048) {
+if (pDstPixmap-drawable.width  2047 ||

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-11-29 Thread Brice Goglin
 man/radeon.man|1 
 src/ati_pciids_gen.h  |1 
 src/atipciids.h   |3 +
 src/atombios_output.c |   50 +-
 src/pcidb/ati_pciids.csv  |1 
 src/radeon.h  |   11 +++--
 src/radeon_atombios.c |   25 ++-
 src/radeon_bios.c |   62 +---
 src/radeon_chipinfo_gen.h |1 
 src/radeon_chipset_gen.h  |1 
 src/radeon_crtc.c |9 +++-
 src/radeon_cursor.c   |4 -
 src/radeon_dri.c  |   83 --
 src/radeon_driver.c   |   28 
 src/radeon_exa_render.c   |6 ++
 src/radeon_output.c   |   39 -
 src/radeon_pci_chipset_gen.h  |1 
 src/radeon_pci_device_match_gen.h |1 
 src/radeon_probe.h|3 +
 src/radeon_textured_video.c   |8 ---
 20 files changed, 250 insertions(+), 88 deletions(-)

New commits:
commit 783cdb7374941bb1d2b63eea375fbf2f1b808cc3
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Thu Nov 27 15:29:06 2008 +1000

r100/r200: EXA misrenders dst == a8 + dst alpha use.

Fedora BZ#469556

I've played with various dst and texture formats and rewritten large
parts of this to no avail, so I'm punting for now.

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 97199ae..e5cc196 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -533,6 +533,9 @@ static Bool FUNC_NAME(R100PrepareComposite)(int op,
 if (!RADEONGetDestFormat(pDstPicture, dst_format))
return FALSE;
 
+if (pDstPicture-format == PICT_a8  RadeonBlendOp[op].dst_alpha)
+RADEON_FALLBACK(Can't dst alpha blend A8\n);
+
 if (pMask)
info-accel_state-has_mask = TRUE;
 else
@@ -833,6 +836,9 @@ static Bool FUNC_NAME(R200PrepareComposite)(int op, 
PicturePtr pSrcPicture,
 if (!RADEONGetDestFormat(pDstPicture, dst_format))
return FALSE;
 
+if (pDstPicture-format == PICT_a8  RadeonBlendOp[op].dst_alpha)
+RADEON_FALLBACK(Can't dst alpha blend A8\n);
+
 if (pMask)
info-accel_state-has_mask = TRUE;
 else

commit 2d7cfc421713286edd5121b56999246f9ae70286
Author: Eygene Ryabinkin [EMAIL PROTECTED]
Date:   Tue Nov 25 13:25:33 2008 -0500

Catch unsubstituted macro for PCI region base access

also fix up some warnings.

diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index 960d784..f1a780d 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -925,7 +925,8 @@ static Bool RADEONDRIAgpInit(RADEONInfoPtr info, ScreenPtr 
pScreen)
 }
 xf86DrvMsg(pScreen-myNum, X_INFO,
   [agp] %d kB allocated with handle 0x%08x\n,
-  info-dri-gartSize*1024, info-dri-agpMemHandle);
+  info-dri-gartSize*1024,
+  (unsigned int)info-dri-agpMemHandle);
 
 if (drmAgpBind(info-dri-drmFD,
   info-dri-agpMemHandle, info-dri-gartOffset)  0) {
@@ -942,7 +943,8 @@ static Bool RADEONDRIAgpInit(RADEONInfoPtr info, ScreenPtr 
pScreen)
return FALSE;
 }
 xf86DrvMsg(pScreen-myNum, X_INFO,
-  [agp] ring handle = 0x%08x\n, info-dri-ringHandle);
+  [agp] ring handle = 0x%08x\n,
+  (unsigned int)info-dri-ringHandle);
 
 if (drmMap(info-dri-drmFD, info-dri-ringHandle, info-dri-ringMapSize,
   info-dri-ring)  0) {
@@ -961,7 +963,7 @@ static Bool RADEONDRIAgpInit(RADEONInfoPtr info, ScreenPtr 
pScreen)
 }
 xf86DrvMsg(pScreen-myNum, X_INFO,
   [agp] ring read ptr handle = 0x%08x\n,
-  info-dri-ringReadPtrHandle);
+  (unsigned int)info-dri-ringReadPtrHandle);
 
 if (drmMap(info-dri-drmFD, info-dri-ringReadPtrHandle, 
info-dri-ringReadMapSize,
   info-dri-ringReadPtr)  0) {
@@ -981,7 +983,7 @@ static Bool RADEONDRIAgpInit(RADEONInfoPtr info, ScreenPtr 
pScreen)
 }
 xf86DrvMsg(pScreen-myNum, X_INFO,
   [agp] vertex/indirect buffers handle = 0x%08x\n,
-  info-dri-bufHandle);
+  (unsigned int)info-dri-bufHandle);
 
 if (drmMap(info-dri-drmFD, info-dri-bufHandle, info-dri-bufMapSize,
   info-dri-buf)  0) {
@@ -1001,7 +1003,7 @@ static Bool RADEONDRIAgpInit(RADEONInfoPtr info, 
ScreenPtr pScreen)
 }
 xf86DrvMsg(pScreen-myNum, X_INFO,
   [agp] GART texture map handle = 0x%08x\n,
-  info-dri-gartTexHandle);
+  (unsigned int)info-dri-gartTexHandle);
 
 if (drmMap(info-dri-drmFD, info-dri-gartTexHandle, 
info-dri-gartTexMapSize,
   info-dri-gartTex)  0) {
@@ -1034,7 +1036,8 @@ static Bool RADEONDRIPciInit(RADEONInfoPtr info, 
ScreenPtr pScreen)
 }
 xf86DrvMsg(pScreen-myNum, X_INFO,
   [pci] %d kB allocated with handle 0x%08x\n,
-  info-dri-gartSize*1024, 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-10-12 Thread Brice Goglin
 man/radeon.man   |   10 
 src/AtomBios/includes/ObjectID.h |   36 +
 src/AtomBios/includes/atombios.h |  803 ---
 src/Makefile.am  |2 
 src/atombios_crtc.c  |2 
 src/atombios_output.c|  203 -
 src/legacy_crtc.c|5 
 src/radeon.h |   16 
 src/radeon_atombios.c|  168 +++-
 src/radeon_atombios.h|6 
 src/radeon_bios.c|   29 -
 src/radeon_crtc.c|8 
 src/radeon_cursor.c  |2 
 src/radeon_driver.c  |   28 -
 src/radeon_drm.h |5 
 src/radeon_legacy_memory.c   |  117 +
 src/radeon_memory.c  |  118 -
 src/radeon_output.c  |   24 -
 src/radeon_probe.h   |6 
 src/radeon_textured_video.c  |   14 
 src/radeon_video.c   |   61 +-
 21 files changed, 1189 insertions(+), 474 deletions(-)

New commits:
commit c0e6cb6d0eeef8f2ea60d840e1cd668fa92cd7f9
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Fri Oct 10 11:09:27 2008 -0400

Fix grey level dithering setup

diff --git a/src/atombios_output.c b/src/atombios_output.c
index a770177..148a1da 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -346,7 +346,7 @@ atombios_output_digital_setup(xf86OutputPtr output, int 
device, DisplayModePtr m
disp_data2.ucTemporal = PANEL_ENCODER_TEMPORAL_DITHER_EN;
if (radeon_output-lvds_misc  (1  1))
disp_data2.ucTemporal |= 
PANEL_ENCODER_TEMPORAL_DITHER_DEPTH;
-   if (((radeon_output-lvds_misc  2)  0x3) == 4)
+   if (((radeon_output-lvds_misc  2)  0x3) == 2)
disp_data2.ucTemporal |= PANEL_ENCODER_TEMPORAL_LEVEL_4;
}
} else {

commit 9eb2b6cd28224f0cbbabf3df451696ae1a845b9c
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Fri Oct 10 16:18:05 2008 +1000

radeon: hopefully fix plls for 30 monitors.

Only do the HIGH trick on the DCE3 cards. Tested on rv610/630/770.

diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
index 3f2e113..4e2395f 100644
--- a/src/atombios_crtc.c
+++ b/src/atombios_crtc.c
@@ -224,7 +224,7 @@ atombios_crtc_set_pll(xf86CrtcPtr crtc, DisplayModePtr 
mode, int pll_flags)
 if (IS_AVIVO_VARIANT) {
uint32_t temp;
 
-   if (mode-Clock  20) /* range limits??? */
+   if (IS_DCE3_VARIANT  mode-Clock  20) /* range limits??? */
pll_flags |= RADEON_PLL_PREFER_HIGH_FB_DIV;
else
pll_flags |= RADEON_PLL_PREFER_LOW_REF_DIV;

commit 0975e007ec7933acf9cd8ad2f281313ef8d32ac9
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Thu Oct 9 17:16:28 2008 +1100

radeon: rename radeon_memory to radeon_legacy_memory.

This is a setup patch for the kms/memory management code.

diff --git a/src/Makefile.am b/src/Makefile.am
index c79b635..d65a3e4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -88,7 +88,7 @@ radeon_drv_la_LTLIBRARIES = radeon_drv.la
 radeon_drv_la_LDFLAGS = -module -avoid-version
 radeon_drv_ladir = @moduledir@/drivers
 radeon_drv_la_SOURCES = \
-   radeon_accel.c radeon_cursor.c radeon_dga.c radeon_memory.c \
+   radeon_accel.c radeon_cursor.c radeon_dga.c radeon_legacy_memory.c \
radeon_driver.c radeon_video.c radeon_bios.c radeon_mm_i2c.c \
radeon_vip.c radeon_misc.c radeon_probe.c \
legacy_crtc.c legacy_output.c \
diff --git a/src/radeon.h b/src/radeon.h
index aec8a25..f7ae1a8 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -1068,15 +1068,15 @@ extern void RADEONUpdateHVPosition(xf86OutputPtr 
output, DisplayModePtr mode);
 extern void RADEONInitVideo(ScreenPtr pScreen);
 extern void RADEONResetVideo(ScrnInfoPtr pScrn);
 
-/* radeon_memory.c */
+/* radeon_legacy_memory.c */
 extern uint32_t
-radeon_allocate_memory(ScrnInfoPtr pScrn,
-  void **mem_struct,
-  int size,
-  int align);
+radeon_legacy_allocate_memory(ScrnInfoPtr pScrn,
+ void **mem_struct,
+ int size,
+ int align);
 extern void
-radeon_free_memory(ScrnInfoPtr pScrn,
-  void *mem_struct);
+radeon_legacy_free_memory(ScrnInfoPtr pScrn,
+ void *mem_struct);
 
 #ifdef XF86DRI
 #  ifdef USE_XAA
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
index 2fc..9040bae 100644
--- a/src/radeon_crtc.c
+++ b/src/radeon_crtc.c
@@ -418,7 +418,7 @@ radeon_crtc_shadow_allocate (xf86CrtcPtr crtc, int width, 
int height)
  * setter for offscreen area locking in EXA currently.  So, we just
  * allocate offscreen memory and fake up a pixmap header for it.
  */
-rotate_offset = radeon_allocate_memory(pScrn, 
radeon_crtc-crtc_rotate_mem, size, align);
+rotate_offset = 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-08-26 Thread Brice Goglin
 src/Makefile.am   |3 
 src/ati_pciids_gen.h  |1 
 src/atombios_crtc.c   |9 
 src/bicubic_table.h   |  646 +
 src/bicubic_table.py  |   72 ++
 src/legacy_crtc.c |   26 
 src/legacy_output.c   |9 
 src/pcidb/ati_pciids.csv  |1 
 src/radeon.h  |  525 +
 src/radeon_accel.c|  265 +++-
 src/radeon_accelfuncs.c   |  348 +--
 src/radeon_atombios.c |   57 -
 src/radeon_bios.c |  320 --
 src/radeon_chipinfo_gen.h |1 
 src/radeon_chipset_gen.h  |1 
 src/radeon_common.h   |  496 
 src/radeon_commonfuncs.c  |   33 -
 src/radeon_crtc.c |  117 ---
 src/radeon_cursor.c   |   47 -
 src/radeon_dga.c  |   49 -
 src/radeon_dri.c  |  711 +++
 src/radeon_dripriv.h  |   63 --
 src/radeon_driver.c   |  364 ++--
 src/radeon_drm.h  |  755 
 src/radeon_exa.c  |  148 ++--
 src/radeon_exa_funcs.c|  104 +--
 src/radeon_exa_render.c   |  186 +++---
 src/radeon_memory.c   |  118 +++
 src/radeon_output.c   |  151 +---
 src/radeon_pci_chipset_gen.h  |1 
 src/radeon_pci_device_match_gen.h |1 
 src/radeon_probe.h|   12 
 src/radeon_reg.h  |   28 
 src/radeon_render.c   |   65 +-
 src/radeon_sarea.h|  231 ---
 src/radeon_textured_video.c   |  124 +++-
 src/radeon_textured_videofuncs.c  | 1150 --
 src/radeon_tv.c   |  170 -
 src/radeon_tv.h   |   19 
 src/radeon_video.c|  201 +-
 src/radeon_video.h|   25 
 41 files changed, 4582 insertions(+), 3071 deletions(-)

New commits:
commit a3cc1d7a421456186024c5c069e403d374a0f0b9
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Tue Aug 26 08:03:20 2008 +1000

radeon: fix powerpc build

diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index 3945300..0f86fdd 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -234,7 +234,7 @@ static Bool RADEONPrepareAccess(PixmapPtr pPix, int index)
 }
 #if defined(XF86DRI)
 if (info-directRenderingEnabled  info-allowColorTiling) {
-   drmRadeonSurfaceAlloc drmsurfalloc;
+   struct drm_radeon_surface_alloc drmsurfalloc;
int rc;
 
 drmsurfalloc.address = offset;
@@ -277,7 +277,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
 return;
 #if defined(XF86DRI)
 if (info-directRenderingEnabled  info-allowColorTiling) {
-   drmRadeonSurfaceFree drmsurffree;
+   struct drm_radeon_surface_free drmsurffree;
 
drmsurffree.address = offset;
drmCommandWrite(info-dri-drmFD, DRM_RADEON_SURF_FREE,

commit 6cebfe257f7ddad855ee743e4eb899bd6fac7f46
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Fri Jul 11 19:32:06 2008 -0400

Switch EXA path back to static cursor allocation

pre-AVIVO cards have address limits for the cursor offset

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 11fd498..22a33d6 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -335,21 +335,23 @@ Bool RADEONCursorInit(ScreenPtr pScreen)
 height  = ((size_bytes * xf86_config-num_crtc) + width_bytes - 1) / 
width_bytes;
 int align = IS_AVIVO_VARIANT ? 4096 : 256;
 
-for (c = 0; c  xf86_config-num_crtc; c++) {
-   xf86CrtcPtr crtc = xf86_config-crtc[c];
-   RADEONCrtcPrivatePtr radeon_crtc = crtc-driver_private;
-
-   radeon_crtc-cursor_offset =
-   radeon_allocate_memory(pScrn, radeon_crtc-cursor_mem, size_bytes, 
align);
-
-   if (radeon_crtc-cursor_offset == 0)
-   return FALSE;
-
-   xf86DrvMsg(pScrn-scrnIndex, X_INFO,
-  Will use %d kb for hardware cursor %d at offset 0x%08x\n,
-  (size_bytes * xf86_config-num_crtc) / 1024,
-  c,
-  (unsigned int)radeon_crtc-cursor_offset);
+if (!info-useEXA) {
+   for (c = 0; c  xf86_config-num_crtc; c++) {
+   xf86CrtcPtr crtc = xf86_config-crtc[c];
+   RADEONCrtcPrivatePtr radeon_crtc = crtc-driver_private;
+
+   radeon_crtc-cursor_offset =
+   radeon_allocate_memory(pScrn, radeon_crtc-cursor_mem, 
size_bytes, align);
+
+   if (radeon_crtc-cursor_offset == 0)
+   return FALSE;
+
+   xf86DrvMsg(pScrn-scrnIndex, X_INFO,
+  Will use %d kb for hardware cursor %d at offset 
0x%08x\n,
+  (size_bytes * xf86_config-num_crtc) / 1024,
+  c,
+  (unsigned int)radeon_crtc-cursor_offset);
+   }
 }
 
 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-08-02 Thread Brice Goglin
 configure.ac|   62 +-
 man/radeon.man  |   26 +-
 src/AtomBios/CD_Operations.c|   68 --
 src/AtomBios/Decoder.c  |  115 ++-
 src/AtomBios/hwserv_drv.c   |   14 -
 src/AtomBios/includes/CD_Common_Types.h |   12 +
 src/AtomBios/includes/CD_Definitions.h  |3 
 src/AtomBios/includes/CD_Structs.h  |   24 ++
 src/AtomBios/includes/Decoder.h |   24 ++
 src/AtomBios/includes/atombios.h|   62 ++
 src/Makefile.am |8 
 src/ati_pciids_gen.h|6 
 src/atombios_crtc.c |  202 +--
 src/atombios_output.c   |   30 +-
 src/legacy_crtc.c   |  289 +---
 src/legacy_output.c |   11 -
 src/pcidb/ati_pciids.csv|   10 
 src/radeon.h|   43 +++-
 src/radeon_accel.c  |   26 --
 src/radeon_accelfuncs.c |   40 +++
 src/radeon_atombios.c   |  327 +---
 src/radeon_atomwrapper.c|1 
 src/radeon_bios.c   |  115 +++
 src/radeon_chipinfo_gen.h   |   10 
 src/radeon_chipset_gen.h|6 
 src/radeon_commonfuncs.c|   14 -
 src/radeon_crtc.c   |  163 +++
 src/radeon_cursor.c |   16 -
 src/radeon_dri.c|   36 ++-
 src/radeon_dri.h|7 
 src/radeon_driver.c |  313 ++
 src/radeon_exa.c|8 
 src/radeon_exa_funcs.c  |   25 ++
 src/radeon_exa_render.c |   55 ++---
 src/radeon_output.c |   63 +-
 src/radeon_pci_chipset_gen.h|6 
 src/radeon_pci_device_match_gen.h   |6 
 src/radeon_probe.h  |3 
 src/radeon_reg.h|   71 +-
 src/radeon_textured_videofuncs.c|   45 +++-
 src/radeon_version.h|7 
 src/radeon_video.c  |   55 +++--
 42 files changed, 1680 insertions(+), 747 deletions(-)

New commits:
commit 1f3eee3682f3598a303c9c3accfbe01b245cacf9
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Tue Jul 29 20:29:32 2008 -0400

Change prim types for exa and textured video to help avoid tearing

- r1xx - switch from tri fan to rect list
- r2xx/r3xx/r4xx/r5xx - switch from tri fan to quad list

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 4736e4f..5d28d80 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -1962,9 +1962,9 @@ static void FUNC_NAME(RadeonCompositeTile)(PixmapPtr pDst,
 
 #ifdef ACCEL_CP
 if (info-ChipFamily  CHIP_FAMILY_R200) {
-   BEGIN_RING(4 * vtx_count + 3);
+   BEGIN_RING(3 * vtx_count + 3);
OUT_RING(CP_PACKET3(RADEON_CP_PACKET3_3D_DRAW_IMMD,
-   4 * vtx_count + 1));
+   3 * vtx_count + 1));
if (has_mask)
OUT_RING(RADEON_CP_VC_FRMT_XY |
 RADEON_CP_VC_FRMT_ST0 |
@@ -1972,11 +1972,11 @@ static void FUNC_NAME(RadeonCompositeTile)(PixmapPtr 
pDst,
else
OUT_RING(RADEON_CP_VC_FRMT_XY |
 RADEON_CP_VC_FRMT_ST0);
-   OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN |
+   OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST |
 RADEON_CP_VC_CNTL_PRIM_WALK_RING |
 RADEON_CP_VC_CNTL_MAOS_ENABLE |
 RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE |
-(4  RADEON_CP_VC_CNTL_NUM_SHIFT));
+(3  RADEON_CP_VC_CNTL_NUM_SHIFT));
 } else {
if (IS_R300_3D || IS_R500_3D)
BEGIN_RING(4 * vtx_count + 4);
@@ -1985,7 +1985,7 @@ static void FUNC_NAME(RadeonCompositeTile)(PixmapPtr pDst,
 
OUT_RING(CP_PACKET3(R200_CP_PACKET3_3D_DRAW_IMMD_2,
4 * vtx_count));
-   OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN |
+   OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_QUAD_LIST |
 RADEON_CP_VC_CNTL_PRIM_WALK_RING |
 (4  RADEON_CP_VC_CNTL_NUM_SHIFT));
 }
@@ -1993,25 +1993,29 @@ static void FUNC_NAME(RadeonCompositeTile)(PixmapPtr 
pDst,
 #else /* ACCEL_CP */
 if (IS_R300_3D || IS_R500_3D)
BEGIN_ACCEL(2 + vtx_count * 4);
+else if (info-ChipFamily  CHIP_FAMILY_R200)
+   BEGIN_ACCEL(1 + vtx_count * 3);
 else
BEGIN_ACCEL(1 + vtx_count * 4);
 
 if (info-ChipFamily  CHIP_FAMILY_R200) {
-   OUT_ACCEL_REG(RADEON_SE_VF_CNTL, (RADEON_VF_PRIM_TYPE_TRIANGLE_FAN |
+   OUT_ACCEL_REG(RADEON_SE_VF_CNTL, (RADEON_VF_PRIM_TYPE_RECTANGLE_LIST |
  RADEON_VF_PRIM_WALK_DATA |
  

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-05-28 Thread Brice Goglin
 configure.ac  |4 
 src/atombios_crtc.c   |   11 +-
 src/radeon_accel.c|   34 ++-
 src/radeon_atombios.c |   56 +---
 src/radeon_atombios.h |3 
 src/radeon_bios.c |  232 +-
 src/radeon_common.h   |2 
 src/radeon_driver.c   |   99 ++---
 src/radeon_reg.h  |   23 
 9 files changed, 351 insertions(+), 113 deletions(-)

New commits:
commit faea008806802ec0e045754ec1eca492ebae320e
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Tue May 27 18:36:01 2008 -0400

R3/4/5xx: use get_param to get the num_gb_pipes from the drm

diff --git a/src/radeon_accel.c b/src/radeon_accel.c
index 92777c6..778d43e 100644
--- a/src/radeon_accel.c
+++ b/src/radeon_accel.c
@@ -370,6 +370,27 @@ void RADEONEngineInit(ScrnInfoPtr pScrn)
   info-CurrentLayout.pixel_code,
   info-CurrentLayout.bitsPerPixel);
 
+#ifdef XF86DRI
+if (IS_R300_3D | IS_R500_3D) {
+   drmRadeonGetParam np;
+   int num_pipes;
+
+   memset(np, 0, sizeof(np));
+   np.param = RADEON_PARAM_NUM_GB_PIPES;
+   np.value = num_pipes;
+
+   if (drmCommandWriteRead(info-drmFD, DRM_RADEON_GETPARAM, np,
+   sizeof(np))  0) {
+   xf86DrvMsg(pScrn-scrnIndex, X_ERROR,
+  Failed to determine num pipes from DRM, falling back to 

+  manual look-up!\n);
+   info-num_gb_pipes = 0;
+   } else {
+   info-num_gb_pipes = num_pipes;
+   }
+}
+#endif
+
 if ((info-ChipFamily == CHIP_FAMILY_RV410) ||
(info-ChipFamily == CHIP_FAMILY_R420)  ||
(info-ChipFamily == CHIP_FAMILY_RS600) ||
@@ -378,14 +399,13 @@ void RADEONEngineInit(ScrnInfoPtr pScrn)
(info-ChipFamily == CHIP_FAMILY_RS400) ||
(info-ChipFamily == CHIP_FAMILY_RS480) ||
IS_R500_3D) {
-   uint32_t gb_pipe_sel = INREG(R400_GB_PIPE_SELECT);
if (info-num_gb_pipes == 0) {
+   uint32_t gb_pipe_sel = INREG(R400_GB_PIPE_SELECT);
+
info-num_gb_pipes = ((gb_pipe_sel  12)  0x3) + 1;
-   xf86DrvMsg(pScrn-scrnIndex, X_INFO,
-  %s: num pipes is %d\n, __FUNCTION__, 
info-num_gb_pipes);
+   if (IS_R500_3D)
+   OUTPLL(pScrn, R500_DYN_SCLK_PWMEM_PIPE, (1 | ((gb_pipe_sel  
8)  0xf)  4));
}
-   if (IS_R500_3D)
-   OUTPLL(pScrn, R500_DYN_SCLK_PWMEM_PIPE, (1 | ((gb_pipe_sel  8)  
0xf)  4));
 } else {
if (info-num_gb_pipes == 0) {
if ((info-ChipFamily == CHIP_FAMILY_R300) ||
@@ -399,6 +419,10 @@ void RADEONEngineInit(ScrnInfoPtr pScrn)
}
 }
 
+if (IS_R300_3D | IS_R500_3D)
+   xf86DrvMsg(pScrn-scrnIndex, X_INFO,
+  num pipes is %d\n, info-num_gb_pipes);
+
 if (IS_R300_3D | IS_R500_3D) {
uint32_t gb_tile_config = (R300_ENABLE_TILING | R300_TILE_SIZE_16 | 
R300_SUBPIXEL_1_16);
 
diff --git a/src/radeon_common.h b/src/radeon_common.h
index 467addf..193c1f9 100644
--- a/src/radeon_common.h
+++ b/src/radeon_common.h
@@ -422,6 +422,8 @@ typedef union {
 #define RADEON_PARAM_SCRATCH_OFFSET11
 #define RADEON_PARAM_CARD_TYPE 12
 #define RADEON_PARAM_VBLANK_CRTC   13   /* VBLANK CRTC */
+#define RADEON_PARAM_FB_LOCATION   14   /* FB location */
+#define RADEON_PARAM_NUM_GB_PIPES  15
 
 typedef struct drm_radeon_getparam {
int param;

commit 965a5dbcd9dc4bf1cdd7f2bbdec15e9733b2e090
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Tue May 27 16:48:41 2008 -0400

RADEON: improve support for secondary cards

this should fix bugs 16115, 16035

diff --git a/configure.ac b/configure.ac
index ab8bd97..a63f5e8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -183,6 +183,10 @@ AC_CHECK_DECL(xf86RotateFreeShadow,
#include windowstr.h
   #include xf86Crtc.h])
 
+AC_CHECK_DECL(pci_device_enable,
+ [AC_DEFINE(HAVE_PCI_DEVICE_ENABLE, 1, [Have pci_device_enable 
prototype])],
+ [],
+ [#include pciaccess.h])
 
 AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
  [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index db27362..5cc21d5 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -492,7 +492,7 @@ rhdAtomAllocateFbScratch(atomBiosHandlePtr handle,
 }
 
 # ifdef ATOM_BIOS_PARSER
-static Bool
+Bool
 rhdAtomASICInit(atomBiosHandlePtr handle)
 {
 ASIC_INIT_PS_ALLOCATION asicInit;
diff --git a/src/radeon_atombios.h b/src/radeon_atombios.h
index b4a19aa..fe7044d 100644
--- a/src/radeon_atombios.h
+++ b/src/radeon_atombios.h
@@ -131,6 +131,9 @@ atombios_external_tmds_setup(xf86OutputPtr output, 
DisplayModePtr mode);
 extern void
 atombios_get_command_table_version(atomBiosHandlePtr atomBIOS, int index, int 
*major, int *minor);
 
+Bool
+rhdAtomASICInit(atomBiosHandlePtr handle);
+
 # include 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-05-12 Thread Brice Goglin
 configure.ac|8 ++
 src/AtomBios/includes/CD_Common_Types.h |4 +
 src/atombios_crtc.c |2 
 src/atombios_output.c   |   94 
 src/legacy_output.c |4 -
 src/radeon_accel.c  |2 
 src/radeon_atombios.c   |   24 
 src/radeon_commonfuncs.c|   25 +---
 src/radeon_crtc.c   |   16 +
 src/radeon_cursor.c |   31 +-
 src/radeon_driver.c |   44 ++
 src/radeon_exa.c|4 -
 src/radeon_exa_funcs.c  |7 ++
 src/radeon_exa_render.c |   22 ---
 src/radeon_output.c |   53 ++
 src/radeon_probe.h  |4 +
 src/radeon_reg.h|   21 ++-
 src/radeon_textured_video.c |2 
 src/radeon_textured_videofuncs.c|2 
 src/radeon_video.c  |   17 -
 20 files changed, 286 insertions(+), 100 deletions(-)

New commits:
commit 94bf8f01bd43cb103fffecfe04d04a214f892baf
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Mon May 12 20:02:51 2008 +1000

radeon: fix set_cursor_colours remove fb offset

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 42f9a85..d68d64b 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -256,7 +256,7 @@ radeon_crtc_set_cursor_colors (xf86CrtcPtr crtc, int bg, 
int fg)
 ScrnInfoPtr pScrn = crtc-scrn;
 RADEONCrtcPrivatePtr radeon_crtc = crtc-driver_private;
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
-CARD32*pixels = (CARD32 *)(pointer)(info-FB + 
radeon_crtc-cursor_offset + pScrn-fbOffset);
+CARD32*pixels = (CARD32 *)(pointer)(info-FB + 
radeon_crtc-cursor_offset);
 intpixel, i;
 CURSOR_SWAPPING_DECL_MMIO
 

commit 1d0f1d31e2ed1d91ee87cb3e02ce48c8c07aa418
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Mon May 12 15:44:35 2008 +1000

radeon: rs485 vs rs485m.. mobile? non-mobile? bi?

So it appears we have in the wild two chipsets with the same PCI ID 
(0x1002:0x5974)
that are mobile and non-mobile.

the RH bug references is a desktop system.
The Dell Vostro 1100 also has this chipset with LVDS bits.

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 2701f57..2acc1e9 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1624,6 +1624,13 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
xf86DrvMsg(pScrn-scrnIndex, X_INFO, DELL server detected, force 
to special setup\n);
}
break;
+case PCI_CHIP_RS482_5974:
+   /* RH BZ 444586 - non mobility version
+* Dell appear to have the Vostro 1100 with a mobility part with the 
same pci-id */
+   if ((PCI_SUB_VENDOR_ID(info-PciInfo) == 0x1462) 
+(PCI_SUB_DEVICE_ID(info-PciInfo) == 0x7141)) {
+   info-IsMobility = FALSE;
+   }
 default:
break;
 }

commit 25e0c3945a51ae8c14b3a847ec75a256e1397f24
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Mon May 12 10:28:33 2008 +1000

radeon: add initial support for cloning outputs. (single-CRTC cards only)

airlied - This code was originally written by Alex, and I've modified it to
only run on single-CRTC cards for now until we can test it some more.

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 907d824..9b2494b 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -2676,10 +2676,48 @@ static RADEONMacModel RADEONDetectMacModel(ScrnInfoPtr 
pScrn)
 
 #endif /* __powerpc__ */
 
+static int
+radeon_output_clones (ScrnInfoPtr pScrn, xf86OutputPtr output)
+{
+RADEONOutputPrivatePtr radeon_output = output-driver_private;
+RADEONEntPtr pRADEONEnt = RADEONEntPriv(output-scrn);
+xf86CrtcConfigPtr  config = XF86_CRTC_CONFIG_PTR (pScrn);
+into;
+intindex_mask = 0;
+
+/*
+ * cards without a CRTC2 really need cloning enabled
+ * for cards with 2 CRTC this may need more testing
+ */
+if (pRADEONEnt-HasCRTC2)
+   return index_mask;
+
+/* LVDS is too wacky */
+if (radeon_output-type == OUTPUT_LVDS)
+   return index_mask;
+
+for (o = 0; o  config-num_output; o++) {
+   xf86OutputPtr clone = config-output[o];
+   RADEONOutputPrivatePtr radeon_clone = clone-driver_private;
+   if (output == clone) /* don't clone yourself */
+   continue;
+   else if (radeon_clone-type == OUTPUT_LVDS) /* LVDS */
+   continue;
+   else if ((radeon_output-DACType == DAC_TVDAC) 
+(radeon_clone-DACType == DAC_TVDAC)) /* shared tvdac */
+   continue;
+   else
+   index_mask |= (1  o);
+}
+
+return index_mask;
+}
+
 /*
  * initialise the static data sos we 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-04-20 Thread Brice Goglin
 src/AtomBios/includes/CD_Common_Types.h |4 
 src/atombios_crtc.c |   15 
 src/legacy_crtc.c   |   88 ++-
 src/legacy_output.c |   92 +++
 src/radeon.h|   30 -
 src/radeon_accel.c  |   84 ++-
 src/radeon_accelfuncs.c |7 
 src/radeon_atombios.c   |   78 ++
 src/radeon_atombios.h   |6 
 src/radeon_bios.c   |   73 +-
 src/radeon_commonfuncs.c|  445 +++-
 src/radeon_dri.h|2 
 src/radeon_driver.c |  172 +++---
 src/radeon_exa_funcs.c  |6 
 src/radeon_exa_render.c |  857 
 src/radeon_output.c |   12 
 src/radeon_probe.h  |   14 
 src/radeon_reg.h|   84 ++-
 src/radeon_textured_videofuncs.c|  319 +++
 src/radeon_video.c  |   13 
 20 files changed, 1535 insertions(+), 866 deletions(-)

New commits:
commit c5d62fa0e8f52c3264ff9db3ff10cdf5a806bfc0
Author: Owen Taylor [EMAIL PROTECTED]
Date:   Thu Apr 17 13:14:53 2008 +0200

Emulate repeats by drawing in tiles

When we can't turn on hardware repeats, because the texture
is non-power-of-two, or has padding at the ends of lines,
try to draw the image in multiple tiles rather than falling
back to software. (We can only do this when there is no
transform.)

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index e35cc17..138216f 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -59,6 +59,12 @@
 static Bool is_transform[2];
 static PictTransform *transform[2];
 static Bool has_mask;
+/* Whether we are tiling horizontally and vertically */
+static Bool need_src_tile_x;
+static Bool need_src_tile_y;
+/* Size of tiles ... set to 65536x65536 if not tiling in that direction */
+static Bool src_tile_width;
+static Bool src_tile_height;
 
 struct blendinfo {
 Bool dst_alpha;
@@ -222,6 +228,95 @@ union intfloat {
 CARD32 i;
 };
 
+/* Check if we need a software-fallback because of a repeating
+ *   non-power-of-two texture.
+ *
+ * canTile: whether we can emulate a repeat by drawing in tiles:
+ *   possible for the source, but not for the mask. (Actually
+ *   we could do tiling for the mask too, but dealing with the
+ *   combination of a tiled mask and a tiled source would be
+ *   a lot of complexity, so we handle only the most common
+ *   case of a repeating mask.)
+ */
+static Bool RADEONCheckTexturePOT(PicturePtr pPict, Bool canTile)
+{
+int w = pPict-pDrawable-width;
+int h = pPict-pDrawable-height;
+
+if (pPict-repeat  ((w  (w - 1)) != 0 || (h  (h - 1)) != 0) 
+   !(!pPict-transform  canTile))
+   RADEON_FALLBACK((NPOT repeating %s unsupported (%dx%d), 
transform=%d\n,
+canTile ? source : mask, w, h, pPict-transform != 
0));
+
+return TRUE;
+}
+
+/* Determine if the pitch of the pixmap meets the criteria for being
+ * used as a repeating texture: no padding or only a single line texture.
+ */
+static Bool RADEONPitchMatches(PixmapPtr pPix)
+{
+int w = pPix-drawable.width;
+int h = pPix-drawable.height;
+CARD32 txpitch = exaGetPixmapPitch(pPix);
+
+if (h  1  ((w * pPix-drawable.bitsPerPixel / 8 + 31)  ~31) != txpitch)
+   return FALSE;
+
+return TRUE;
+}
+
+/* We can't turn on repeats normally for a non-power-of-two dimension,
+ * but if the source isn't transformed, we can get the same effect
+ * by drawing the image in multiple tiles. (A common case that it's
+ * important to get right is drawing a strip of a NPOTxPOT texture
+ * repeating in the POT direction. With tiling, this ends up as a
+ * a single tile on R300 and newer, which is perfect.)
+ *
+ * canTile1d: On R300 and newer, we can repeat a texture that is NPOT in
+ *   one direction and POT in the other in the POT direction; on
+ *   older chips we can only repeat at all if the texture is POT in
+ *   both directions.
+ *
+ * needMatchingPitch: On R100/R200, we can only repeat horizontally if
+ *   there is no padding in the texture. Textures with small POT widths
+ *   (1,2,4,8) thus can't be tiled.
+ */
+static Bool RADEONSetupSourceTile(PicturePtr pPict,
+ PixmapPtr pPix,
+ Bool canTile1d,
+ Bool needMatchingPitch)
+{
+need_src_tile_x = need_src_tile_y = FALSE;
+src_tile_width = src_tile_height = 65536; /* infinite */
+   
+if (pPict-repeat) {
+   Bool badPitch = needMatchingPitch  !RADEONPitchMatches(pPix);
+   
+   int w = pPict-pDrawable-width;
+   int h = pPict-pDrawable-height;
+   
+   if (pPict-transform) {
+   if (badPitch)
+   RADEON_FALLBACK((Width %d and pitch %u not 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-03-20 Thread Brice Goglin
 src/ati.c |2 
 src/ati.h |2 
 src/ati_pciids_gen.h  |6 
 src/atimodule.c   |2 
 src/atombios_crtc.c   |   13 
 src/atombios_output.c |  101 ++-
 src/legacy_output.c   |2 
 src/pcidb/ati_pciids.csv  |8 
 src/radeon.h  |  380 +++--
 src/radeon_atombios.c |  725 +---
 src/radeon_atomwrapper.c  |2 
 src/radeon_chipinfo_gen.h |8 
 src/radeon_chipset_gen.h  |6 
 src/radeon_crtc.c |   11 
 src/radeon_cursor.c   |8 
 src/radeon_driver.c   |   80 --
 src/radeon_exa.c  |9 
 src/radeon_exa_funcs.c|4 
 src/radeon_exa_render.c   | 1103 +++---
 src/radeon_output.c   |  142 +++-
 src/radeon_pci_chipset_gen.h  |6 
 src/radeon_pci_device_match_gen.h |6 
 src/radeon_probe.h|6 
 src/radeon_reg.h  |  187 +-
 src/radeon_render.c   |9 
 src/radeon_textured_video.c   |   22 
 src/radeon_textured_videofuncs.c  |  100 ++-
 src/theatre_detect.c  |1 
 28 files changed, 1577 insertions(+), 1374 deletions(-)

New commits:
commit 5e3b21284482df9974c9a58f248f0100def2bb0c
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Mar 19 19:15:05 2008 -0400

Disable the setting of HARDWARE_CURSOR_BIT_ORDER_MSBFIRST

See bug 11796

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 0f7e668..de64dee 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -346,14 +346,6 @@ Bool RADEONCursorInit(ScreenPtr pScreen)
 
 return xf86_cursors_init (pScreen, CURSOR_WIDTH, CURSOR_HEIGHT,
  (HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
-#if X_BYTE_ORDER == X_BIG_ENDIAN
-/* this is a lie --
- * HARDWARE_CURSOR_BIT_ORDER_MSBFIRST
- * actually inverts the bit order, so
- * this switches to LSBFIRST
- */
-  HARDWARE_CURSOR_BIT_ORDER_MSBFIRST |
-#endif
   HARDWARE_CURSOR_AND_SOURCE_WITH_MASK |
   HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1 |
   HARDWARE_CURSOR_ARGB));

commit 17cd42ed31814ba329a6a68edd0d75390a7da40e
Author: Matt Turner [EMAIL PROTECTED]
Date:   Wed Mar 19 18:17:10 2008 -0400

Enable BSR in Log2 functions

This patch edits RADEONLog2 and ATILog2 to use the x86 BSR instruction 
instead
of looping through bits. It should provide a somewhat of a speed increase in
this function on x86 and AMD64 architectures.

Note: the BSR instruction was added with the 80386 CPU and is therefore not
compatible with earlier CPUs, though I highly doubt it's even possible to 
use a
286 in conjunction with a Radeon.

The inline assembly also works with Intel's compiler (icc).

diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index 4da4841..a6ededa 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -99,10 +99,17 @@ static __inline__ int
 RADEONLog2(int val)
 {
int bits;
-
+#if (defined __i386__ || defined __x86_64__)  (defined __GNUC__)
+   __asm volatile(bsrl%1, %0
+   : =r (bits)
+   : c (val)
+   );
+   return bits;
+#else
for (bits = 0; val != 0; val = 1, ++bits)
;
return bits - 1;
+#endif
 }
 
 static __inline__ CARD32 F_TO_DW(float val)
diff --git a/src/radeon_render.c b/src/radeon_render.c
index a80d136..950753c 100644
--- a/src/radeon_render.c
+++ b/src/radeon_render.c
@@ -250,10 +250,17 @@ static __inline__ int
 ATILog2(int val)
 {
int bits;
-
+#if (defined __i386__ || defined __x86_64__)  (defined __GNUC__)
+   __asm volatile(bsrl%1, %0
+   : =r (bits)
+   : c (val)
+   );
+   return bits;
+#else
for (bits = 0; val != 0; val = 1, ++bits)
;
return bits - 1;
+#endif
 }
 
 static void

commit c83827b4d2b6f03c54429e757a756eb99ff8be6b
Author: Paulo Cesar Pereira de Andrade [EMAIL PROTECTED]
Date:   Wed Mar 19 17:58:34 2008 -0400

[PATCH] Compile warning fixes.

  Minor changes to avoid declarations mixed with code.
  Ansified functions with empty prototype to specify they don't
receive arguments.
  Added some prototypes to radeon.h, and major reorder on radeon.h
adding prototypes in alphabetical order and specifying to file that
defines it.

diff --git a/src/ati.c b/src/ati.c
index b3f07ca..85da389 100644
--- a/src/ati.c
+++ b/src/ati.c
@@ -102,7 +102,7 @@ ati_device_get_from_busid(int bus, int dev, int func)
 }
 
 static struct pci_device*

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-03-10 Thread Brice Goglin
 configure.ac  |5 
 man/Makefile.am   |1 
 man/radeon.man|8 
 src/Makefile.am   |3 
 src/ati_pciids_gen.h  |   19 +
 src/atombios_crtc.c   |  173 +
 src/atombios_output.c |  333 --
 src/legacy_crtc.c |   19 -
 src/pcidb/ati_pciids.csv  |   31 +-
 src/radeon.h  |   12 
 src/radeon_atombios.c |   23 +
 src/radeon_bios.c |   27 ++
 src/radeon_chipinfo_gen.h |   19 +
 src/radeon_chipset_gen.h  |   31 +-
 src/radeon_commonfuncs.c  |   10 
 src/radeon_crtc.c |   53 +++-
 src/radeon_driver.c   |  479 --
 src/radeon_exa_funcs.c|2 
 src/radeon_exa_render.c   |8 
 src/radeon_pci_chipset_gen.h  |   19 +
 src/radeon_pci_device_match_gen.h |   19 +
 src/radeon_probe.c|2 
 src/radeon_probe.h|   28 +-
 src/radeon_textured_videofuncs.c  |8 
 src/theatre.c |   32 +-
 src/theatre.h |   70 ++---
 src/theatre200.c  |   28 +-
 src/theatre_detect.c  |2 
 src/theatre_detect.h  |4 
 29 files changed, 1134 insertions(+), 334 deletions(-)

New commits:
commit 38606b08b68842fbcc81c233009c1117269f3be9
Author: Matthieu Herrb [EMAIL PROTECTED]
Date:   Sat Mar 8 23:22:59 2008 +0100

Makefile.am: nuke RCS Id

diff --git a/man/Makefile.am b/man/Makefile.am
index 2d11006..93ff52c 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,3 @@
-# $Id$
 #
 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
 # 

commit 9d710ee1a44cf2f3a948fbdbe17ef09521cbe744
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Fri Mar 7 15:09:14 2008 -0500

AVIVO: clean up some unused variables

diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
index ad7fd54..7c628bf 100644
--- a/src/atombios_crtc.c
+++ b/src/atombios_crtc.c
@@ -401,27 +401,25 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
   adjusted_mode-CrtcHTotal, adjusted_mode-CrtcVTotal, 
adjusted_mode-Flags);
 
 if (IS_AVIVO_VARIANT) {
-   radeon_crtc-fb_width = mode-CrtcHDisplay;
-   radeon_crtc-fb_height = pScrn-virtualY;
-   radeon_crtc-fb_pitch = mode-CrtcHDisplay;
-   radeon_crtc-fb_length = radeon_crtc-fb_pitch * radeon_crtc-fb_height 
* 4;
+   CARD32 fb_format;
+
switch (crtc-scrn-bitsPerPixel) {
case 15:
-   radeon_crtc-fb_format = AVIVO_D1GRPH_CONTROL_DEPTH_16BPP | 
AVIVO_D1GRPH_CONTROL_16BPP_ARGB1555;
+   fb_format = AVIVO_D1GRPH_CONTROL_DEPTH_16BPP | 
AVIVO_D1GRPH_CONTROL_16BPP_ARGB1555;
break;
case 16:
-   radeon_crtc-fb_format = AVIVO_D1GRPH_CONTROL_DEPTH_16BPP | 
AVIVO_D1GRPH_CONTROL_16BPP_RGB565;
+   fb_format = AVIVO_D1GRPH_CONTROL_DEPTH_16BPP | 
AVIVO_D1GRPH_CONTROL_16BPP_RGB565;
break;
case 24:
case 32:
-   radeon_crtc-fb_format = AVIVO_D1GRPH_CONTROL_DEPTH_32BPP | 
AVIVO_D1GRPH_CONTROL_32BPP_ARGB;
+   fb_format = AVIVO_D1GRPH_CONTROL_DEPTH_32BPP | 
AVIVO_D1GRPH_CONTROL_32BPP_ARGB;
break;
default:
FatalError(Unsupported screen depth: %d\n, xf86GetDepth());
}
 
if (info-tilingEnabled  (crtc-rotatedData == NULL)) {
-   radeon_crtc-fb_format |= AVIVO_D1GRPH_MACRO_ADDRESS_MODE;
+   fb_format |= AVIVO_D1GRPH_MACRO_ADDRESS_MODE;
}
 
if (radeon_crtc-crtc_id == 0)
@@ -443,8 +441,7 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
 
OUTREG(AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS + radeon_crtc-crtc_offset, 
fb_location);
OUTREG(AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS + 
radeon_crtc-crtc_offset, fb_location);
-   OUTREG(AVIVO_D1GRPH_CONTROL + radeon_crtc-crtc_offset,
-  radeon_crtc-fb_format);
+   OUTREG(AVIVO_D1GRPH_CONTROL + radeon_crtc-crtc_offset, fb_format);
 
OUTREG(AVIVO_D1GRPH_SURFACE_OFFSET_X + radeon_crtc-crtc_offset, 0);
OUTREG(AVIVO_D1GRPH_SURFACE_OFFSET_Y + radeon_crtc-crtc_offset, 0);
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index 4ba6a32..ae24003 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -191,13 +191,6 @@ typedef struct _RADEONCrtcPrivateRec {
 CARD8 lut_r[256], lut_g[256], lut_b[256];
 
 uint32_t crtc_offset;
-int   h_total, h_blank, h_sync_wid, h_sync_pol;
-int   v_total, v_blank, v_sync_wid, v_sync_pol;
-int   fb_format, fb_length;
-int   fb_pitch, fb_width, fb_height;
-INT16 cursor_x;
-INT16 cursor_y;
-
 int can_tile;
 } RADEONCrtcPrivateRec, *RADEONCrtcPrivatePtr;
 

commit c28c30c9f3d7bfebfd56a5c982c96f0090982054
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Fri Mar 7 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-03-02 Thread Brice Goglin
 src/atombios_crtc.c   |3 
 src/atombios_output.c |4 -
 src/legacy_crtc.c |6 -
 src/radeon.h  |8 --
 src/radeon_atombios.c |4 -
 src/radeon_driver.c   |  194 +-
 6 files changed, 87 insertions(+), 132 deletions(-)

New commits:
commit a4398ac3ad77216f2c8aa628425bef5f2912a0a9
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sat Mar 1 18:52:26 2008 -0500

RS6xx: change isIGP checks to CHIP_FAMILY_RS690

these paths are only relevant on RS6xx chips

diff --git a/src/atombios_output.c b/src/atombios_output.c
index fb3cb3e..da3f533 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -393,7 +393,7 @@ dfp_disable_dither(xf86OutputPtr output, int device)
OUTREG(AVIVO_TMDSA_BIT_DEPTH_CONTROL, 0); /* TMDSA */
break;
 case ATOM_DEVICE_DFP2_SUPPORT:
-   if (info-IsIGP)
+   if (info-ChipFamily == CHIP_FAMILY_RS690)
OUTREG(AVIVO_DDIA_BIT_DEPTH_CONTROL, 0); /* DDIA */
else
OUTREG(AVIVO_DVOA_BIT_DEPTH_CONTROL, 0); /* DVO */
@@ -609,7 +609,7 @@ atombios_output_mode_set(xf86OutputPtr output,
atombios_output_tmds1_setup(output, adjusted_mode);
dfp_disable_dither(output, ATOM_DEVICE_DFP1_SUPPORT);
} else if (radeon_output-devices  ATOM_DEVICE_DFP2_SUPPORT) {
-   if (info-IsIGP)
+   if (info-ChipFamily == CHIP_FAMILY_RS690)
atombios_ddia_setup(output, adjusted_mode);
else
atombios_external_tmds_setup(output, adjusted_mode);
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index 351939e..1da5e5c 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1754,7 +1754,7 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable 
(ScrnInfoPtr pScrn)
(i == ATOM_DEVICE_TV2_INDEX) ||
(i == ATOM_DEVICE_CV_INDEX))
info-BiosConnector[i].ddc_i2c.valid = FALSE;
-   else if (info-IsIGP) {
+   else if (info-ChipFamily == CHIP_FAMILY_RS690) {
/* IGP DFP ports use non-standard gpio entries */
if ((i == ATOM_DEVICE_DFP2_INDEX) || (i == ATOM_DEVICE_DFP3_INDEX))
info-BiosConnector[i].ddc_i2c =
@@ -1769,7 +1769,7 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable 
(ScrnInfoPtr pScrn)
if (i == ATOM_DEVICE_DFP1_INDEX)
info-BiosConnector[i].TMDSType = TMDS_INT;
else if (i == ATOM_DEVICE_DFP2_INDEX) {
-   if (info-IsIGP)
+   if (info-ChipFamily == CHIP_FAMILY_RS690)
info-BiosConnector[i].TMDSType = TMDS_DDIA;
else
info-BiosConnector[i].TMDSType = TMDS_EXT;

commit 67d4d04836c05293b844bc505f303cfb04c0f8a4
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sat Mar 1 18:33:18 2008 -0500

RADEON: use xf86SetDesiredModes() in screeninit and enterVT

this should restore the proper output state on VT switches

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 853ec8c..e41906c 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -3031,9 +3031,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
 {
 ScrnInfoPtrpScrn = xf86Screens[pScreen-myNum];
 RADEONInfoPtr  info  = RADEONPTR(pScrn);
-xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
 inthasDRI = 0;
-int i;
 #ifdef RENDER
 intsubPixelOrder = SubPixelUnknown;
 char*  s;
@@ -3342,28 +3340,8 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
 /* xf86CrtcRotate() accesses pScrn-pScreen */
 pScrn-pScreen = pScreen;
 
-#if 1
-for (i = 0; i  xf86_config-num_crtc; i++) {
-   xf86CrtcPtr crtc = xf86_config-crtc[i];
-
-   /* Mark that we'll need to re-set the mode for sure */
-   memset(crtc-mode, 0, sizeof(crtc-mode));
-   if (!crtc-desiredMode.CrtcHDisplay) {
-   crtc-desiredMode = *RADEONCrtcFindClosestMode (crtc, 
pScrn-currentMode);
-   crtc-desiredRotation = RR_Rotate_0;
-   crtc-desiredX = 0;
-   crtc-desiredY = 0;
-   }
-
-   if (!xf86CrtcSetMode (crtc, crtc-desiredMode, crtc-desiredRotation, 
crtc-desiredX, crtc-desiredY))
-   return FALSE;
-
-}
-#else
-/* seems to do the wrong thing on some cards??? */
 if (!xf86SetDesiredModes (pScrn))
return FALSE;
-#endif
 
 RADEONSaveScreen(pScreen, SCREEN_SAVER_ON);
 
@@ -4967,8 +4945,6 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
 ScrnInfoPtrpScrn = xf86Screens[scrnIndex];
 RADEONInfoPtr  info  = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
-xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
-int i;
 
 xf86DrvMsgVerb(pScrn-scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
   RADEONEnterVT\n);
@@ -5021,22 +4997,8 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
 
 RADEONRestoreSurfaces(pScrn, info-ModeReg);
 
-for (i = 0; i  

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-03-01 Thread Brice Goglin
 Makefile.am   |   11 
 README.ati|  828 ---
 README.ati.sgml   |  648 -
 README.r128   |  160 -
 README.r128.sgml  |  138 -
 configure.ac  |   66 
 man/Makefile.am   |4 
 man/r128.man  |  156 -
 man/radeon.man|   26 
 src/AtomBios/includes/ObjectID.h  |   36 
 src/AtomBios/includes/atombios.h  |  254 +-
 src/Makefile.am   |   89 
 src/ati.c |  361 ---
 src/ati.h |4 
 src/ati_pciids_gen.h  |6 
 src/atiadjust.c   |  134 -
 src/atiadjust.h   |   31 
 src/atiaudio.c|   50 
 src/atiaudio.h|   51 
 src/atibank.c |  114 
 src/atibank.h |   44 
 src/atibus.c  |  123 -
 src/atibus.h  |   49 
 src/atichip.c |  271 --
 src/atichip.h |   94 
 src/aticlock.c|  442 ---
 src/aticlock.h|   62 
 src/aticonfig.c   |  527 
 src/aticonsole.c  |  816 --
 src/aticonsole.h  |   43 
 src/aticrtc.h |   42 
 src/aticursor.h   |   42 
 src/atidac.c  |  462 ---
 src/atidac.h  |   99 
 src/atidecoder.c  |   50 
 src/atidecoder.h  |   51 
 src/atidga.c  |  483 
 src/atidga.h  |   36 
 src/atidri.c  | 1640 -
 src/atidri.h  |   49 
 src/atidripriv.h  |   57 
 src/atidsp.c  |  302 --
 src/atidsp.h  |   35 
 src/atii2c.c  |  399 ---
 src/atii2c.h  |   48 
 src/atiload.c |   98 
 src/atiload.h |   32 
 src/atilock.c |  537 
 src/atilock.h |   31 
 src/atimach64.c   | 1341 ---
 src/atimach64.h   |   36 
 src/atimach64accel.c  | 1068 -
 src/atimach64accel.h  |   42 
 src/atimach64cursor.c |  426 ---
 src/atimach64exa.c|  696 -
 src/atimach64i2c.c|  469 ---
 src/atimach64i2c.h|   32 
 src/atimach64io.c |  103 
 src/atimach64io.h |  421 ---
 src/atimach64probe.c  |  234 -
 src/atimach64probe.h  |   32 
 src/atimach64render.c |  898 ---
 src/atimach64version.h|   59 
 src/atimach64xv.c | 1686 --
 src/atimisc.c |   82 
 src/atimode.c | 1084 -
 src/atimode.h |   35 
 src/atimodule.c   |6 
 src/atioption.h   |   98 
 src/atipciids.h   |7 
 src/atipcirename.h|3 
 src/atipreinit.c  | 2464 
 src/atipreinit.h  |   30 
 src/atiprint.c|  784 --
 src/atiprint.h|   34 
 src/atipriv.h |   30 
 src/atiprobe.c|  521 
 src/atiprobe.h|   30 
 src/atiregs.h | 2882 
 src/atirgb514.c   |  283 --
 src/atirgb514.h   |   35 
 src/atiscreen.c   |  692 -
 src/atiscreen.h   |   31 
 src/atistruct.h   |  529 
 src/atituner.c|  177 -
 src/atituner.h|   69 
 src/atiutil.c |  117 
 src/atiutil.h |   67 
 src/ativalid.c|  161 -
 src/ativalid.h|   30 
 src/ativga.c  |  195 -
 src/ativga.h  |   40 
 src/ativgaio.c|   49 
 src/ativgaio.h|   56 
 src/atividmem.c   |  483 
 src/atividmem.h   |   73 
 src/atiwonder.c   |  159 -
 src/atiwonder.h   |   38 
 src/atiwonderio.c |   66 
 src/atiwonderio.h |   46 
 src/atixv.h   |   34 
 src/atombios_output.c |  120 -
 src/legacy_crtc.c |   28 
 src/legacy_output.c   |   92 
 src/mach64_common.h   |  130 -
 src/mach64_dri.h  |  125 -
 src/mach64_sarea.h|  162 -
 src/pcidb/ati_pciids.csv  |6 
 src/pcidb/parse_pci_ids.pl|8 
 src/r128.h|  606 -
 src/r128_accel.c  | 1880 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-02-03 Thread Brice Goglin
 man/radeon.man   |4 
 src/ati.c|   39 
 src/ati.h|2 
 src/ati_pciids_gen.h |1 
 src/aticlock.c   |   10 +
 src/aticonsole.c |6 
 src/atimach64probe.h |2 
 src/atimach64xv.c|5 
 src/atimisc.c|6 
 src/atimodule.c  |2 
 src/atiprobe.c   |   14 -
 src/atombios_crtc.c  |   28 +-
 src/atombios_output.c|   27 +-
 src/legacy_crtc.c|   26 --
 src/legacy_output.c  |  228 ++-
 src/pcidb/ati_pciids.csv |1 
 src/r128_misc.c  |5 
 src/r128_probe.h |2 
 src/radeon.h |4 
 src/radeon_atombios.c|   66 +++---
 src/radeon_bios.c|  149 +++
 src/radeon_chipinfo_gen.h|1 
 src/radeon_chipset_gen.h |1 
 src/radeon_dri.c |   15 +
 src/radeon_driver.c  |   14 +
 src/radeon_exa_funcs.c   |7 
 src/radeon_misc.c|5 
 src/radeon_modes.c   |   20 +-
 src/radeon_output.c  |  409 ---
 src/radeon_pci_chipset_gen.h |1 
 src/radeon_probe.h   |   33 ++-
 src/radeon_reg.h |7 
 src/radeon_tv.c  |   12 -
 src/radeon_video.c   |8 
 34 files changed, 682 insertions(+), 478 deletions(-)

New commits:
commit f65e8dfac23adfa199026765fe3a1ea08cf4da67
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Feb 3 00:09:59 2008 -0500

RADEON: rework i2c handling

Split out clk, data, and lock regs and masks.  some cards use different
regs and masks for each.  For cards with ATOMBIOS, use the i2c bios
table to grab the i2c data.

diff --git a/src/legacy_output.c b/src/legacy_output.c
index 8ae21b9..7ade772 100644
--- a/src/legacy_output.c
+++ b/src/legacy_output.c
@@ -284,7 +284,8 @@ RADEONRestoreDVOChip(ScrnInfoPtr pScrn, xf86OutputPtr 
output)
 if (!radeon_output-DVOChip)
return;
 
-OUTREG(radeon_output-dvo_i2c_reg, INREG(radeon_output-dvo_i2c_reg) 
+OUTREG(radeon_output-dvo_i2c.mask_clk_reg,
+  INREG(radeon_output-dvo_i2c.mask_clk_reg) 
   (CARD32)~(RADEON_GPIO_A_0 | RADEON_GPIO_A_1));
 
 if (!RADEONInitExtTMDSInfoFromBIOS(output)) {
diff --git a/src/radeon.h b/src/radeon.h
index d538196..ec952b5 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -870,6 +870,9 @@ RADEONGetExtTMDSInfoFromBIOS (xf86OutputPtr output);
 extern Bool
 RADEONInitExtTMDSInfoFromBIOS (xf86OutputPtr output);
 
+extern RADEONI2CBusRec
+legacy_setup_i2c_bus(int ddc_line);
+
 extern void
 radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y);
 extern void
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index b956b9a..e8f9e91 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1401,10 +1401,10 @@ const int object_connector_convert[] =
   CONNECTOR_NONE,
   CONNECTOR_NONE,
 };
- 
+
 static void
 rhdAtomParseI2CRecord(atomBiosHandlePtr handle,
-   ATOM_I2C_RECORD *Record, CARD32 *ddc_line)
+   ATOM_I2C_RECORD *Record, int *line)
 {
 ErrorF( %s:  I2C Record: %s[%x] EngineID: %x I2CAddr: %x\n,
 __func__,
@@ -1414,53 +1414,52 @@ rhdAtomParseI2CRecord(atomBiosHandlePtr handle,
 Record-ucI2CAddr);
 
 if (!*(unsigned char *)(Record-sucI2cId))
-   *ddc_line = 0;
+   *line = 0;
 else {
 
if (Record-ucI2CAddr != 0)
return;
-
-   if (Record-sucI2cId.bfHW_Capable) {
-   switch(Record-sucI2cId.bfI2C_LineMux) {
-   case 0: *ddc_line = 0x7e40; break;
-   case 1: *ddc_line = 0x7e50; break;
-   case 2: *ddc_line = 0x7e30; break;
-   default: break;
-   }
-   return;
-   
-   } else {
-   /* add GPIO pin parsing */
-   }
+   *line = Record-sucI2cId.bfI2C_LineMux;
+   return;
 }
 }
 
-static CARD32
+static RADEONI2CBusRec
 RADEONLookupGPIOLineForDDC(ScrnInfoPtr pScrn, CARD8 id)
 {
 RADEONInfoPtr info = RADEONPTR (pScrn);
 atomDataTablesPtr atomDataPtr;
 ATOM_GPIO_I2C_ASSIGMENT gpio;
-CARD32 ret = 0;
+RADEONI2CBusRec i2c;
 CARD8 crev, frev;
 
+i2c.valid = FALSE;
+
 atomDataPtr = info-atomBIOS-atomDataPtr;
 
 if (!rhdAtomGetTableRevisionAndSize(
(atomDataPtr-GPIO_I2C_Info-sHeader),
crev,frev,NULL)) {
xf86DrvMsg(pScrn-scrnIndex, X_WARNING, No GPIO Info Table found!\n);
-   return ret;
+   return i2c;
 }
 
-/* note clk and data regs can be different!
- * gpio.usClkMaskRegisterIndex and gpio.usDataMaskRegisterIndex
- */
-
 gpio = atomDataPtr-GPIO_I2C_Info-asGPIO_Info[id];
-ret = gpio.usClkMaskRegisterIndex * 4;
-
-return ret;
+i2c.mask_clk_reg = gpio.usClkMaskRegisterIndex * 4;
+i2c.mask_data_reg = 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-01-17 Thread Brice Goglin
 configure.ac |2 
 man/ati.man  |2 
 src/Makefile.am  |   13 
 src/ati.c|  689 ---
 src/ati.h|   74 -
 src/atibus.c |1 
 src/atichip.c|4 
 src/atichip.h|   30 ++
 src/aticonsole.c |9 
 src/atidri.c |8 
 src/atii2c.c |3 
 src/atiload.c|  173 ---
 src/atiload.h|   37 --
 src/atimach64probe.c |   58 +++
 src/atimach64probe.h |6 
 src/atimach64version.h   |   59 
 src/atimisc.c|   87 -
 src/atimode.c|9 
 src/atimodule.c  |   35 --
 src/atimodule.h  |   30 --
 src/atipreinit.c |6 
 src/atiprobe.c   |   24 -
 src/atombios_output.c|   78 +++--
 src/r128.h   |6 
 src/r128_cursor.c|2 
 src/r128_dri.c   |   16 -
 src/r128_driver.c|  275 --
 src/r128_misc.c  |6 
 src/r128_probe.c |   17 -
 src/r128_probe.h |5 
 src/r128_video.c |8 
 src/radeon.h |2 
 src/radeon_accelfuncs.c  |   10 
 src/radeon_atombios.c|8 
 src/radeon_bios.c|  115 ---
 src/radeon_commonfuncs.c |  136 +
 src/radeon_crtc.c|2 
 src/radeon_driver.c  |  216 --
 src/radeon_exa.c |   17 +
 src/radeon_exa_funcs.c   |   15 -
 src/radeon_exa_render.c  |  404 ++-
 src/radeon_misc.c|6 
 src/radeon_mm_i2c.c  |   14 
 src/radeon_output.c  |   42 +-
 src/radeon_probe.c   |   17 -
 src/radeon_probe.h   |   21 -
 src/radeon_reg.h |  203 +
 src/radeon_video.c   |3 
 src/theatre.h|   38 --
 src/theatre_detect.h |   11 
 50 files changed, 1331 insertions(+), 1721 deletions(-)

New commits:
commit 6bd510a211f25d52e74791e4a429cd2218ced541
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Jan 16 18:09:49 2008 -0500

RADEON: add a message about render accel on newer cards

diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
index f62a020..d0c0065 100644
--- a/src/radeon_exa_funcs.c
+++ b/src/radeon_exa_funcs.c
@@ -533,7 +533,10 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
 
 #ifdef RENDER
 if (info-RenderAccel) {
-   if (IS_R300_VARIANT  !info-IsIGP) {
+   if (info-ChipFamily = CHIP_FAMILY_RV515)
+   xf86DrvMsg(pScrn-scrnIndex, X_INFO, Render acceleration 
+  unsupported on R500 and newer cards.\n);
+   else if (IS_R300_VARIANT  !info-IsIGP) {
xf86DrvMsg(pScrn-scrnIndex, X_INFO, Render acceleration 
   enabled for R300 type cards.\n);
info-exa-CheckComposite = R300CheckComposite;

commit 85bf3439fe2579aec48f5cd8d65a9d51b1ae8535
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Jan 16 17:52:06 2008 -0500

R300: only init3d on r3xx

diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c
index 23a849b..53bbce9 100644
--- a/src/radeon_commonfuncs.c
+++ b/src/radeon_commonfuncs.c
@@ -57,7 +57,7 @@ static void FUNC_NAME(RADEONInit3DEngine)(ScrnInfoPtr pScrn)
 
 info-texW[0] = info-texH[0] = info-texW[1] = info-texH[1] = 1;
 
-if (info-ChipFamily = CHIP_FAMILY_R300) {
+if (IS_R300_VARIANT) {
BEGIN_ACCEL(3);
OUT_ACCEL_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0xA);
OUT_ACCEL_REG(R300_RB3D_ZCACHE_CTLSTAT, 0x3);

commit dbb2ca471dfbff245b30c5055871dee0dc0e3d15
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Jan 16 17:10:02 2008 -0500

R300: only enable render accel on non-IGP r3xx/r4xx chips for now

diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
index b27a266..f62a020 100644
--- a/src/radeon_exa_funcs.c
+++ b/src/radeon_exa_funcs.c
@@ -533,7 +533,7 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
 
 #ifdef RENDER
 if (info-RenderAccel) {
-   if (info-ChipFamily = CHIP_FAMILY_R300) {
+   if (IS_R300_VARIANT  !info-IsIGP) {
xf86DrvMsg(pScrn-scrnIndex, X_INFO, Render acceleration 
   enabled for R300 type cards.\n);
info-exa-CheckComposite = R300CheckComposite;

commit 3c72b100bcfacee600644669b586e86cfd32754e
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Jan 16 16:55:42 2008 -0500

R300: First pass at render accel

This first pass is pretty limited.  All it currently supports
is transforms for rotation.  No blending yet.

Based on inital implementation from Wolke Liu with
additional lock-up fixes by Dave Airlie.

diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c
index a1802f8..23a849b 100644
--- a/src/radeon_commonfuncs.c
+++ b/src/radeon_commonfuncs.c
@@ -58,7 +58,139 @@ static void FUNC_NAME(RADEONInit3DEngine)(ScrnInfoPtr pScrn)
 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-01-09 Thread Brice Goglin
 man/r128.man   |2 
 man/radeon.man |   14 +-
 src/AtomBios/Decoder.c |2 
 src/Makefile.am|2 
 src/atombios_crtc.c|   34 -
 src/atombios_output.c  |   66 +++
 src/legacy_output.c|   19 ++-
 src/r128_driver.c  |6 -
 src/radeon.h   |2 
 src/radeon_atombios.c  |  189 ++---
 src/radeon_atombios.h  |5 
 src/radeon_bios.c  |1 
 src/radeon_crtc.c  |5 
 src/radeon_driver.c|   43 +--
 src/radeon_modes.c |   69 +++-
 src/radeon_output.c|  278 +
 src/radeon_probe.h |2 
 src/radeon_tv.c|2 
 18 files changed, 542 insertions(+), 199 deletions(-)

New commits:
commit 10e7636c02478b8ffe183bb0c46229ca0d6584e1
Author: Kristian Høgsberg [EMAIL PROTECTED]
Date:   Wed Jan 9 12:47:39 2008 -0500

RADEON: fix crtc routing on r4xx cards when using atom to init DVO chip

diff --git a/src/legacy_output.c b/src/legacy_output.c
index 595b243..45706b9 100644
--- a/src/legacy_output.c
+++ b/src/legacy_output.c
@@ -1230,11 +1230,24 @@ legacy_output_mode_set(xf86OutputPtr output, 
DisplayModePtr mode,
RADEONRestoreFPRegisters(pScrn, info-ModeReg);
} else {
ErrorF(restore FP2\n);
-   RADEONRestoreFP2Registers(pScrn, info-ModeReg);
-   if (info-IsAtomBios)
+   if (info-IsAtomBios) {
+   unsigned char *RADEONMMIO = info-MMIO;
+   CARD32 fp2_gen_cntl;
+
atombios_external_tmds_setup(output, mode);
-   else
+   /* r4xx atom seems to have hard coded crtc mappings in the atom 
code
+* Fix it up here.
+*/
+   fp2_gen_cntl = INREG(RADEON_FP2_GEN_CNTL)  
~R200_FP2_SOURCE_SEL_MASK;
+   if (radeon_crtc-crtc_id == 1)
+   fp2_gen_cntl |= R200_FP2_SOURCE_SEL_CRTC2;
+   else
+   fp2_gen_cntl |= R200_FP2_SOURCE_SEL_CRTC1;
+   OUTREG(RADEON_FP2_GEN_CNTL, fp2_gen_cntl);
+   } else {
RADEONRestoreDVOChip(pScrn, output);
+   RADEONRestoreFP2Registers(pScrn, info-ModeReg);
+   }
}
break;
 case MT_STV:

commit 3af671f5963810dbfd63abc9889b1d46b68f404c
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Jan 9 11:30:25 2008 -0500

RADEON: restore FP2 regs before external encoders

This may fix krh's dvi problem

diff --git a/src/legacy_output.c b/src/legacy_output.c
index 4b7fded..595b243 100644
--- a/src/legacy_output.c
+++ b/src/legacy_output.c
@@ -1230,11 +1230,11 @@ legacy_output_mode_set(xf86OutputPtr output, 
DisplayModePtr mode,
RADEONRestoreFPRegisters(pScrn, info-ModeReg);
} else {
ErrorF(restore FP2\n);
+   RADEONRestoreFP2Registers(pScrn, info-ModeReg);
if (info-IsAtomBios)
atombios_external_tmds_setup(output, mode);
else
RADEONRestoreDVOChip(pScrn, output);
-   RADEONRestoreFP2Registers(pScrn, info-ModeReg);
}
break;
 case MT_STV:

commit 2a54c6bb09ade2ec8f998dfc1624017029d47fa3
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Tue Jan 8 18:43:54 2008 -0500

RADEON: Make default output actually work...

diff --git a/src/radeon.h b/src/radeon.h
index d16a234..bddbc7b 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -727,6 +727,8 @@ typedef struct {
 void (*PointerMoved)(int, int, int);
 CreateScreenResourcesProcPtr CreateScreenResources;
 
+/* if no devices are connected at server startup */
+Bool  first_load_no_devices;
 
 Bool  IsSecondary;
 Bool  IsPrimary;
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index d10d81b..07f96a7 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2678,6 +2678,7 @@ static Bool RADEONPreInitControllers(ScrnInfoPtr pScrn)
   
 RADEONPrintPortMap(pScrn);
 
+info-first_load_no_devices = FALSE;
 for (i = 0; i  config-num_output; i++) {
xf86OutputPtr output = config-output[i];
   
@@ -2694,32 +2695,7 @@ static Bool RADEONPreInitControllers(ScrnInfoPtr pScrn)
 if (!found) {
/* nothing connected, light up some defaults so the server comes up */
xf86DrvMsg(pScrn-scrnIndex, X_ERROR, No connected devices found!\n);
-   for (i = 0; i  config-num_output; i++) {
-   xf86OutputPtr output = config-output[i];
-   RADEONOutputPrivatePtr radeon_output = output-driver_private;
-
-   if (info-IsMobility) {
-   if (radeon_output-type == OUTPUT_LVDS) {
-   radeon_output-MonType = MT_LCD;
-   output-status = XF86OutputStatusConnected;
-   xf86DrvMsg(pScrn-scrnIndex, X_ERROR, Using LVDS 
default\n);
-   break;
-   }
-   } else {
-   

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-01-02 Thread Brice Goglin
 src/pcidb/ati_pciids.csv  |   28 ++--
 src/radeon_chipinfo_gen.h |   28 ++--
 src/radeon_crtc.c |2 ++
 src/radeon_output.c   |1 +
 4 files changed, 31 insertions(+), 28 deletions(-)

New commits:
commit 30cab1dbebb7bdb925f2fe9f91b84183312bbbfd
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Jan 2 15:41:01 2008 -0500

RADEON: Make sure all old IGP chips have HasSingleDac set

fix the csv file and re-gen the headers.

diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index a62e8a5..b297a6d 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -4,8 +4,8 @@
 0x3154,RV380_3154,RV380,1,ATI FireGL M24 GL 3154 (PCIE)
 0x3E50,RV380_3E50,RV380,,ATI Radeon X600 (RV380) 3E50 (PCIE)
 0x3E54,RV380_3E54,RV380,,ATI FireGL V3200 (RV380) 3E54 (PCIE)
-0x4136,RS100_4136,RS100,,1ATI Radeon IGP320 (A3) 4136
-0x4137,RS200_4137,RS200,,1ATI Radeon IGP330/340/350 (A4) 4137
+0x4136,RS100_4136,RS100,,1,,,1,ATI Radeon IGP320 (A3) 4136
+0x4137,RS200_4137,RS200,,1,,,1,ATI Radeon IGP330/340/350 (A4) 4137
 0x4144,R300_AD,R300,,ATI Radeon 9500 AD (AGP)
 0x4145,R300_AE,R300,,ATI Radeon 9500 AE (AGP)
 0x4146,R300_AF,R300,,ATI Radeon 9600TX AF (AGP)
@@ -22,14 +22,14 @@
 0x4155,RV350_4155,RV350,,ATI Radeon 9650
 0x4156,RV350_AV,RV350,,ATI FireGL RV360 AV (AGP)
 0x4158,MACH32,MACH32,,
-0x4237,RS250_4237,RS200,,1ATI Radeon 7000 IGP (A4+) 4237
+0x4237,RS250_4237,RS200,,1,,,1,ATI Radeon 7000 IGP (A4+) 4237
 0x4242,R200_BB,R2001,,ATI Radeon 8500 AIW BB (AGP)
 0x4243,R200_BC,R2001,,ATI Radeon 8500 AIW BC (AGP)
-0x4336,RS100_4336,RS100,1,1ATI Radeon IGP320M (U1) 4336
-0x4337,RS200_4337,RS200,1,1ATI Radeon IGP330M/340M/350M (U2) 4337
+0x4336,RS100_4336,RS100,1,1,,,1,ATI Radeon IGP320M (U1) 4336
+0x4337,RS200_4337,RS200,1,1,,,1,ATI Radeon IGP330M/340M/350M (U2) 4337
 0x4354,MACH64CT,MACH64,,
 0x4358,MACH64CX,MACH64,,
-0x4437,RS250_4437,RS200,1,1ATI Radeon Mobility 7000 IGP 4437
+0x4437,RS250_4437,RS200,1,1,,,1,ATI Radeon Mobility 7000 IGP 4437
 0x4554,MACH64ET,MACH64,,
 0x4742,MACH64GB,MACH64,,
 0x4744,MACH64GD,MACH64,,
@@ -311,14 +311,14 @@
 0x7291,RV560_7291,RV560,,ATI Radeon X1650
 0x7293,RV560_7293,RV560,,ATI Radeon X1650
 0x7297,RV560_7297,RV560,,ATI RV560
-0x7834,RS350_7834,RS300,,1ATI Radeon 9100 PRO IGP 7834
-0x7835,RS350_7835,RS300,1,1ATI Radeon Mobility 9200 IGP 7835
-0x791E,RS690_791E,RS690,,1ATI Radeon X1200
-0x791F,RS690_791F,RS690,,1ATI Radeon X1200
-0x796C,RS740_796C,RS740,,1ATI RS740
-0x796D,RS740_796D,RS740,,1ATI RS740M
-0x796E,RS740_796E,RS740,,1ATI RS740
-0x796F,RS740_796F,RS740,,1ATI RS740M
+0x7834,RS350_7834,RS300,,1,,,1,ATI Radeon 9100 PRO IGP 7834
+0x7835,RS350_7835,RS300,1,1,,,1,ATI Radeon Mobility 9200 IGP 7835
+0x791E,RS690_791E,RS690,,1,,,1,ATI Radeon X1200
+0x791F,RS690_791F,RS690,,1,,,1,ATI Radeon X1200
+0x796C,RS740_796C,RS740,,1,,,1,ATI RS740
+0x796D,RS740_796D,RS740,,1,,,1,ATI RS740M
+0x796E,RS740_796E,RS740,,1,,,1,ATI RS740
+0x796F,RS740_796F,RS740,,1,,,1,ATI RS740M
 0x9400,R600_9400,R600,,ATI Radeon HD 2900 XT
 0x9401,R600_9401,R600,,ATI Radeon HD 2900 XT
 0x9402,R600_9402,R600,,ATI Radeon HD 2900 XT
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index cf70557..2d92ac5 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -5,8 +5,8 @@ RADEONCardInfo RADEONCards[] = {
  { 0x3154, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
  { 0x3E50, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
  { 0x3E54, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
- { 0x4136, CHIP_FAMILY_RS100, 0, 1, 0, 0, 0 },
- { 0x4137, CHIP_FAMILY_RS200, 0, 1, 0, 0, 0 },
+ { 0x4136, CHIP_FAMILY_RS100, 0, 1, 0, 0, 1 },
+ { 0x4137, CHIP_FAMILY_RS200, 0, 1, 0, 0, 1 },
  { 0x4144, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
  { 0x4145, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
  { 0x4146, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
@@ -22,12 +22,12 @@ RADEONCardInfo RADEONCards[] = {
  { 0x4154, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
  { 0x4155, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
  { 0x4156, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
- { 0x4237, CHIP_FAMILY_RS200, 0, 1, 0, 0, 0 },
+ { 0x4237, CHIP_FAMILY_RS200, 0, 1, 0, 0, 1 },
  { 0x4242, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
  { 0x4243, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
- { 0x4336, CHIP_FAMILY_RS100, 1, 1, 0, 0, 0 },
- { 0x4337, CHIP_FAMILY_RS200, 1, 1, 0, 0, 0 },
- { 0x4437, CHIP_FAMILY_RS200, 1, 1, 0, 0, 0 },
+ { 0x4336, CHIP_FAMILY_RS100, 1, 1, 0, 0, 1 },
+ { 0x4337, CHIP_FAMILY_RS200, 1, 1, 0, 0, 1 },
+ { 0x4437, CHIP_FAMILY_RS200, 1, 1, 0, 0, 1 },
  { 0x4966, CHIP_FAMILY_RV250, 0, 0, 0, 0, 0 },
  { 0x4967, CHIP_FAMILY_RV250, 0, 0, 0, 0, 0 },
  { 0x4A48, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
@@ -230,14 +230,14 @@ RADEONCardInfo RADEONCards[] = {
  { 0x7291, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
  { 0x7293, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
  { 0x7297, CHIP_FAMILY_RV560, 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2008-01-01 Thread Brice Goglin
 man/radeon.man   |4 -
 src/AtomBios/includes/atombios.h |2 
 src/atombios_crtc.c  |   59 +-
 src/atombios_output.c|3 +
 src/legacy_output.c  |8 +--
 src/radeon_atombios.c|  101 +++
 src/radeon_atombios.h|6 ++
 src/radeon_bios.c|2 
 src/radeon_driver.c  |   65 +
 src/radeon_output.c  |4 -
 src/radeon_reg.h |   13 -
 src/radeon_tv.c  |4 -
 12 files changed, 223 insertions(+), 48 deletions(-)

New commits:
commit f65374f5e15bfd391a1838a686cd87d3bab8043d
Author: Maciej Cencora [EMAIL PROTECTED]
Date:   Mon Dec 31 09:44:34 2007 +1000

atombios: initial rs690 patches

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 6e10282..d68b18f 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -784,7 +784,11 @@ unsigned RADEONINMC(ScrnInfoPtr pScrn, int addr)
 unsigned char *RADEONMMIO = info-MMIO;
 CARD32 data;
 
-if (IS_AVIVO_VARIANT) {
+if (info-ChipFamily == CHIP_FAMILY_RS690)
+{
+OUTREG(RS690_MC_INDEX, (addr  RS690_MC_INDEX_MASK));
+data = INREG(RS690_MC_DATA);
+} else if (IS_AVIVO_VARIANT) {
OUTREG(AVIVO_MC_INDEX, (addr  0xff) | 0x7f);
(void)INREG(AVIVO_MC_INDEX);
data = INREG(AVIVO_MC_DATA);
@@ -809,7 +813,13 @@ void RADEONOUTMC(ScrnInfoPtr pScrn, int addr, CARD32 data)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
-if (IS_AVIVO_VARIANT) {
+if (info-ChipFamily == CHIP_FAMILY_RS690)
+{
+OUTREG(RS690_MC_INDEX, ((addr  RS690_MC_INDEX_MASK) |
+RS690_MC_INDEX_WR_EN));
+OUTREG(RS690_MC_DATA, data);
+OUTREG(RS690_MC_INDEX, RS690_MC_INDEX_WR_ACK);
+} else if (IS_AVIVO_VARIANT) {
OUTREG(AVIVO_MC_INDEX, (addr  0xff) | 0xff);
(void)INREG(AVIVO_MC_INDEX);
OUTREG(AVIVO_MC_DATA, data);
@@ -865,6 +875,11 @@ void radeon_write_mc_fb_agp_location(ScrnInfoPtr pScrn, 
int mask, CARD32 fb_loc,
if (mask  LOC_AGP)
OUTMC(pScrn, RV515_MC_AGP_LOCATION, agp_loc);
(void)INMC(pScrn, RV515_MC_AGP_LOCATION);
+} else if (info-ChipFamily == CHIP_FAMILY_RS690) {
+   if (mask  LOC_FB)
+   OUTMC(pScrn, RS690_MC_FB_LOCATION, fb_loc);
+   if (mask  LOC_AGP)
+   OUTMC(pScrn, RS690_MC_AGP_LOCATION, agp_loc);
 } else if (info-ChipFamily = CHIP_FAMILY_R520) { 
if (mask  LOC_FB)
OUTMC(pScrn, R520_MC_FB_LOCATION, fb_loc);
@@ -898,6 +913,13 @@ void radeon_read_mc_fb_agp_location(ScrnInfoPtr pScrn, int 
mask, CARD32 *fb_loc,
*agp_loc = INMC(pScrn, RV515_MC_AGP_LOCATION);
*agp_loc_hi = 0;
}
+} else if (info-ChipFamily == CHIP_FAMILY_RS690) {
+   if (mask  LOC_FB)
+   *fb_loc = INMC(pScrn, RS690_MC_FB_LOCATION);
+   if (mask  LOC_AGP) {
+   *agp_loc = INMC(pScrn, RS690_MC_AGP_LOCATION);
+   *agp_loc_hi = 0;
+   }
 } else if (info-ChipFamily = CHIP_FAMILY_R520) {
if (mask  LOC_FB)
*fb_loc = INMC(pScrn, R520_MC_FB_LOCATION);
@@ -1416,7 +1438,7 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
 }
 
 if (mem_size == 0)
-   mem_size = 0x80;
+   mem_size = 0x80;
 
 /* Fix for RN50, M6, M7 with 8/16/32(??) MBs of VRAM - 
Novell bug 204882 + along with lots of ubuntu ones */
@@ -1431,7 +1453,7 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
 }
 #endif
 
-{
+if (info-ChipFamily != CHIP_FAMILY_RS690) {
if (info-IsIGP)
info-mc_fb_location = INREG(RADEON_NB_TOM);
else
@@ -1626,7 +1648,9 @@ static Bool RADEONPreInitVRAM(ScrnInfoPtr pScrn)
 MessageTypefrom = X_PROBED;
 CARD32 accessible, bar_size;
 
-if ((info-IsIGP)) {
+if (info-ChipFamily == CHIP_FAMILY_RS690) {
+   pScrn-videoRam = INREG(RADEON_CONFIG_MEMSIZE);
+} else if (info-IsIGP) {
 CARD32 tom = INREG(RADEON_NB_TOM);
 
pScrn-videoRam = (((tom  16) -
diff --git a/src/radeon_reg.h b/src/radeon_reg.h
index d1ef0a9..09be229 100644
--- a/src/radeon_reg.h
+++ b/src/radeon_reg.h
@@ -3272,6 +3272,15 @@
 #define RADEON_RS480_UNK_e38   0xe38
 #define RADEON_RS480_UNK_e3c   0xe3c
 
+#define RS690_MC_INDEX 0x78
+#  define RS690_MC_INDEX_MASK  0x1ff
+#  define RS690_MC_INDEX_WR_EN (1  9)
+#  define RS690_MC_INDEX_WR_ACK0x7f
+#define RS690_MC_DATA  0x7c
+
+#define RS690_MC_FB_LOCATION   0x100
+#define RS690_MC_AGP_LOCATION  0x101
+#define RS690_MC_AGP_BASE  0x102
 
 #define AVIVO_MC_INDEX 0x0070
 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-12-23 Thread Brice Goglin
 configure.ac  |3 
 man/radeon.man|6 
 src/Makefile.am   |3 
 src/atombios_crtc.c   |8 
 src/legacy_crtc.c | 1847 ++
 src/legacy_output.c   | 1732 ++
 src/radeon.h  |   41 -
 src/radeon_accel.c|  337 +
 src/radeon_atombios.c |4 
 src/radeon_atombios.h |   11 
 src/radeon_bios.c |5 
 src/radeon_crtc.c |  930 +
 src/radeon_display.c  |  878 ---
 src/radeon_driver.c   | 1524 +
 src/radeon_output.c   | 1275 +-
 src/radeon_tv.c   |  395 ++
 16 files changed, 4530 insertions(+), 4469 deletions(-)

New commits:
commit ad3325f672a241449ca239c8ee3a24b6d7703d76
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Dec 23 17:18:42 2007 -0500

RADEON: Add IgnoreLidStatus option

Generally, users that start X with the laptop lid closed
want to use one or more external monitors rather than the
internal panel and do not want the internal panel to be on
by default.  Others, it seems, want to always have the
internal panel on, regardless of the lid.  I can't win.
Enable this option to force the latter.

diff --git a/man/radeon.man b/man/radeon.man
index 3c4df23..49755f4 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -467,6 +467,12 @@ Enable this option to force TV Out to always be detected 
as attached.
 The default is
 .B off 
 .TP
+.BI Option \*qIgnoreLidStatus\*q \*q boolean \*q
+Enable this option to ignore lid status on laptops and always detect
+LVDS as attached.
+The default is
+.B off 
+.TP
 
 .SH SEE ALSO
 __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), 
xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
diff --git a/src/radeon.h b/src/radeon.h
index 4a10860..d16a234 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -166,7 +166,8 @@ typedef enum {
 OPTION_DEFAULT_TMDS_PLL,
 OPTION_TVDAC_LOAD_DETECT,
 OPTION_FORCE_TVOUT,
-OPTION_TVSTD
+OPTION_TVSTD,
+OPTION_IGNORE_LID_STATUS
 } RADEONOpts;
 
 
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 4e4f23e..6885cdc 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -219,6 +219,7 @@ static const OptionInfoRec RADEONOptions[] = {
 { OPTION_TVDAC_LOAD_DETECT, TVDACLoadDetect, OPTV_BOOLEAN, {0}, FALSE },
 { OPTION_FORCE_TVOUT,ForceTVOut, OPTV_BOOLEAN, {0}, FALSE },
 { OPTION_TVSTD,  TVStandard, OPTV_STRING,  {0}, FALSE },
+{ OPTION_IGNORE_LID_STATUS, IgnoreLidStatus, OPTV_BOOLEAN, {0}, FALSE },
 { -1,NULL,   OPTV_NONE,{0}, FALSE }
 };
 
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 10369d9..814c766 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -437,14 +437,18 @@ RADEONDetectLidStatus(ScrnInfoPtr pScrn)
 
 static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, 
xf86OutputPtr output)
 {
+RADEONInfoPtr info = RADEONPTR(output-scrn);
 RADEONOutputPrivatePtr radeon_output = output-driver_private;
 RADEONMonitorType MonType = MT_NONE;
 
 if (radeon_output-type == OUTPUT_LVDS) {
+   if (xf86ReturnOptValBool(info-Options, OPTION_IGNORE_LID_STATUS, 
FALSE))
+   MonType = MT_LCD;
+   else
 #if defined(__powerpc__)
-   MonType = MT_LCD;
+   MonType = MT_LCD;
 #else
-   MonType = RADEONDetectLidStatus(pScrn);
+   MonType = RADEONDetectLidStatus(pScrn);
 #endif
 } /*else if (radeon_output-type == OUTPUT_DVI) {
if (radeon_output-TMDSType == TMDS_INT) {

commit 20eedf348a527e1e0a5450bc22d7564895034a66
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Dec 23 11:27:55 2007 -0500

RADEON: fix pll input setup on mac cards

the function was exiting before the complete setup was finished.

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 9c6c0e4..4e4f23e 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1231,19 +1231,18 @@ static void RADEONGetClockInfo(ScrnInfoPtr pScrn)
   pll-pll_out_max = 35000;
}
 
-   if (RADEONProbePLLParameters(pScrn))
-  return;
+   if (!RADEONProbePLLParameters(pScrn)) {
+  if (info-IsIGP)
+  pll-reference_freq = 1432;
+  else
+  pll-reference_freq = 2700;
 
-   if (info-IsIGP)
-   pll-reference_freq = 1432;
-   else
-   pll-reference_freq = 2700;
+  pll-reference_div = 12;
+  pll-xclk = 10300;
 
-   pll-reference_div = 12;
-   pll-xclk = 10300;
-
-info-sclk = 200.00;
-info-mclk = 200.00;
+  info-sclk = 200.00;
+  info-mclk = 200.00;
+   }
 }
 
 /* card limits for computing PLLs */

commit 4f2e833e8ebaba3ad85ec5314fff8fa05395b679
Author: Arkadiusz 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-12-18 Thread Brice Goglin
 Makefile.am  |2 
 configure.ac |2 
 man/radeon.man   |2 
 src/atividmem.c  |   14 --
 src/r128_dri.c   |6 
 src/r128_probe.c |2 
 src/radeon.h |   45 +--
 src/radeon_accel.c   |6 
 src/radeon_bios.c|   25 +---
 src/radeon_commonfuncs.c |4 
 src/radeon_crtc.c|  220 +--
 src/radeon_cursor.c  |   49 +--
 src/radeon_display.c |  289 ++-
 src/radeon_dri.c |   18 --
 src/radeon_driver.c  |   43 --
 src/radeon_exa.c |   20 ++-
 src/radeon_exa_render.c  |   93 +--
 src/radeon_output.c  |  117 +++
 src/radeon_probe.h   |1 
 src/radeon_reg.h |1 
 20 files changed, 609 insertions(+), 350 deletions(-)

New commits:
commit ce4fa1cedec0cf56b9979dfaa12a8d3a7c643df4
Author: Arkadiusz Miskiewicz [EMAIL PROTECTED]
Date:   Tue Dec 18 15:34:14 2007 -0500

RADEON: fix fd leak in lid detect code

diff --git a/src/radeon_output.c b/src/radeon_output.c
index c60ece8..6454460 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -699,15 +699,18 @@ RADEONDetectLidStatus(ScrnInfoPtr pScrn)
while (fgets(lidline, sizeof lidline, f)) {
if (!strncmp(lidline, state:, strlen (state:))) {
if (strstr(lidline, open)) {
+   fclose(f);
ErrorF(proc lid open\n);
return MT_LCD;
}
else if (strstr(lidline, closed)) {
+   fclose(f);
ErrorF(proc lid closed\n);
return MT_NONE;
}
}
}
+   fclose(f);
 }
 #endif
 

commit 20568f66f9a9a60a33bd9a69ccc14a891c656836
Author: Arkadiusz Miskiewicz [EMAIL PROTECTED]
Date:   Tue Dec 18 15:32:10 2007 -0500

RADEON: more cleanups and warning fixes

diff --git a/src/atividmem.c b/src/atividmem.c
index 8910c73..986ac0f 100644
--- a/src/atividmem.c
+++ b/src/atividmem.c
@@ -103,14 +103,12 @@ ATIUnmapLinear
 ATIPtr pATI
 )
 {
-pciVideoPtr pVideo = pATI-PCIInfo;
-
 if (pATI-pMemory)
 {
 #ifndef XSERVER_LIBPCIACCESS
 xf86UnMapVidMem(iScreen, pATI-pMemory, pATI-LinearSize);
 #else
-pci_device_unmap_range(pVideo, pATI-pMemory, pATI-LinearSize);
+pci_device_unmap_range(pATI-PCIInfo, pATI-pMemory, pATI-LinearSize);
 #endif
 
 #if X_BYTE_ORDER != X_LITTLE_ENDIAN
@@ -120,7 +118,7 @@ ATIUnmapLinear
 #ifndef XSERVER_LIBPCIACCESS
 xf86UnMapVidMem(iScreen, pATI-pMemoryLE, pATI-LinearSize);
 #else
-pci_device_unmap_range(pVideo, pATI-pMemoryLE, pATI-LinearSize);
+pci_device_unmap_range(pATI-PCIInfo, pATI-pMemoryLE, 
pATI-LinearSize);
 #endif
 }
 
@@ -143,14 +141,12 @@ ATIUnmapMMIO
 ATIPtr pATI
 )
 {
-pciVideoPtr pVideo = pATI-PCIInfo;
-
 if (pATI-pMMIO)
 {
 #ifndef XSERVER_LIBPCIACCESS
 xf86UnMapVidMem(iScreen, pATI-pMMIO, getpagesize());
 #else
-pci_device_unmap_range(pVideo, pATI-pMMIO, getpagesize());
+pci_device_unmap_range(pATI-PCIInfo, pATI-pMMIO, getpagesize());
 #endif
 }
 
@@ -169,14 +165,12 @@ ATIUnmapCursor
 ATIPtr pATI
 )
 {
-pciVideoPtr pVideo = pATI-PCIInfo;
-
 if (pATI-pCursorPage)
 {
 #ifndef XSERVER_LIBPCIACCESS
 xf86UnMapVidMem(iScreen, pATI-pCursorPage, getpagesize());
 #else
-pci_device_unmap_range(pVideo, pATI-pCursorPage, getpagesize());
+pci_device_unmap_range(pATI-PCIInfo, pATI-pCursorPage, 
getpagesize());
 #endif
 }
 
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
index 41375da..07857dd 100644
--- a/src/radeon_crtc.c
+++ b/src/radeon_crtc.c
@@ -145,15 +145,13 @@ RADEONInitCommonRegisters(RADEONSavePtr save, 
RADEONInfoPtr info)
 static void
 RADEONInitSurfaceCntl(xf86CrtcPtr crtc, RADEONSavePtr save)
 {
-ScrnInfoPtr pScrn = crtc-scrn;
-
 save-surface_cntl = 0;
 
 #if X_BYTE_ORDER == X_BIG_ENDIAN
 /* We must set both apertures as they can be both used to map the entire
  * video memory. -BenH.
  */
-switch (pScrn-bitsPerPixel) {
+switch (crtc-scrn-bitsPerPixel) {
 case 16:
save-surface_cntl |= RADEON_NONSURF_AP0_SWP_16BPP;
save-surface_cntl |= RADEON_NONSURF_AP1_SWP_16BPP;
diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 9dd6eb8..ba1159c 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -232,7 +232,7 @@ radeon_crtc_load_cursor_argb (xf86CrtcPtr crtc, CARD32 
*image)
 ScrnInfoPtr pScrn = crtc-scrn;
 RADEONCrtcPrivatePtr radeon_crtc = crtc-driver_private;
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
-unsigned char *RADEONMMIO = info-MMIO;
+CURSOR_SWAPPING_DECL_MMIO
 CARD32*d  = (CARD32 *)(pointer)(info-FB + 
radeon_crtc-cursor_offset + pScrn-fbOffset);
 
 RADEONCTRACE((RADEONLoadCursorARGB\n));

commit 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-12-03 Thread Brice Goglin
 configure.ac |2 
 man/radeon.man   |   51 +++-
 src/Makefile.am  |9 +
 src/ati_pciids_gen.h |  219 
 src/atidri.c |   26 ++--
 src/atipciids.h  |  248 -
 src/pcidb/ati_pciids.csv |  220 
 src/pcidb/parse_pci_ids.pl   |   94 +++
 src/radeon.h |   30 
 src/radeon_chipinfo_gen.h|  140 +++
 src/radeon_chipset.h |  142 ---
 src/radeon_chipset_gen.h |  141 +++
 src/radeon_crtc.c|4 
 src/radeon_dri.c |   30 ++--
 src/radeon_driver.c  |  260 +--
 src/radeon_output.c  |  212 ---
 src/radeon_pci_chipset_gen.h |  141 +++
 src/radeon_probe.c   |  145 ---
 src/radeon_render.c  |4 
 src/radeon_tv.c  |8 -
 src/radeon_video.c   |   56 -
 21 files changed, 1309 insertions(+), 873 deletions(-)

New commits:
commit 5022d006cfc06ca0395981526b2c2c94c6878567
Author: Michel Dänzer [EMAIL PROTECTED]
Date:   Sun Dec 2 17:27:33 2007 +0100

radeon: Further XVideo fixes.

* Make sure pitch constraints are always met for DMA upload blits.
* RGB24 is not affected by endianness.

diff --git a/src/radeon_video.c b/src/radeon_video.c
index 332f2cd..3f0209e 100644
--- a/src/radeon_video.c
+++ b/src/radeon_video.c
@@ -414,11 +414,11 @@ static XF86AttributeRec Attributes[NUM_DEC_ATTRIBUTES+1] =
 
 #define FOURCC_RGB240x
 
-#define XVIMAGE_RGB24(byte_order)   \
+#define XVIMAGE_RGB24   \
 { \
 FOURCC_RGB24, \
 XvRGB, \
-byte_order, \
+LSBFirst, \
 { 'R', 'G', 'B', 0, \
   
0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
 24, \
@@ -473,15 +473,14 @@ static XF86ImageRec Images[NUM_IMAGES] =
 {
 #if X_BYTE_ORDER == X_BIG_ENDIAN
 XVIMAGE_RGBA32(MSBFirst),
-XVIMAGE_RGB24(MSBFirst),
 XVIMAGE_RGBT16(MSBFirst),
 XVIMAGE_RGB16(MSBFirst),
 #else
 XVIMAGE_RGBA32(LSBFirst),
-XVIMAGE_RGB24(LSBFirst),
 XVIMAGE_RGBT16(LSBFirst),
 XVIMAGE_RGB16(LSBFirst),
 #endif
+XVIMAGE_RGB24,
 XVIMAGE_YUY2,
 XVIMAGE_UYVY,
 XVIMAGE_YV12,
@@ -2210,8 +2209,6 @@ RADEONCopyRGB24Data(
int x, y;
unsigned int hpass;
 
-   /* XXX Fix endian flip on R300 */
-
RADEONHostDataParams( pScrn, dst, dstPitch, 4, dstPitchOff, x, y );
 
while ( (dptr = ( CARD32* )RADEONHostDataBlit( pScrn, 4, w, dstPitchOff,
@@ -2224,14 +2221,11 @@ RADEONCopyRGB24Data(
 
for ( i = 0 ; i  w; i++, sptr += 3 )
{
-#if X_BYTE_ORDER == X_BIG_ENDIAN
-   *dptr++ = (sptr[0]  16) | (sptr[1]  8) | sptr[2];
-#else
-   *dptr++ = (sptr[2]  16) | (sptr[1]  8) | sptr[0];
-#endif
+   dptr[i] = (sptr[2]  16) | (sptr[1]  8) | sptr[0];
}
 
src += srcPitch;
+   dptr += bufPitch / 4;
}
}
 
@@ -2249,17 +2243,12 @@ RADEONCopyRGB24Data(
   ~RADEON_NONSURF_AP0_SWP_16BPP);
 #endif
 
-   for(j=0;jh;j++){
-   dptr=(CARD32 *)(dst+j*dstPitch);
-   sptr=src+j*srcPitch;
+   for (j = 0; j  h; j++) {
+   dptr = (CARD32 *)(dst + j * dstPitch);
+   sptr = src + j * srcPitch;
 
-   for(i=w;i0;i--){
-#if X_BYTE_ORDER == X_BIG_ENDIAN
- *dptr++=((sptr[0])16)|((sptr[1])8)|(sptr[2]);
-#else
- *dptr++=((sptr[2])16)|((sptr[1])8)|(sptr[0]);
-#endif
- sptr+=3;
+   for (i = 0; i  w; i++, sptr += 3) {
+   dptr[i] = (sptr[2]  16) | (sptr[1]  8) | sptr[0];
}
}
 
@@ -2933,17 +2922,17 @@ RADEONPutImage(
 
switch(id) {
case FOURCC_RGB24:
-   dstPitch=(width*4+0x0f)(~0x0f);
-   srcPitch=width*3;
+   dstPitch = width * 4;
+   srcPitch = width * 3;
break;
case FOURCC_RGBA32:
-   dstPitch=(width*4+0x0f)(~0x0f);
-   srcPitch=width*4;
+   dstPitch = width * 4;
+   srcPitch = width * 4;
break;
case FOURCC_RGB16:
case FOURCC_RGBT16:
-   dstPitch=(width*2+0x0f)(~0x0f);
-   srcPitch=(width*2+3)(~0x03);
+   dstPitch = width * 2;
+   srcPitch = (width * 2 + 3)  ~3;
break;
case FOURCC_YV12:
case FOURCC_I420:
@@ -2956,11 +2945,20 @@ RADEONPutImage(
case FOURCC_UYVY:
case FOURCC_YUY2:
default:
-   dstPitch = ((width  1) + 63)  ~63;
-   srcPitch = (width  1);
+   dstPitch = width * 2;
+   srcPitch = width * 2;
break;
}
 
+#ifdef XF86DRI
+   

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-11-11 Thread Brice Goglin
 configure.ac|4 
 man/radeon.man  |   19 +++-
 src/atiprint.c  |1 
 src/atiprobe.c  |1 
 src/radeon.h|6 -
 src/radeon_bios.c   |   17 
 src/radeon_crtc.c   |   48 +++
 src/radeon_cursor.c |   51 +---
 src/radeon_driver.c |   54 
 src/radeon_modes.c  |   59 -
 src/radeon_output.c |  221 +++-
 11 files changed, 301 insertions(+), 180 deletions(-)

New commits:
commit b865886d00907899297ae864358eb26d9980975d
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Sun Nov 11 20:38:41 2007 -0500

bump for RC release

diff --git a/configure.ac b/configure.ac
index 5216eff..450d951 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.7.195,
+6.7.196,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 37af2f6b52c8f217b205486742a6b46a864da8ed
Author: Michel Dänzer [EMAIL PROTECTED]
Date:   Mon Nov 5 10:58:25 2007 +0100

radeon: Use indirect register access for (un)hiding the cursor.

This avoids hangs that occur when touching these registers while the card is
busy with some cards.

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index f19f2bc..b8cfffd 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -98,12 +98,19 @@ radeon_crtc_show_cursor (xf86CrtcPtr crtc)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
-if (crtc_id == 0) 
-   OUTREGP(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_CUR_EN | 2  20, 
-   ~(RADEON_CRTC_CUR_EN | RADEON_CRTC_CUR_MODE_MASK));
-else if (crtc_id == 1)
-   OUTREGP(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_CUR_EN | 2  20,
-   ~(RADEON_CRTC2_CUR_EN | RADEON_CRTC2_CUR_MODE_MASK));
+switch (crtc_id) {
+case 0:
+   OUTREG(RADEON_MM_INDEX, RADEON_CRTC_GEN_CNTL);
+   break;
+case 1:
+   OUTREG(RADEON_MM_INDEX, RADEON_CRTC2_GEN_CNTL);
+   break;
+default:
+   return;
+}
+
+OUTREGP(RADEON_MM_DATA, RADEON_CRTC_CUR_EN | 2  20, 
+   ~(RADEON_CRTC_CUR_EN | RADEON_CRTC_CUR_MODE_MASK));
 }
 
 void
@@ -115,12 +122,18 @@ radeon_crtc_hide_cursor (xf86CrtcPtr crtc)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
-if (crtc_id == 0)
-   OUTREGP(RADEON_CRTC_GEN_CNTL, 0, ~RADEON_CRTC_CUR_EN);
-else if (crtc_id == 1)
-   OUTREGP(RADEON_CRTC2_GEN_CNTL, 0, ~RADEON_CRTC2_CUR_EN);
-
+switch (crtc_id) {
+case 0:
+   OUTREG(RADEON_MM_INDEX, RADEON_CRTC_GEN_CNTL);
+   break;
+case 1:
+   OUTREG(RADEON_MM_INDEX, RADEON_CRTC2_GEN_CNTL);
+   break;
+default:
+   return;
+}
 
+OUTREGP(RADEON_MM_DATA, 0, ~RADEON_CRTC_CUR_EN);
 }
 
 void

commit 5659e2f1b08e44d0c4f21a403e91b4801ef78f62
Author: Michel Dänzer [EMAIL PROTECTED]
Date:   Mon Nov 5 10:32:04 2007 +0100

radeon: Fix build warning on powerpc.

diff --git a/src/radeon_output.c b/src/radeon_output.c
index e9a709f..599a89c 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -668,8 +668,6 @@ void RADEONConnectorFindMonitor(ScrnInfoPtr pScrn, 
xf86OutputPtr output)
 
 static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, 
xf86OutputPtr output)
 {
-RADEONInfoPtr info   = RADEONPTR(pScrn);
-unsigned char *RADEONMMIO = info-MMIO;
 RADEONOutputPrivatePtr radeon_output = output-driver_private;
 RADEONMonitorType MonType = MT_NONE;
 
@@ -677,7 +675,11 @@ static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr 
pScrn, xf86OutputPtr
 #if defined(__powerpc__)
/* not sure on ppc, OF? */
 #else
+   RADEONInfoPtr info   = RADEONPTR(pScrn);
+
if (!info-IsAtomBios) {
+   unsigned char *RADEONMMIO = info-MMIO;
+
/* see if the lid is closed -- only works at boot */
if (INREG(RADEON_BIOS_6_SCRATCH)  0x10)
MonType = MT_NONE;

commit d41d73f5f9d8baee7137e94da2c7852ea0412180
Author: Michel Dänzer [EMAIL PROTECTED]
Date:   Mon Nov 5 10:30:23 2007 +0100

Revert radeon: Reinstate sync in radeon_crtc_show/hide_cursor.

This reverts commit 0241cac643fa1c08a45ea44f5c670b290e760ad8.

Taking the DRI lock in paths called from the SIGIO handler isn't safe. For
example, the SIGIO handler may be called while the lock is held by an AIGLX
context, resulting in deadlock. See e.g.
https://bugs.freedesktop.org/show_bug.cgi?id=13005 .

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 3e60d23..f19f2bc 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -98,22 +98,12 @@ radeon_crtc_show_cursor (xf86CrtcPtr crtc)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
-#ifdef XF86DRI
-if (info-CPStarted  pScrn-pScreen) DRILock(pScrn-pScreen, 0);
-#endif
-
-  

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-10-09 Thread Brice Goglin
 man/radeon.man  |8 
 src/Makefile.am |   22 +++---
 src/radeon.h|5 -
 src/radeon_bios.c   |5 -
 src/radeon_driver.c |1 +
 src/radeon_modes.c  |   37 +++--
 src/radeon_output.c |   28 
 src/radeon_probe.h  |1 +
 8 files changed, 84 insertions(+), 23 deletions(-)

New commits:
commit ddec5783103045084a66a34d71326cc6e4a3f598
Author: George Sapountzis [EMAIL PROTECTED]
Date:   Tue Oct 9 13:27:27 2007 +0300

theatre compiles with pci-rework.

diff --git a/src/Makefile.am b/src/Makefile.am
index 1eea432..ff1e225 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -66,6 +66,17 @@ atimisc_drv_la_SOURCES = \
atiload.c atimisc.c atimach64probe.c $(ATIMISC_CPIO_SOURCES) \
$(ATIMISC_DGA_SOURCES) $(ATIMISC_DRI_SRCS) $(ATIMISC_EXA_SOURCES)
 
+if XSERVER_LIBPCIACCESS
+# r128 has not been ported yet
+else
+r128_drv_la_LTLIBRARIES = r128_drv.la
+r128_drv_la_LDFLAGS = -module -avoid-version
+r128_drv_ladir = @moduledir@/drivers
+r128_drv_la_SOURCES = \
+   r128_accel.c r128_cursor.c r128_dga.c r128_driver.c \
+   r128_video.c r128_misc.c r128_probe.c $(R128_DRI_SRCS)
+endif
+
 radeon_drv_la_LTLIBRARIES = radeon_drv.la
 radeon_drv_la_LDFLAGS = -module -avoid-version
 radeon_drv_ladir = @moduledir@/drivers
@@ -76,16 +87,6 @@ radeon_drv_la_SOURCES = \
radeon_crtc.c radeon_output.c radeon_modes.c radeon_tv.c \
$(RADEON_DRI_SRCS) $(RADEON_EXA_SOURCES)
 
-if XSERVER_LIBPCIACCESS
-# r128 and theatre have not been ported yet
-else
-r128_drv_la_LTLIBRARIES = r128_drv.la
-r128_drv_la_LDFLAGS = -module -avoid-version
-r128_drv_ladir = @moduledir@/drivers
-r128_drv_la_SOURCES = \
-   r128_accel.c r128_cursor.c r128_dga.c r128_driver.c \
-   r128_video.c r128_misc.c r128_probe.c $(R128_DRI_SRCS)
-
 theatre_detect_drv_la_LTLIBRARIES = theatre_detect_drv.la
 theatre_detect_drv_la_LDFLAGS = -module -avoid-version
 theatre_detect_drv_ladir = @moduledir@/multimedia
@@ -106,7 +107,6 @@ theatre200_drv_la_CFLAGS = \
$(AM_CFLAGS) -DMICROC_DIR=\$(theatre200_drv_ladir)\
 theatre200_drv_la_SOURCES = \
theatre200.c theatre200_module.c
-endif
 
 EXTRA_DIST = \
atimach64render.c \

commit 051435610a66735fd455bbb526fa294fcfe8c0b6
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Sun Oct 7 19:39:47 2007 -0400

RADEON: still more LVDS fixes

Seems some laptops need the native mode from the bios for
LVDS while others seem to prefer a CVT mode.  Add an option
to pick the preferred mode.  The default it to use the bios
table timing.

diff --git a/man/radeon.man b/man/radeon.man
index 35dd701..9168254 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -383,6 +383,14 @@ case.  This is only useful for LVDS panels (laptop 
internal panels).
 The default is
 .B on.
 .TP
+.BI Option \*qLVDSBiosNativeMode\*q \*q boolean \*q
+On some laptops, the LVDS mode from the timing tables in the bios does 
+not work properly.  In those cases, a CVT mode seems to work better.  
+If you get a blank screen or have LVDS display problems, disable this 
+option to use a CVT mode.  
+The default is
+.B on.
+.TP
 .BI Option \*qDRI\*q \*q boolean \*q
 Enable DRI support.  This option allows you to enable to disable the DRI.  
 The default is
diff --git a/src/radeon.h b/src/radeon.h
index ad94cc5..7248291 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -157,7 +157,8 @@ typedef enum {
 #if defined(__powerpc__)
 OPTION_MAC_MODEL,
 #endif
-OPTION_DEFAULT_TMDS_PLL
+OPTION_DEFAULT_TMDS_PLL,
+OPTION_LVDS_BIOS_NATIVE_MODE
 } RADEONOpts;
 
 
@@ -816,6 +817,8 @@ typedef struct {
 RADEONMacModelMacModel;
 #endif
 
+Bool  LVDSBiosNativeMode;
+
 Rotation rotation;
 void (*PointerMoved)(int, int, int);
 CreateScreenResourcesProcPtr CreateScreenResources;
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 03f531e..ffd48a5 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -190,6 +190,7 @@ static const OptionInfoRec RADEONOptions[] = {
 #if defined(__powerpc__)
 { OPTION_MAC_MODEL,  MacModel, OPTV_STRING,  {0}, FALSE },
 #endif
+{ OPTION_LVDS_BIOS_NATIVE_MODE, LVDSBiosNativeMode, OPTV_BOOLEAN, {0}, 
TRUE },
 { -1,NULL,   OPTV_NONE,{0}, FALSE }
 };
 
diff --git a/src/radeon_modes.c b/src/radeon_modes.c
index ea2c229..6252ea0 100644
--- a/src/radeon_modes.c
+++ b/src/radeon_modes.c
@@ -95,20 +95,45 @@ static DisplayModePtr RADEONTVModes(xf86OutputPtr output)
 static DisplayModePtr RADEONFPNativeMode(xf86OutputPtr output)
 {
 ScrnInfoPtr pScrn = output-scrn;
+RADEONInfoPtr info = RADEONPTR(pScrn);
 RADEONOutputPrivatePtr radeon_output = output-driver_private;
 DisplayModePtr  new   = NULL;
+charstmp[32];
 
 if (radeon_output-PanelXRes != 0 
radeon_output-PanelYRes != 0 
radeon_output-DotClock != 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-10-05 Thread Julien Cristau
 configure.ac   |   12 +
 src/Makefile.am|   21 +-
 src/ati.c  |   62 +++
 src/atidri.c   |   25 +--
 src/atimach64probe.c   |2 
 src/atipciids.h|2 
 src/atipcirename.h |  122 +++
 src/atipreinit.c   |  126 ++-
 src/atiprint.c |   10 -
 src/atiprobe.c |   75 -
 src/atistruct.h|2 
 src/atividmem.c|  122 +++
 src/r128_probe.c   |2 
 src/radeon.h   |   16 +
 src/radeon_accel.c |2 
 src/radeon_bios.c  |  393 +++--
 src/radeon_chipset.h   |2 
 src/radeon_display.c   |5 
 src/radeon_dri.c   |   22 +-
 src/radeon_driver.c|  205 +++--
 src/radeon_exa.c   |2 
 src/radeon_exa_funcs.c |   19 +-
 src/radeon_modes.c |  113 +-
 src/radeon_output.c|  150 --
 src/radeon_probe.c |4 
 src/radeon_probe.h |5 
 src/radeon_reg.h   |4 
 src/radeon_video.c |6 
 28 files changed, 992 insertions(+), 539 deletions(-)

New commits:
commit 83d7506a603889b6c18736cff9b2cd3296c95c84
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Fri Oct 5 20:25:04 2007 -0400

Bump for RC release

diff --git a/configure.ac b/configure.ac
index c662168..5f18d2b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.7.194,
+6.7.195,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit fe66cc4e02a52e1d014ae5de192c65e8abd7f58a
Author: Tormod Volden [EMAIL PROTECTED]
Date:   Fri Oct 5 20:10:55 2007 -0400

RADEON: rename to PCI_CHIP_RS485_5975 everywhere

RS482_5975 is actually RS485.  see bug 12048

diff --git a/src/atipciids.h b/src/atipciids.h
index 1c0f59a..2aa8a3e 100644
--- a/src/atipciids.h
+++ b/src/atipciids.h
@@ -252,7 +252,7 @@
 #define PCI_CHIP_RV280_59650x5965
 #define PCI_CHIP_RN50_5969 0x5969
 #define PCI_CHIP_RS482_5974 0x5974
-#define PCI_CHIP_RS482_5975 0x5975
+#define PCI_CHIP_RS485_5975 0x5975
 #define PCI_CHIP_RS400_5A41 0x5A41
 #define PCI_CHIP_RS400_5A42 0x5A42
 #define PCI_CHIP_RC410_5A61 0x5A61
diff --git a/src/radeon_chipset.h b/src/radeon_chipset.h
index 5cca4c8..890babd 100644
--- a/src/radeon_chipset.h
+++ b/src/radeon_chipset.h
@@ -89,7 +89,7 @@ static SymTabRec RADEONChipsets[] = {
 { PCI_CHIP_RS480_5954, ATI Radeon XPRESS 200 5954 (PCIE) },
 { PCI_CHIP_RS480_5955, ATI Radeon XPRESS 200M 5955 (PCIE) },
 { PCI_CHIP_RS482_5974, ATI Radeon XPRESS 200 5974 (PCIE) },
-{ PCI_CHIP_RS482_5975, ATI Radeon XPRESS 200M 5975 (PCIE) },
+{ PCI_CHIP_RS485_5975, ATI Radeon XPRESS 200M 5975 (PCIE) },
 { PCI_CHIP_RV410_5E48, ATI FireGL V5000 (RV410) (PCIE) },
 { PCI_CHIP_RV410_564A, ATI Mobility FireGL V5000 (M26) (PCIE) },
 { PCI_CHIP_RV410_564B, ATI Mobility FireGL V5000 (M26) (PCIE) },
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index e247f1d..03f531e 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1673,7 +1673,7 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
 case PCI_CHIP_RS400_5A42:
 case PCI_CHIP_RC410_5A62:
 case PCI_CHIP_RS480_5955:
-case PCI_CHIP_RS482_5975:
+case PCI_CHIP_RS485_5975:
 info-IsMobility = TRUE;
 case PCI_CHIP_RS400_5A41:
 case PCI_CHIP_RC410_5A61:
@@ -2086,10 +2086,10 @@ static Bool RADEONPreInitDRI(ScrnInfoPtr pScrn)
info-Chipset == PCI_CHIP_RN50_5969 ||
info-Chipset == PCI_CHIP_RC410_5A61 ||
info-Chipset == PCI_CHIP_RC410_5A62 ||
-   info-Chipset == PCI_CHIP_RS482_5975) {
+   info-Chipset == PCI_CHIP_RS485_5975) {
if (xf86ReturnOptValBool(info-Options, OPTION_DRI, FALSE)) {
xf86DrvMsg(pScrn-scrnIndex, X_WARNING,
-   Direct rendering for RN50/RC410/RS482 forced on -- 
+   Direct rendering for RN50/RC410/RS485 forced on -- 
This is NOT officially supported at the hardware level 
and may cause instability or lockups\n);
} else {
@@ -2132,7 +2132,7 @@ static Bool RADEONPreInitDRI(ScrnInfoPtr pScrn)
info-Chipset == PCI_CHIP_RS480_5954 ||
info-Chipset == PCI_CHIP_RS480_5955 ||
info-Chipset == PCI_CHIP_RS482_5974 ||
-   info-Chipset == PCI_CHIP_RS482_5975) {
+   info-Chipset == PCI_CHIP_RS485_5975) {
 
if (info-pKernelDRMVersion-version_minor  27) {
 xf86DrvMsg(pScrn-scrnIndex, X_INFO,
diff --git a/src/radeon_probe.c b/src/radeon_probe.c
index 5c7d16f..d68a956 100644
--- a/src/radeon_probe.c
+++ b/src/radeon_probe.c
@@ -144,7 +144,7 @@ PciChipsets RADEONPciChipsets[] = {
 { PCI_CHIP_RS480_5954, PCI_CHIP_RS480_5954, RES_SHARED_VGA },
 { PCI_CHIP_RS480_5955, PCI_CHIP_RS480_5955, RES_SHARED_VGA },
  

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-09-24 Thread Brice Goglin
 configure.ac |2 
 man/radeon.man   |6 +
 src/radeon.h |3 
 src/radeon_display.c |7 +
 src/radeon_driver.c  |   10 --
 src/radeon_modes.c   |  181 +++
 src/radeon_output.c  |  146 +
 src/radeon_probe.c   |2 
 src/radeon_probe.h   |9 ++
 src/radeon_reg.h |6 +
 src/radeon_video.c   |   27 +++
 src/radeon_vip.c |7 +
 12 files changed, 172 insertions(+), 234 deletions(-)

New commits:
commit 22cccb99d762567757d3fd38795f71e943f1faf9
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Mon Sep 24 00:10:01 2007 -0400

bump for RC release

diff --git a/configure.ac b/configure.ac
index bd5109b..7204a31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.7.193,
+6.7.194,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit fad9e7b00de051f632000eb2304ac23a524f7c8e
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Sun Sep 23 23:43:26 2007 -0400

RADEON: Rework LVDS mode validation

The old validation code wasn't really well suited to randr.
This fixes several issues:
- missing display size for panels with edid
- broken duplicate modes

diff --git a/src/radeon_modes.c b/src/radeon_modes.c
index 9c12ecb..af56cdf 100644
--- a/src/radeon_modes.c
+++ b/src/radeon_modes.c
@@ -82,7 +82,7 @@ static DisplayModePtr RADEONTVModes(xf86OutputPtr output)
 {
 DisplayModePtr new  = NULL;
 
-/* just a place holder */
+/* just a place holder */
 new = xf86CVTMode(800, 600, 60.00, FALSE, FALSE);
 new-type = M_T_DRIVER | M_T_PREFERRED;
 
@@ -125,161 +125,25 @@ static DisplayModePtr RADEONFPNativeMode(xf86OutputPtr 
output)
new-next   = NULL;
new-prev   = NULL;
 
-   xf86DrvMsg(pScrn-scrnIndex, X_INFO,
-  No valid mode specified, force to native mode\n);
+   xf86DrvMsg(pScrn-scrnIndex, X_INFO, Added native panel mode: %dx%d\n,
+  radeon_output-PanelXRes, radeon_output-PanelYRes);
 }
 
 return new;
 }
 
-/* FP mode initialization routine for using on-chip RMX to scale
- */
-int RADEONValidateFPModes(xf86OutputPtr output, char **ppModeName, 
DisplayModePtr *modeList)
-{
-ScrnInfoPtr pScrn = output-scrn;
-RADEONOutputPrivatePtr radeon_output = output-driver_private;
-DisplayModePtr  last   = NULL;
-DisplayModePtr  new= NULL;
-DisplayModePtr  first  = NULL;
-DisplayModePtr  p, tmp;
-int count  = 0;
-int i, width, height;
-
-pScrn-virtualX = pScrn-display-virtualX;
-pScrn-virtualY = pScrn-display-virtualY;
-
-/* We have a flat panel connected to the primary display, and we
- * don't have any DDC info.
- */
-for (i = 0; ppModeName[i] != NULL; i++) {
-
-   if (sscanf(ppModeName[i], %dx%d, width, height) != 2) continue;
-
-   /* Note: We allow all non-standard modes as long as they do not
-* exceed the native resolution of the panel.  Since these modes
-* need the internal RMX unit in the video chips (and there is
-* only one per card), this will only apply to the primary head.
-*/
-   if (width  320 || width  radeon_output-PanelXRes ||
-   height  200 || height  radeon_output-PanelYRes) {
-   xf86DrvMsg(pScrn-scrnIndex, X_WARNING,
-  Mode %s is out of range.\n, ppModeName[i]);
-   xf86DrvMsg(pScrn-scrnIndex, X_WARNING,
-  Valid modes must be between 320x200-%dx%d\n,
-  radeon_output-PanelXRes, radeon_output-PanelYRes);
-   continue;
-   }
-
-   new = xnfcalloc(1, sizeof(DisplayModeRec));
-   new-name   = xnfalloc(strlen(ppModeName[i]) + 1);
-   strcpy(new-name, ppModeName[i]);
-   new-HDisplay   = width;
-   new-VDisplay   = height;
-
-   /* These values are effective values after expansion They are
-* not really used to set CRTC registers.
-*/
-   new-HTotal = radeon_output-PanelXRes + radeon_output-HBlank;
-   new-HSyncStart = radeon_output-PanelXRes + radeon_output-HOverPlus;
-   new-HSyncEnd   = new-HSyncStart + radeon_output-HSyncWidth;
-   new-VTotal = radeon_output-PanelYRes + radeon_output-VBlank;
-   new-VSyncStart = radeon_output-PanelYRes + radeon_output-VOverPlus;
-   new-VSyncEnd   = new-VSyncStart + radeon_output-VSyncWidth;
-   new-Clock  = radeon_output-DotClock;
-   new-Flags |= RADEON_USE_RMX;
-
-#ifdef M_T_PREFERRED
-   if (width == radeon_output-PanelXRes  height == 
radeon_output-PanelYRes)
- new-type |= M_T_PREFERRED;
-#endif
-
-   new-type  |= M_T_USERDEF;
-
-   new-next   = NULL;
-   new-prev   = last;
-
-   if (last) last-next = new;
-   last = 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-09-19 Thread Brice Goglin
 configure.ac|2 -
 src/radeon.h|4 --
 src/radeon_bios.c   |   14 +-
 src/radeon_driver.c |   71 
 src/radeon_output.c |   22 +++-
 5 files changed, 47 insertions(+), 66 deletions(-)

New commits:
commit c5e2a2f09af807006c7ea493a8e90ff77abe207c
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Sep 19 19:58:28 2007 -0400

bump for RC release

diff --git a/configure.ac b/configure.ac
index 0c413c8..bd5109b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.7.192,
+6.7.193,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 46ff78b9f010ca24178d4363761be00eb3ecb632
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Sep 19 19:49:58 2007 -0400

RADEON: add default connector setup for single crtc chips

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 5cbf838..f9a21bb 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -2548,6 +2548,16 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
 static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
 {
 RADEONInfoPtr info   = RADEONPTR(pScrn);
+RADEONEntPtr pRADEONEnt  = RADEONEntPriv(pScrn);
+
+if (!pRADEONEnt-HasCRTC2) {
+   info-BiosConnector[0].DDCType = DDC_VGA;
+   info-BiosConnector[0].DACType = DAC_PRIMARY;
+   info-BiosConnector[0].TMDSType = TMDS_NONE;
+   info-BiosConnector[0].ConnectorType = CONNECTOR_CRT;
+   info-BiosConnector[0].valid = TRUE;
+   return;
+}
 
 if (info-IsMobility) {
/* Below is the most common setting, but may not be true */

commit 509ca0cb0e1cde905b47db2bbac6f2a58523b279
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Sep 19 19:41:17 2007 -0400

RADEON: fix external TMDS parsing in legacy bios connector table

diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index 07fbb52..cb96022 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -242,7 +242,7 @@ static Bool RADEONGetLegacyConnectorInfoFromBIOS 
(ScrnInfoPtr pScrn)
info-BiosConnector[i].ConnectorType = (tmp  12)  0xf;
info-BiosConnector[i].DDCType = (tmp  8)  0xf;
info-BiosConnector[i].DACType = tmp  0x1;
-   info-BiosConnector[i].TMDSType = tmp  0x10;
+   info-BiosConnector[i].TMDSType = (tmp  4)  0x1;
 
/* most XPRESS chips seem to specify DDC_CRT2 for their 
 * VGA DDC port, however DDC never seems to work on that

commit 5a59547ef7e986c9613023d941c3354cd476faf1
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Wed Sep 19 19:28:09 2007 -0400

Revert RADEON: initial pass at external TMDS support

This reverts commit 4000a710c93dd2d82891e4082bc7fa922ba9c5f4.

This needs to be reworked and needs more soak time.  so revert
for now.

diff --git a/configure.ac b/configure.ac
index 50c382b..0c413c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -222,6 +222,5 @@ XORG_CHECK_LINUXDOC
 AC_OUTPUT([
Makefile
src/Makefile
-src/sil164/Makefile
man/Makefile
 ])
diff --git a/src/Makefile.am b/src/Makefile.am
index 309caf6..709b98c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,7 +19,7 @@
 #  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-SUBDIRS = sil164
+
 # this is obnoxious:
 # -module lets us name the module exactly how we want
 # -avoid-version prevents gratuitous .0.0.0 version numbers on the end
diff --git a/src/i2c_vid.h b/src/i2c_vid.h
deleted file mode 100644
index 2ba8829..000
--- a/src/i2c_vid.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright © 2006 Eric Anholt
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that copyright
- * notice and this permission notice appear in supporting documentation, and
- * that the name of the copyright holders not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  The copyright holders make no representations
- * about the suitability of this software for any purpose.  It is provided as
- * is without express or implied warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-09-13 Thread Brice Goglin
 man/radeon.man   |   14 ++
 src/radeon.h |   19 +++
 src/radeon_bios.c|   17 ---
 src/radeon_crtc.c|8 +
 src/radeon_cursor.c  |   20 +++
 src/radeon_display.c |2 
 src/radeon_driver.c  |   45 +---
 src/radeon_modes.c   |   60 +-
 src/radeon_output.c  |  285 ++-
 src/radeon_probe.h   |2 
 10 files changed, 382 insertions(+), 90 deletions(-)

New commits:
commit 0241cac643fa1c08a45ea44f5c670b290e760ad8
Author: Michel Dänzer [EMAIL PROTECTED]
Date:   Sat Sep 8 00:22:40 2007 +0200

radeon: Reinstate sync in radeon_crtc_show/hide_cursor.

Make sure the DRI lock is held though, as these can be called 
asynchronously.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=12245 .

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index f19f2bc..3e60d23 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -98,12 +98,22 @@ radeon_crtc_show_cursor (xf86CrtcPtr crtc)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
+#ifdef XF86DRI
+if (info-CPStarted  pScrn-pScreen) DRILock(pScrn-pScreen, 0);
+#endif
+
+RADEON_SYNC(info, pScrn);
+
 if (crtc_id == 0) 
OUTREGP(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_CUR_EN | 2  20, 
~(RADEON_CRTC_CUR_EN | RADEON_CRTC_CUR_MODE_MASK));
 else if (crtc_id == 1)
OUTREGP(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_CUR_EN | 2  20,
~(RADEON_CRTC2_CUR_EN | RADEON_CRTC2_CUR_MODE_MASK));
+
+#ifdef XF86DRI
+if (info-CPStarted  pScrn-pScreen) DRIUnlock(pScrn-pScreen);
+#endif
 }
 
 void
@@ -115,12 +125,20 @@ radeon_crtc_hide_cursor (xf86CrtcPtr crtc)
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
+#ifdef XF86DRI
+if (info-CPStarted  pScrn-pScreen) DRILock(pScrn-pScreen, 0);
+#endif
+
+RADEON_SYNC(info, pScrn);
+
 if (crtc_id == 0)
OUTREGP(RADEON_CRTC_GEN_CNTL, 0, ~RADEON_CRTC_CUR_EN);
 else if (crtc_id == 1)
OUTREGP(RADEON_CRTC2_GEN_CNTL, 0, ~RADEON_CRTC2_CUR_EN);
 
-
+#ifdef XF86DRI
+if (info-CPStarted  pScrn-pScreen) DRIUnlock(pScrn-pScreen);
+#endif
 }
 
 void

commit 49933e2f7d590811f2bc8c0d51a09f3b7f14845e
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sat Sep 1 12:23:07 2007 -0400

RADEON: automatically disable tiling if requested virtual desktop exceeds 
surface limits

Also, tweak default desktop sizes and add some informational messages

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 9472f93..14d31bd 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2692,30 +2692,28 @@ _X_EXPORT Bool RADEONPreInit(ScrnInfoPtr pScrn, int 
flags)
crtc_max_X = pScrn-display-virtualX;
crtc_max_Y = pScrn-display-virtualY;
if (info-allowColorTiling) {
-   if (crtc_max_X  info-MaxSurfaceWidth)
-   crtc_max_X = info-MaxSurfaceWidth;
-   if (crtc_max_Y  info-MaxLines)
-   crtc_max_Y = info-MaxLines;
-   } else {
-   if (crtc_max_X  8192)
-   crtc_max_X = 8192;
-   if (crtc_max_Y  8192)
-   crtc_max_Y = 8192;
+   if (crtc_max_X  info-MaxSurfaceWidth ||
+   crtc_max_Y  info-MaxLines) {
+   info-allowColorTiling = FALSE;
+   xf86DrvMsg(pScrn-scrnIndex, X_WARNING,
+  Requested desktop size exceeds surface limts for 
tiling, ColorTiling disabled\n);
+   }
}
+   if (crtc_max_X  8192)
+   crtc_max_X = 8192;
+   if (crtc_max_Y  8192)
+   crtc_max_Y = 8192;
 } else {
-   if (pScrn-videoRam  16384) {
+   if (pScrn-videoRam = 16384) {
crtc_max_X = 1600;
crtc_max_Y = 1200;
-   } else if (pScrn-videoRam = 32768) {
-   crtc_max_X = 2048;
-   crtc_max_Y = 1200;
-   } else if (pScrn-videoRam  32768) {
+   } else {
if (IS_R300_VARIANT) {
crtc_max_X = 2560;
-   crtc_max_Y = 2048;
+   crtc_max_Y = 1200;
} else {
crtc_max_X = 2048;
-   crtc_max_Y = 2048;
+   crtc_max_Y = 1200;
}
}
 }
@@ -2723,6 +2721,9 @@ _X_EXPORT Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
   crtc_max_X, crtc_max_Y);
 xf86DrvMsg(pScrn-scrnIndex, X_INFO,
   For a larger or smaller max desktop size, add a Virtual line to 
your xorg.conf\n);
+xf86DrvMsg(pScrn-scrnIndex, X_INFO,
+  If you are having trouble with 3D, 
+  reduce the desktop size by adjusting the Virtual line to your 
xorg.conf\n);
 
 /*xf86CrtcSetSizeRange (pScrn, 320, 200, info-MaxSurfaceWidth, 
info-MaxLines);*/
 xf86CrtcSetSizeRange (pScrn, 320, 200, crtc_max_X, crtc_max_Y);

commit d49a60bc939c9f3e9d57c23e44263f5bb52f09fb
Author: Sjoerd Simons [EMAIL PROTECTED]
Date: 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-08-27 Thread Brice Goglin
 configure.ac |4 
 man/radeon.man   |8 
 src/atidri.c |7 
 src/radeon.h |   25 ++
 src/radeon_bios.c|   32 +--
 src/radeon_crtc.c|  123 +++--
 src/radeon_display.c |   25 ++
 src/radeon_dri.c |   85 +++--
 src/radeon_driver.c  |  456 ---
 src/radeon_output.c  |   39 +---
 src/radeon_probe.c   |1 
 src/radeon_reg.h |1 
 src/radeon_tv.c  |9 -
 src/radeon_video.c   |   55 +++---
 src/theatre.c|   15 +
 src/theatre200.c |   19 +-
 src/theatre_detect.c |   15 +
 17 files changed, 435 insertions(+), 484 deletions(-)

New commits:
commit a12e4aa01bf1c5723c3c791ff9bdc26eef21d5ea
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Aug 26 18:51:29 2007 -0400

Bump for new release

diff --git a/configure.ac b/configure.ac
index cdc6377..0c413c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.7.191,
+6.7.192,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit d43596e5f5d7c60f96b57bc3e743a9b40eb7109d
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Aug 26 18:07:50 2007 -0400

RADEON: Fix rotation.  works now

diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
index 026cd8a..e976e2c 100644
--- a/src/radeon_crtc.c
+++ b/src/radeon_crtc.c
@@ -188,7 +188,7 @@ RADEONInitCrtcBase(xf86CrtcPtr crtc, RADEONSavePtr save,
 #endif
save-crtc_offset_cntl = 0;
 
-if (info-tilingEnabled) {
+if (info-tilingEnabled  (crtc-rotatedData == NULL)) {
if (IS_R300_VARIANT)
   save-crtc_offset_cntl |= (R300_CRTC_X_Y_MODE_EN |
 R300_CRTC_MICRO_TILE_BUFFER_DIS |
@@ -207,7 +207,7 @@ RADEONInitCrtcBase(xf86CrtcPtr crtc, RADEONSavePtr save,
 
 Base = pScrn-fbOffset;
 
-if (info-tilingEnabled) {
+if (info-tilingEnabled  (crtc-rotatedData == NULL)) {
 if (IS_R300_VARIANT) {
/* On r300/r400 when tiling is enabled crtc_offset is set to the 
address of
 * the surface.  the x/y offsets are handled by the X_Y tile reg for 
each crtc
@@ -249,6 +249,10 @@ RADEONInitCrtcBase(xf86CrtcPtr crtc, RADEONSavePtr save,
Base += offset;
 }
 
+if (crtc-rotatedData != NULL) {
+   Base = pScrn-fbOffset + (char *)crtc-rotatedData - (char *)info-FB;
+}
+
 Base = ~7; /* 3 lower bits are always 0 */
 
 
@@ -419,7 +423,7 @@ RADEONInitCrtc2Base(xf86CrtcPtr crtc, RADEONSavePtr save,
 #endif
save-crtc2_offset_cntl = 0;
 
-if (info-tilingEnabled) {
+if (info-tilingEnabled  (crtc-rotatedData == NULL)) {
if (IS_R300_VARIANT)
   save-crtc2_offset_cntl |= (R300_CRTC_X_Y_MODE_EN |
  R300_CRTC_MICRO_TILE_BUFFER_DIS |
@@ -438,7 +442,7 @@ RADEONInitCrtc2Base(xf86CrtcPtr crtc, RADEONSavePtr save,
 
 Base = pScrn-fbOffset;
 
-if (info-tilingEnabled) {
+if (info-tilingEnabled  (crtc-rotatedData == NULL)) {
 if (IS_R300_VARIANT) {
/* On r300/r400 when tiling is enabled crtc_offset is set to the 
address of
 * the surface.  the x/y offsets are handled by the X_Y tile reg for 
each crtc
@@ -480,6 +484,10 @@ RADEONInitCrtc2Base(xf86CrtcPtr crtc, RADEONSavePtr save,
Base += offset;
 }
 
+if (crtc-rotatedData != NULL) {
+   Base = pScrn-fbOffset + (char *)crtc-rotatedData - (char *)info-FB;
+}
+
 Base = ~7; /* 3 lower bits are always 0 */
 
 #ifdef XF86DRI
@@ -560,7 +568,7 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr 
save,
  ? RADEON_CRTC2_V_SYNC_POL
  : 0));
 
-save-crtc2_pitch  = ((info-CurrentLayout.displayWidth * 
pScrn-bitsPerPixel) +
+save-crtc2_pitch  = ((pScrn-displayWidth * pScrn-bitsPerPixel) +
  ((pScrn-bitsPerPixel * 8) -1)) / 
(pScrn-bitsPerPixel * 8);
 save-crtc2_pitch |= save-crtc2_pitch  16;
 

commit 47eb3327c258bb0cfd9a1d5677624b9988a39057
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Aug 26 15:43:22 2007 -0400

RADEON: minor tweak to tv out

diff --git a/src/radeon_tv.c b/src/radeon_tv.c
index c5917bc..3a26a0a 100644
--- a/src/radeon_tv.c
+++ b/src/radeon_tv.c
@@ -343,7 +343,7 @@ void RADEONInitTVRegisters(xf86OutputPtr output, 
RADEONSavePtr save,
   | RADEON_SYNC_TIP_LEVEL
   | RADEON_YFLT_EN
   | RADEON_UVFLT_EN
-  | (2  RADEON_CY_FILT_BLEND_SHIFT);
+  | (6  RADEON_CY_FILT_BLEND_SHIFT);
 
 if (radeon_output-tvStd == TV_STD_NTSC ||
radeon_output-tvStd == TV_STD_NTSC_J) {

commit f36720377737210c985b196d9a988efdd767f1c7
Author: Alex Deucher [EMAIL PROTECTED](none)
Date:   Sun Aug 26 14:13:06 2007 -0400


xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-08-23 Thread Brice Goglin
 .gitignore |1 
 configure.ac   |2 
 man/radeon.man |  240 ---
 src/Makefile.am|7 
 src/local_xf86Rename.h |   23 
 src/radeon.h   |  279 ++--
 src/radeon_bios.c  | 1001 +--
 src/radeon_crtc.c  | 1298 +++
 src/radeon_cursor.c|  302 +---
 src/radeon_display.c   | 1706 +
 src/radeon_dri.c   |   52 
 src/radeon_driver.c| 3257 +++--
 src/radeon_mergedfb.c  | 2118 ---
 src/radeon_mergedfb.h  |  121 -
 src/radeon_modes.c |  677 +-
 src/radeon_output.c| 2616 +++
 src/radeon_probe.h |  119 +
 src/radeon_reg.h   |  169 ++
 src/radeon_tv.c|  762 +++
 src/radeon_tv.h|   56 
 src/radeon_version.h   |2 
 src/radeon_video.c |  350 +++--
 src/radeon_video.h |6 
 23 files changed, 7609 insertions(+), 7555 deletions(-)

New commits:
commit 9d38c8aa1a7d6fb1af41ee8abdb4a95f94843538
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Thu Aug 23 20:10:24 2007 +1000

radeon: cleanup some warnings

diff --git a/src/radeon.h b/src/radeon.h
index 6128345..1a91cfd 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -960,6 +960,10 @@ extern void RADEONAdjustPLL2RegistersForTV(ScrnInfoPtr 
pScrn, RADEONSavePtr save
 extern void RADEONInitTVRegisters(xf86OutputPtr output, RADEONSavePtr save,
   DisplayModePtr mode, BOOL IsPrimary);
 
+extern void RADEONRestoreTVRegisters(ScrnInfoPtr pScrn, RADEONSavePtr restore);
+extern void RADEONRestoreTVRestarts(ScrnInfoPtr pScrn, RADEONSavePtr restore);
+extern void RADEONRestoreTVTimingTables(ScrnInfoPtr pScrn, RADEONSavePtr 
restore);
+
 #ifdef XF86DRI
 #ifdef USE_XAA
 extern voidRADEONAccelInitCP(ScreenPtr pScreen, XAAInfoRecPtr a);
diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index 9d8946f..975fc07 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -623,6 +623,7 @@ Bool RADEONGetTVInfoFromBIOS (xf86OutputPtr output) {
return FALSE;
}
 }
+return FALSE;
 }
 
 /* Read PLL parameters from BIOS block.  Default to typical values if there
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 0dc8d56..1f4d0c2 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -4256,7 +4256,6 @@ void RADEONRestoreFPRegisters(ScrnInfoPtr pScrn, 
RADEONSavePtr restore)
 void RADEONRestoreFP2Registers(ScrnInfoPtr pScrn, RADEONSavePtr restore)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
-RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
 OUTREG(RADEON_FP2_GEN_CNTL, restore-fp2_gen_cntl);
@@ -4267,7 +4266,6 @@ void RADEONRestoreFP2Registers(ScrnInfoPtr pScrn, 
RADEONSavePtr restore)
 void RADEONRestoreRMXRegisters(ScrnInfoPtr pScrn, RADEONSavePtr restore)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
-RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
 
 OUTREG(RADEON_FP_HORZ_STRETCH,  restore-fp_horz_stretch);
@@ -4390,7 +4388,7 @@ static CARD16 RADEONGetVTimingTablesAddr(CARD32 tv_uv_adr)
 }
 
 /* Restore horizontal/vertical timing code tables */
-static void RADEONRestoreTVTimingTables(ScrnInfoPtr pScrn, RADEONSavePtr 
restore)
+void RADEONRestoreTVTimingTables(ScrnInfoPtr pScrn, RADEONSavePtr restore)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
@@ -4466,7 +4464,7 @@ static void RADEONRestoreTVHVRegisters(ScrnInfoPtr pScrn, 
RADEONSavePtr restore)
 }
 
 /* restore TV RESTART registers */
-static void RADEONRestoreTVRestarts(ScrnInfoPtr pScrn, RADEONSavePtr restore)
+void RADEONRestoreTVRestarts(ScrnInfoPtr pScrn, RADEONSavePtr restore)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
@@ -5259,7 +5257,6 @@ static void RADEONSaveTVRegisters(ScrnInfoPtr pScrn, 
RADEONSavePtr save)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
-unsigned i;
 
 ErrorF(Entering TV Save\n);
 

commit e4c8969b48a6c8dcc4e7f9852479d24a0204fc0d
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Thu Aug 23 19:56:21 2007 +1000

updated release numbering for randr 1.2

diff --git a/configure.ac b/configure.ac
index 441e723..b178224 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.6.193,
+6.7.191,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 53a67e31904bec9a3aa1bd24de8034dcafea1d2a
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Tue Aug 21 21:20:41 2007 -0400

RADEON: Fix color problem on pre-R3xx chips tv-out

diff --git a/src/radeon_tv.c b/src/radeon_tv.c
index 1f61250..522f7ed 100644
--- a/src/radeon_tv.c
+++ b/src/radeon_tv.c
@@ 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-08-04 Thread Brice Goglin
 configure.ac |6 
 man/ati.man  |4 
 man/radeon.man   |4 
 src/atimach64xv.c|3 
 src/r128_driver.c|3 
 src/radeon.h |   22 -
 src/radeon_accel.c   |   38 +-
 src/radeon_bios.c|   21 +
 src/radeon_common.h  |7 
 src/radeon_commonfuncs.c |   14 -
 src/radeon_cursor.c  |   64 
 src/radeon_display.c |  611 +++
 src/radeon_dri.c |   51 +++
 src/radeon_driver.c  |  493 +
 src/radeon_exa.c |   17 +
 src/radeon_probe.h   |3 
 src/radeon_reg.h |8 
 src/radeon_video.c   |   16 -
 18 files changed, 696 insertions(+), 689 deletions(-)

New commits:
commit 1de52d91ff3a04b9b587b858e1e5be40d3a7fd0a
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Sat Aug 4 17:58:58 2007 +1000

update configure.ac for 6.6.193 release

diff --git a/configure.ac b/configure.ac
index f444afb..441e723 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.6.192,
+6.6.193,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 371001c0433db1d17e468f3ea99ea57f922145a3
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Sat Aug 4 17:51:19 2007 +1000

radeon: remove unused variables

diff --git a/src/radeon_display.c b/src/radeon_display.c
index 95e669d..02f5960 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -2071,7 +2071,6 @@ RADEONCRTC2Blank(RADEONInfoPtr info, Bool Blank)
 void RADEONBlank(ScrnInfoPtr pScrn, Bool Blank)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
-unsigned char *RADEONMMIO = info-MMIO;
 RADEONEntPtr pRADEONEnt   = RADEONEntPriv(pScrn);
 
 if (!pRADEONEnt-HasSecondary ||
@@ -2223,7 +,6 @@ RADEONDisplayPowerManagementSet(ScrnInfoPtr pScrn, int 
PowerManagementMode, int
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 RADEONEntPtr pRADEONEnt   = RADEONEntPriv(pScrn);
-RADEONConnector *pPort;
 
 if (!pScrn-vtSema)
return;

commit 90946c53d7a4b23d03270ad6da0450759a11de3d
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Sat Aug 4 17:51:06 2007 +1000

ati: add -Wall for gcc

As per luc's suggestion in Novell bug.

This may generate warnings on 64-bit until we get rid of CARD32

diff --git a/configure.ac b/configure.ac
index 8b29d8d..f444afb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,6 +39,10 @@ AC_DISABLE_STATIC
 AC_PROG_LIBTOOL
 AC_PROG_CC
 
+if test x$GCC = xyes; then
+   CFLAGS=$CFLAGS -Wall
+fi
+
 AH_TOP([#include xorg-server.h])
 
 AC_ARG_WITH(xorg-module-dir,

commit e30a145934df8f6a7f71290d6c75e4239f9d52f7
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Sat Aug 4 17:44:46 2007 +1000

radeon: cleanup some pieces of the dpms/blank register programming

diff --git a/src/radeon_display.c b/src/radeon_display.c
index 0bf7271..95e669d 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -2020,33 +2020,26 @@ RADEONOutputsBlank(ScrnInfoPtr pScrn, RADEONConnector 
*pPort, Bool Blank)
 {
 RADEONInfoPtr  info   = RADEONPTR(pScrn);
 unsigned char *RADEONMMIO = info-MMIO;
+CARD32 val;
 
 switch(pPort-MonType) {
 case MT_LCD:
-   if (Blank)
-   OUTREGP(RADEON_LVDS_GEN_CNTL, RADEON_LVDS_DISPLAY_DIS, 
~RADEON_LVDS_DISPLAY_DIS);
-   else
-   OUTREGP(RADEON_LVDS_GEN_CNTL, 0, ~RADEON_LVDS_DISPLAY_DIS);
+   val = (Blank == TRUE) ? RADEON_LVDS_DISPLAY_DIS : 0;
+   OUTREGP(RADEON_LVDS_GEN_CNTL, val, ~RADEON_LVDS_DISPLAY_DIS);
 break;
 case MT_CRT:
if ((info-ChipFamily == CHIP_FAMILY_R200)  (pPort-DACType == 
DAC_TVDAC)) {
-   if (Blank)
-   OUTREGP(RADEON_FP2_GEN_CNTL, RADEON_FP2_BLANK_EN, 
~RADEON_FP2_BLANK_EN);
-   else
-   OUTREGP(RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_BLANK_EN);
+   val = (Blank == TRUE) ? RADEON_FP2_BLANK_EN : 0;
+   OUTREGP(RADEON_FP2_GEN_CNTL, val, ~RADEON_FP2_BLANK_EN);
}
 break;
 case MT_DFP:
if (pPort-TMDSType == TMDS_EXT) {
-   if (Blank)
-   OUTREGP(RADEON_FP2_GEN_CNTL, RADEON_FP2_BLANK_EN, 
~RADEON_FP2_BLANK_EN);
-   else
-   OUTREGP(RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_BLANK_EN);
+   val = Blank ? RADEON_FP2_BLANK_EN : 0;
+   OUTREGP(RADEON_FP2_GEN_CNTL, val, ~RADEON_FP2_BLANK_EN);
} else {
-   if (Blank)
-   OUTREGP(RADEON_FP_GEN_CNTL, RADEON_FP_BLANK_EN, 
~RADEON_FP_BLANK_EN);
-   else
-   OUTREGP(RADEON_FP_GEN_CNTL, 0, ~RADEON_FP_BLANK_EN);
+   val = Blank ? RADEON_FP_BLANK_EN : 0;
+   OUTREGP(RADEON_FP_GEN_CNTL, val, ~RADEON_FP_BLANK_EN);
}
 break;
 case MT_NONE:
@@ -2059,28 +2052,19 @@ static void
 RADEONCRTC1Blank(RADEONInfoPtr info, Bool Blank)
 {
 unsigned 

xserver-xorg-video-ati: Changes to 'upstream-experimental'

2007-05-20 Thread Julien Cristau
 configure.ac  |2 
 src/radeon_bios.c |5 +
 src/radeon_display.c  |   65 +++
 src/radeon_driver.c   |  137 ++
 src/radeon_mergedfb.c |   53 ++-
 src/radeon_modes.c|   82 -
 src/radeon_probe.h|3 -
 src/radeon_reg.h  |2 
 8 files changed, 209 insertions(+), 140 deletions(-)

New commits:
commit 09bfc8ed000f95ede5b73f2bad69edc1a4d9bac6
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Sun May 20 18:06:22 2007 -0400

update to 6.6.192 for rc release

diff --git a/configure.ac b/configure.ac
index ddfa7c8..8b29d8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-ati],
-6.6.191,
+6.6.192,
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 xf86-video-ati)
 

commit 764cb73e8dec4040cdd418d249fc504399fca3ee
Author: Alex Deucher [EMAIL PROTECTED]
Date:   Sun May 20 17:26:26 2007 -0400

Fix regular/xinerama/zaphod dualhead mode

- logic in RADEONUnblank() was wrong
- Calling RADEONSetupConnectors() on second instance screwed up the port 
info
- still seem to be HW cursor issues with zaphod mode

diff --git a/src/radeon_display.c b/src/radeon_display.c
index f3b86e6..fb345a9 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -2135,7 +2135,9 @@ void RADEONUnblank(ScrnInfoPtr pScrn)
 RADEONEntPtr pRADEONEnt   = RADEONEntPriv(pScrn);
 RADEONConnector *pPort;
 
-if (!pRADEONEnt-HasSecondary || (info-IsSwitching   
!info-IsSecondary)) {
+if (!pRADEONEnt-HasSecondary ||
+   (pRADEONEnt-HasSecondary  !info-IsSwitching) ||
+   (info-IsSwitching  (!info-IsSecondary))) {
pPort = RADEONGetCrtcConnector(pScrn, 1);
if (pPort)
RADEONUnblankSet(pScrn, pPort);
@@ -2158,7 +2160,8 @@ void RADEONUnblank(ScrnInfoPtr pScrn)
   }
 }
 
-if (info-IsSwitching  info-IsSecondary) {
+if ((pRADEONEnt-HasSecondary  !info-IsSwitching) ||
+   (info-IsSwitching  info-IsSecondary)) {
pPort = RADEONGetCrtcConnector(pScrn, 2);
if (pPort)
RADEONUnblankSet(pScrn, pPort);
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index b9cce22..933265f 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2971,7 +2971,9 @@ static Bool RADEONPreInitControllers(ScrnInfoPtr pScrn, 
xf86Int10InfoPtr  pInt10
 
 RADEONGetBIOSInfo(pScrn, pInt10);
 
-RADEONSetupConnectors(pScrn);
+if (!info-IsSecondary) {
+   RADEONSetupConnectors(pScrn);
+}
 RADEONMapControllers(pScrn);
 
 RADEONGetClockInfo(pScrn);

commit a3ee42207aab77d93655a82fdcb32be38268b85f
Author: Dave Airlie [EMAIL PROTECTED]
Date:   Wed Apr 25 09:52:22 2007 +1000

radeon: another attempt at fixing the mergedfb refresh rate

This attempts to keep it inside the 32-bit limit when multiplying things out
later in the randr tree.

Let me know if I screwed this up..

diff --git a/src/radeon_mergedfb.c b/src/radeon_mergedfb.c
index fa143cb..abbc160 100644
--- a/src/radeon_mergedfb.c
+++ b/src/radeon_mergedfb.c
@@ -215,8 +215,13 @@ RADEONCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
   * extension to allow selecting among a number of modes whose merged 
result
   * looks identical but consists of different modes for CRT1 and CRT2
   */
-mode-VRefresh = (float)((i-Clock * 1000.0 / i-HTotal / i-VTotal) * 100 
+
-   (j-Clock * 1000.0 / j-HTotal / j-VTotal));
+{
+   float ref1, ref2;
+   ref1 = ((float)i-Clock * 100.0 / i-HTotal / i-VTotal) * 50.0;
+   ref2 = ((float)j-Clock * 100.0 / j-HTotal / j-VTotal) / 2.0;
+
+mode-VRefresh = (float) ref1 + ref2;
+}
 
 mode-Clock = (int)(mode-VRefresh * 0.001 * mode-HTotal * mode-VTotal);
 

commit 3828237200fc16d4d32664fb8358950c213d4897
Author: Dave Airlie [EMAIL PROTECTED](none)
Date:   Sun Apr 22 11:36:00 2007 +1000

radeon: add support for DDC on some laptop chipsets

I noticed fglrx has DDC for the panel in the rs480 laptop, however radeon
didn't pick it up, so I valgrinded fglrx and spotted 0x1a0/0x1a4 accesses
I actually noticed this before from the BIOS but never figured it out.

So now I get DDC from the LCD on this laptop.

diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index 1d4c9bb..dd3d0a7 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -181,6 +181,9 @@ Bool RADEONGetConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
case RADEON_GPIO_CRT2_DDC:
pRADEONEnt-PortInfo[crtc]-DDCType = DDC_CRT2;
break;
+   case RADEON_LCD_GPIO_MASK:
+   pRADEONEnt-PortInfo[crtc]-DDCType = DDC_LCD;
+   break;
default: