Dne středa 04 říjen 2006 21:39 Mike Daugird napsal(a):
> I saw your post and I do not really understand how you "patched
> ivtv-driver.h" ect..

ok., so - stepwise. Unpack the ivtv-0.7.0 driver:
cd /usr/portage/media-tv/ivtv
ebuild ivtv-0.7.0.ebuil unpack
cd /var/tmp/portage/ivtv-0.7.0/work

and apply the attached patch:

patch -p0 < ivtv-0.7.0.diff

it should be without any error messages.
Then return back:

cd /usr/portage/media-tv/ivtv
ebuild ivtv-0.7.0.ebuild install
ebuild ivtv-0.7.0.ebuild merge

Or, you can do the same with ivtv-0.7.1 (preferred way, even when ivtv-0.7.0 
is not in portage tree yet - you can prepare your own ebuild from 
ivtv-0.7.0.ebuild:
copy the directory /usr/portage/media-tv/ivtv with whole content  
into /usr/local/portage
(suppose PORDIRE_OVERLAY is defined in your /etc/make.conf as this dir)
rename ivtv-0.7.0.ebuild to ivtv-0.7.1.ebuid
create the digest:
cd /usr/local/portage/media-tv/ivtv
ebuild ivtv-0.7.1.ebuild digest
And the rest is the same, i.e. unpacking, patching by the attached 
ivtv-0.7.1.diff, installing and merging.
That is.
Good luck.

btw: my situation was: without the patch applied the boot process went 
smoothly until startup of udev, then it stopped, waited for a while and then 
the error message (something as like as 'error loading firmware') appeared. 
The whole computer was totally frozen - no mouse, no keyboard, no response 
via network. Only reset and power buttons worked... If your PC does something 
similar, this patch(es) might help as well.
After the application of the patch it is so far ok., no lock-ups.
-- 
Jan Taimr
---------------------------------------
The worst computer virus is an end-user
---------------------------------------
diff -uNr ivtv-0.7.0.orig/driver/ivtv-driver.h ivtv-0.7.0/driver/ivtv-driver.h
--- ivtv-0.7.0.orig/driver/ivtv-driver.h	2006-06-24 23:50:32.000000000 +0200
+++ ivtv-0.7.0/driver/ivtv-driver.h	2006-10-04 22:17:01.000000000 +0200
@@ -464,7 +464,8 @@
 #define IVTV_CMD_SPU_STOP 0x00000001
 #define IVTV_CMD_SDRAM_PRECHARGE_INIT 0x0000001A
 #define IVTV_CMD_SDRAM_REFRESH_INIT 0x80000640
-#define IVTV_SDRAM_SLEEPTIME (60 * HZ / 100)	/* 600ms */
+//#define IVTV_SDRAM_SLEEPTIME (60 * HZ / 100)	/* 600ms */
+#define IVTV_SDRAM_SLEEPTIME HZ
 
 /*Used for locating the firmware mailboxes*/
 #define IVTV_DECODE_INIT_MPEG_FILENAME "v4l-cx2341x-init.mpg"
diff -uNr ivtv-0.7.0.orig/driver/ivtv-firmware.c ivtv-0.7.0/driver/ivtv-firmware.c
--- ivtv-0.7.0.orig/driver/ivtv-firmware.c	2006-06-09 21:44:31.000000000 +0200
+++ ivtv-0.7.0/driver/ivtv-firmware.c	2006-10-04 22:17:18.000000000 +0200
@@ -103,6 +103,9 @@
 		}
 		release_firmware(fw);
 		IVTV_INFO("loaded %s firmware (%d bytes)\n", fn, retval);
+		// This firmware loading is racy, try waiting to let things settle
+		IVTV_DEBUG_INFO("Sleeping for 100 ms\n");
+		ivtv_sleep_timeout( HZ / 10, 0);
 	} else {
 		IVTV_INFO("unable to open firmware %s\n", fn);
 		IVTV_INFO("did you put the firmware in the hotplug firmware directory?\n");
diff -uNr ivtv-0.7.1.orig/driver/ivtv-driver.h ivtv-0.7.1/driver/ivtv-driver.h
--- ivtv-0.7.1.orig/driver/ivtv-driver.h	2006-06-24 23:50:32.000000000 +0200
+++ ivtv-0.7.1/driver/ivtv-driver.h	2006-10-04 22:17:01.000000000 +0200
@@ -464,7 +464,8 @@
 #define IVTV_CMD_SPU_STOP 0x00000001
 #define IVTV_CMD_SDRAM_PRECHARGE_INIT 0x0000001A
 #define IVTV_CMD_SDRAM_REFRESH_INIT 0x80000640
-#define IVTV_SDRAM_SLEEPTIME (60 * HZ / 100)	/* 600ms */
+//#define IVTV_SDRAM_SLEEPTIME (60 * HZ / 100)	/* 600ms */
+#define IVTV_SDRAM_SLEEPTIME HZ
 
 /*Used for locating the firmware mailboxes*/
 #define IVTV_DECODE_INIT_MPEG_FILENAME "v4l-cx2341x-init.mpg"
diff -uNr ivtv-0.7.1.orig/driver/ivtv-firmware.c ivtv-0.7.1/driver/ivtv-firmware.c
--- ivtv-0.7.1.orig/driver/ivtv-firmware.c	2006-06-09 21:44:31.000000000 +0200
+++ ivtv-0.7.1/driver/ivtv-firmware.c	2006-10-04 22:17:18.000000000 +0200
@@ -103,6 +103,9 @@
 		}
 		release_firmware(fw);
 		IVTV_INFO("loaded %s firmware (%d bytes)\n", fn, retval);
+		// This firmware loading is racy, try waiting to let things settle
+		IVTV_DEBUG_INFO("Sleeping for 100 ms\n");
+		ivtv_sleep_timeout( HZ / 10, 0);
 	} else {
 		IVTV_INFO("unable to open firmware %s\n", fn);
 		IVTV_INFO("did you put the firmware in the hotplug firmware directory?\n");
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to