mga_vid 2.6.24

HelDoRe <[email protected]> Thu, 24 Jul 2008 20:33:35 +0200
Newsgroups gmane.comp.video.mplayer.user.matrox
Message-ID <20080724203335.7e4308b6@heldore>
--MP_/H9=F/JLijcMoVPRLPPAn=Hx
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Very fast patch to make work with new mplayer (time to make: 5 minuts).
I'm working on the next, better version.

--MP_/H9=F/JLijcMoVPRLPPAn=Hx
Content-Type: text/x-patch; name=mga_vid_202.patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=mga_vid_202.patch

diff -ruN mga_vid-2.6.24/mga_vid.c mga_vid-2.6.24-202/mga_vid.c
--- mga_vid-2.6.24/mga_vid.c	2008-02-03 21:30:47.000000000 +0100
+++ mga_vid-2.6.24-202/mga_vid.c	2008-07-24 20:03:11.000000000 +0200
@@ -262,6 +262,7 @@
 	size_t param_buff_len;
 	bes_registers_t regs;
 	uint32_t vid_in_use;
+	uint32_t is_g400;
 	uint32_t card_type;
 	uint32_t vid_src_ready;
 	uint32_t vid_overlay_on;
@@ -285,6 +286,7 @@
 	unsigned char colkey_color[4];
 	unsigned char colkey_mask[4];
 
+	int irq;
 	int next_frame;
 } mga_card_t;
 
@@ -661,6 +663,13 @@
 	mga_card_t *card = (mga_card_t *) file->private_data;
 
 	switch (cmd) {
+		case MGA_VID_GET_VERSION:
+			tmp = MGA_VID_VERSION;
+			if (copy_to_user((uint32_t *) arg, &tmp, sizeof(uint32_t))) {
+				printk(KERN_ERR "mga_vid: failed copy %p to userspace %p\n", &tmp, (uint32_t *) arg);
+				return (-EFAULT);
+			}
+			break;
 	case MGA_VID_CONFIG:
 		if (copy_from_user (&card->config, (mga_vid_config_t *) arg, sizeof(mga_vid_config_t))) {
 			printk(KERN_ERR "mga_vid: failed copy from userspace\n");
diff -ruN mga_vid-2.6.24/mga_vid.h mga_vid-2.6.24-202/mga_vid.h
--- mga_vid-2.6.24/mga_vid.h	2008-07-24 19:10:24.000000000 +0200
+++ mga_vid-2.6.24-202/mga_vid.h	2008-07-24 20:09:54.000000000 +0200
@@ -33,6 +33,7 @@
 uint32_t format;
 uint32_t frame_size;
 uint32_t num_frames;
+uint32_t capabilities;
 } mga_vid_config_t;
 
 /* supported FOURCCs */
@@ -43,12 +44,13 @@
 #define MGA_VID_FORMAT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y')
 
 /* ioctl commands */
-#define MGA_VID_CONFIG    _IOR('J', 1, mga_vid_config_t)
-#define MGA_VID_ON        _IO ('J', 2)
-#define MGA_VID_OFF       _IO ('J', 3)
-#define MGA_VID_FSEL _IOR('J', 4, int)
-#define MGA_VID_GET_LUMA _IOR('J', 5, int)
-#define MGA_VID_SET_LUMA _IOR('J', 6, int)
+#define MGA_VID_GET_VERSION  _IOR ('J', 1, uint32_t)
+#define MGA_VID_CONFIG       _IOWR('J', 2, mga_vid_config_t)
+#define MGA_VID_ON           _IO  ('J', 3)
+#define MGA_VID_OFF          _IO  ('J', 4)
+#define MGA_VID_FSEL         _IOW ('J', 5, uint32_t)
+#define MGA_VID_GET_LUMA     _IOR ('J', 6, uint32_t)
+#define MGA_VID_SET_LUMA     _IOW ('J', 7, uint32_t)
 
 /* card identifiers */
 #define MGA_G200 0x1234

--MP_/H9=F/JLijcMoVPRLPPAn=Hx
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MPlayer-matrox mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/mplayer-matrox
--MP_/H9=F/JLijcMoVPRLPPAn=Hx--