I tested and I finally got something to show you:

$ dmesg
sn9c20x: SN9C20X USB 2.0 Webcam - 0C45:624E plugged-
in.
sn9c20x: Detected SOI968
Sensor.
sn9c20x: Webcam device 0C45:624E is now controlling video device /dev/
video0
input: SN9C20X Webcam as /devices/pci0000:00/0000:00:02.1/usb1/1-4/
input/
input6
sn9c20x: Hue Value:
180
sn9c20x: Hue vsettings.hue:
0
sn9c20x: Hue Value:
180
sn9c20x: Hue vsettings.hue:
0
sn9c20x: Using yuv420 output
format
usbcore: registered new interface driver
sn9c20x
sn9c20x: SN9C20x USB 2.0 Webcam Driver v2009.01
loaded
sn9c20x: Hue Value:
180
sn9c20x: Hue vsettings.hue:
0
sn9c20x: Hue Value:
180
sn9c20x: Hue vsettings.hue:
0
BUG: soft lockup - CPU#0 stuck for 62s! [kondemand/
0:1568]
Modules linked in: sn9c20x fuse it87 hwmon_vid ipv6
nf_conntrack_netbios_ns cpufreq_ondemand powernow_k8 freq_table
dm_multipath uinput ppdev radio_gemtek_pci snd_seq_dummy snd_hda_intel
snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss
snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_hwdep k8temp
radio_maxiradio snd hwmon firewire_ohci compat_ioctl32 firewire_core
videodev fglrx(P) pcspkr crc_itu_t pata_amd forcedeth v4l1_compat
soundcore parport_pc parport i2c_nforce2 i2c_core ata_generic
pata_acpi sata_nv [last unloaded:
scsi_wait_scan]
CPU
0:
Modules linked in: sn9c20x fuse it87 hwmon_vid ipv6
nf_conntrack_netbios_ns cpufreq_ondemand powernow_k8 freq_table
dm_multipath uinput ppdev radio_gemtek_pci snd_seq_dummy snd_hda_intel
snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss
snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_hwdep k8temp
radio_maxiradio snd hwmon firewire_ohci compat_ioctl32 firewire_core
videodev fglrx(P) pcspkr crc_itu_t pata_amd forcedeth v4l1_compat
soundcore parport_pc parport i2c_nforce2 i2c_core ata_generic
pata_acpi sata_nv [last unloaded:
scsi_wait_scan]
Pid: 1568, comm: kondemand/0 Tainted: P
2.6.27.19-170.2.35.fc10.x86_64
#1
RIP: 0010:[<ffffffff8123c5d7>]  [<ffffffff8123c5d7>] usb_hcd_irq
+0xa1/0xb3
RSP: 0018:ffffffff8170ec98  EFLAGS:
00000292
RAX: ffff88003d13b920 RBX: ffffffff8170ecb8 RCX:
00000000000006d0
RDX: 00000000ffffffff RSI: 0000000000000000 RDI:
0000000000000292
RBP: ffffffff8170ec10 R08: ffff88001a9f2800 R09:
ffff8800178666a0
R10: 0000000014c88000 R11: ffff880017867000 R12:
ffffffff81011408
R13: ffffffff8170ec10 R14: 0000000000000001 R15:
ffff88003d13b800
FS:  00007f062e769950(0000) GS:ffffffff81717000(0000) knlGS:
00000000f7f2b710
CS:  0010 DS: 0018 ES: 0018 CR0:
000000008005003b
CR2: 00007f6a96197000 CR3: 000000001b8cc000 CR4:
00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
0000000000000400

Call Trace:
 <IRQ>  [<ffffffff81082b1f>] ? handle_IRQ_event+0x33/0x6f
 [<ffffffff81083f12>] ? handle_fasteoi_irq+0xa5/0xeb
 [<ffffffff810130ce>] ? do_IRQ+0xf7/0x169
 [<ffffffff81010963>] ? ret_from_intr+0x0/0x2e
 [<ffffffff81333b70>] ? _spin_unlock_irqrestore+0x33/0x3e
 [<ffffffff8103a6bf>] ? try_to_wake_up+0x271/0x283
 [<ffffffff81010a37>] ? restore_args+0x0/0x30
 [<ffffffff8104b388>] ? process_timeout+0x0/0xb
 [<ffffffff8103a6fd>] ? wake_up_process+0x10/0x12
 [<ffffffff8104b391>] ? process_timeout+0x9/0xb
 [<ffffffff8104b0c6>] ? run_timer_softirq+0x19c/0x222
 [<ffffffffa004830f>] ? nv_nic_irq_optimized+0xbd/0x277 [forcedeth]
 [<ffffffff81046c82>] ? __do_softirq+0x7e/0x10c
 [<ffffffff81011bfc>] ? call_softirq+0x1c/0x28
 [<ffffffff81012e02>] ? do_softirq+0x4d/0xb0
 [<ffffffff81046857>] ? irq_exit+0x4e/0x9d
 [<ffffffff8101311e>] ? do_IRQ+0x147/0x169
 [<ffffffff81010963>] ? ret_from_intr+0x0/0x2e
 <EOI>  [<ffffffff81016fc3>] ? native_read_tsc+0xc/0x22
 [<ffffffff8116df60>] ? delay_tsc+0x26/0x58
 [<ffffffff8116dff6>] ? __const_udelay+0x47/0x49
 [<ffffffff8116e008>] ? __udelay+0x10/0x12
 [<ffffffffa03f65df>] ? decrease_vid_code_by_step+0x33/0x3b
[powernow_k8]
 [<ffffffffa03f6b61>] ? powernowk8_target+0x47d/0x8b5 [powernow_k8]
 [<ffffffff812857c3>] ? __cpufreq_driver_target+0x64/0x74
 [<ffffffffa03fe751>] ? do_dbs_timer+0x1cb/0x235 [cpufreq_ondemand]
 [<ffffffffa03fe586>] ? do_dbs_timer+0x0/0x235 [cpufreq_ondemand]
 [<ffffffff81051c85>] ? run_workqueue+0xa3/0x146
 [<ffffffff81051e1d>] ? worker_thread+0xf5/0x109
 [<ffffffff8105553d>] ? autoremove_wake_function+0x0/0x38
 [<ffffffff81051d28>] ? worker_thread+0x0/0x109
 [<ffffffff810551f7>] ? kthread+0x49/0x76
 [<ffffffff81011719>] ? child_rip+0xa/0x11
 [<ffffffff81010a37>] ? restore_args+0x0/0x30
 [<ffffffff810551ae>] ? kthread+0x0/0x76
 [<ffffffff8101170f>] ? child_rip+0x0/0x11

hda-intel: IRQ timing workaround is activated for card #0. Suggest a
bigger bdl_pos_adj.
sn9c20x: [E] Empty buffer queue.
sn9c20x: Hue Value: 180
sn9c20x: Hue vsettings.hue: 0
sn9c20x: Hue Value: 180
sn9c20x: Hue vsettings.hue: 0


(So, yes the system still locks up. This time I didn't even attempt to
set saturation. I suspect mplayer is sending ioctl by itself.)

GWater


On 28 Mrz., 07:16, Boris Borisov <[email protected]> wrote:
> 3 times OK from me
>
> Brian Johnson wrote:
> > ah was not aware that some chips didn't like setting spme of the color
> > matrix independently.
>
> > Updated version that adds the 21byte array into the sn9c20x_video
> > struct so we can still sett the whole thing at once.
>
> > 2009/3/27 Boris Borisov <[email protected]>:
>
> >> Freezing on my camera the version of my bridge maybe is lowest. No way for
> >> detection of version of bridge. All parameters (21 parameters from 
> >> 10e1)must
> >> be set at once for prevent of similar problem during iso transfer (I don't
> >> know why perhaps some engine bug). That is the main problem.
> >> On other one more new camera (same model 6270) is working.
> >> I check with 3 different (as producer but same as model) cameras 2 is OK 1
> >> is NOK camera engine is freezing.
>
> >> Brian Johnson wrote:
>
> >> Here is a somewhat updated version of this patch that does
> >> successfully break hue/sat, contrast and brightness up into separate
> >> functions and seems to work fine. Don't know if it will actually help
> >> with the freezing when settings lower satuation that Joshua was
> >> experiencing. It also fixes a few other minor issues like accidentally
> >> undoing a few previous commits, making RX, RY, etc static, and adding
> >> hue as a module param.
>
> >> On Fri, Mar 27, 2009 at 1:50 PM, Brian Johnson <[email protected]> wrote:
>
> >> I didn't look too much at why the global static array is not working,
> >> however you really do not want to use one here because it will cause
> >> problems the first time you try to have the driver handle two
> >> different sn9c20x webcams. It would probably be better to add it to
> >> maybe to the sn9c20x_video struct. Also not sure the array has to be
> >> pre initialized either since given the first time you set
> >> brightness,contrast,etc it will be filled out properly and we will do
> >> this when the camera is initialized.
>
> >> 2009/3/27 Boris Borisov <[email protected]>:
>
> >> I do some investigation of function set_optical_parameters as I transfer
> >> execution of instruction into user space and disassemble the program.
> >> For reference I use cycle execution of i486 worst case (is possible for
> >> some instruction to not get the correct cycles but as estimation is good
> >> start).
> >> Possible optimization:
> >> 1. Define __u8 optical_parameters[21] as global static - I try but
> >> always the values is not save on this global static array - What I do
> >> wrong ??? Pleas for some idea about __u8 optical_parameters[21] (see in
> >> patch what i want to do with this array ) ??? For first time global
> >> initialization of array is not work for me ???
> >> If this array going into global space as static the functions can split
> >> into small parts for Brightness, Contrast, HUE-Saturation
>
> >> 2. Possible optimization of calculation multiplying and dividing I can
> >> replace with logic operation and reanalyze execution time.
>
> >> 3. As total execution calculation of RGB matrix parameters is not get
> >> too much microprocessor time (near to sn9c20x_set_gamma - too many
> >> multiplication and dividing ). Maybe other often call code get this time.
>
> >> diff --git a/sn9c20x-bridge.c b/sn9c20x-bridge.c
> >> index f5d77b8..b4c3212 100644
> >> --- a/sn9c20x-bridge.c
> >> +++ b/sn9c20x-bridge.c
> >> @@ -30,8 +30,312 @@
> >>  #include "sn9c20x.h"
> >>  #include "sn9c20x-bridge.h"
>
> >> +
> >> +
> >> +/**
> >> + * @var RX
> >> + *   Coordinate X aray for eliptic HSV corrections, conditionaly Red pixel
> >> + */
> >> +const int RX[] = {41,  44,  46,  48,  50,  52,  54,  56,
> >> +               58,  60,  62,  64,  66,  68,  70,  72,
> >> +               74,  76,  78,  80,  81,  83,  85,  87,
> >> +               88,  90,  92,  93,  95,  97,  98, 100,
> >> +               101, 102, 104, 105, 107, 108, 109, 110,
> >> +               112, 113, 114, 115, 116, 117, 118, 119,
> >> +               120, 121, 122, 123, 123, 124, 125, 125,
> >> +               126, 127, 127, 128, 128, 129, 129, 129,
> >> +               130, 130, 130, 130, 131, 131, 131, 131,
> >> +               131, 131, 131, 131, 130, 130, 130, 130,
> >> +               129, 129, 129, 128, 128, 127, 127, 126,
> >> +               125, 125, 124, 123, 122, 122, 121, 120,
> >> +               119, 118, 117, 116, 115, 114, 112, 111,
> >> +               110, 109, 107, 106, 105, 103, 102, 101,
> >> +               99,  98,  96,  94,  93,  91,  90,  88,
> >> +               86,  84,  83,  81,  79,  77,  75,  74,
> >> +               72,  70,  68,  66,  64,  62,  60,  58,
> >> +               56,  54,  52,  49,  47,  45,  43,  41,
> >> +               39,  36,  34,  32,  30,  28,  25,  23,
> >> +               21,  19,  16,  14,  12,   9,   7,   5,
> >> +               3,   0,  -1,  -3,  -6,  -8, -10, -12,
> >> +               -15, -17, -19, -22, -24, -26, -28, -30,
> >> +               -33, -35, -37, -39, -41, -44, -46, -48,
> >> +               -50, -52, -54, -56, -58, -60, -62, -64,
> >> +               -66, -68, -70, -72, -74, -76, -78, -80,
> >> +               -81, -83, -85, -87, -88, -90, -92, -93,
> >> +               -95, -97, -98, -100, -101, -102, -104, -105,
> >> +               -107, -108, -109, -110, -112, -113, -114, -115,
> >> +               -116, -117, -118, -119, -120, -121, -122, -123,
> >> +               -123, -124, -125, -125, -126, -127, -127, -128,
> >> +               -128, -128, -128, -128, -128, -128, -128, -128,
> >> +               -128, -128, -128, -128, -128, -128, -128, -128,
> >> +               -128, -128, -128, -128, -128, -128, -128, -128,
> >> +               -128, -127, -127, -126, -125, -125, -124, -123,
> >> +               -122, -122, -121, -120, -119, -118, -117, -116,
> >> +               -115, -114, -112, -111, -110, -109, -107, -106,
> >> +               -105, -103, -102, -101, -99, -98, -96, -94,
> >> +               -93, -91, -90, -88, -86, -84, -83, -81,
> >> +               -79, -77, -75, -74, -72, -70, -68, -66,
> >> +               -64, -62, -60, -58, -56, -54, -52, -49,
> >> +               -47, -45, -43, -41, -39, -36, -34, -32,
> >> +               -30, -28, -25, -23, -21, -19, -16, -14,
> >> +               -12,  -9,  -7,  -5,  -3,   0,   1,   3,
> >> +               6,   8,  10,  12,  15,  17,  19,  22,
> >> +               24,  26,  28,  30,  33,  35,  37,  39, 41};
> >> +
> >> +/**
> >> + * @var RY
> >> + *   Coordinate Y aray for eliptic HSV corrections, conditionaly Red pixel
> >> + */
> >> +const int RY[] = {     82,  80,  78,  76,  74,  73,  71,  69,
> >> +               67,  65,  63,  61,  58,  56,  54,  52,
> >> +               50,  48,  46,  44,  41,  39,  37,  35,
> >> +               32,  30,  28,  26,  23,  21,  19,  16,
> >> +               14,  12,  10,   7,   5,   3,   0,  -1,
> >> +               -3,  -6,  -8, -10, -13, -15, -17, -19,
> >> +               -22, -24, -26, -29, -31, -33, -35, -38,
> >> +               -40, -42, -44, -46, -48, -51, -53, -55,
> >> +               -57, -59, -61, -63, -65, -67, -69, -71,
> >> +               -73, -75, -77, -79, -81, -82, -84, -86,
> >> +               -88, -89, -91, -93, -94, -96, -98, -99,
> >> +               -101, -102, -104, -105, -106, -108, -109, -110,
> >> +               -112, -113, -114, -115, -116, -117, -119, -120,
> >> +               -120, -121, -122, -123, -124, -125, -126, -126,
> >> +               -127, -128, -128, -128, -128, -128, -128, -128,
> >> +               -128, -128, -128, -128, -128, -128, -128, -128,
> >> +               -128, -128, -128, -128, -128, -128, -128, -128,
> >> +               -128, -128, -128, -128, -128, -128, -128, -128,
> >> +               -127, -127, -126, -125, -125, -124, -123, -122,
> >> +               -121, -120, -119, -118, -117, -116, -115, -114,
> >> +               -113, -111, -110, -109, -107, -106, -105, -103,
> >> +               -102, -100, -99, -97, -96, -94, -92, -91,
> >> +               -89, -87, -85, -84, -82, -80, -78, -76,
> >> +               -74, -73, -71, -69, -67, -65, -63, -61,
> >> +               -58, -56, -54, -52, -50, -48, -46, -44,
> >> +               -41, -39, -37, -35, -32, -30, -28, -26,
> >> +               -23, -21, -19, -16, -14, -12, -10,  -7,
> >> +               -5,  -3,   0,   1,   3,   6,   8,  10,
> >> +               13,  15,  17,  19,  22,  24,  26,  29,
> >> +               31,  33,  35,  38,  40,  42,  44,  46,
> >> +               48,  51,  53,  55,  57,  59,  61,  63,
> >> +               65,  67,  69,  71,  73,  75,  77,  79,
> >> +               81,  82,  84,  86,  88,  89,  91,  93,
> >> +               94,  96,  98,  99, 101, 102, 104, 105,
> >> +               106, 108, 109, 110, 112, 113, 114, 115,
> >> +               116, 117, 119, 120, 120, 121, 122, 123,
> >> +               124, 125, 126, 126, 127, 128, 128, 129,
> >> +               129, 130, 130, 131, 131, 131, 131, 132,
> >> +               132, 132, 132, 132, 132, 132, 132, 132,
> >> +               132, 132, 132, 131, 131, 131, 130, 130,
> >> +               130, 129, 129, 128, 127, 127, 126, 125,
> >> +               125, 124, 123, 122, 121, 120, 119, 118,
> >> +               117, 116, 115, 114, 113, 111, 110, 109,
> >> +               107, 106, 105, 103, 102, 100,  99,  97,
> >> +               96,  94,  92,  91,  89,  87,  85,  84,  82};
> >> +
> >> +/**
> >> + * @var GX
> >> + *   Coordinate X aray for eliptic HSV corrections, conditionaly Green
> >> pixel
> >> + */
> >> +const int GX[] = {     -124, -124, -125, -125, -125, -125, -125, -125,
> >> +               -125, -126, -126, -125, -125, -125, -125, -125,
> >> +               -125, -124, -124, -124, -123, -123, -122, -122,
> >> +               -121, -121, -120, -120, -119, -118, -117, -117,
> >> +               -116, -115, -114, -113, -112, -111, -110, -109,
> >> +               -108, -107, -105, -104, -103, -102, -100, -99,
> >> +               -98, -96, -95, -93, -92, -91, -89, -87,
> >> +               -86, -84, -83, -81, -79, -77, -76, -74,
> >> +               -72, -70, -69, -67, -65, -63, -61, -59,
> >> +               -57, -55, -53, -51, -49, -47,
>
> ...
>
> Erfahren Sie mehr »
--~--~---------~--~----~------------~-------~--~----~
Lets make microdia webcams plug'n play, (currently plug'n pray)
To post to this group, send email to [email protected]
Visit us online https://groups.google.com/group/microdia
-~----------~----~----~----~------~----~------~--~---

Reply via email to