Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 140323 | Differences between
and this patch

Collapse All | Expand All

(-)ivtv_xdriver_0.10.6/Imakefile (-14 / +3 lines)
Lines 10-28 Link Here
10
SRCS = ivtvdev.c ivtvhw.c ivtv_xv.c
10
SRCS = ivtvdev.c ivtvhw.c ivtv_xv.c
11
OBJS = ivtvdev.o ivtvhw.o ivtv_xv.o
11
OBJS = ivtvdev.o ivtvhw.o ivtv_xv.o
12
12
13
#if defined(XF86DriverSDK)
13
INCLUDES = -I. -I/usr/include/xorg -I/usr/include/X11 -I/usr/include/X11/extensions 
14
INCLUDES = -I. -I../../include
14
15
#else
16
INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86OSSRC) \
17
           -I$(SERVERSRC)/mfb -I$(SERVERSRC)/mi \
18
           -I$(SERVERSRC)/fb -I$(XF86SRC)/xaa \
19
	   -I$(XF86SRC)/fbdevhw -I$(XF86SRC)/ramdac \
20
           -I$(XF86SRC)/ddc -I$(XF86SRC)/i2c \
21
           -I$(XF86SRC)/rac \
22
           -I$(SERVERSRC)/Xext -I$(XF86SRC)/xf24_32bpp\
23
           -I$(FONTINCSRC) -I$(SERVERSRC)/include -I$(XINCLUDESRC) \
24
	   -I$(SERVERSRC)/miext/shadow -I$(EXTINCSRC) -I$(SERVERSRC)/render
25
#endif
26
#ifdef XF86_VERSION_CURRENT
15
#ifdef XF86_VERSION_CURRENT
27
XCOMM We are using Xfree86
16
XCOMM We are using Xfree86
28
17
Lines 48-54 Link Here
48
37
49
38
50
DependTarget()
39
DependTarget()
51
40
USRLIBDIR=/usr/lib/xorg
52
InstallDriverSDKNonExecFile(Imakefile,$(DRIVERSDKDIR)/drivers/ivtvdev)
41
InstallDriverSDKNonExecFile(Imakefile,$(DRIVERSDKDIR)/drivers/ivtvdev)
53
InstallDriverSDKNonExecFile(ivtvdev.c,$(DRIVERSDKDIR)/drivers/ivtvdev)
42
InstallDriverSDKNonExecFile(ivtvdev.c,$(DRIVERSDKDIR)/drivers/ivtvdev)
54
43
(-)ivtv_xdriver_0.10.6/fbpriv.h (+262 lines)
Line 0 Link Here
1
/*
2
 * copyed from from linux kernel 2.2.4
3
 * removed internal stuff (#ifdef __KERNEL__)
4
 */
5
/* $XFree86: xc/programs/Xserver/hw/xfree86/fbdevhw/fbpriv.h,v 1.2 2000/01/21 02:30:02 dawes Exp $ */
6
7
#ifndef _LINUX_FB_H
8
#define _LINUX_FB_H
9
10
#include <asm/types.h>
11
12
/* Definitions of frame buffers						*/
13
14
#define FB_MAJOR	29
15
16
#define FB_MODES_SHIFT		5	/* 32 modes per framebuffer */
17
#define FB_NUM_MINORS		256	/* 256 Minors               */
18
#define FB_MAX			(FB_NUM_MINORS / (1 << FB_MODES_SHIFT))
19
#define GET_FB_IDX(node)	(MINOR(node) >> FB_MODES_SHIFT)
20
21
/* ioctls
22
   0x46 is 'F'								*/
23
#define FBIOGET_VSCREENINFO	0x4600
24
#define FBIOPUT_VSCREENINFO	0x4601
25
#define FBIOGET_FSCREENINFO	0x4602
26
#define FBIOGETCMAP		0x4604
27
#define FBIOPUTCMAP		0x4605
28
#define FBIOPAN_DISPLAY		0x4606
29
/* 0x4607-0x460B are defined below */
30
/* #define FBIOGET_MONITORSPEC	0x460C */
31
/* #define FBIOPUT_MONITORSPEC	0x460D */
32
/* #define FBIOSWITCH_MONIBIT	0x460E */
33
#define FBIOGET_CON2FBMAP	0x460F
34
#define FBIOPUT_CON2FBMAP	0x4610
35
#define FBIOBLANK		0x4611
36
37
#define FB_TYPE_PACKED_PIXELS		0	/* Packed Pixels	*/
38
#define FB_TYPE_PLANES			1	/* Non interleaved planes */
39
#define FB_TYPE_INTERLEAVED_PLANES	2	/* Interleaved planes	*/
40
#define FB_TYPE_TEXT			3	/* Text/attributes	*/
41
42
#define FB_AUX_TEXT_MDA		0	/* Monochrome text */
43
#define FB_AUX_TEXT_CGA		1	/* CGA/EGA/VGA Color text */
44
#define FB_AUX_TEXT_S3_MMIO	2	/* S3 MMIO fasttext */
45
#define FB_AUX_TEXT_MGA_STEP16	3	/* MGA Millenium I: text, attr, 14 reserved bytes */
46
#define FB_AUX_TEXT_MGA_STEP8	4	/* other MGAs:      text, attr,  6 reserved bytes */
47
48
#define FB_VISUAL_MONO01		0	/* Monochr. 1=Black 0=White */
49
#define FB_VISUAL_MONO10		1	/* Monochr. 1=White 0=Black */
50
#define FB_VISUAL_TRUECOLOR		2	/* True color	*/
51
#define FB_VISUAL_PSEUDOCOLOR		3	/* Pseudo color (like atari) */
52
#define FB_VISUAL_DIRECTCOLOR		4	/* Direct color */
53
#define FB_VISUAL_STATIC_PSEUDOCOLOR	5	/* Pseudo color readonly */
54
55
#define FB_ACCEL_NONE		0	/* no hardware accelerator	*/
56
#define FB_ACCEL_ATARIBLITT	1	/* Atari Blitter		*/
57
#define FB_ACCEL_AMIGABLITT	2	/* Amiga Blitter                */
58
#define FB_ACCEL_S3_TRIO64	3	/* Cybervision64 (S3 Trio64)    */
59
#define FB_ACCEL_NCR_77C32BLT	4	/* RetinaZ3 (NCR 77C32BLT)      */
60
#define FB_ACCEL_S3_VIRGE	5	/* Cybervision64/3D (S3 ViRGE)	*/
61
#define FB_ACCEL_ATI_MACH64GX	6	/* ATI Mach 64GX family		*/
62
#define FB_ACCEL_DEC_TGA	7	/* DEC 21030 TGA		*/
63
#define FB_ACCEL_ATI_MACH64CT	8	/* ATI Mach 64CT family		*/
64
#define FB_ACCEL_ATI_MACH64VT	9	/* ATI Mach 64CT family VT class */
65
#define FB_ACCEL_ATI_MACH64GT	10	/* ATI Mach 64CT family GT class */
66
#define FB_ACCEL_SUN_CREATOR	11	/* Sun Creator/Creator3D	*/
67
#define FB_ACCEL_SUN_CGSIX	12	/* Sun cg6			*/
68
#define FB_ACCEL_SUN_LEO	13	/* Sun leo/zx			*/
69
#define FB_ACCEL_IMS_TWINTURBO	14	/* IMS Twin Turbo		*/
70
#define FB_ACCEL_3DLABS_PERMEDIA2 15	/* 3Dlabs Permedia 2		*/
71
#define FB_ACCEL_MATROX_MGA2064W 16	/* Matrox MGA2064W (Millenium)	*/
72
#define FB_ACCEL_MATROX_MGA1064SG 17	/* Matrox MGA1064SG (Mystique)	*/
73
#define FB_ACCEL_MATROX_MGA2164W 18	/* Matrox MGA2164W (Millenium II) */
74
#define FB_ACCEL_MATROX_MGA2164W_AGP 19	/* Matrox MGA2164W (Millenium II) */
75
#define FB_ACCEL_MATROX_MGAG100	20	/* Matrox G100 (Productiva G100) */
76
#define FB_ACCEL_MATROX_MGAG200	21	/* Matrox G200 (Myst, Mill, ...) */
77
#define FB_ACCEL_SUN_CG14	22	/* Sun cgfourteen		 */
78
#define FB_ACCEL_SUN_BWTWO	23	/* Sun bwtwo			 */
79
#define FB_ACCEL_SUN_CGTHREE	24	/* Sun cgthree			 */
80
#define FB_ACCEL_SUN_TCX	25	/* Sun tcx			 */
81
#define FB_ACCEL_MATROX_MGAG400	26	/* Matrox G400			*/
82
#define FB_ACCEL_NV3		27	/* nVidia RIVA 128              */
83
#define FB_ACCEL_NV4		28	/* nVidia RIVA TNT		*/
84
#define FB_ACCEL_NV5		29	/* nVidia RIVA TNT2		*/
85
#define FB_ACCEL_CT_6555x	30	/* C&T 6555x			*/
86
#define FB_ACCEL_3DFX_BANSHEE	31	/* 3Dfx Banshee			*/
87
#define FB_ACCEL_ATI_RAGE128	32	/* ATI Rage128 family		*/
88
89
struct fb_fix_screeninfo {
90
	char id[16];			/* identification string eg "TT Builtin" */
91
	char *smem_start;		/* Start of frame buffer mem */
92
					/* (physical address) */
93
	__u32 smem_len;			/* Length of frame buffer mem */
94
	__u32 type;			/* see FB_TYPE_*		*/
95
	__u32 type_aux;			/* Interleave for interleaved Planes */
96
	__u32 visual;			/* see FB_VISUAL_*		*/ 
97
	__u16 xpanstep;			/* zero if no hardware panning  */
98
	__u16 ypanstep;			/* zero if no hardware panning  */
99
	__u16 ywrapstep;		/* zero if no hardware ywrap    */
100
	__u32 line_length;		/* length of a line in bytes    */
101
	char *mmio_start;		/* Start of Memory Mapped I/O   */
102
					/* (physical address) */
103
	__u32 mmio_len;			/* Length of Memory Mapped I/O  */
104
	__u32 accel;			/* Type of acceleration available */
105
	__u16 reserved[3];		/* Reserved for future compatibility */
106
};
107
108
/* Interpretation of offset for color fields: All offsets are from the right,
109
 * inside a "pixel" value, which is exactly 'bits_per_pixel' wide (means: you
110
 * can use the offset as right argument to <<). A pixel afterwards is a bit
111
 * stream and is written to video memory as that unmodified. This implies
112
 * big-endian byte order if bits_per_pixel is greater than 8.
113
 */
114
struct fb_bitfield {
115
	__u32 offset;			/* beginning of bitfield	*/
116
	__u32 length;			/* length of bitfield		*/
117
	__u32 msb_right;		/* != 0 : Most significant bit is */ 
118
					/* right */ 
119
};
120
121
#define FB_NONSTD_HAM		1	/* Hold-And-Modify (HAM)        */
122
123
#define FB_ACTIVATE_NOW		0	/* set values immediately (or vbl)*/
124
#define FB_ACTIVATE_NXTOPEN	1	/* activate on next open	*/
125
#define FB_ACTIVATE_TEST	2	/* don't set, round up impossible */
126
#define FB_ACTIVATE_MASK       15
127
					/* values			*/
128
#define FB_ACTIVATE_VBL	       16	/* activate values on next vbl  */
129
#define FB_CHANGE_CMAP_VBL     32	/* change colormap on vbl	*/
130
#define FB_ACTIVATE_ALL	       64	/* change all VCs on this fb	*/
131
132
#define FB_ACCELF_TEXT		1	/* text mode acceleration */
133
134
#define FB_SYNC_HOR_HIGH_ACT	1	/* horizontal sync high active	*/
135
#define FB_SYNC_VERT_HIGH_ACT	2	/* vertical sync high active	*/
136
#define FB_SYNC_EXT		4	/* external sync		*/
137
#define FB_SYNC_COMP_HIGH_ACT	8	/* composite sync high active   */
138
#define FB_SYNC_BROADCAST	16	/* broadcast video timings      */
139
					/* vtotal = 144d/288n/576i => PAL  */
140
					/* vtotal = 121d/242n/484i => NTSC */
141
#define FB_SYNC_ON_GREEN	32	/* sync on green */
142
143
#define FB_VMODE_NONINTERLACED  0	/* non interlaced */
144
#define FB_VMODE_INTERLACED	1	/* interlaced	*/
145
#define FB_VMODE_DOUBLE		2	/* double scan */
146
#define FB_VMODE_MASK		255
147
148
#define FB_VMODE_YWRAP		256	/* ywrap instead of panning     */
149
#define FB_VMODE_SMOOTH_XPAN	512	/* smooth xpan possible (internally used) */
150
#define FB_VMODE_CONUPDATE	512	/* don't update x/yoffset	*/
151
152
struct fb_var_screeninfo {
153
	__u32 xres;			/* visible resolution		*/
154
	__u32 yres;
155
	__u32 xres_virtual;		/* virtual resolution		*/
156
	__u32 yres_virtual;
157
	__u32 xoffset;			/* offset from virtual to visible */
158
	__u32 yoffset;			/* resolution			*/
159
160
	__u32 bits_per_pixel;		/* guess what			*/
161
	__u32 grayscale;		/* != 0 Graylevels instead of colors */
162
163
	struct fb_bitfield red;		/* bitfield in fb mem if true color, */
164
	struct fb_bitfield green;	/* else only length is significant */
165
	struct fb_bitfield blue;
166
	struct fb_bitfield transp;	/* transparency			*/	
167
168
	__u32 nonstd;			/* != 0 Non standard pixel format */
169
170
	__u32 activate;			/* see FB_ACTIVATE_*		*/
171
172
	__u32 height;			/* height of picture in mm    */
173
	__u32 width;			/* width of picture in mm     */
174
175
	__u32 accel_flags;		/* acceleration flags (hints)	*/
176
177
	/* Timing: All values in pixclocks, except pixclock (of course) */
178
	__u32 pixclock;			/* pixel clock in ps (pico seconds) */
179
	__u32 left_margin;		/* time from sync to picture	*/
180
	__u32 right_margin;		/* time from picture to sync	*/
181
	__u32 upper_margin;		/* time from sync to picture	*/
182
	__u32 lower_margin;
183
	__u32 hsync_len;		/* length of horizontal sync	*/
184
	__u32 vsync_len;		/* length of vertical sync	*/
185
	__u32 sync;			/* see FB_SYNC_*		*/
186
	__u32 vmode;			/* see FB_VMODE_*		*/
187
	__u32 reserved[6];		/* Reserved for future compatibility */
188
};
189
190
struct fb_cmap {
191
	__u32 start;			/* First entry	*/
192
	__u32 len;			/* Number of entries */
193
	__u16 *red;			/* Red values	*/
194
	__u16 *green;
195
	__u16 *blue;
196
	__u16 *transp;			/* transparency, can be NULL */
197
};
198
199
struct fb_con2fbmap {
200
	__u32 console;
201
	__u32 framebuffer;
202
};
203
204
struct fb_monspecs {
205
	__u32 hfmin;			/* hfreq lower limit (Hz) */
206
	__u32 hfmax; 			/* hfreq upper limit (Hz) */
207
	__u16 vfmin;			/* vfreq lower limit (Hz) */
208
	__u16 vfmax;			/* vfreq upper limit (Hz) */
209
	unsigned dpms : 1;		/* supports DPMS */
210
};
211
212
#if 1
213
214
#define FBCMD_GET_CURRENTPAR	0xDEAD0005
215
#define FBCMD_SET_CURRENTPAR	0xDEAD8005
216
217
#endif
218
219
220
#if 1 /* Preliminary */
221
222
   /*
223
    *    Hardware Cursor
224
    */
225
226
#define FBIOGET_FCURSORINFO     0x4607
227
#define FBIOGET_VCURSORINFO     0x4608
228
#define FBIOPUT_VCURSORINFO     0x4609
229
#define FBIOGET_CURSORSTATE     0x460A
230
#define FBIOPUT_CURSORSTATE     0x460B
231
232
233
struct fb_fix_cursorinfo {
234
	__u16 crsr_width;		/* width and height of the cursor in */
235
	__u16 crsr_height;		/* pixels (zero if no cursor)	*/
236
	__u16 crsr_xsize;		/* cursor size in display pixels */
237
	__u16 crsr_ysize;
238
	__u16 crsr_color1;		/* colormap entry for cursor color1 */
239
	__u16 crsr_color2;		/* colormap entry for cursor color2 */
240
};
241
242
struct fb_var_cursorinfo {
243
	__u16 width;
244
	__u16 height;
245
	__u16 xspot;
246
	__u16 yspot;
247
	__u8 data[1];			/* field with [height][width]        */
248
};
249
250
struct fb_cursorstate {
251
	__s16 xoffset;
252
	__s16 yoffset;
253
	__u16 mode;
254
};
255
256
#define FB_CURSOR_OFF		0
257
#define FB_CURSOR_ON		1
258
#define FB_CURSOR_FLASH		2
259
260
#endif /* Preliminary */
261
262
#endif /* _LINUX_FB_H */
(-)ivtv_xdriver_0.10.6/ivtvdrv/Changelog (-25 lines)
Lines 1-25 Link Here
1
#0.10.6 - Improved performance by only fixing up correct sized region
2
        - should build against xorg corrrectly
3
#0.10.5 - Add autopaint colorkey support (XV_AUTOPAINTCOLORKEY)
4
#0.10.4 - Add colorkey support (XV_COLORKEY)
5
#0.10.2 - Fix device identification for /dev/video/1 type fb devices
6
	- Allow ivtv/350 to scale up xv playback
7
#0.10.1 - Fix NTSC playback
8
#0.10   - Fix playback of non full height videos
9
        - center video in screen
10
        - revert PREP_FRAME code to same as 0.8 for now.
11
#0.9    - first attempt at Xv
12
        - Remove some ioctl calls we know will fail and aren't important.
13
#0.8	- fix error using fbdev option to specify device to use
14
#0.7	- frame buffer device now specified with fbdev again
15
	- Configuration code is more like most pci cards instead of 
16
	  framebuffer driver so less things go wrong
17
	  and error messages are more sensible
18
	- Uses installed ivtv header file
19
	- Probe does ivtvfb ioctl to ensure frame buffer is really ivtv.
20
#0.6	- Fix dma too large an area on full screen updates
21
#0.5	- Remove name conflicts
22
#0.4	- Sends data in multiples of 64K to keep ivtv happ(ish)
23
	- Grabs the sum of the dirty regions and just updates that region.
24
	- pointer passed to ivtv is not aligned on page boundaries so relies on
25
	  ivtv-0.1.10-pre2-ck108d or newer version of myth to work properly.

Return to bug 140323