Hi David,

On Sun, 31 Jul 2005, David Robinson wrote:
> > On Sun, 31 Jul 2005, David Robinson wrote:
> > > Do 'lspci' and see if you get one of the following two responses:
> > > 0000:00:0b.0 Multimedia video controller: Zoran Corporation ZR36057PQC
> > > Video cutting chipset (rev 02)
> > [..]
> > > 0000:00:0a.0 Multimedia video controller: Zoran Corporation ZR36057PQC
> > > Video cutting chipset (rev 01)
[..]
> To avoid repeating what I have done so far, can I point you to a
> discussion I started on this mailing list on 2005-02-20 entitled
> "Pinnacle Miro DC30 vs Linux 2.6"?

OK, I've unfortunately missed your reply there to my original question
(which I indeed would've re-asked here without even noticing). For good
faith, I'd just like to point out here that I *do* get a lot of email and
I *am* very busy maintaining GNOME nowadays, so it's normal that I
sometimes lose track of email. It is perfectly OK for you to re-send such
emails a couple of times. I'm sorry in advance that I lose emails, but it
just happens. We'd better just make the best of it.

OK, back to your email back then. What we do in that piece of code is to
test whether read/write pairs give us the expected values back. Basically
we do a "grass is green; what color is grass?" test, and we obviously
expect green. However, instead of the written values 0x0000, we get 0xff
and 0xff. Since the return type is a u8, this most likely is actually -1,
which is a usual error code indicator. So something went wrong.

So how can you help debug this? Obviously, it's not something expected, or
we'd have actually useful debug messages in there. The problem is that
zr36050_read() in zoran_card.c (this is the master bus proxy function for
codec functionality) returns -1, so most likely post_office_wait() or
post_office_write() failed. You'll find those functions in zoran_device.c.
post_office_write/read() also use post_office_write(), which is the only
place where I can see things go really wrong. Howeverm as you see, this
code is not actually evaluated in the LML33 or Buz, because the timeout
condition there actually *really happens* although nothing is wrong. This
may, without us knowing so far, also be happening for you. Setting
gws_not_connected() may solve it for you (but this may also hang your
computer, so beware, don't do this while you're finalizing your master's
thesis. ;).)

Good, so how to do that? In zoran_card.c, find the zoran_cards[NUM_CARDS]
structure, and set gws_not_connected to 1 for the first card (DC10old;
this is your card, you may have a card sold as a DC30 by marketeers, but
technically, it's a DC10old). Now recompile and load (with card=0) and see
if it fixes it. If it doesn't, please add some random debug printk()
statements in the post_office_*() functions in zoran_device.c, so that I
know which function is failing in zr36050_read() and why. so this will
take some minor effort from you, but when done correctly, I may be able to
help you solve it.

Hope this helps,

Ronald


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mjpeg-users mailing list
Mjpeg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to