diff options
author | Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> | 2010-03-21 16:52:15 +0000 |
---|---|---|
committer | Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> | 2010-03-21 16:52:15 +0000 |
commit | b0ec0202daaa469b713947a5dff8f2e1f9b3fbaf (patch) | |
tree | d65c5b069f05303cca7c9751ba40d802d273646f /x11-drivers/xf86-video-openchrome/files | |
parent | mask xf86-video-openchrome-0.2.904-r1 (diff) | |
download | gentoo-2-b0ec0202daaa469b713947a5dff8f2e1f9b3fbaf.tar.gz gentoo-2-b0ec0202daaa469b713947a5dff8f2e1f9b3fbaf.tar.bz2 gentoo-2-b0ec0202daaa469b713947a5dff8f2e1f9b3fbaf.zip |
xf86-video-openchrome: add patch for bug #298352
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'x11-drivers/xf86-video-openchrome/files')
-rw-r--r-- | x11-drivers/xf86-video-openchrome/files/xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch | 200 |
1 files changed, 200 insertions, 0 deletions
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 index 000000000000..4057936439bb --- /dev/null +++ b/x11-drivers/xf86-video-openchrome/files/xf86-video-openchrome-0.2.904-libdrm-2.4.17.patch @@ -0,0 +1,200 @@ +Index: xf86-video-openchrome-0.2.904/src/via_drm.h
+===================================================================
+--- xf86-video-openchrome-0.2.904/src/via_drm.h (revision 415)
++++ xf86-video-openchrome-0.2.904/src/via_drm.h (revision 839)
+@@ -17,5 +17,5 @@
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+- * THE AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
++ * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+@@ -25,4 +25,6 @@
+ #define _VIA_DRM_H_
+
++#include "drm.h"
++
+ /* WARNING: These defines must be the same as what the Xserver uses.
+ * if you change them, you must change the defines in the Xserver.
+@@ -32,14 +34,12 @@
+ #define _VIA_DEFINES_
+
+-#if !defined(__KERNEL__) && !defined(_KERNEL)
+ #include "via_drmclient.h"
+-#endif
+-
+-#define VIA_NR_SAREA_CLIPRECTS 8
++
++#define VIA_NR_SAREA_CLIPRECTS 8
+ #define VIA_NR_XVMC_PORTS 10
+ #define VIA_NR_XVMC_LOCKS 5
+ #define VIA_MAX_CACHELINE_SIZE 64
+ #define XVMCLOCKPTR(saPriv,lockNo) \
+- ((volatile drm_hw_lock_t *)(((((unsigned long) (saPriv)->XvMCLockArea) + \
++ ((__volatile__ struct drm_hw_lock *)(((((unsigned long) (saPriv)->XvMCLockArea) + \
+ (VIA_MAX_CACHELINE_SIZE - 1)) & \
+ ~(VIA_MAX_CACHELINE_SIZE - 1)) + \
+@@ -108,25 +108,24 @@
+ #define VIA_DEPTH 0x4
+ #define VIA_STENCIL 0x8
+-
+ #define VIA_MEM_VIDEO 0 /* matches drm constant */
+ #define VIA_MEM_AGP 1 /* matches drm constant */
+-#define VIA_MEM_SYSTEM 2
++#define VIA_MEM_SYSTEM 2
+ #define VIA_MEM_MIXED 3
+ #define VIA_MEM_UNKNOWN 4
+
+ typedef struct {
+- uint32_t offset;
+- uint32_t size;
++ __u32 offset;
++ __u32 size;
+ } drm_via_agp_t;
+
+ typedef struct {
+- uint32_t offset;
+- uint32_t size;
++ __u32 offset;
++ __u32 size;
+ } drm_via_fb_t;
+
+ typedef struct {
+- uint32_t context;
+- uint32_t type;
+- uint32_t size;
++ __u32 context;
++ __u32 type;
++ __u32 size;
+ unsigned long index;
+ unsigned long offset;
+@@ -150,7 +149,7 @@
+ VIA_FUTEX_WAKE = 0X01
+ } func;
+- uint32_t ms;
+- uint32_t lock;
+- uint32_t val;
++ __u32 ms;
++ __u32 lock;
++ __u32 val;
+ } drm_via_futex_t;
+
+@@ -159,5 +158,5 @@
+ VIA_INIT_DMA = 0x01,
+ VIA_CLEANUP_DMA = 0x02,
+- VIA_DMA_INITIALIZED = 0x03
++ VIA_DMA_INITIALIZED = 0x03
+ } func;
+
+@@ -168,5 +167,5 @@
+
+ typedef struct _drm_via_cmdbuffer {
+- char __user *buf;
++ char *buf;
+ unsigned long size;
+ } drm_via_cmdbuffer_t;
+@@ -184,5 +183,5 @@
+ unsigned int dirty;
+ unsigned int nbox;
+- drm_clip_rect_t boxes[VIA_NR_SAREA_CLIPRECTS];
++ struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS];
+ drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1];
+ int texAge; /* last time texture was uploaded */
+@@ -200,10 +199,9 @@
+ unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
+ unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
+- unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
++ unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
+
+ /* Used by the 3d driver only at this point, for pageflipping:
+ */
+-
+- unsigned int pfCurrentOffset;
++ unsigned int pfCurrentOffset;
+ } drm_via_sarea_t;
+
+@@ -214,5 +212,5 @@
+ } func;
+ int wait;
+- uint32_t size;
++ __u32 size;
+ } drm_via_cmdbuf_size_t;
+
+@@ -226,17 +224,19 @@
+ #define VIA_IRQ_FLAGS_MASK 0xF0000000
+
+-enum drm_via_irqs{drm_via_irq_hqv0 = 0,
+- drm_via_irq_hqv1,
+- drm_via_irq_dma0_dd,
+- drm_via_irq_dma0_td,
+- drm_via_irq_dma1_dd,
+- drm_via_irq_dma1_td,
+- drm_via_irq_num};
+-
+-struct drm_via_wait_irq_request{
++enum drm_via_irqs {
++ drm_via_irq_hqv0 = 0,
++ drm_via_irq_hqv1,
++ drm_via_irq_dma0_dd,
++ drm_via_irq_dma0_td,
++ drm_via_irq_dma1_dd,
++ drm_via_irq_dma1_td,
++ drm_via_irq_num
++};
++
++struct drm_via_wait_irq_request {
+ unsigned irq;
+ via_irq_seq_type_t type;
+- uint32_t sequence;
+- uint32_t signal;
++ __u32 sequence;
++ __u32 signal;
+ };
+
+@@ -246,25 +246,30 @@
+ } drm_via_irqwait_t;
+
+-typedef struct drm_via_blitsync {
+- uint32_t sync_handle;
++typedef struct drm_via_blitsync {
++ __u32 sync_handle;
+ unsigned engine;
+ } drm_via_blitsync_t;
+
++/* - * Below,"flags" is currently unused but will be used for possible future
++ * extensions like kernel space bounce buffers for bad alignments and
++ * blit engine busy-wait polling for better latency in the absence of
++ * interrupts.
++ */
++
+ typedef struct drm_via_dmablit {
+- uint32_t num_lines;
+- uint32_t line_length;
+-
+- uint32_t fb_addr;
+- uint32_t fb_stride;
+-
+- unsigned char *mem_addr;
+- uint32_t mem_stride;
+-
+- int bounce_buffer;
+- int to_fb;
+-
+- drm_via_blitsync_t sync;
++ __u32 num_lines;
++ __u32 line_length;
++
++ __u32 fb_addr;
++ __u32 fb_stride;
++
++ unsigned char *mem_addr;
++ __u32 mem_stride;
++
++ __u32 flags;
++ int to_fb;
++
++ drm_via_blitsync_t sync;
+ } drm_via_dmablit_t;
+
+-
+ #endif /* _VIA_DRM_H_ */
|