xf86-video-openchrome: add patch for bug #298352
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Sun, 21 Mar 2010 16:52:15 +0000 (16:52 +0000)
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
Sun, 21 Mar 2010 16:52:15 +0000 (16:52 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

x11-drivers/xf86-video-openchrome/ChangeLog
x11-drivers/xf86-video-openchrome/Manifest
x11-drivers/xf86-video-openchrome/files/xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch [new file with mode: 0644]
x11-drivers/xf86-video-openchrome/xf86-video-openchrome-0.2.904-r1.ebuild [new file with mode: 0644]

index 10032f22a20fc74b338e3251dd71f2dcee343523..fb4108f827aee985460ff55d6f3ff41a95b0fbad 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for x11-drivers/xf86-video-openchrome
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-openchrome/ChangeLog,v 1.20 2009/11/14 16:11:05 maekke Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-openchrome/ChangeLog,v 1.21 2010/03/21 16:52:14 chithanh Exp $
+
+*xf86-video-openchrome-0.2.904-r1 (21 Mar 2010)
+
+  21 Mar 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+  +xf86-video-openchrome-0.2.904-r1.ebuild,
+  +files/xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch:
+  Patch for bug #298352
 
   14 Nov 2009; Markus Meier <maekke@gentoo.org>
   xf86-video-openchrome-0.2.904.ebuild:
index 0c9a20e3f4a88cbe66434a053d60dbd8b8d4e7ad..d9b3dae9c59a5ce6d1faebd70f9e6fe002b249ec 100644 (file)
@@ -1,16 +1,8 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
+AUX xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch 5349 RMD160 501802055c0b134f8935b947f632198e9e26c49c SHA1 d69c7b1828049dd28fc9e27d0a641ba497a44aa2 SHA256 787873e8b5e9a6eb65a53612c255f0eecdb1b2e3124bd4510173b9fe849c3448
 DIST xf86-video-openchrome-0.2.903.tar.bz2 420104 RMD160 03e3b5036e1296d2d0a2d45153539797caf73896 SHA1 7889ed015a0ec2447dfe729ed10fb9dd2fd9024d SHA256 b7e4858d6b5c6428fae2485a2c2097cdf6073268ef812aae2ccbc3d936db7410
 DIST xf86-video-openchrome-0.2.904.tar.bz2 460051 RMD160 8d000e210cb3c0443755f5567ed315e81eababf3 SHA1 23225057d5b75d6aac3e7a710cbc067b2eb29228 SHA256 c7bdf7c48365b1d077a4be7ccc652cf3f7a0f385fddeb2d4fe71b00b6c6b7aea
 EBUILD xf86-video-openchrome-0.2.903.ebuild 1382 RMD160 cf23dfe4cd314df105568c4a46ecf030fabba1c9 SHA1 6da0ebbd1c7f900254963019472f2b1bfe475521 SHA256 06650bc0fe5db55267abd8d7e32f935c0132494fd49447d143b27b29bfde3a5b
+EBUILD xf86-video-openchrome-0.2.904-r1.ebuild 1447 RMD160 799beff0cea8b76b2be35449bfa38042281a4914 SHA1 8dd1677db8b589b5920cce1e9c043471d1e599b1 SHA256 44ffa01f9a1662f38c132764540ecd60facd0b3eaad5e61f3bb834111b128c82
 EBUILD xf86-video-openchrome-0.2.904.ebuild 1379 RMD160 f8ceeec711b7e88630d08d440a7db1621748357a SHA1 3653564deb3955c1919fe20bca181a412dfc1127 SHA256 8ceb81e4f3892a052f0e08724dc088cd8c75f3185aa2afa69e40f94d61941d9f
-MISC ChangeLog 3181 RMD160 03c74a0520e6815c437da79c8d0f6b6f3bdbf994 SHA1 e7b2786f44f2f05255dff8bc8bad8ff4d60e8fa4 SHA256 28031d78722e0c8d649074efa8949c05310a8fca7a935a6aa18ea9ae274a1ea6
+MISC ChangeLog 3430 RMD160 bfdc05c819c1a0abcfadd7961d78b3bdb05a1794 SHA1 347ee8b18b6394b1595e18d31230cd049ddaea1a SHA256 849eaabe48250dcc19bd4c44b3e189d8f7071d39bf40eb3ad8c59f76e7d98eaf
 MISC metadata.xml 252 RMD160 ed7e3d6637ec96975f17ce5c33628aa482dfd663 SHA1 ddd00321e20f4a53a140eeb56cb01b9fab24d657 SHA256 76fd24f00e95b2892ca60acdce02d8c85dfeff84fc89ca14ffdbc00b82de44b3
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.11 (GNU/Linux)
-
-iEUEARECAAYFAkr+1rIACgkQkKaRLQcq0GIo6ACXVJZEVdEl7ewbvtSqe22EQ0nZ
-6gCfekClghEQE7JtIWsgUfoP01Ubyd4=
-=1ZWM
------END PGP SIGNATURE-----
diff --git a/x11-drivers/xf86-video-openchrome/files/xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch b/x11-drivers/xf86-video-openchrome/files/xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch
new file mode 100644 (file)
index 0000000..4057936
--- /dev/null
@@ -0,0 +1,200 @@
+Index: xf86-video-openchrome-0.2.904/src/via_drm.h\r
+===================================================================\r
+--- xf86-video-openchrome-0.2.904/src/via_drm.h        (revision 415)\r
++++ xf86-video-openchrome-0.2.904/src/via_drm.h        (revision 839)\r
+@@ -17,5 +17,5 @@\r
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\r
+- * THE AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR\r
++ * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR\r
+  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\r
+  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\r
+@@ -25,4 +25,6 @@\r
+ #define _VIA_DRM_H_\r
+ \r
++#include "drm.h"\r
++\r
+ /* WARNING: These defines must be the same as what the Xserver uses.\r
+  * if you change them, you must change the defines in the Xserver.\r
+@@ -32,14 +34,12 @@\r
+ #define _VIA_DEFINES_\r
+ \r
+-#if !defined(__KERNEL__) && !defined(_KERNEL)\r
+ #include "via_drmclient.h"\r
+-#endif\r
+-\r
+-#define VIA_NR_SAREA_CLIPRECTS                8\r
++\r
++#define VIA_NR_SAREA_CLIPRECTS                8\r
+ #define VIA_NR_XVMC_PORTS               10\r
+ #define VIA_NR_XVMC_LOCKS               5\r
+ #define VIA_MAX_CACHELINE_SIZE          64\r
+ #define XVMCLOCKPTR(saPriv,lockNo)                                    \\r
+-      ((volatile drm_hw_lock_t *)(((((unsigned long) (saPriv)->XvMCLockArea) + \\r
++      ((__volatile__ struct drm_hw_lock *)(((((unsigned long) (saPriv)->XvMCLockArea) + \\r
+                                     (VIA_MAX_CACHELINE_SIZE - 1)) &   \\r
+                                    ~(VIA_MAX_CACHELINE_SIZE - 1)) +   \\r
+@@ -108,25 +108,24 @@\r
+ #define VIA_DEPTH   0x4\r
+ #define VIA_STENCIL 0x8\r
+-\r
+ #define VIA_MEM_VIDEO   0     /* matches drm constant */\r
+ #define VIA_MEM_AGP     1     /* matches drm constant */\r
+-#define VIA_MEM_SYSTEM  2             \r
++#define VIA_MEM_SYSTEM  2\r
+ #define VIA_MEM_MIXED   3\r
+ #define VIA_MEM_UNKNOWN 4\r
+ \r
+ typedef struct {\r
+-      uint32_t offset;\r
+-      uint32_t size;\r
++      __u32 offset;\r
++      __u32 size;\r
+ } drm_via_agp_t;\r
+ \r
+ typedef struct {\r
+-      uint32_t offset;\r
+-      uint32_t size;\r
++      __u32 offset;\r
++      __u32 size;\r
+ } drm_via_fb_t;\r
+ \r
+ typedef struct {\r
+-      uint32_t context;\r
+-      uint32_t type;\r
+-      uint32_t size;\r
++      __u32 context;\r
++      __u32 type;\r
++      __u32 size;\r
+       unsigned long index;\r
+       unsigned long offset;\r
+@@ -150,7 +149,7 @@\r
+               VIA_FUTEX_WAKE = 0X01\r
+       } func;\r
+-      uint32_t ms;\r
+-      uint32_t lock;\r
+-      uint32_t val;\r
++      __u32 ms;\r
++      __u32 lock;\r
++      __u32 val;\r
+ } drm_via_futex_t;\r
+ \r
+@@ -159,5 +158,5 @@\r
+               VIA_INIT_DMA = 0x01,\r
+               VIA_CLEANUP_DMA = 0x02,\r
+-                VIA_DMA_INITIALIZED = 0x03\r
++              VIA_DMA_INITIALIZED = 0x03\r
+       } func;\r
+ \r
+@@ -168,5 +167,5 @@\r
+ \r
+ typedef struct _drm_via_cmdbuffer {\r
+-      char __user *buf;\r
++      char *buf;\r
+       unsigned long size;\r
+ } drm_via_cmdbuffer_t;\r
+@@ -184,5 +183,5 @@\r
+       unsigned int dirty;\r
+       unsigned int nbox;\r
+-      drm_clip_rect_t boxes[VIA_NR_SAREA_CLIPRECTS];\r
++      struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS];\r
+       drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1];\r
+       int texAge;             /* last time texture was uploaded */\r
+@@ -200,10 +199,9 @@\r
+       unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];\r
+       unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];\r
+-      unsigned int XvMCCtxNoGrabbed;  /* Last context to hold decoder */      \r
++      unsigned int XvMCCtxNoGrabbed;  /* Last context to hold decoder */\r
+ \r
+       /* Used by the 3d driver only at this point, for pageflipping:\r
+        */\r
+-\r
+-        unsigned int pfCurrentOffset;\r
++      unsigned int pfCurrentOffset;\r
+ } drm_via_sarea_t;\r
+ \r
+@@ -214,5 +212,5 @@\r
+       } func;\r
+       int wait;\r
+-      uint32_t size;\r
++      __u32 size;\r
+ } drm_via_cmdbuf_size_t;\r
+ \r
+@@ -226,17 +224,19 @@\r
+ #define VIA_IRQ_FLAGS_MASK 0xF0000000\r
+ \r
+-enum drm_via_irqs{drm_via_irq_hqv0 = 0,\r
+-                drm_via_irq_hqv1,\r
+-                drm_via_irq_dma0_dd,\r
+-                drm_via_irq_dma0_td,\r
+-                drm_via_irq_dma1_dd,\r
+-                drm_via_irq_dma1_td,\r
+-                  drm_via_irq_num};\r
+-\r
+-struct drm_via_wait_irq_request{\r
++enum drm_via_irqs {\r
++      drm_via_irq_hqv0 = 0,\r
++      drm_via_irq_hqv1,\r
++      drm_via_irq_dma0_dd,\r
++      drm_via_irq_dma0_td,\r
++      drm_via_irq_dma1_dd,\r
++      drm_via_irq_dma1_td,\r
++      drm_via_irq_num\r
++};\r
++\r
++struct drm_via_wait_irq_request {\r
+       unsigned irq;\r
+       via_irq_seq_type_t type;\r
+-      uint32_t sequence;\r
+-      uint32_t signal;\r
++      __u32 sequence;\r
++      __u32 signal;\r
+ };\r
+ \r
+@@ -246,25 +246,30 @@\r
+ } drm_via_irqwait_t;\r
+ \r
+-typedef struct drm_via_blitsync { \r
+-      uint32_t sync_handle;\r
++typedef struct drm_via_blitsync {\r
++      __u32 sync_handle;\r
+       unsigned engine;\r
+ } drm_via_blitsync_t;\r
+ \r
++/* - * Below,"flags" is currently unused but will be used for possible future\r
++ * extensions like kernel space bounce buffers for bad alignments and\r
++ * blit engine busy-wait polling for better latency in the absence of\r
++ * interrupts.\r
++ */\r
++\r
+ typedef struct drm_via_dmablit {\r
+-      uint32_t num_lines;          \r
+-      uint32_t line_length;        \r
+-\r
+-        uint32_t fb_addr;                \r
+-      uint32_t fb_stride;              \r
+-\r
+-        unsigned char *mem_addr;        \r
+-      uint32_t  mem_stride;        \r
+-       \r
+-      int bounce_buffer;\r
+-        int to_fb;\r
+-\r
+-      drm_via_blitsync_t sync;   \r
++      __u32 num_lines;\r
++      __u32 line_length;\r
++\r
++      __u32 fb_addr;\r
++      __u32 fb_stride;\r
++\r
++      unsigned char *mem_addr;\r
++      __u32 mem_stride;\r
++\r
++      __u32 flags;\r
++      int to_fb;\r
++\r
++      drm_via_blitsync_t sync;\r
+ } drm_via_dmablit_t;\r
+ \r
+-\r
+ #endif                                /* _VIA_DRM_H_ */\r
diff --git a/x11-drivers/xf86-video-openchrome/xf86-video-openchrome-0.2.904-r1.ebuild b/x11-drivers/xf86-video-openchrome/xf86-video-openchrome-0.2.904-r1.ebuild
new file mode 100644 (file)
index 0000000..ee86d0f
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-openchrome/xf86-video-openchrome-0.2.904-r1.ebuild,v 1.1 2010/03/21 16:52:14 chithanh Exp $
+
+XDPVER="-1"
+IUSE="debug dri"
+
+inherit x-modular
+
+DESCRIPTION="X.Org driver for VIA/S3G cards"
+HOMEPAGE="http://www.openchrome.org"
+SRC_URI="${HOMEPAGE}/releases/${P}.tar.bz2"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+RDEPEND=">=x11-base/xorg-server-1.2
+       dri? ( >=x11-libs/libdrm-2.4.17 )"
+DEPEND="${RDEPEND}
+       x11-libs/libX11
+       x11-libs/libXv
+       x11-libs/libXvMC
+       x11-proto/randrproto
+       x11-proto/videoproto
+       x11-proto/xextproto
+       x11-proto/xproto
+       dri? (
+               x11-proto/xf86driproto
+               x11-proto/glproto
+       )"
+
+DOCS="ChangeLog NEWS README"
+
+pkg_setup() {
+       CONFIGURE_OPTIONS="
+               $(use_enable debug)
+               $(use_enable debug xv-debug)
+               "
+       PATCHES=( "${FILESDIR}/${P}-libdrm-2.4.17.patch" )
+}
+
+pkg_postinst() {
+       elog "Supported chipsets:"
+       elog ""
+       elog "CLE266 (VT3122)"
+       elog "KM400/P4M800 (VT3205)"
+       elog "K8M800 (VT3204)"
+       elog "PM800/PM880/CN400 (VT3259)"
+       elog "VM800/CN700/P4M800Pro (VT3314)"
+       elog "CX700 (VT3324)"
+       elog "P4M890 (VT3327)"
+       elog "K8M890 (VT3336)"
+       elog "P4M900/VN896 (VT3364)"
+       elog ""
+       elog "The driver name is 'openchrome', and this is what you need"
+       elog "to use in your xorg.conf now (instead of 'via')."
+       elog ""
+       elog "See the ChangeLog and release notes for more information."
+}