summaryrefslogtreecommitdiff
path: root/driver/xf86-video-geode
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2010-12-07 21:54:12 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2010-12-07 21:54:12 +0000
commite9a46e6650b8ad888d7ce65bb3b286dad2ef20e8 (patch)
treec81a45d160184afa040ec3124ce736d69daf3e90 /driver/xf86-video-geode
parent54130b87c933a6c95d624fe91ff7c34d60d16801 (diff)
Update to xf86-video-geode 2.11.10. Tested on Alix 3C3.
Diffstat (limited to 'driver/xf86-video-geode')
-rw-r--r--driver/xf86-video-geode/ChangeLog1418
-rwxr-xr-xdriver/xf86-video-geode/configure20
-rw-r--r--driver/xf86-video-geode/configure.ac2
-rw-r--r--driver/xf86-video-geode/src/geode_dcon.c21
-rw-r--r--driver/xf86-video-geode/src/geode_driver.c6
-rw-r--r--driver/xf86-video-geode/src/gx_driver.c16
-rw-r--r--driver/xf86-video-geode/src/gx_randr.c4
-rw-r--r--driver/xf86-video-geode/src/gx_video.c26
-rw-r--r--driver/xf86-video-geode/src/lx_display.c59
-rw-r--r--driver/xf86-video-geode/src/lx_driver.c4
-rw-r--r--driver/xf86-video-geode/src/lx_memory.c15
-rw-r--r--driver/xf86-video-geode/src/lx_output.c15
-rw-r--r--driver/xf86-video-geode/src/lx_panel.c15
-rw-r--r--driver/xf86-video-geode/src/lx_video.c66
-rw-r--r--driver/xf86-video-geode/src/z4l.c18
15 files changed, 1604 insertions, 101 deletions
diff --git a/driver/xf86-video-geode/ChangeLog b/driver/xf86-video-geode/ChangeLog
index 52a811be8..b0047b2ab 100644
--- a/driver/xf86-video-geode/ChangeLog
+++ b/driver/xf86-video-geode/ChangeLog
@@ -1,3 +1,1419 @@
+commit 50f9152e2087fd50dfc09e35505c2fbcdd3183b0
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Tue Nov 9 11:12:44 2010 +0200
+
+ Geode 2.11.10
+
+commit ff091333b506855c17ec8ea5f933026221600be9
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Thu Oct 28 13:13:09 2010 +0300
+
+ Revert "Simplify the mode_valid function"
+
+ This reverts commit fab58e111b6655602b4f739260a01247ff478f35.
+
+commit fab58e111b6655602b4f739260a01247ff478f35
+Author: Huang, FrankR <FrankR.Huang@amd.com>
+Date: Thu Oct 28 15:17:19 2010 +0800
+
+ Simplify the mode_valid function
+
+ Signed-off-by: Frank Huang<frankr.huang@amd.com>
+
+commit fb72a210d7de61c49fc66aafa057d8c6a028b907
+Author: Huang, FrankR <FrankR.Huang@amd.com>
+Date: Thu Oct 28 15:16:58 2010 +0800
+
+ Revise the entry for 1024x600
+
+ *Change the entry of 1024x600 from 3 to 7(That will not affect the entries from
+ 3 to 6). And BIOS should set the VG_FP_TYPE bit[5:3] to 7.
+ *Use 1024x600@80 instead of 1024x600@60 parameters to support more 4:3 resolutions
+
+ Signed-off-by: Frank Huang<frankr.huang@amd.com>
+
+commit 9caaf7f8294ef9700e9e20e394fee10cc2b1c9c0
+Author: Daniel Drake <dsd@laptop.org>
+Date: Mon Sep 6 18:35:17 2010 -0600
+
+ Don't power down DCON when it is frozen
+
+ Putting a frozen DCON to sleep (as happens during regular boot of the XO)
+ will cause the frozen image to be corrupted.
+
+ Change the behaviour to only sleep when the DCON is not frozen.
+
+ http://dev.laptop.org/ticket/10196
+
+commit 87512b72d64370e062d209724994a72368c21df6
+Author: Daniel Drake <dsd@laptop.org>
+Date: Mon Sep 6 18:33:48 2010 -0600
+
+ Add get_crtc output function
+
+ I don't know why X can't do this itself, but when no get_crtc method is
+ provided, X decides that it doesn't know the CRTC of the output and
+ decides to reset the mode completely (causing display powerdown, resulting
+ in an uncomfortable visual interruption to OLPC's boot process).
+
+commit 5e72a00ad26f2052bb48fef041d6fbd14ba18153
+Author: Hunk Cui <Hunk.Cui@amd.com>
+Date: Wed Oct 13 18:26:52 2010 +0800
+
+ Allocate video memory with exaOffscreenAlloc
+
+ *Del for deduct the probable size of a video overlay.
+ *Use exaOffscreenAlloc allocate the video overlay.
+ *Use exaOffscreenAlloc allocate the offscreen surface.
+ *XV-video data has to be allocate in offscreen memory range.
+
+ Signed-off-by: Hunk Cui <Hunk.Cui@amd.com>
+
+commit 334534cde47f1ffe126e4e665988480fc57a7307
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Wed Sep 29 16:45:56 2010 +0800
+
+ Add resolution 1024x600 support for PANEL
+
+ *Users can not get 1024x600 by default when using panel without xorg.conf.
+ Add this screen resolution to the panel_modes table to support it by default.
+ *Users who are using VGA will get this resolution by the monitor EDID. No
+ code is needed
+ *Use gtf tool to get the parameters
+ *Ubuntu bugzilla #433142
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit becaa0ae375e996c2f83192bb84a5c89f94933dd
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Wed Sep 29 16:45:42 2010 +0800
+
+ Fix a typo on resolution parameter
+
+ *change from 1028 to 1280
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 89c60efe899f0cda4a52e0574f030c021c4b1ece
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Wed Sep 29 16:35:46 2010 +0300
+
+ Mode Validation support on modeline in xorg.conf
+
+ *mode validation(lx_output_mode_valid) in this driver should return MODE_OK for
+ all modes filtered out by previous process in this function. Otherwise, new
+ modelines(conf_modes) will be pruned by Xserver function Xf86PruneInvalidModes.
+ The result is that the user can not set arbitrary resolutions. We comply with
+ the code of ATI&&Intel mode_valid function to do this.
+ *For modes that cannot be supported by the geode driver, it is better to give
+ the specific MODE_XXX(such as MODE_CLOCK_RANGE) instead of MODE_BAD.
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 74e28b83d5b725a134aad264771a7c9a4d0e38df
+Author: Hunk <hunk.cui@amd.com>
+Date: Sun Sep 26 18:14:52 2010 +0800
+
+ Modify rotation pitch & reallocate pixmap for bo
+
+ *Modify rotation pitch value with crtc_mode_set.
+ *Use own wrapper to allocate a pixmap for wrapping a bo.
+ *Ubuntu Bugzilla #377929
+ *Debian Bugzilla #512020
+
+ Signed-off-by: Hunk Cui <Hunk.Cui@amd.com>
+
+commit 7d7cc26011fde18dcce5c6b95cd73a12a71a7f99
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Thu Sep 23 16:17:40 2010 -0300
+
+ lx_display: fix typo
+
+commit 90dda28842ac76a05ae75a4fdd457dd8b8988950
+Author: Andres Salomon <dilinger@queued.net>
+Date: Mon Sep 20 11:31:29 2010 -0700
+
+ fix the DCON verification loop for LX output
+
+ This is pretty clearly a bug. This should fix it (after all, that
+ check is merely to see if the panel is a DCON; we don't care at
+ all about the panel bit). This also adds an extra parenthesis in
+ the following if() statement for clarity.
+
+ I'm resisting the temptation to change GeodeRec's Output member to
+ an unsigned long (for now). Bitfields should really be unsigned.
+
+ Signed-off-by: Andres Salomon <dilinger@queued.net>
+
+commit 5dfe7dbf6ed122fbbb758be7a5b7d78a199583c7
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Wed Sep 1 10:30:35 2010 +0800
+
+ Replace xalloc/xrealloc/xfree/xcalloc with malloc/realloc/free/calloc
+
+ * Replace the deprecated functions with new ones
+ Refer to "/xserver/include/os.h"
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit fc342655a3d928759467eac8c917effe8f283031
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon Aug 23 07:46:22 2010 +0300
+
+ Geode 2.11.9
+
+ We are pleased to announce this maintenance release of xf86-video-geode.
+ It features a plethora of bug fixes, a few documentation updates and one
+ performance enhancement.
+
+ This release also marks the return of AMD to the development team.
+
+ Please read the content of NEWS for more details.
+
+commit c77eb79ef24c47ed7431713918a731252ea8153b
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Wed Aug 18 15:37:18 2010 +0800
+
+ Fix the PictOpIn and PictOpOut
+
+ *Correct the entry for PictOpIn, PictOpOut, PictOpOverReverse
+ *Some code format adjustment
+ *Delete the maskflag(temp variable)
+ *Change the code to make the black region(More reasonable than change
+ op from PictOpSrc to PictOpClear)
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 32a927b8e627b3f9759ccfbff231f5fd22445f02
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Wed Aug 18 15:36:49 2010 +0800
+
+ Fix the PictOpInReverse op
+
+ *Correct the entry for PictOpOverReverse and PictOpInReverse
+ *Correct the channel reverse use, delete direction use
+ *Add a function lx_composite_all_black to generate a all zero vectors
+ including alpha
+ *Modify some comments
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit f0e24491ca676244b2fd6f2d4476e996847824cd
+Author: Mart Raudsepp <leio@gentoo.org>
+Date: Mon Aug 16 07:09:43 2010 +0300
+
+ Fix segfault with Option NoAccel
+
+ Fixes bug #27725
+
+ Breakage from commit 38e86827
+
+commit b0a13d871d9b72da83380d4564ae947ace733b5d
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Aug 15 18:19:00 2010 +0300
+
+ Fix a few typos in NEWS.
+
+commit 66a74e1e7ee5abde9a9eebfece126ba2fdafce9d
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Aug 15 18:13:57 2010 +0300
+
+ Further rephrase the content of NEWS.
+
+commit fc711bc0c3b21fd11ffd1ab590122226799ee904
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Aug 15 18:11:43 2010 +0300
+
+ Fixes the styling of NEWS for consistency.
+
+commit 2c26c5a4399fcf04d402a973ce3da484215d3202
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Aug 15 18:00:41 2010 +0300
+
+ Created a NEWS file to document recent changes.
+
+commit 673d71b970a6d02449c9994e67f337d117d7f075
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Thu Aug 12 15:49:53 2010 +0800
+
+ Fix the PictOpOutReverse op
+
+ *Correct the entry for PictOutReverse
+ *Outside the source picture, the pixels should be all zero when doing
+ the PictOpOutReverse rendering with Dst
+ *Rename the function name of pict_a8 to add_a8
+ *Rename the function name of opover to two_pass
+ *Fix the bug in KDE dolphin file browser
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 2d1a07327ef352b5f36cbd93a280485cafeeb4d4
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Thu Aug 12 15:49:36 2010 +0800
+
+ Improve the glyph rendering performance
+
+ *Add a PICT_a8 entry in the format we support
+ *Use Mart's workaround patch to give geode PictOpAdd correct pSrc
+ and pDst format
+ *Add a function lx_composite_onepass_pict_a8 to handle the PictOpAdd
+ for glyph rendering
+ *Performance for "x11perf" command under Fedora 12
+ Past Now
+ -aa10text 4660/sec 53300/sec
+ -aa24text 2740/sec 16200/sec
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit fe6ad5942bf3d638bee2e6979f60d9d7128ba1e8
+Author: Hunk Cui <Hunk.Cui@amd.com>
+Date: Mon Aug 9 18:03:23 2010 +0800
+
+ Rectify lx_display.c outstanding compiler warnings
+
+ *Correct the type of LXAllocShadow from Bool to static Bool.
+
+ Signed-off-by: Hunk Cui <Hunk.Cui@amd.com>
+
+commit 1f96e74919fe9442062804de785c6e1008d75bf2
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon Aug 9 10:48:16 2010 +0300
+
+ Revert "Improve the glyph rendering performance"
+
+ This reverts commit ebe43da32226eb7bc3ef758c43eff85ac8b8baef as Frank
+ pointed out that I mistakenly committed an outdated version of this.
+
+commit 7a523acf985771b2bd45f5d2823c217cd9075b1e
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Mon Aug 9 10:43:27 2010 +0800
+
+ Correct two outstanding compiler warnings
+
+ *Correct the type from "Q_WORD" to "QQ_WORD" in panel.c
+ *Correct the tyep from "char" to "const char" in z4l.c
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit ebe43da32226eb7bc3ef758c43eff85ac8b8baef
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Sat Aug 7 16:54:35 2010 +0800
+
+ Improve the glyph rendering performance
+
+ *Add a PICT_a8 entry in the format we support
+ *Use Mart's workaround patch to give geode PictOpAdd correct pSrc and pDst
+ format
+ *Add a function lx_composite_onepass_pict_a8 to handle the PictOpAdd for
+ glyph rendering
+ *Performance for "x11perf -aa10text" has been improved from 4200/s to 47400/s
+ on Fedora12
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 8a61ef8f9f6b9dac6804754572250e59d80bdf06
+Author: Hunk Cui <Hunk.Cui@amd.com>
+Date: Mon Jul 12 13:17:18 2010 +0800
+
+ Fix rotation with newer Xserver versions (exaOffscreenAlloc)
+
+ *Del for deduct the probable size of a shadow buffer.
+ *Use exaOffscreenAlloc allocate the shadow buffer.
+ *Rotateeddata has to be allocate in offscreen memory range.
+ *Ubuntu Bugzilla #377929
+
+ Signed-off-by: Hunk Cui <Hunk.Cui@amd.com>
+
+commit 2bcbc0b64091218d348ad9f699370e4bfde3948b
+Author: Hunk Cui <Hunk.Cui@amd.com>
+Date: Mon Jul 12 12:57:39 2010 +0800
+
+ Gamma Correction for fading operation
+
+ *Modify integrated palette RAM for gamma-correction of the data stream
+ *Let Graphic data passes through the Gamma Correction RAM
+ *Special for Screensaver Operation
+ *FreeDesktop Bugzilla #27853
+
+ Signed-off-by: Hunk Cui <Hunk.Cui@amd.com>
+
+commit ecb741f27de4ca66555d312a4699efc22f873d0e
+Author: Huang, FrankR <FrankR.Huang@amd.com>
+Date: Fri Aug 6 11:16:02 2010 +0800
+
+ Fix the Nautilus file browser misrendering issue
+
+ This is patch 4 final this week.
+ This one has fixed several bugs below:
+ 1)google chrome hang
+ 2)Some website using repeat for source picture with PictOpSrc. To sum up, right now this patch has gracefully solved the Nautilus bug and some special rendering under PictOpSrc and PictOpOver I will describe all special conditions I met
+ Websites for test before and after this patch:
+ 1)http://daduke.org (greater srcX and srcY)
+ 2)http://bjdns2.cncmax.cn (negative srcX and srcY)
+
+ From: Frank Huang <frankr.huang@amd.com>
+
+ *When the srcX or srcY is greater than source width or source height
+ (or negative),the driver should do the correct region to render. Add a
+ function lx_composite_onepass_special to handle this. The source start
+ point should be calculated by a modulus operation.
+ *If the opeartion is with a shifted position src, then adjust the
+ operation region based on the operations src width and height
+ parameters. The rotation condition should be excluded. This part still
+ need investigation
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 5b93fdd42d7d8af4535fd62ce0749f2c4434f9fe
+Author: Huang, FrankR <FrankR.Huang@amd.com>
+Date: Fri Jul 23 17:17:49 2010 +0800
+
+ Fix the PictOpOver operation
+
+ Fix the PictOpOver operation
+
+ *Fix the PictOpOver blend_ops struct. The PictOpOver operation is
+ Src + (1-a) * Dest. So change from CIMGP_ALPHA_A_PLUS_BETA_B to
+ CIMGP_A_PLUS_BETA_B. And add one pass operation to do the
+ Src * (alpha of Mask) if there is a mask
+ *Convert the source format in lx_prepare_composite if it is not
+ ARGB32 when doing the first pass
+ *Add a function lx_do_composite_mask_opover to handle the PictOpOver
+ operation, the first pass is to do the Src * (alpha of Mask), the
+ second pass is to do the Src + (1-a) * Dest.
+ *Due to our off-screen buffer is only 256KB, so split big Mask region
+ into several small region(256KB) to do the rendering.
+ *Progressbar, scrollbar and button display well with this patch
+ *See Free Desktop Bugzilla #28352
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 969844d51967aa79ce2c151fc5f1bd296d74437a
+Author: Huang, FrankR <FrankR.Huang@amd.com>
+Date: Fri Jul 23 17:17:34 2010 +0800
+
+ Fix the PictOpSrc rendering
+
+ Fix the PictOpSrc rendering
+
+ *Add the maskrepeat variabel to record mask picture's repeat attribute
+ *Add the maskflag to record the exaScratch.type when it is COMP_TYPE_MASK
+ *Use the PictOpClear to make other non-blending region(out of src or mask)
+ to be black if the op is PictOpSrc or PictOpClear
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit 2771fb365107976e76e175e7f8953dd41ecb91c1
+Author: Huang, FrankR <FrankR.Huang@amd.com>
+Date: Fri Jul 23 17:17:15 2010 +0800
+
+ Put the one pixel rendering work back to the server to handle if the pMsk is not zero
+
+ Put the one pixel rendering work back to the server to handle if the pMsk is not zero
+
+ *exaScratch.srcWidth and exaScratch.srcHeight are used to reocrd
+ mask's width and mask's height if mask is not zero. So the one pixel
+ source's width and height are missing in lx_do_composite. So we must
+ fallback. Otherwise, bigger region will be wrongly rendered.
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+
+commit e9effca821c1d604aeffeb3d3e7a49539485117d
+Author: Daniel Drake <dsd@laptop.org>
+Date: Thu Aug 5 08:08:06 2010 +0300
+
+ http://lists.x.org/archives/xorg-driver-geode/2010-August/000938.html
+ https://bugs.freedesktop.org/show_bug.cgi?id=29391
+
+ LXCopyFromSys currently is hardcoded to operate on 16bpp data.
+ And indeed, when working with packed data (e.g. YUY2), this is the case.
+
+ However, it is also used from LXCopyPlanar to copy the planes of I420
+ images. In this case, it is on an 8bpp input plane.
+
+ Running at 16bpp causes twice as much data to be copied, and ultimately
+ causes a buffer overflow leading to crashes such as
+ http://dev.laptop.org/ticket/10260
+
+ Fix this by deriving the BPP from the input image parameters.
+
+commit f0df6821c454d2b174a071fd846b399e8c2f98f5
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Jul 11 21:28:49 2010 +0300
+
+ Rephrased the FAQ about video rotation to NOT specify a minimum RAM size.
+
+commit f21fb29dbe54e7a237047920a00632752a970da1
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Mon Jul 5 16:49:05 2010 +0800
+
+ Correctly calculate the rendering region with the mask picture
+
+ If the opeartion is with a shifted position mask, then adjust the
+ operation region based on the operations mask width and height
+ parameters(instead of clipping based on source width/height)
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+ Acked-by: Mart Raudsepp <leio@gentoo.org>
+
+commit d8baf45eb79e473fba68b8335b6aaca27df681cf
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Jun 23 00:41:53 2010 +0300
+
+ Added square braces to all AC_INIT elements.
+
+commit 2d377782abc64281b5fa44825d541a1541b19a10
+Author: Jamey Sharp <jamey@minilop.net>
+Date: Tue Jun 22 08:36:40 2010 -0700
+
+ Use new server API to find the root window.
+
+ Signed-off-by: Jamey Sharp <jamey@minilop.net>
+
+commit 14b1561dac796c6ad05648e6857028a87acde9ef
+Author: Jamey Sharp <jamey@minilop.net>
+Date: Tue Jun 22 08:30:52 2010 -0700
+
+ Adapt to DevPrivate API changes.
+
+ This allows the driver to be built against either the old or new
+ DevPrivate API.
+
+ Signed-off-by: Jamey Sharp <jamey@minilop.net>
+
+commit b47d77360cb428d8892beb93789c83dfa681b26f
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon Jun 21 07:44:31 2010 +0300
+
+ Added FAQ about minimal memory requirements to rotate screen in README.
+
+commit 42481a36f92cf79c76fea229b5143c4fbdea444a
+Author: Mart Raudsepp <leio@gentoo.org>
+Date: Mon Jun 14 02:34:20 2010 +0300
+
+ lx_exa: fallback in case of server-side gradients and solid fill
+
+ RENDER extension version 0.10 added support for doing server-side
+ gradients and solid fills, which we were not handling at all.
+ cairo-1.9 started making use of server-side gradients, and we are
+ crashing on those, as the source pixmap (pxSrc in lx_prepare_composite)
+ doesn't have a drawable in this case, and we were not expecting such
+ a possibility.
+ So, as the first measure, fallback (three years late) all server-side
+ gradients and solid fills instead of crashing, until we have no code
+ that tries to accelerate cases of these or aren't sure if we even
+ can accelerate any cases.
+
+ pSourcePict member was added to xserver in 2005, so no compatibility
+ wrapping needed.
+
+ Signed-off-by: Mart Raudsepp <leio@gentoo.org>
+ Acked-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit b46d4ff787bce43409d59837d736af0be2b0dda5
+Author: Frank Huang <frankr.huang@amd.com>
+Date: Sun Jun 13 18:47:12 2010 +0800
+
+ Prevent the pixmap migration if the geode GP can not do the acceleration.
+
+ Bring all the "return FALSE" condition forward from lx_prepare_composite
+ to lx_check_composite. The Xserver will handle this condition. See more
+ on Freedesktop Bugzilla #27243
+
+ Signed-off-by: Frank Huang <frankr.huang@amd.com>
+ Acked-by: Mart Raudsepp <leio@gentoo.org>
+
+commit 8e53a62f196dfc4eb1e8769183b00bf4a3122ddc
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Jun 13 03:24:20 2010 +0300
+
+ Clean up and indent the content of COPYING for better clarity.
+
+commit 4302f6961571609a2b8a27a2d21281f758f48f0d
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Jun 13 03:19:18 2010 +0300
+
+ Move the AMD-specific part of the license away from the boilerplate text.
+
+commit 83b8249d91c7bf351f44062b5e42d12b0b8c9a28
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Jun 13 03:15:09 2010 +0300
+
+ Removed superflous duplicate license from COPYING.
+
+commit 854323a434b8fc7b980387f52dc8c80258ca9b64
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Sat Jun 12 15:48:05 2010 -0400
+
+ COPYING: update Copyright notices from the source code
+
+ Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit e9447f5335681a78cf87ebf8c9659a6fecfc9746
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Wed Sep 9 22:13:40 2009 -0300
+
+ LX: validate display modes
+
+ To avoid using virtual desktop by default we now validate the display
+ modes.
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 3a0e9730634f6894ef57793ae6e072656cd125f0
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat Oct 10 11:54:53 2009 -0300
+
+ cim: add a new 106.50MHz entry
+
+commit 527e3763343b736e0d9f7a1c7d55a51366bfdc36
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat Oct 10 11:53:46 2009 -0300
+
+ cim: properly indent 341.349MHz entry
+
+commit 2f26fd4cc583aa07e31aa3c8edb975ace9bf31eb
+Author: Adam Jackson <ajax@redhat.com>
+Date: Tue May 18 13:07:18 2010 -0400
+
+ Remove mibank.h reference
+
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit cf69c8bde21ee383b471ca82d70c179dfaf78722
+Author: Nicolas Boullis <nboullis@debian.org>
+Date: Mon May 10 07:39:20 2010 +0300
+
+ Correctly set the name for the user-specified panel mode.
+
+commit db01a594ac30c730c580bcf9323220b83eb8ce03
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Thu Apr 15 16:36:43 2010 +0300
+
+ Geode 2.11.8
+
+commit a4b8389e50ea92fe361d96da6fe1c2d7caf39a02
+Author: Mart Raudsepp <leio@gentoo.org>
+Date: Mon Apr 12 08:53:11 2010 +0300
+
+ lx_exa: bail earlier (in CheckComposite) for non-alpha-only masks.
+
+ We should have all the information at CheckComposite already, so don't
+ waste time migrating pixmaps for this case, only to fail in PrepareComposite.
+
+ Currently more importantly this workarounds EXA fallback failure in
+ xserver-1.7+ for this situation, which resulted in many desktop icons not
+ getting rendered; bug #27243
+
+commit 46679d0220c8d34bdd46433bffc490c971783ab9
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Fri Mar 26 08:56:56 2010 -0400
+
+ make: use AM_CPPFLAGS rather than DEFAULT_INCLUDES
+
+ DEFAULT_INCLUDES is computed by Automake and should not be
+ overwritten.
+
+ -I. is the same as -I$(srcdir)
+ The generated DEFAULT_INCLUDES = -I. -I$(top_builddir)
+
+ Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 621de3bf4966b48532ae2bff5f3859a1a6d63241
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Thu Feb 11 19:56:10 2010 +0000
+
+ Bump the minimal autoconf version to 2.59.
+
+commit f67c4f57c06ce4800f2929f65f88b65e22499a65
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Thu Feb 11 21:38:59 2010 +0200
+
+ Bump the minimal xutils macro version to 1.4, as agreed with Gaetan Nadon.
+
+commit 10364d0f667c808641d62339c99564b401683612
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon Feb 8 18:43:27 2010 +0200
+
+ Get rid of unused XFreeXDGA extension.
+
+commit ba9e3975535ffdf05611e96feb578eb01c49544d
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Feb 3 21:09:53 2010 +0000
+
+ Geode 2.11.7
+
+commit 755b08bd59a5ff968040d657401c0779ba7828d0
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat Oct 3 14:46:52 2009 -0300
+
+ GX: refactory mode validation code to be easier to ready
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 7f044dc2569ddf4328649d857023b7c418f9b1df
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat Oct 3 16:01:31 2009 -0300
+
+ LX: fix typo in panel supported modes
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 52f14e87edf564faa475063f44e8ee5adb4e1368
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Fri Oct 2 00:21:01 2009 -0300
+
+ gfx: document panel related methods available
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 5798991e7a4d2354e9735f91f8d60f436c6549ab
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat Oct 3 16:41:14 2009 -0300
+
+ geode: fix typo in AmdPciProbe
+
+commit 93f0303f79ce29e896e4817e945709c6a1d3df69
+Author: Christian Bühler <christian@cbuehler.de>
+Date: Sat Dec 19 18:59:00 2009 +0200
+
+ Geode LX does not support PanelGeometry
+
+ Hello,
+
+ I believe I found an error in the README, which caused quite a lot of
+ confusion for me.
+ According to the source, PanelGeometry is only supported by the GX, not
+ by the LX, but in the README file, this option is listed on both.
+
+ Regards,
+ Christian
+
+commit ab9e8fec5e2f2e0ab35890d8102663991d40b4e4
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue Dec 15 22:01:02 2009 -0500
+
+ configure.ac: remove unused sdkdir=$(pkg-config...) statement
+
+ The sdkdir variable isn't use, so remove the statement.
+
+ Acked-by: Dan Nicholson <dbn.lists@gmail.com>
+
+ Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit a63b523ea694f2badf79827632fb7f0ee8cc1609
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Mon Nov 23 09:24:32 2009 -0500
+
+ Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES
+
+ Now that the INSTALL file is generated.
+ Allows running make maintainer-clean.
+
+commit 58ecaae19472206fd3c642886c787297e6c423d7
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Thu Nov 19 13:45:23 2009 -0500
+
+ Revert "Makefile.am: do not include autogen.sh in distribution #24183"
+
+ This reverts commit c77803368611751f828c1cc7b00e77157b7774b3.
+
+commit d39754d3cd76fbc4eca5eb199bbe67db5e25eee8
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed Oct 28 14:41:41 2009 -0400
+
+ INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
+
+ Automake 'foreign' option is specified in configure.ac.
+ Remove from Makefile.am
+
+commit 29f57f0b92a783f0e1a520b6cf0a6cd211fd9c5f
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed Oct 28 14:09:09 2009 -0400
+
+ INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206
+
+ Add missing INSTALL file. Use standard GNU file on building tarball
+ README may have been updated
+ Remove AUTHORS file as it is empty and no content available yet.
+ Remove NEWS file as it is empty and no content available yet.
+
+commit 8159be49ec768130c47426b669d7491ebdeb288b
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Mon Oct 26 12:54:21 2009 -0400
+
+ Several driver modules do not have a ChangeLog target in Makefile.am #23814
+
+ The git generated ChangeLog replaces the hand written one.
+ Update configure.ac to xorg-macros level 1.3.
+ Use XORG_DEFAULT_OPTIONS which replaces four XORG_* macros
+ Update Makefile.am to add ChangeLog target if missing
+ Remove ChangeLog from EXTRA_DIST or *CLEAN variables
+ This is a pre-req for the INSTALL_CMD
+
+commit 530f29b38408319e4bd9689e4a1309055644c4a2
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Thu Oct 22 12:34:16 2009 -0400
+
+ .gitignore: use common defaults with custom section # 24239
+
+ Using common defaults will reduce errors and maintenance.
+ Only the very small or inexistent custom section need periodic maintenance
+ when the structure of the component changes. Do not edit defaults.
+
+commit c77803368611751f828c1cc7b00e77157b7774b3
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Sun Sep 27 16:33:51 2009 -0400
+
+ Makefile.am: do not include autogen.sh in distribution #24183
+
+ This is a private build script that should not be distributed
+
+commit 1cdb69f2ed0efff76edf90d62ffed72fe65108f5
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Sep 27 14:57:18 2009 +0300
+
+ Geode 2.11.6
+
+commit a504725d2250e663f0a275fd0c02cc849dafe792
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sun Sep 27 14:55:25 2009 +0300
+
+ Revert "LX: validate display modes"
+
+ This reverts commit 3af472f4453f8e92a9f303e64e2796836374d980.
+
+ This commit had broken detection of arbitrary non-VESA resolutions,
+ which affected the OLPC XO-1 and a number of Geode-based notebooks.
+
+commit 1b1092b11a686febfd3ee20bd18677fcc366faa5
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Tue Sep 22 16:41:59 2009 +0300
+
+ Geode 2.11.5
+
+commit 3af472f4453f8e92a9f303e64e2796836374d980
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Wed Sep 9 22:13:40 2009 -0300
+
+ LX: validate display modes
+
+ To avoid using virtual desktop by default we now validate the display
+ modes.
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 6ff8735b25da03f432b755391000bbfe2253b60c
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue Sep 8 21:53:49 2009 -0300
+
+ GX: refactor code that allow backward compatibility with old video interfaces
+
+ Most of dependent code is now located in a single place. The macro has
+ been changed to use a cleaner name to be easier to spot why it is
+ needed.
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 292df8af92d5295c4be1ab0b3ad630a09589eb55
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Fri Sep 18 10:04:38 2009 +0300
+
+ geode: further precised brand names of Geode variants by NSC in README.
+
+commit 869a93c00ce2e9fe739239b4481b5c98e4df9092
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Fri Sep 18 09:26:25 2009 +0300
+
+ Geode: corrected the product names in README.
+
+commit 9184997ac2bf08841f1a40ebf416e49b44d71ff4
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Fri Sep 18 09:15:25 2009 +0300
+
+ geode: Added the PCI vendor and device ID of NSC SC1400 to README.
+
+commit 651310328e3cfc5c4936cf5df1dcaf7d319d20f6
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Sep 9 19:47:14 2009 +0300
+
+ Switch project URL in README to read-only www host.
+
+commit f6039ef1bc9962caf18a3abb15c7f627ffc6158a
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Wed Sep 9 06:00:00 2009 +0300
+
+ geode: use lowercase vendor id
+
+commit 50b44451c6462bf999e8899715377dd735bc8940
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Sep 9 00:06:44 2009 +0300
+
+ Added extended info about which Geode driver covers what Geode variant in README.
+
+commit 7af63b86ab9e06b9ccdf1291250afa303b69a885
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Sat Sep 5 01:47:11 2009 +0300
+
+ Fixed a typo in src/lx_output.c debug message.
+
+commit 999d1ef343c65ac2324ac1e9c2e72f014cb5610d
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Thu Sep 3 10:56:09 2009 +0300
+
+ Added README about X server dependency bump due to GX Randr dixSetPrivate fix.
+
+commit feea2a0afa67c8be1d1afd743ab45745878c1c91
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon Aug 31 23:28:31 2009 +0300
+
+ Release 2.11.4.1.
+
+commit f1268f3ba8404129d358db3bb1e66f3841f7018a
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon Aug 31 23:24:30 2009 +0300
+
+ Fixed typo in GX2 dixSetPrivate patch. Kudos to Eamon Walsh!
+
+commit 34405a9c5cb0c30d45c12ef6850fc636a964e441
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Fri Aug 28 11:21:57 2009 +0300
+
+ Release 2.11.4.
+
+commit 255c0b985731350fdfd38987a95310e72f4e5381
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue Aug 18 07:30:33 2009 -0300
+
+ GX: use XAA by default.
+
+ EXA support is broken for GX so we disable it for now.
+
+commit ef3fbd7bd03fa4a9ff966a373ba8ddec94ea8ff5
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Tue Aug 18 14:11:07 2009 +0300
+
+ Revert "GX: use XAA by default."
+
+ This reverts commit 09ddb88781bc9ec12531414beabd95e50237fdd5.
+ Otavio just sent me a nicer version of this patch.
+
+commit 09ddb88781bc9ec12531414beabd95e50237fdd5
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue Aug 18 07:30:33 2009 -0300
+
+ GX: use XAA by default.
+
+commit b28abde0276ddd7f687242f3886f98b0e49a7fc2
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Fri May 22 20:40:16 2009 -0300
+
+ Fix GX RandR to properly use dixSetPrivate.
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+commit 917a5bf5fdadac1a8799336aa8da2e51f8790eea
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Tue Aug 4 21:33:12 2009 +0300
+
+ Migrated the project URL to the new http://wiki.x.org/wiki/GeodeDriver
+
+commit c2141752ed4520af6d7f5197fcb0c512058db839
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Tue Aug 4 21:00:24 2009 +0300
+
+ Somewhat harmonized the README between xf86-video-cyrix, xf86-video-nsc and xf86-video-geode.
+ TODO:
+ * Rename http://wiki.x.org/wiki/AMDGeodeDriver
+ to http://wiki.x.org/wiki/GeodeDriver
+ and install a redirect from the old page.
+
+commit b5419c47138e9a8efc5f946fd08c4488dedcb5ee
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Jul 29 13:57:15 2009 +0300
+
+ Added missing development dependencies (X.org macros) to FAQ.
+
+commit c088a8dc4e5a37d8e07766c0c26ebc11037407c0
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Jul 29 12:23:46 2009 +0300
+
+ Added FAQ about building drivers from GIT for testing purposes.
+
+commit a3788ff318f57f64d7317eeaee4d64a466f3745a
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Jul 29 02:35:04 2009 +0300
+
+ Added FAQ about submitting patches and producing useful backtraces.
+
+commit cab8435d8aef852c4cb1ab71285fa020dcbd7a68
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 15:22:40 2009 +1000
+
+ geode: change to using ABI version check
+
+commit a22b16c0dc757c940461f26bc6e1802b53e860c5
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 13:32:29 2009 +1000
+
+ geode: update for resources/RAC API removal
+
+commit 810dd8f15c40271b75bb8a124709eadb5e4c36a8
+Author: Dave Airlie <airlied@redhat.com>
+Date: Tue Jul 28 10:06:20 2009 +1000
+
+ geode: switch to using correct pci config interface
+
+commit 9fd00d01cacae9724649699bf8e0af1e16dbe356
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed Jul 15 16:01:37 2009 -0400
+
+ Use XORG_CHANGELOG macro to create ChangeLog. #22611
+
+ Adding the macro in configure.ac and use it in Makefile.am
+ Refer to: https://bugs.freedesktop.org/show_bug.cgi?id=22611
+ Global maintenance on all modules
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit df4745e5565b98cea278f33001f38a64e027e4ce
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Jul 16 11:37:34 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.hutterer@who-t.net>
+
+commit 3d9dd15cf30832bdb467e8fe02327f474e1e2130
+Author: Chris Ball <cjb@laptop.org>
+Date: Fri Jun 19 09:51:28 2009 -0400
+
+ Release 2.11.3.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 26bd1287ef4f9e63f4e3722f21c168db3d55099e
+Author: Dave Airlie <airlied@redhat.com>
+Date: Wed Jun 10 14:18:12 2009 +1000
+
+ geode: add inputstr.h include explicitly.
+
+commit 1bfde92b1e2c1a386b679b67f1901a57623db633
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu May 28 14:56:22 2009 -0400
+
+ Remove useless loader symbol lists.
+
+commit 106c341c4076f7714cd67e0fcf5942a22554c8f3
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon May 25 23:28:17 2009 +0300
+
+ Cleaned up the FAQ about WXGA modes.
+
+commit 60f37744b09fa1cdf4a3bcfa1a039ac8c984b942
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Mon May 25 17:51:34 2009 +0300
+
+ Added a FAQ about disabling Panel in BIOS to enable WXGA modes.
+
+commit 639e9c88e588cae55698cfb4063f625c38224afb
+Author: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat May 23 05:52:13 2009 +0800
+
+ Fix GPIO BAR detection with libpciaccess
+
+ This patch fixes an issue with the GPIO BAR detection. Basically,
+ with libpciaccess we're finding the ISA device and checking its BARs,
+ but we're not bothering to fill in the BAR information via
+ pci_device_probe. This results in a 0'd out bar and:
+
+ (EE) GEODE(0): Could not find the GPIO I/O base
+
+ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+ Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 54303b269f1efe04a80177dbb62d7b94882ff45d
+Author: Chris Ball <cjb@laptop.org>
+Date: Tue May 12 00:05:07 2009 -0400
+
+ Release 2.11.2.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit b172617909976c4a7d8f05191e23e4647c1a1c96
+Author: Kyle McMartin <kyle@redhat.com>
+Date: Mon May 11 23:58:57 2009 -0400
+
+ Crasher fix: Use ExaDriverAlloc() to calloc the EXA struct.
+
+ Patch from Kyle McMartin. A recent exa/exa.c commit from Dave Airlie
+ (02ae85c4..) added a new member to the EXA struct, and corresponding
+ code to call it if it's non-NULL. We were using calloc with sizeof()
+ that struct at driver-compile-time; as a result, after the ABI change
+ the new member contained garbage, passed the EXA test for NULL, was
+ called, and segfaulted at startup.
+
+ RH bug https://bugzilla.redhat.com/show_bug.cgi?id=500086
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 23e62499a5ecfd9c70db00c181a4801d4898fe83
+Author: Chris Ball <cjb@laptop.org>
+Date: Fri Feb 27 10:53:11 2009 -0500
+
+ Revert EXA 3 build fix.
+
+ The EXA developers have backed out the ABI bump to version 3.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 7ce365dafcbeb549fa083b8115475d5b7b01a704
+Author: Chris Ball <cjb@laptop.org>
+Date: Tue Feb 24 22:26:39 2009 -0500
+
+ Build fix: Include config.h earlier
+
+ geode.h includes exa.h, without anything having included config.h
+ (which sets the EXA major version) beforehand; add config.h to geode.h.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 2c293240f8003b3a52121161d0b0464100fd990d
+Author: Chris Ball <cjb@laptop.org>
+Date: Tue Feb 24 12:51:45 2009 -0500
+
+ configure: use AC_DEFINE instead of shell substitution
+
+ (This is just cosmetic.)
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit c5c7f60b577cc86a670bedea2bd70bd05d5cd128
+Author: Chris Ball <cjb@laptop.org>
+Date: Tue Feb 24 11:46:20 2009 -0500
+
+ Build fix: set EXA_DRIVER_KNOWN_MAJOR=3.
+
+ We don't use {Prepare,Finish}Access, and:
+
+ /home/cjb/xorg-build/include/xorg/exa.h:45:2: error: #error Make sure
+ this EXA driver either does not have Prepare/FinishAccess hooks or that
+ they can handle EXA_PREPARE_AUX*, and #define EXA_DRIVER_KNOWN_MAJOR 3
+ before including exa.h
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit da07a540db2078e00e48897b52a5a1f6d283cfeb
+Author: Chris Ball <cjb@laptop.org>
+Date: Mon Feb 16 13:37:03 2009 -0500
+
+ Release 2.11.1.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 4176e9ed24e7b79cefe3e7f4f5d73c7353781f1b
+Author: Chris Ball <cjb@laptop.org>
+Date: Mon Feb 16 13:41:48 2009 -0500
+
+ Makefile.am: use "git log" instead of "git-log"
+
+ "git-log" doesn't work on my Fedora machine, but "git log" should work
+ everywhere. Some distributions choose not to ship all the git aliases.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 990ff710c6220cc3d1ba6b9e8fb972bd168b4472
+Author: Chris Ball <cjb@laptop.org>
+Date: Sun Feb 15 15:30:09 2009 -0500
+
+ Change OLPC detection heuristic to one that works on upstream kernels
+
+ We've been checking whether we have a DCON/are on an OLPC by looking for
+ files from the "olpc_dcon" kernel module. This module isn't upstream yet,
+ so this only works for the OLPC custom kernel. We might as well check for
+ an OLPC kernel module that *is* upstream, so that we can run on unmodified
+ distributions. This patch moves us to checking for "olpc-ac" instead.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit e33dc807bf4504ba242cb19ce8024cdb32e10f4d
+Author: Chris Ball <cjb@laptop.org>
+Date: Sun Feb 15 00:17:45 2009 -0500
+
+ Fix pMsk=NULL segfault at startup on OLPC
+
+ Commit 7c278551c79d7a5898c627341f58fad59b7ae20d uses pMsk without testing
+ for non-NULL, and this causes an immediate segfault when running Sugar.
+
+ Signed-off-by: Chris Ball <cjb@laptop.org>
+
+commit 7c278551c79d7a5898c627341f58fad59b7ae20d
+Author: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
+Date: Fri Jan 9 19:32:50 2009 +0200
+
+ Fallback in case of mask transforms as well.
+
+ Fixes attachment #21519 test case on bug #15700, but not the initial report.
+ Detective work by Michel Dänzer.
+
+ Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee>
+
+commit 0e65d77a636848b6bc24518d8e45aed506122b49
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Dec 9 20:54:20 2008 -0700
+
+ 2.11.0 release
+
+commit 2a36083f3cb93bd4ab456024d6b6776725085904
+Author: Andres Salomon <dilinger@queued.net>
+Date: Thu Dec 4 22:41:59 2008 -0500
+
+ xf86-video-geode: after reloading cursors, hide the cursor
+
+ Whenever we reload cursors, the geode driver needs to call hide_cursor()
+ to ensure that the cursor is hidden until we finally unhide the cursor.
+ Without this, we see ghost cursors during rotation or VT switches.
+
+ Signed-off-by: Andres Salomon <dilinger@debian.org>
+
+commit fb2c1af124a56f34c4212bba16e1926889104cb4
+Author: Andres Salomon <dilinger@queued.net>
+Date: Thu Dec 4 21:33:22 2008 -0500
+
+ xf86-video-geode: fix up cursor size (again)
+
+ The geode hardware (and cimarron) expects cursor memory size to be 48x64,
+ and cimarron will zero out the excess when a smaller cursor is used. It
+ would be nice to be able to use the full cursor size, but xorg's interleaving
+ stuff requires a cursor width that's a multiple of 32. Thus, we're stuck
+ back at 32x32 for cursor size, but we allocate enough memory for a 48x64
+ cursor.
+
+ This fixes misc interleaving corruption that we see with 2bpp cursors (when
+ converting to ARGB).
+
+ Signed-off-by: Andres Salomon <dilinger@debian.org>
+
+commit 356dec75b96e7b235632bb8c5f7cc70002a590b1
+Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
+Date: Thu Dec 4 02:24:42 2008 -0200
+
+ Ensure symbol GXRandRSetConfig is of public visibility.
+
+ Symbol is referenced via LoaderSymbol(), and this patch doesn't
+ should provide the same behavior as when compiling with public symbols
+ by default.
+
+commit fe7ede0c073bd8dc22f61388b8a5d83f17696113
+Author: Andres Salomon <dilinger@queued.net>
+Date: Wed Nov 26 17:56:14 2008 -0500
+
+ xf86-video-geode: change cursor size to match cimarron
+
+ When we use ARGB cursors and rotate the screen, we get double cursors
+ and stale cursor data left over. This is because cimarron expects a
+ cursor that is smaller than or equal to 48x64, but hardcodes a memory
+ shift of 192 bytes (4*48). This means that if we have a 32x64 cursor,
+ cimarron screws it up. Change the cursor size to 48x64.
+
+ Signed-off-by: Andres Salomon <dilinger@debian.org>
+
+commit 8080f7a01cf62a13c5a32013668b2796c23d97a4
+Author: Andres Salomon <dilinger@queued.net>
+Date: Wed Nov 26 01:39:28 2008 -0500
+
+ xf86-video-geode: DCON: set the default (physical) screen size if we detect a DCON
+
+ We can be assured that a DCON device has an OLPC panel that's 152x114 mm.
+ This adds fields to GeodeRec to allow other panels to potentially
+ override physical width/height fields, and also allows xorg.conf to
+ override the values.
+
+ Signed-off-by: Andres Salomon <dilinger@debian.org>
+
+commit f57f2bd7161d4a7c2ededfc43a7709fb06213b99
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Nov 25 11:36:03 2008 -0700
+
+ LX: Set default scaling coefficients
+
+ Systems without a traditional BIOS may not have the default
+ scaling coefficients set up - make sure that we force them on
+ when the mode gets set.
+
+commit d7f73aca763eb2fa918c3e5a27e264aa14f653d1
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Wed Nov 19 12:06:06 2008 -0800
+
+ include <errno.h> instead of <sys/errno.h>
+
+ Solaris defines errno itself in <errno.h>
+
+commit fa38cc225ef39aeb6a2ab1c90a233b285d4c77f8
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Nov 18 20:07:53 2008 -0700
+
+ LX: Put back variable needed when PCIACCCESS is defined
+
+commit c4142d3a05e4b889f7933dcfa8bc9cd744ccfdd6
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Nov 18 15:41:58 2008 -0700
+
+ LX: Make the version in configure.ac reflect the upcoming release
+
+commit cf0655edbcbd3910c12c33d8c786cc72c0242786
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Nov 18 15:41:58 2008 -0700
+
+ LX: Change the way EXA memory is allocated
+
+ Change how EXA memory is allocated to better allow for
+ EXA + video + rotation to co-exist on the system. Change
+ the video to only allocate memory when it needs it.
+ Also, automatically disable compression when there is less then
+ 16Mb of memory.
+
+commit ee23fd75f5eb4447ca238694cc03fcdc219ee245
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Nov 18 15:41:58 2008 -0700
+
+ LX: Fix the memory allocated by the video so it fails
+ when there isn't enough memory.
+
+commit aac2e161818494b88677f11115bca890a552c709
+Author: Jordan Crouse <jordan@cosmicpenguin.net>
+Date: Tue Nov 18 15:41:58 2008 -0700
+
+ LX: Fix a bug in the memory allocator
+
+commit fc772694ec04f729b5a1cdced7f33dc406c1d67f
+Author: Andres Salomon <dilinger@queued.net>
+Date: Tue Nov 18 14:14:17 2008 -0500
+
+ DCON: Mark 1200x900 mode as preferred.
+
+commit 1e3fcaaa67dde12a658206f3b0fd07b627a3b61b
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Tue Oct 7 13:12:19 2008 -0600
+
+ geode: Move the hardware cursor support to full ARGB mode
+
+commit f66c9d1928ec9bcde57009c7263f6c8575ad0d0c
+Merge: 85d2103 62d2b0e
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Wed Sep 10 17:33:30 2008 -0600
+
+ Merge branch 'randr12-branch'
+
+ Conflicts:
+
+ src/geode_ddc.c
+ src/gx_randr.c
+ src/lx_randr.c
+ src/lx_rotate.c
+
+commit 85d2103a90e6ab422246b66d252dbee19c96a0d7
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Mon Sep 8 15:20:51 2008 -0600
+
+ XINPUT_ABI bumped on us and broke the previous evil workaround
+ for the miPointerPosition issue.
+
+commit 62d2b0ede08042147ca528be9ab1e392886a10ff
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Thu Sep 4 17:43:32 2008 -0600
+
+ LX: RandR 1.2 updates for Lenny
+
+ Fix some build issues for Lenny and make the branch work
+ on an XO running Lenny.
+
+commit 526da8a3b279dbfc35505ebb1ddc4b8db8dc46d3
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Thu Aug 28 16:59:41 2008 -0600
+
+ LX: Fix a possible segfault in EXA
+
+ Avoid passing a null pointer to PictureTransformPoint
+
+commit c6339a360b611514155e5101dc2c5bc6472d8865
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Mon Aug 25 11:34:36 2008 -0600
+
+ [LX] - RandR 1.2 updates
+
+ Remove a flag that was making EXA pixmaps break horribly.
+ Also, Make the new code compile for Hardy and warning cleanups.
+
+commit 38e868271bd24be7a884c8c56772b25cd6fa6f1d
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Mon Aug 18 14:19:34 2008 -0600
+
+ lx: Add rotation for Randr 1.2 + cleanups
+
+ Enable rotation through RandR 1.2 and add the accelerated rotation blit
+ the EXA composite function. Also, fix a handful of critical bugs and
+ remove some more dead code.
+
+commit f8a09702f0905d45a03cc71ae67767b7effc1500
+Author: Adam Jackson <ajax@redhat.com>
+Date: Fri Aug 15 14:25:00 2008 -0400
+
+ s/XF86_VERSION_CURRENT/XORG_VERSION_CURRENT/
+
+commit b06f75895b6363816bf88402a233800631718f4d
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Fri Aug 15 14:13:12 2008 +0300
+
+ Bump to version 2.10.1 and release.
+
+commit 6908dda7ac66cbe13737db6c9c3e5ebe16156099
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Aug 13 09:51:23 2008 +0300
+
+ Added info about the current roadmap.
+
+commit 89c6a947f31af15a8f65706de328300ea2e75f1a
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Aug 13 09:32:21 2008 +0300
+
+ All your typos are belong to us!!!
+
+commit 4e95ee76d47982450ec112988adb2079658bb682
+Author: Martin-Éric Racine <q-funk@iki.fi>
+Date: Wed Aug 13 09:25:49 2008 +0300
+
+ Updated the README with the URL of the Geode X.Org wiki and
+ with info on the current Build Dependencies.
+
+commit 316e89aa58f4d7f3cb4513a6decb035e99abc7d6
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Thu Aug 7 14:29:50 2008 -0600
+
+ Geode: Add DDC support for the CS5535
+
+commit f89f6d8004a0ae0ae7826f72a1058d26e9e0217a
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Thu Jul 24 10:47:57 2008 -0600
+
+ lx: Fix rotate issue
+
+ EXA pixmaps are now protected against outside intrusion, so use
+ a different way to find the base of the shadow buffer for rotation.
+
+commit d681a844e448712a9a419d2a4dca81930d39a80a
+Author: Jordan Crouse <jordan.crouse@amd.com>
+Date: Thu Aug 7 11:21:48 2008 -0600
+
+ [LX] - Add RandR 1.2 support
+
+ A wholesale update to Randr 1.2 for LX accompanied by massive
+ cleanup.
+
commit e98927f2c60acd9262cfb6fca2491fe0decc7aa5
Author: Jordan Crouse <jordan.crouse@amd.com>
Date: Fri Jun 13 15:59:44 2008 -0600
@@ -588,7 +2004,7 @@ Date: Wed May 16 13:05:46 2007 -0400
Remove 'man' directory references from configure.ac.
commit 217eeed3c1659cc9e0f13ba6932d1342c0255df4
-Merge: 6d1942f... 022a106...
+Merge: 6d1942f 022a106
Author: Jordan Crouse <jordan.crouse@amd.com>
Date: Thu May 10 10:39:08 2007 -0600
diff --git a/driver/xf86-video-geode/configure b/driver/xf86-video-geode/configure
index 1ae662a16..5d2452500 100755
--- a/driver/xf86-video-geode/configure
+++ b/driver/xf86-video-geode/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.62 for xf86-video-geode 2.11.9.
+# Generated by GNU Autoconf 2.62 for xf86-video-geode 2.11.10.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode>.
#
@@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xf86-video-geode'
PACKAGE_TARNAME='xf86-video-geode'
-PACKAGE_VERSION='2.11.9'
-PACKAGE_STRING='xf86-video-geode 2.11.9'
+PACKAGE_VERSION='2.11.10'
+PACKAGE_STRING='xf86-video-geode 2.11.10'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode'
ac_unique_file="Makefile.am"
@@ -1527,7 +1527,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-geode 2.11.9 to adapt to many kinds of systems.
+\`configure' configures xf86-video-geode 2.11.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1598,7 +1598,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-geode 2.11.9:";;
+ short | recursive ) echo "Configuration of xf86-video-geode 2.11.10:";;
esac
cat <<\_ACEOF
@@ -1725,7 +1725,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-geode configure 2.11.9
+xf86-video-geode configure 2.11.10
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1739,7 +1739,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-geode $as_me 2.11.9, which was
+It was created by xf86-video-geode $as_me 2.11.10, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
@@ -4853,7 +4853,7 @@ fi
# Define the identity of the package.
PACKAGE='xf86-video-geode'
- VERSION='2.11.9'
+ VERSION='2.11.10'
cat >>confdefs.h <<_ACEOF
@@ -22948,7 +22948,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-geode $as_me 2.11.9, which was
+This file was extended by xf86-video-geode $as_me 2.11.10, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23001,7 +23001,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-xf86-video-geode config.status 2.11.9
+xf86-video-geode config.status 2.11.10
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/driver/xf86-video-geode/configure.ac b/driver/xf86-video-geode/configure.ac
index afe5564df..9f0771c8a 100644
--- a/driver/xf86-video-geode/configure.ac
+++ b/driver/xf86-video-geode/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.59)
AC_INIT([xf86-video-geode],
- [2.11.9],
+ [2.11.10],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode],
[xf86-video-geode],
[http://www.x.org/wiki/GeodeDriver])
diff --git a/driver/xf86-video-geode/src/geode_dcon.c b/driver/xf86-video-geode/src/geode_dcon.c
index 99826710c..56f05ed55 100644
--- a/driver/xf86-video-geode/src/geode_dcon.c
+++ b/driver/xf86-video-geode/src/geode_dcon.c
@@ -37,6 +37,7 @@
#include <fcntl.h>
#define DCON_SLEEP_FILE "/sys/devices/platform/dcon/sleep"
+#define DCON_FREEZE_FILE "/sys/devices/platform/dcon/freeze"
static Bool
dcon_present(void)
@@ -53,6 +54,7 @@ int
DCONDPMSSet(ScrnInfoPtr pScrni, int mode)
{
static int failed = -1;
+ ssize_t ret;
int fd;
char value[1];
@@ -62,6 +64,25 @@ DCONDPMSSet(ScrnInfoPtr pScrni, int mode)
if (failed)
return 0;
+ /* If the DCON is frozen, don't power it down, it was probably frozen
+ * for a reason and powering it down would corrupt the display.
+ * This is needed to avoid losing OLPC's frozen boot image during X
+ * startup, where DPMS is used to power down and up the display.
+ * When geode uses KMS this will not be needed as the system realises
+ * that no mode change is needed and the display power is untouched. */
+ fd = open(DCON_FREEZE_FILE, O_RDONLY);
+ if (fd < 0) {
+ failed = 1;
+ return 0;
+ }
+
+ ret = read(fd, value, 1);
+ close(fd);
+ if (ret == 1) {
+ if (value[0] == '1')
+ return 0;
+ }
+
fd = open(DCON_SLEEP_FILE, O_WRONLY);
if (fd < 0) {
diff --git a/driver/xf86-video-geode/src/geode_driver.c b/driver/xf86-video-geode/src/geode_driver.c
index 43e950674..ff12feeb3 100644
--- a/driver/xf86-video-geode/src/geode_driver.c
+++ b/driver/xf86-video-geode/src/geode_driver.c
@@ -499,7 +499,7 @@ AmdProbe(DriverPtr drv, int flags)
break;
}
}
- xfree(pEnt);
+ free(pEnt);
if (drvr_setup == NULL)
return FALSE;
@@ -520,9 +520,9 @@ AmdProbe(DriverPtr drv, int flags)
}
if (usedChips)
- xfree(usedChips);
+ free(usedChips);
if (devSections)
- xfree(devSections);
+ free(devSections);
DEBUGMSG(1, (0, X_INFO, "AmdProbe: result (%d)!\n", foundScreen));
return foundScreen;
}
diff --git a/driver/xf86-video-geode/src/gx_driver.c b/driver/xf86-video-geode/src/gx_driver.c
index 1c25e1af1..e2ed44bd9 100644
--- a/driver/xf86-video-geode/src/gx_driver.c
+++ b/driver/xf86-video-geode/src/gx_driver.c
@@ -447,7 +447,7 @@ GXPreInit(ScrnInfoPtr pScrni, int flags)
pGeode->useVGA = FALSE;
#if INT10_SUPPORT
- pGeode->vesa = xcalloc(sizeof(VESARec), 1);
+ pGeode->vesa = calloc(sizeof(VESARec), 1);
#endif
}
@@ -960,19 +960,19 @@ GXCloseScreen(int scrnIndex, ScreenPtr pScrn)
XAADestroyInfoRec(pGeode->AccelInfoRec);
if (pGeode->AccelImageWriteBuffers) {
- xfree(pGeode->AccelImageWriteBuffers[0]);
- xfree(pGeode->AccelImageWriteBuffers);
+ free(pGeode->AccelImageWriteBuffers[0]);
+ free(pGeode->AccelImageWriteBuffers);
pGeode->AccelImageWriteBuffers = NULL;
}
if (pGeode->AccelColorExpandBuffers) {
- xfree(pGeode->AccelColorExpandBuffers);
+ free(pGeode->AccelColorExpandBuffers);
pGeode->AccelColorExpandBuffers = NULL;
}
if (pGeode->pExa) {
exaDriverFini(pScrn);
- xfree(pGeode->pExa);
+ free(pGeode->pExa);
pGeode->pExa = NULL;
}
@@ -1259,10 +1259,10 @@ GXScreenInit(int scrnIndex, ScreenPtr pScrn, int argc, char **argv)
}
} else {
pGeode->AccelImageWriteBuffers =
- xcalloc(sizeof(pGeode->AccelImageWriteBuffers[0]),
+ calloc(sizeof(pGeode->AccelImageWriteBuffers[0]),
pGeode->NoOfImgBuffers);
pGeode->AccelColorExpandBuffers =
- xcalloc(sizeof(pGeode->AccelColorExpandBuffers[0]),
+ calloc(sizeof(pGeode->AccelColorExpandBuffers[0]),
pGeode->NoOfColorExpandLines);
}
}
@@ -1535,7 +1535,7 @@ static void
GeodeFreeRec(ScrnInfoPtr pScrni)
{
if (pScrni->driverPrivate != NULL) {
- xfree(pScrni->driverPrivate);
+ free(pScrni->driverPrivate);
pScrni->driverPrivate = NULL;
}
}
diff --git a/driver/xf86-video-geode/src/gx_randr.c b/driver/xf86-video-geode/src/gx_randr.c
index 60d3cc6c9..719337163 100644
--- a/driver/xf86-video-geode/src/gx_randr.c
+++ b/driver/xf86-video-geode/src/gx_randr.c
@@ -346,12 +346,12 @@ GXRandRInit(ScreenPtr pScreen, int rotation)
return FALSE;
#endif
- pRandr = xcalloc(sizeof(XF86RandRInfoRec), 1);
+ pRandr = calloc(sizeof(XF86RandRInfoRec), 1);
if (pRandr == NULL)
return FALSE;
if (!RRScreenInit(pScreen)) {
- xfree(pRandr);
+ free(pRandr);
return FALSE;
}
diff --git a/driver/xf86-video-geode/src/gx_video.c b/driver/xf86-video-geode/src/gx_video.c
index 9041f5f21..f475bb60e 100644
--- a/driver/xf86-video-geode/src/gx_video.c
+++ b/driver/xf86-video-geode/src/gx_video.c
@@ -182,7 +182,7 @@ GXInitVideo(ScreenPtr pScrn)
adaptors = &newAdaptor;
} else {
newAdaptors = /* need to free this someplace */
- xalloc((num_adaptors +
+ malloc((num_adaptors +
1) * sizeof(XF86VideoAdaptorPtr *));
if (newAdaptors) {
memcpy(newAdaptors, adaptors, num_adaptors *
@@ -198,7 +198,7 @@ GXInitVideo(ScreenPtr pScrn)
xf86XVScreenInit(pScrn, adaptors, num_adaptors);
if (newAdaptors)
- xfree(newAdaptors);
+ free(newAdaptors);
}
}
@@ -374,7 +374,7 @@ GXSetupImageVideo(ScreenPtr pScrn)
XF86VideoAdaptorPtr adapt;
GeodePortPrivRec *pPriv;
- if (!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) +
+ if (!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
sizeof(GeodePortPrivRec) + sizeof(DevUnion))))
return NULL;
@@ -1403,17 +1403,17 @@ GXAllocateSurface(ScrnInfoPtr pScrni,
surface->width = w;
surface->height = h;
- if (!(surface->pitches = xalloc(sizeof(int))))
+ if (!(surface->pitches = malloc(sizeof(int))))
return BadAlloc;
- if (!(surface->offsets = xalloc(sizeof(int)))) {
- xfree(surface->pitches);
+ if (!(surface->offsets = malloc(sizeof(int)))) {
+ free(surface->pitches);
return BadAlloc;
}
- if (!(pPriv = xalloc(sizeof(OffscreenPrivRec)))) {
- xfree(surface->pitches);
- xfree(surface->offsets);
+ if (!(pPriv = malloc(sizeof(OffscreenPrivRec)))) {
+ free(surface->pitches);
+ free(surface->offsets);
return BadAlloc;
}
@@ -1452,9 +1452,9 @@ GXFreeSurface(XF86SurfacePtr surface)
GXStopSurface(surface);
xf86FreeOffscreenArea(pPriv->area);
- xfree(surface->pitches);
- xfree(surface->offsets);
- xfree(surface->devPrivate.ptr);
+ free(surface->pitches);
+ free(surface->offsets);
+ free(surface->devPrivate.ptr);
return Success;
}
@@ -1542,7 +1542,7 @@ GXInitOffscreenImages(ScreenPtr pScrn)
XF86OffscreenImagePtr offscreenImages;
/* need to free this someplace */
- if (!(offscreenImages = xalloc(sizeof(XF86OffscreenImageRec))))
+ if (!(offscreenImages = malloc(sizeof(XF86OffscreenImageRec))))
return;
offscreenImages[0].image = &Images[0];
diff --git a/driver/xf86-video-geode/src/lx_display.c b/driver/xf86-video-geode/src/lx_display.c
index ae1d39f29..d34a25f7a 100644
--- a/driver/xf86-video-geode/src/lx_display.c
+++ b/driver/xf86-video-geode/src/lx_display.c
@@ -266,6 +266,7 @@ lx_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
ScrnInfoPtr pScrni = crtc->scrn;
GeodeRec *pGeode = GEODEPTR(pScrni);
DF_VIDEO_SOURCE_PARAMS vs_odd, vs_even;
+ unsigned int rpitch;
df_get_video_source_configuration(&vs_odd, &vs_even);
@@ -279,6 +280,14 @@ lx_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
/* The output gets turned in in the output code as
* per convention */
+ /* For rotation, any write to the frame buffer region marks
+ * the retire frame as dirty.
+ */
+ if (crtc->rotatedData != NULL) {
+ rpitch = pScrni->displayWidth * (pScrni->bitsPerPixel / 8);
+ vg_set_display_pitch(rpitch);
+ }
+ else
vg_set_display_pitch(pGeode->Pitch);
gp_set_bpp(pScrni->bitsPerPixel);
@@ -363,7 +372,46 @@ lx_crtc_gamma_set(xf86CrtcPtr crtc, CARD16 * red, CARD16 * green,
WRITE_VID32(DF_DISPLAY_CONFIG, dcfg);
}
- /* Allocates shadow memory, and allocating a new space for Rotatation.
+ /* The Xserver has a scratch pixmap allocation routine that will
+ * try to use the existing scratch pixmap if possible. When the driver
+ * or any other user stop using it, it need to clear out any pixmap
+ * state (private data etc) otherwise the next user may get stale data.
+ */
+
+ /* Use our own wrapper to allocate a pixmap for wrapping a buffer object
+ * It removes using scratch pixmaps for rotate.
+ */
+static PixmapPtr
+lx_create_bo_pixmap(ScreenPtr pScreen,
+ int width, int height,
+ int depth, int bpp,
+ int pitch, pointer pPixData)
+{
+ PixmapPtr pixmap;
+
+ pixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, depth, 0);
+ if (!pixmap)
+ return NULL;
+ if (!(*pScreen->ModifyPixmapHeader)(pixmap, width, height,
+ depth, bpp, pitch, pPixData)) {
+ /* ModifyPixmapHeader failed, so we can't use it as scratch pixmap
+ */
+ (*pScreen->DestroyPixmap)(pixmap);
+ return NULL;
+ }
+
+ return pixmap;
+}
+
+static void
+lx_destory_bo_pixmap(PixmapPtr pixmap)
+{
+ ScreenPtr pScreen = pixmap->drawable.pScreen;
+
+ (*pScreen->DestroyPixmap)(pixmap);
+}
+
+ /* Allocates shadow memory, and allocating a new space for Rotation.
* The size is measured in bytes, and the offset from the beginning
* of card space is returned.
*/
@@ -422,14 +470,15 @@ static PixmapPtr
lx_crtc_shadow_create(xf86CrtcPtr crtc, void *data, int width, int height)
{
ScrnInfoPtr pScrni = crtc->scrn;
- GeodeRec *pGeode = GEODEPTR(pScrni);
PixmapPtr rpixmap;
+ unsigned int rpitch;
+ rpitch = pScrni->displayWidth * (pScrni->bitsPerPixel / 8);
if (!data)
data = lx_crtc_shadow_allocate(crtc, width, height);
- rpixmap = GetScratchPixmapHeader(pScrni->pScreen,
- width, height, pScrni->depth, pScrni->bitsPerPixel, pGeode->Pitch,
+ rpixmap = lx_create_bo_pixmap(pScrni->pScreen,
+ width, height, pScrni->depth, pScrni->bitsPerPixel, rpitch,
data);
if (rpixmap == NULL) {
@@ -447,7 +496,7 @@ lx_crtc_shadow_destroy(xf86CrtcPtr crtc, PixmapPtr rpixmap, void *data)
GeodeRec *pGeode = GEODEPTR(pScrni);
if (rpixmap)
- FreeScratchPixmapHeader(rpixmap);
+ lx_destory_bo_pixmap(rpixmap);
/* Free shadow memory */
if (data) {
diff --git a/driver/xf86-video-geode/src/lx_driver.c b/driver/xf86-video-geode/src/lx_driver.c
index 08d1fdd9c..0fcd51e3d 100644
--- a/driver/xf86-video-geode/src/lx_driver.c
+++ b/driver/xf86-video-geode/src/lx_driver.c
@@ -313,7 +313,7 @@ LXPreInit(ScrnInfoPtr pScrni, int flags)
if (!xf86LoadSubModule(pScrni, "vgahw") || !vgaHWGetHWRec(pScrni))
pGeode->useVGA = FALSE;
- pGeode->vesa = xcalloc(sizeof(VESARec), 1);
+ pGeode->vesa = calloc(sizeof(VESARec), 1);
}
cim_rdmsr = LXReadMSR;
@@ -698,7 +698,7 @@ LXCloseScreen(int scrnIndex, ScreenPtr pScrn)
if (pGeode->pExa) {
exaDriverFini(pScrn);
- xfree(pGeode->pExa);
+ free(pGeode->pExa);
pGeode->pExa = NULL;
}
diff --git a/driver/xf86-video-geode/src/lx_memory.c b/driver/xf86-video-geode/src/lx_memory.c
index 41ac077ed..d833caa59 100644
--- a/driver/xf86-video-geode/src/lx_memory.c
+++ b/driver/xf86-video-geode/src/lx_memory.c
@@ -69,7 +69,7 @@ GeodeFreeOffscreen(GeodeRec * pGeode, GeodeMemPtr ptr)
if (ptr->next)
ptr->next->prev = ptr->prev;
- xfree(ptr);
+ free(ptr);
}
/* Allocate the "rest" of the offscreen memory - this is for
@@ -83,7 +83,7 @@ GeodeAllocRemainder(GeodeRec * pGeode)
GeodeMemPtr nptr, ptr = pGeode->offscreenList;
if (!pGeode->offscreenList) {
- pGeode->offscreenList = xcalloc(1, sizeof(*nptr));
+ pGeode->offscreenList = calloc(1, sizeof(*nptr));
pGeode->offscreenList->offset = pGeode->offscreenStart;
pGeode->offscreenList->size = pGeode->offscreenSize;
pGeode->offscreenList->next = NULL;
@@ -95,7 +95,7 @@ GeodeAllocRemainder(GeodeRec * pGeode)
/* Go to the end of the list of allocated stuff */
for (; ptr->next; ptr = ptr->next) ;
- nptr = xcalloc(1, sizeof(*nptr));
+ nptr = calloc(1, sizeof(*nptr));
nptr->offset = ptr->offset + ptr->size;
nptr->size = pGeode->offscreenSize -
(nptr->offset - pGeode->offscreenStart);
@@ -125,7 +125,7 @@ GeodeAllocOffscreen(GeodeRec * pGeode, int size, int align)
offset = ALIGN(pGeode->offscreenStart, align);
- pGeode->offscreenList = xcalloc(1, sizeof(*nptr));
+ pGeode->offscreenList = calloc(1, sizeof(*nptr));
pGeode->offscreenList->offset = offset;
pGeode->offscreenList->size = size;
pGeode->offscreenList->next = NULL;
@@ -149,7 +149,7 @@ GeodeAllocOffscreen(GeodeRec * pGeode, int size, int align)
offset = ptr->offset + ptr->size;
offset = ALIGN(ptr->offset + ptr->size, align);
- nptr = xcalloc(1, sizeof(*nptr));
+ nptr = calloc(1, sizeof(*nptr));
nptr->offset = offset;
nptr->size = size;
nptr->next = ptr->next;
@@ -247,9 +247,6 @@ LXInitOffscreen(ScrnInfoPtr pScrni)
/* Get the amount of offscreen memory still left */
size = GeodeOffscreenFreeSize(pGeode);
- /* Deduct the maxmimum size of a video overlay */
- size -= 0x200000;
-
/* Align the size to a K boundary */
size &= ~1023;
@@ -307,7 +304,7 @@ GeodeCloseOffscreen(ScrnInfoPtr pScrni)
while (ptr) {
nptr = ptr->next;
- xfree(ptr);
+ free(ptr);
ptr = nptr;
}
diff --git a/driver/xf86-video-geode/src/lx_output.c b/driver/xf86-video-geode/src/lx_output.c
index beb1634d7..cd1809b1c 100644
--- a/driver/xf86-video-geode/src/lx_output.c
+++ b/driver/xf86-video-geode/src/lx_output.c
@@ -156,13 +156,13 @@ lx_output_mode_valid(xf86OutputPtr output, DisplayModePtr pMode)
GeodeRec *pGeode = GEODEPTR(pScrni);
/* DCON Panel specific resolution - OLPC's one */
- if (pGeode->Output & (OUTPUT_PANEL | OUTPUT_DCON)) {
+ if (pGeode->Output & OUTPUT_DCON) {
if (pGeode->panelMode->HDisplay == 1200 &&
pGeode->panelMode->VDisplay == 900)
return MODE_OK;
}
- if (pGeode->Output & OUTPUT_PANEL &&
+ if ((pGeode->Output & OUTPUT_PANEL) &&
gfx_is_panel_mode_supported(pGeode->panelMode->HDisplay,
pGeode->panelMode->VDisplay,
pMode->HDisplay,
@@ -182,7 +182,7 @@ lx_output_mode_valid(xf86OutputPtr output, DisplayModePtr pMode)
if (pMode->type & (M_T_DRIVER | M_T_PREFERRED))
return MODE_OK;
- return MODE_BAD;
+ return MODE_OK;
}
static Bool
@@ -242,11 +242,17 @@ static void
lx_output_destroy(xf86OutputPtr output)
{
if (output->driver_private)
- xfree(output->driver_private);
+ free(output->driver_private);
output->driver_private = NULL;
}
+static xf86CrtcPtr lx_output_get_crtc(xf86OutputPtr output)
+{
+ return output->crtc;
+}
+
+
static const xf86OutputFuncsRec lx_output_funcs = {
.create_resources = lx_create_resources,
.dpms = lx_output_dpms,
@@ -259,6 +265,7 @@ static const xf86OutputFuncsRec lx_output_funcs = {
.commit = lx_output_commit,
.detect = lx_output_detect,
.get_modes = lx_output_get_modes,
+ .get_crtc = lx_output_get_crtc,
.set_property = lx_output_set_property,
.destroy = lx_output_destroy,
};
diff --git a/driver/xf86-video-geode/src/lx_panel.c b/driver/xf86-video-geode/src/lx_panel.c
index f1d0686f7..6832fec53 100644
--- a/driver/xf86-video-geode/src/lx_panel.c
+++ b/driver/xf86-video-geode/src/lx_panel.c
@@ -63,12 +63,15 @@ DisplayModeRec lx_panel_modes[] = {
{MODEPREFIX, 81600, 1152, 1216, 1336, 1520, 0, 864, 865, 868, 895, 0,
V_NHSYNC | V_NVSYNC, MODESUFFIX}
, /* 1152x864@60 */
- {MODEPREFIX, 108000, 1028, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0,
+ {MODEPREFIX, 108000, 1280, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0,
V_NHSYNC | V_NVSYNC, MODESUFFIX}
, /* 1280x1024@60 */
{MODEPREFIX, 162000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0,
V_NHSYNC | V_NVSYNC, MODESUFFIX}
, /* 1600x1200@60 */
+ {MODEPREFIX, 67630, 1024, 1080, 1184, 1344, 0, 600, 601, 604, 629, 0,
+ V_NHSYNC | V_NVSYNC, MODESUFFIX}
+ , /* 1024x600@80 */
};
/* Get the legacy panel size from VSA, and return the associated mode rec */
@@ -84,12 +87,14 @@ LXGetLegacyPanelMode(void)
reg = LX_READ_VG(0x02);
ret = (reg >> 3) & 0x07;
- /* 7 is a "reserved" value - if we get it, we can only
- * assume that a panel doesn't exist (or it hasn't been
- * configured in the BIOS)
+ /* FIXME: 7 is reserved in default. We use this value to support
+ * wide screen resolution 1024x600@80 now for panel. If you want to use
+ * that resolution, please assign ret to 7 manually here:
+ * "reg = 7"
+ * The user can use this entry for other wide screen resolutions.
*/
- if (ret < 7)
+ if (ret < 8)
return &lx_panel_modes[ret];
}
diff --git a/driver/xf86-video-geode/src/lx_video.c b/driver/xf86-video-geode/src/lx_video.c
index f917ef017..7b51c5b69 100644
--- a/driver/xf86-video-geode/src/lx_video.c
+++ b/driver/xf86-video-geode/src/lx_video.c
@@ -99,7 +99,7 @@ static XF86ImageRec Images[] = {
typedef struct
{
- GeodeMemPtr vidmem;
+ ExaOffscreenArea *vidmem;
RegionRec clip;
CARD32 filter;
CARD32 colorKey;
@@ -188,13 +188,16 @@ struct
/* Copy planar YUV data */
static Bool
-LXAllocMem(GeodeRec *pGeode, GeodePortPrivRec *pPriv, int size)
+LXAllocateVidMem(ScrnInfoPtr pScrni, GeodePortPrivRec *pPriv, int size)
{
if (!pPriv->vidmem || pPriv->vidmem->size < size) {
- if (pPriv->vidmem)
- GeodeFreeOffscreen(pGeode, pPriv->vidmem);
+ if (pPriv->vidmem) {
+ exaOffscreenFree(pScrni->pScreen, pPriv->vidmem);
+ pPriv->vidmem = NULL;
+ }
- pPriv->vidmem = GeodeAllocOffscreen(pGeode, size, 4);
+ pPriv->vidmem = exaOffscreenAlloc(pScrni->pScreen, size, 4,
+ TRUE, NULL, NULL);
if (pPriv->vidmem == NULL) {
ErrorF("Could not allocate memory for the video\n");
@@ -236,8 +239,10 @@ LXCopyPlanar(ScrnInfoPtr pScrni, int id, unsigned char *buf,
size = YDstPitch * height;
size += UVDstPitch * height;
- if (LXAllocMem(pGeode, pPriv, size) == FALSE)
+ if (LXAllocateVidMem(pScrni, pPriv, size) == FALSE) {
+ ErrorF("Error allocating an offscreen Planar region.\n");
return FALSE;
+ }
/* The top of the source region we want to copy */
top = y1 & ~1;
@@ -297,8 +302,10 @@ LXCopyPacked(ScrnInfoPtr pScrni, int id, unsigned char *buf,
lines = ((dstPitch * height) + pGeode->Pitch - 1) / pGeode->Pitch;
- if (LXAllocMem(pGeode, pPriv, lines) == FALSE)
+ if (LXAllocateVidMem(pScrni, pPriv, lines) == FALSE) {
+ ErrorF("Error allocating an offscreen Packed region.\n");
return FALSE;
+ }
/* The top of the source region we want to copy */
top = y1;
@@ -578,7 +585,6 @@ static void
LXStopVideo(ScrnInfoPtr pScrni, pointer data, Bool exit)
{
GeodePortPrivRec *pPriv = (GeodePortPrivRec *) data;
- GeodeRec *pGeode = GEODEPTR(pScrni);
if (pPriv->videoStatus == 0)
return;
@@ -597,7 +603,7 @@ LXStopVideo(ScrnInfoPtr pScrni, pointer data, Bool exit)
}
if (pPriv->vidmem) {
- GeodeFreeOffscreen(pGeode, pPriv->vidmem);
+ exaOffscreenFree(pScrni->pScreen, pPriv->vidmem);
pPriv->vidmem = NULL;
}
@@ -659,7 +665,7 @@ LXVidBlockHandler(int i, pointer blockData, pointer pTimeout,
if (pPriv->freeTime < now) {
if (pPriv->vidmem) {
- GeodeFreeOffscreen(pGeode, pPriv->vidmem);
+ exaOffscreenFree(pScrni->pScreen, pPriv->vidmem);
pPriv->vidmem = NULL;
}
@@ -677,7 +683,7 @@ LXSetupImageVideo(ScreenPtr pScrn)
XF86VideoAdaptorPtr adapt;
GeodePortPrivRec *pPriv;
- adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) +
+ adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
sizeof(GeodePortPrivRec) + sizeof(DevUnion));
if (adapt == NULL) {
@@ -742,7 +748,7 @@ LXSetupImageVideo(ScreenPtr pScrn)
struct OffscreenPrivRec
{
- GeodeMemPtr vidmem;
+ ExaOffscreenArea *vidmem;
Bool isOn;
};
@@ -800,7 +806,7 @@ LXAllocateSurface(ScrnInfoPtr pScrni, int id, unsigned short w,
{
GeodeRec *pGeode = GEODEPTR(pScrni);
int pitch, lines;
- GeodeMemPtr vidmem;
+ ExaOffscreenArea *vidmem;
struct OffscreenPrivRec *pPriv;
if (w > 1024 || h > 1024)
@@ -812,7 +818,8 @@ LXAllocateSurface(ScrnInfoPtr pScrni, int id, unsigned short w,
pitch = ((w << 1) + 15) & ~15;
lines = ((pitch * h) + (pGeode->Pitch - 1)) / pGeode->Pitch;
- vidmem = GeodeAllocOffscreen(pGeode, lines, 4);
+ vidmem = exaOffscreenAlloc(pScrni->pScreen, lines, 4, TRUE,
+ NULL, NULL);
if (vidmem == NULL) {
ErrorF("Error while allocating an offscreen region.\n");
@@ -822,11 +829,11 @@ LXAllocateSurface(ScrnInfoPtr pScrni, int id, unsigned short w,
surface->width = w;
surface->height = h;
- surface->pitches = xalloc(sizeof(int));
+ surface->pitches = malloc(sizeof(int));
- surface->offsets = xalloc(sizeof(int));
+ surface->offsets = malloc(sizeof(int));
- pPriv = xalloc(sizeof(struct OffscreenPrivRec));
+ pPriv = malloc(sizeof(struct OffscreenPrivRec));
if (pPriv && surface->pitches && surface->offsets) {
@@ -844,13 +851,15 @@ LXAllocateSurface(ScrnInfoPtr pScrni, int id, unsigned short w,
}
if (surface->offsets)
- xfree(surface->offsets);
+ free(surface->offsets);
if (surface->pitches)
- xfree(surface->pitches);
+ free(surface->pitches);
- if (vidmem)
- GeodeFreeOffscreen(pGeode, vidmem);
+ if (vidmem) {
+ exaOffscreenFree(pScrni->pScreen, vidmem);
+ vidmem = NULL;
+ }
return BadAlloc;
}
@@ -871,19 +880,18 @@ LXFreeSurface(XF86SurfacePtr surface)
struct OffscreenPrivRec *pPriv = (struct OffscreenPrivRec *)
surface->devPrivate.ptr;
ScrnInfoPtr pScrni = surface->pScrn;
- GeodeRec *pGeode = GEODEPTR(pScrni);
if (pPriv->isOn)
LXStopSurface(surface);
if (pPriv->vidmem) {
- GeodeFreeOffscreen(pGeode, pPriv->vidmem);
+ exaOffscreenFree(pScrni->pScreen, pPriv->vidmem);
pPriv->vidmem = NULL;
}
- xfree(surface->pitches);
- xfree(surface->offsets);
- xfree(surface->devPrivate.ptr);
+ free(surface->pitches);
+ free(surface->offsets);
+ free(surface->devPrivate.ptr);
return Success;
}
@@ -908,7 +916,7 @@ LXInitOffscreenImages(ScreenPtr pScrn)
XF86OffscreenImagePtr offscreenImages;
/* need to free this someplace */
- if (!(offscreenImages = xalloc(sizeof(XF86OffscreenImageRec))))
+ if (!(offscreenImages = malloc(sizeof(XF86OffscreenImageRec))))
return;
offscreenImages[0].image = &Images[0];
@@ -957,7 +965,7 @@ LXInitVideo(ScreenPtr pScrn)
adaptors = &newAdaptor;
} else {
newAdaptors =
- xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr *));
+ malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr *));
if (newAdaptors) {
memcpy(newAdaptors, adaptors, num_adaptors *
@@ -973,5 +981,5 @@ LXInitVideo(ScreenPtr pScrn)
xf86XVScreenInit(pScrn, adaptors, num_adaptors);
if (newAdaptors)
- xfree(newAdaptors);
+ free(newAdaptors);
}
diff --git a/driver/xf86-video-geode/src/z4l.c b/driver/xf86-video-geode/src/z4l.c
index 1bad0d896..11b3fa5b6 100644
--- a/driver/xf86-video-geode/src/z4l.c
+++ b/driver/xf86-video-geode/src/z4l.c
@@ -960,7 +960,7 @@ Z4lNewEncoding(XF86VideoEncodingPtr * encs, int *nencs)
{
XF86VideoEncodingPtr enc;
XF86VideoEncodingPtr tencs =
- (XF86VideoEncodingPtr) xrealloc(*encs, sizeof(*tencs) * (*nencs + 1));
+ (XF86VideoEncodingPtr) realloc(*encs, sizeof(*tencs) * (*nencs + 1));
if (tencs == NULL)
return NULL;
@@ -1029,7 +1029,7 @@ Z4lAddEncoding(XF86VideoEncodingPtr enc, char *name, int id, int width,
l = strlen(&name[0]) + 1;
l = (l + n) & ~n;
n = l + sizeof(*sp);
- cp = (char *)xalloc(n);
+ cp = (char *)malloc(n);
if (cp == NULL)
return 0;
@@ -1055,7 +1055,7 @@ Z4lNewImage(XF86ImagePtr * imgs, int *nimgs)
{
XF86ImagePtr img;
XF86ImagePtr timgs =
- (XF86ImagePtr) xrealloc(*imgs, sizeof(*timgs) * (*nimgs + 1));
+ (XF86ImagePtr) realloc(*imgs, sizeof(*timgs) * (*nimgs + 1));
if (timgs == NULL)
return NULL;
@@ -1081,7 +1081,7 @@ Z4lNewAttribute(XF86AttributePtr * attrs, int *nattrs)
{
XF86AttributePtr attr;
XF86AttributePtr tattrs =
- (XF86AttributePtr) xrealloc(*attrs, sizeof(*tattrs) * (*nattrs + 1));
+ (XF86AttributePtr) realloc(*attrs, sizeof(*tattrs) * (*nattrs + 1));
if (tattrs == NULL)
return NULL;
@@ -1127,7 +1127,7 @@ static int
Z4lAddAttribute(XF86AttributePtr attr, char *name,
int min, int max, int flags)
{
- char *cp = (char *)xalloc(strlen((char *)&name[0]) + 1);
+ char *cp = (char *)malloc(strlen((char *)&name[0]) + 1);
if (cp == NULL)
return 0;
@@ -1149,7 +1149,7 @@ Z4lNewAdaptor(XF86VideoAdaptorPtr ** adpts, int *nadpts, int nattrs)
Z4lPortPrivRec *pPriv;
XF86VideoAdaptorPtr adpt, *tadpts;
- tadpts = (XF86VideoAdaptorPtr *) xrealloc(*adpts,
+ tadpts = (XF86VideoAdaptorPtr *) realloc(*adpts,
sizeof(*tadpts) * (*nadpts + 1));
if (tadpts == NULL)
@@ -1158,7 +1158,7 @@ Z4lNewAdaptor(XF86VideoAdaptorPtr ** adpts, int *nadpts, int nattrs)
*adpts = tadpts;
n = sizeof(*adpt) + sizeof(*pPriv) + 1 * sizeof(*adpt->pPortPrivates);
n += (nattrs - 1) * sizeof(pPriv->attrIds[0]);
- adpt = (XF86VideoAdaptorPtr) xalloc(n);
+ adpt = (XF86VideoAdaptorPtr) malloc(n);
if (adpt == NULL)
return NULL;
@@ -1559,7 +1559,7 @@ Z4lInit(ScrnInfoPtr pScrni, XF86VideoAdaptorPtr ** adaptors)
has_colorkey = 1;
}
- dp = xalloc(strlen((char *)&capability.card[0]) + 1);
+ dp = malloc(strlen((char *)&capability.card[0]) + 1);
if (dp == NULL)
goto fail;
strcpy(dp, (char *)&capability.card[0]);
@@ -1668,7 +1668,7 @@ Z4lInit(ScrnInfoPtr pScrni, XF86VideoAdaptorPtr ** adaptors)
}
if ((imgs = adpt->pImages) != NULL)
free(imgs);
- xfree(adpt);
+ free(adpt);
}
}
free(adpts);