Re: Zoran Linux driver 64-bit support

Klaus Stengel <[email protected]> Mon, 23 May 2011 01:23:53 +0200
Newsgroups gmane.comp.video.mjpeg.devel
Message-ID <[email protected]>
--=-t6OeJsYkSATqjvA4dw1r
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Hi Bernhard,

Bernhard Praschinger wrote:
> >> But I have problems getting the driver working. I do not get a
> >> /dev/video0 device. The DC-30 is detected in some way but refuses to
> >> work. I hope that you can give me a hint how to accomplish that.
> Do you need to load any modules manual ?

No. On Debian squeeze I didn't have to load anything manually. It just
works out of the box.

> On my machine there is only the zr36067 loaded an no other modules 
> needed for the cards.

I think this is because the i2c setup is done very early in the
initialization process. If I remember correctly, the other chips on the
board aren't directly connected to the PCI bus, but they can be accessed
via the i2c bus on the zr360xx. The i2c on the card is exposed by
special registers in PCI configuration space that allow the host PC to
send and receive commands on that bus. For some reason the commands put
into to those configuration registers don't seem to do what they're
supposed to do on your machine. The error message you see actually comes
from the i2c_algo_bit module and not from the zoran driver itself.

In some cases the access to that bus is somewhat time critical and the
driver immediately performed a reset before trying to test the i2c bus
access. Maybe the capture card just hadn't enough time to settle, so
that there are unexpected disruptions from the reset procedure while the
i2c_algo_bit module tries to test if the bus functions properly.

You could try to add a short delay immediately after the call to
zr36057_restart in zoran_card.c (around line 1353) by inserting the
following line:

mdelay(1);

Additionally, you should try to get more debug output for both the
i2c_algo_bit and zr36067 modules. You can try to remove both modules and
load them again with modprobe and the parameters i2c_debug=3 for
i2c_algo_bit and debug=5 for zr36067.

> I didn't test it with a 2.6.32 kernel, I can try to do that tomorrow. I 
> did upgrade my system to opensuse 10.4 x64 2-3 months ago. I haven't 
> done any test with a zoran based card since that upgrade.

But you already had the card working on that hardware configuration
before, right?

> I did check with the original 2.6.37 Kernel used by Suse there the zoran 
> card isn't detected, and there is also no /dev/video0 device.

Ok, so at least it's certainly not a problem introduced by my patch.

> I have the same problem with the Buz.
> I have attached the output from dmesg. I hope that it tells you more 
> than it tells me. You can see in the log that the onboard radeon card 
> has also a problem with i2c.
> Could that be the cause of the problem ?
> What I don't understand is that the module i2c_piix4 is loaded. I have 
> also attached the output of lsmod.

The i2c_piix4 seems to be used as a system management bus on your
motherboard, which is something entirely different. Also the i2c bus on
your graphics card is completely separated from the bus on the zoran
chip. The drivers usually share some generic infrastructure for
enumerating available buses and attached devices, but for the zoran
cards the real work is done by the i2c_algo_bit module only.

> >> I don't know of any other tool to record from a zoran based car. A patch
> >> for lavrec would be really great.
> > Ok, I'm currently hacking something together just to make it capture
> > with a mostly fixed set of parameters. Trying to translate the existing
> > lavrec data structures to V4L2 syscalls isn't that easy, because there
> > is no one-to-one correspondence for the whole decimation settings and
> > many parameters for input and norm selection also look quite different.
> Maybe Ronald can give you any hints for that task.

With the attached version of liblavrec I already managed to capture
hardware-encoded MJPEG video, using the V4L2 interface only, on 2.6.38
with my patch and 64-bits. It's still a lot of work, because I had to
disable signal auto-detection as well as the whole software encoding and
it doesn't properly support any decimation.

It seems that there is also a problem with signal detection in the
driver with the V4L2 interface, because it always had the NO SIGNAL flag
set, no matter if the attached source actually produced any output or
not. The color detection seemed to work though, because the bit toggled
sometimes when I used an entirely grey picture for testing.

Regards,
Klaus

--=-t6OeJsYkSATqjvA4dw1r
Content-Type: application/x-bzip; name="liblavrec.c.bz2"
Content-Disposition: attachment; filename="liblavrec.c.bz2"
Content-Transfer-Encoding: base64

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
QYeH+Yu5IpwoSGy9Cn8A


--=-t6OeJsYkSATqjvA4dw1r
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
--=-t6OeJsYkSATqjvA4dw1r
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Mjpeg-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mjpeg-developer

--=-t6OeJsYkSATqjvA4dw1r--