saa716x driver for DNTV Live! Dual Hybrid PCI-Express S3

2009-03-01 Thread Damien Whyte
Hello,

  I recently purchased a pair of DNTV Live! Dual Hybrid PCI-Express S3
cards (see http://www.digitalnow.com.au/product_pages/DNTVDualS3.html)
without properly checking that they were supported under Linux. Silly
me.

I see that Manu Abraham is currently working on a saa716x driver, so I
have begun trying to get the driver working with my cards. I
understand that this is still a work in progress so if I am too
premature please tell me to rack off.

However if I can be any help testing the driver (or whatever) I would
like to contribute.

Currently I have managed to load the saa716x_hybrid module - although
I'm not seeing any relevant traces in the kernel logs. Also no adapter
devices are being created.

Anyway thanks for the saa716x driver and v4l/dvb in general.

regards,
Damien.

P.S results of lsmod and lspci.

abraxas tmp # lsmod
Module  Size  Used by
saa716x_hybrid 10824  0
saa716x_core   59508  1 saa716x_hybrid
dvb_core   87916  2 saa716x_hybrid,saa716x_core
tda1004x   15748  1 saa716x_hybrid
nvidia   7800392  26

abraxas tmp # lspci -s 07:00.0 -vvxxx
07:00.0 Multimedia controller: Philips Semiconductors Device 7162 (rev 01)
Subsystem: KWorld Computer Co. Ltd. Device 7523
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort-
TAbort- MAbort- SERR- PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 5
Region 0: Memory at fbd0 (64-bit, non-prefetchable) [size=1M]
Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+
Count=1/32 Enable-
Address:   Data: 
Capabilities: [50] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s 256ns, 
L1 1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- 
Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- 
TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency 
L0
4us, L1 64us
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- 
DLActive-
BWMgmt- ABWMgmt-
Capabilities: [74] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [80] Vendor Specific Information ?
Capabilities: [100] Vendor Specific Information ?
00: 31 11 62 71 07 01 10 00 01 00 80 04 10 00 00 00
10: 04 00 d0 fb 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 de 17 23 75
30: 00 00 00 00 40 00 00 00 00 00 00 00 05 01 00 00
40: 05 50 8a 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 10 74 01 00 80 00 28 00 10 00 0a 00 11 6c 03 01
60: 08 00 11 00 00 0a 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 01 80 02 3e 00 00 00 00 00 00 00 00
80: 09 00 50 00 03 0c 00 00 02 02 00 00 00 00 00 00
90: 00 07 00 00 00 00 00 08 00 00 10 00 00 00 00 00
a0: 01 00 00 04 03 00 00 00 00 00 01 07 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 20 01 2a 00 00
c0: 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] [PATCH] New frequency table for Cadiz (Andalusia, Spain)

2009-03-01 Thread Christoph Pfister
2009/2/20  xiter...@gmail.com:
 # HG changeset patch
 # User ter...@xiterrex.net
 # Date 1235153250 -3600
 # Node ID 078bd274de0d26a92ccff6c7da050edbc299f0b7
 # Parent  f83a2a650df2bcf2ce659012f011ee5dcd7b1d74
 New frequency table for Cadiz (Andalusia, Spain)

Thanks, added :)

Christoph
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-zoran

2009-03-01 Thread Jean Delvare
Hi Trent,

On Sun, 1 Mar 2009 06:38:03 -0800 (PST), Trent Piepho wrote:
 On Sun, 22 Feb 2009, Hans Verkuil wrote:
  Please pull from http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-zoran for the
  following:
 
 I have some questions about your changes.
 (...)
  - zoran: remove broken BIGPHYS_AREA and BUZ_HIMEM code, and allow for
  kmallocs  128 kB
 
 It looks like the last time the bigphys_area patch was updated was to
 2.6.11 so there probably isn't much point is supporting that anymore.  But
 is the highmem code broken?  Trying to allocate multiple megabyte buffers
 on systems without gigabytes of memory doesn't work very well.  You get
 nice things like this in your kernel log:
 
 tvtime: page allocation failure. order:8, mode:0x40d0
  [b0138243] __alloc_pages+0x29b/0x2aa
  [b014a371] __slab_alloc+0x192/0x343

This can be fixed with the following patch:

Subject: zoran: Don't frighten users with failed buffer allocation

kmalloc() can fail for large video buffers. By default the kernel
complains loudly about allocation failures, but we don't want to
frighten the user, so ask kmalloc() to keep quiet on such failures.

Signed-off-by: Jean Delvare kh...@linux-fr.org
---
 linux/drivers/media/video/zoran/zoran_driver.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- v4l-dvb-zoran.orig/linux/drivers/media/video/zoran/zoran_driver.c   
2009-02-23 09:48:49.0 +0100
+++ v4l-dvb-zoran/linux/drivers/media/video/zoran/zoran_driver.c
2009-02-23 12:51:21.0 +0100
@@ -212,7 +212,8 @@ v4l_fbuffer_alloc (struct file *file)
ZR_DEVNAME(zr), i);
 
//udelay(20);
-   mem = kmalloc(fh-v4l_buffers.buffer_size, GFP_KERNEL);
+   mem = kmalloc(fh-v4l_buffers.buffer_size,
+ GFP_KERNEL | __GFP_NOWARN);
if (!mem) {
dprintk(1,
KERN_ERR

Some other v4l drivers do that already. Of course the allocation still
fails. But I doubt that restoring the highmem code is the right fix. For
one thing, it didn't work for me when I tried it. Did it ever work for
you? For another, I remember the big fat warning next to that piece of
code, which said that if any other piece of kernel code tried to do the
same, everything would break into pieces.

So, if the allocation failures are really an issue for anyone out there,
I'd rather have the zr36067 driver (optionally) pre-allocate buffers so
that it stands are greater chance to get them. This should be fairly
easy to implement, and safe too.

I am curious if the allocation problem really bothers anyone though. I
suspect that users that have a Zoran adapter on low-memory machines use
the MJPEG interface (lavrec/lavplay) and not the V4L2 interface.

  - zoran: use slider flag with volume etc. controls.
 
 Volume control?  zoran has no audio.
 
  - zoran: fix field typo.
 
 Why not merge this patch into the patch that created the typo?  It only
 takes seconds if you use the features of modern SCMs.
 
  - zoran: set bytesperline to 0 when using MJPEG.
 
 Why not merge this patch into the one that created the bug?

While I tend to agree with you, I fear it is too late in this case, as
Mauro as already pulled Hans' changes.

-- 
Jean Delvare
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-zoran

2009-03-01 Thread Trent Piepho
On Sun, 22 Feb 2009, Hans Verkuil wrote:
 Also the v4l1 ioctls have been removed and instead zoran relies on the v4l1
 compat layer.

I tried testing v4l1 with mplayer and it doesn't seem to work correctly.

[pid 29030] ioctl(3, VIDIOCSYNC, 0x884d790) = -1 EBUSY (Device or resource busy)
[pid 29030] gettimeofday({1235920259, 869629}, NULL) = 0
[pid 29030] ioctl(3, VIDIOCMCAPTURE, 0x884d790) = -1 EBUSY (Device or resource 
busy)
[pid 29030] write(2, \nioctl mcapture failed: Device o..., 48

VIDIOCSYNC and VIDIOCMCAPTURE always return EBUSY.  Though, it does appear
that mplayer and the driver actually do work and capture video.

It looks like this is because v4l1-compat calls VIDIOC_STREAMON for each
call to VIDIOCMCAPTURE or VIDIOCSYNC.  The zoran driver returns EBUSY if
you try to do that while streaming is already on.

Maybe the zoran driver should detect stream on from a file handle that
already has streaming on as a no-op?  Or maybe v4l1-compat should ignore
EBUSY errors from VIDIOC_STREAMON in those compat functions?

Fixing this in correctly in v4l1-compat is hard because that module doesn't
have any device state so it can't keep track if it needs to call
VIDIOC_STREAMON or not.  Lots of v4l1 apps expect that the driver will
start streaming automatically when they call VIDIOCMCAPTURE.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Topro 6800 driver

2009-03-01 Thread Thomas Champagne
Hi Anders and others,

I have already tried to create a module for my webcam (Topro TP6800).
It have the same usb id (06a2:0003).
But I have the same problem as you about the image data. I don't know
what is the comment tag (FF:FE). I tried to skip the tag or to skip
the comment with the length after this tag but the image is never
good. I don't know where start the image. If you want an example of
the bad result you can download this image :
http://lafeuil.free.fr/webcam/images/1.jpg
So, I am also in the dark.

If you want to take a look to my code, you can download this file :
http://lafeuil.free.fr/webcam/tp6800.c

If somebody have an idea how can I transform the data, Tell me !

Good luck
Thomas Champagne

2009/2/28 Anders Blomdell anders.blomd...@control.lth.se:
 Jean-Francois Moine wrote:

 On Fri, 27 Feb 2009 23:15:54 +0100
 Anders Blomdell anders.blomd...@control.lth.se wrote:

 Hi,

 I'm trying to write a driver for a webcam based on Topro TP6801/CX0342
 (06a2:0003). My first attempt (needs gspca) can be found on:

 http://www.control.lth.se/user/andersb/tp6800.c

 Unfortunately the JPEG images (one example dump is in
 http://www.control.lth.se/user/andersb/topro_img_dump.txt), seems to
 be bogus, they start with (data is very similar to windows data):

 : 0xff,0xd8,0xff,0xfe,0x28,0x3c,0x01,0xe8,...
 ...
 c340: ...,0xf4,0xc0,0xff,0xd9

 Anybody who has a good idea of how to find a DQT/Huffman table that
 works with this image data?

 Hi Anders,

 Thomas Champagne (See To:) was also writing a driver for this webcam.
 Maybe you may merge your codes...

 Thomas, if you have DQT/Huffman tables for this camera, please drop me a
 note.


 About the JPEG images, the Huffman table is always the same

 Does this mean that it's the same for all JPEG images or only for one
 camera?

 If it's the same for all images, it should mean that I have a way to
 determine how much I have to chop off after the 0xfffe tag (no illegal
 huffman codes - possibly chop at the correct position).

 Comments anyone?


 and the

 quantization tables depend on the compression quality.

 From the USB trace I had from Thomas, I saw that:

 - when a packet starts with '55 ff d8', it is the first part of the
  image. This one should start at the offset 8 of the packet.

 - when a packet starts with 'cc', it is the next part of the image.

 This is even in the docs, and is implemented in the driver.

 In the function pkt_scan, when finding the image start, you must add
 the JPEG header: 'ff d8', DQT, huffman table, SOF0 and SOS.

 OK, will see if I can find the DQT (and possibly the Huffman table) in the
 windows driver (as suggested by Thomas Kaiser).

 As we don't know the quality used by the webcam, in my test repository,
 I added a control for that: the JPEG header is created at streamon
 time, and the quantization tables may be modified by the control on the
 fly (have a look at stk014.c for an example).

 This solution is not the right one: the JPEG quality must be set by the
 VIDIOC_S_JPEGCOMP ioctl instead of VIDIOC_S_CTRL. I think I will update
 the concerned subdrivers next week.

 I'll look into that monday.

 BTW, don't use the video4linux-l...@redhat.com mailing-list anymore: all
 the video discussions are now done in linux-me...@vger.kernel.org.

 OK, so Google hit http://www.linuxtv.org/v4lwiki/index.php/Main_Page is no
 hit then...


 Thanks

 Anders Blomdell

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PULL] http://linuxtv.org/hg/~mkrufky/mxl5007t

2009-03-01 Thread Michael Krufky
Mauro,

Please pull from:

http://linuxtv.org/hg/~mkrufky/mxl5007t

for the following:

- mxl5007t: remove analog tuning code
- mxl5007t: remove function mxl5007t_check_rf_input_power
- mxl5007t: mxl5007t_get_status should report if tuner is locked
- mxl5007t: warn when unknown revisions are detected
- mxl5007t: fix devname for hybrid_tuner_request_state
- mxl5007t: update driver for MxL 5007T V4

 mxl5007t.c |  445 +
 1 file changed, 146 insertions(+), 299 deletions(-)

Cheers,

Mike
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-zoran

2009-03-01 Thread Hans Verkuil
On Sunday 01 March 2009 15:38:03 Trent Piepho wrote:
 On Sun, 22 Feb 2009, Hans Verkuil wrote:
  Please pull from http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-zoran for
  the following:

 I have some questions about your changes.

  - zoran: convert to video_ioctl2 and remove 'ready_to_be_freed' hack.

 It looks like this patch deleted the code relating to this comment:

  * We don't free the buffers right on munmap() because that
  * causes oopses (kfree() inside munmap() oopses for no
  * apparent reason - it's also not reproduceable in any way,
  * but moving the free code outside the munmap() handler fixes
  * all this... If someone knows why, please explain me (Ronald)

 Do you have an explanation of why it's safe to do this?  There's nothing
 in the patch description (there is no patch description) about it.

I should have expanded on that. There were several reasons for doing this:

1) the hack itself wouldn't work anymore if you convert to video_ioctl2 
since there is no easy entrypoint for all the ioctls. It's not the reason 
for removing it, but it is what brought it to my attention.

2) it's a really ancient hack and I'm convinced whatever bug caused this has 
long since been fixed.

3) if there still is a bug, then this code isn't the way to do it, you need 
to fix the real bug.

Rather than do difficult things to keep a highly questionable patch alive I 
removed it in its entirely. Should it crop up, then I'll fix it the right 
way. This driver is full of cruft and stuff like this only makes it hard to 
maintain. Note that in all the testing that this driver got it hasn't been 
seen at all.

  - zoran: remove broken BIGPHYS_AREA and BUZ_HIMEM code, and allow for
  kmallocs  128 kB

 It looks like the last time the bigphys_area patch was updated was to
 2.6.11 so there probably isn't much point is supporting that anymore. 
 But is the highmem code broken?  Trying to allocate multiple megabyte
 buffers on systems without gigabytes of memory doesn't work very well. 
 You get nice things like this in your kernel log:

 tvtime: page allocation failure. order:8, mode:0x40d0
  [b0138243] __alloc_pages+0x29b/0x2aa
  [b014a371] __slab_alloc+0x192/0x343

See Jean's answer. I couldn't get highmem to work either, although I admit 
that I didn't spend much time on it.

  - zoran: use slider flag with volume etc. controls.

 Volume control?  zoran has no audio.

My mistake. I meant brightness, contrast, etc.

  - zoran: fix field typo.

 Why not merge this patch into the patch that created the typo?  It only
 takes seconds if you use the features of modern SCMs.

A typo in the zoran driver before I started work on it, not a typo in one of 
my patches.

  - zoran: set bytesperline to 0 when using MJPEG.

 Why not merge this patch into the one that created the bug?

Also a bug in the zoran driver before I started to work on it.

  - zoran: fix G_FMT

 You sure about that?  Each jpeg buffer only has one field.

It brings it in line with the behavior of S_FMT and TRY_FMT. Whether those 
are correct is questionable, but with this fix in I at least get back the 
same format with G_FMT as I set with S_FMT. Before I would get back half 
the height.

  - zoran: if reqbufs is called with count == 0, do a streamoff.

 Did you mean to change the debug level of those printks?  It's not in
 your patch description.

Yes, that was intentional. These messages are fine at higher debug levels, 
but I don't want to see them during normal operation.

  - zoran: TRY_FMT and S_FMT now do the same parameter checks.

 Is this is mistake that was left off of a previous patch?  No patch
 description so I'm not sure.

No, this is a real fix for pre-existing zoran driver bugs.

  - bt819: convert to v4l2_subdev.
  - bt819: that delay include is needed after all.

 Can these two not be folded?

Yes.

  - zoran: convert to v4l2_device/v4l2_subdev.

 +static const unsigned short adv717x_addrs[] = { 0x6a, 0x6b, 0x2a, 0x2b,
 I2C_CLIENT_END };

 adv7171/5 are at 0x2a and 0x2b, while adv7170 is at 0x6a and 0x6b.

Is this from the datasheets? The drivers say that adv7170/5 are at 0x6a/6b, 
while adv7171/6 are at 0x2a/b. In other words, they both use the same four 
addresses. I didn't check the datasheets, though.

  - zoran: increase bufsize to a value suitable for 768x576.

 How about folding this into the first patch that changed v4l_bufsize to
 810?

A bit too late :-(

  This is a huge patch series that brings the zoran driver completely up
  to date with the latest v4l2 framework. In particular it converts it to
  use video_ioctl2, the communication with the i2c modules is converted
  to from v4l1 to v4l2 and that made the conversion to
  v4l2_device/v4l2_subdev possible.
 
  As a result of this the saa7111.c and saa7114.c drivers are removed and
  instead the saa7115.c driver is used which can handle these older
  saa711x devices as well.

 Any figures for driver size before and after?

Which driver? saa7115 is of course unchanged, but 

[PULL] http://linuxtv.org/hg/~mkrufky/sms1xxx

2009-03-01 Thread Michael Krufky
Mauro,

Please pull from:

http://linuxtv.org/hg/~mkrufky/sms1xxx

for the following:

- smsusb: whitespace cleanups
- smscore: whitespace cleanups
- smsusb: add autodetection for nice and venice boards

 sms-cards.c  |8 +
 sms-cards.h  |2
 smscoreapi.c |  138 --
 smscoreapi.h |  289 +++
 smsusb.c |   47 +++---
 5 files changed, 242 insertions(+), 242 deletions(-)

Cheers,

Mike
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


WinTV HVR-1800 analog Satus

2009-03-01 Thread Dustin Coates
Any update on the status of analouge for this card? I really would  
like to switch back to Linux as my mce solution, but last time I did,  
the analouge was terrible, and I was getting no answers on the list...


Thanks,
Dustin Coates

Sent from my iPhone

On Mar 1, 2009, at 10:36 AM, David Woitkowski ja...@campus.upb.de  
wrote:



Hi out there

I'm in the unfortunate position of having bought a 900H instead of a  
900

and now I'm fiddling with the driver.

Details:
$ lsusb | grep Hauppauge
Bus 008 Device 004: ID 2040:6600 Hauppauge

My machine is running Ubuntu 8.10 with a 2.6.27-11-generic kernel. The
correct kernel-headers are installed.

As far as I've read there is (limited) support for the device with the
tm6010 driver. Putting together some info from the web I did the  
following:


$ hg clone http://linuxtv.org/hg/v4l-dvb
$ cd v4l-dvb
$ hg pull -u http://linuxtv.org/hg/~mchehab/tm6010

Inserted into v4l-dvb/v4l/.config three lines:
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_DVB=m

$ hg merge
$ make

and as root:
# make install

This far everything worked without error.

Then I got the Firmware the card was requesting in the dmesg-output  
from
http://steventoth.net/linux/hvr1400/xc3028L-v36.fw and copied it to / 
lib

/firmware

Since there is no Module tm6000 I did
# modprobe -v tm6000
insmod
/lib/modules/2.6.27-11-generic/kernel/drivers/media/video/videobuf- 
core.ko

insmod
/lib/modules/2.6.27-11-generic/kernel/drivers/media/video/videobuf- 
vmalloc.ko


insmod /lib/modules/2.6.27-11-generic/kernel/drivers/i2c/i2c-core.ko
insmod
/lib/modules/2.6.27-11-generic/kernel/drivers/media/video/tm6000/ 
tm6000.ko


$ dmesg
[  187.646908] tm6000 v4l2 driver version 0.0.1 loaded
[  187.647898] usbcore: registered new interface driver tm6000

(tail /var/log/messages gives the same info)

Now - as I hope the module is loaded correctly - I attacht the USB- 
Device:


$ dmesg
[  373.881042] usb 8-1: new high speed USB device using ehci_hcd and
address 3
[  374.019648] usb 8-1: configuration #1 chosen from 1 choice
[  374.023090] tm6000: alt 0, interface 0, class 255
[  374.023102] tm6000: alt 0, interface 0, class 255
[  374.023107] tm6000: Bulk IN endpoint: 0x82 (max size=512 bytes)
[  374.023111] tm6000: alt 0, interface 0, class 255
[  374.023116] tm6000: alt 1, interface 0, class 255
[  374.023120] tm6000: ISOC IN endpoint: 0x81 (max size=3072 bytes)
[  374.023125] tm6000: alt 1, interface 0, class 255
[  374.023129] tm6000: alt 1, interface 0, class 255
[  374.023133] tm6000: alt 2, interface 0, class 255
[  374.023137] tm6000: alt 2, interface 0, class 255
[  374.023141] tm6000: alt 2, interface 0, class 255
[  374.023145] tm6000: alt 3, interface 0, class 255
[  374.023149] tm6000: alt 3, interface 0, class 255
[  374.023153] tm6000: alt 3, interface 0, class 255
[  374.023158] tm6000: New video device @ 480 Mbps (2040:6600, ifnum  
0)

[  374.023162] tm6000: Found Hauppauge HVR-900H
[  374.884058] Error -32 while retrieving board version
[  375.184050] tm6000 #0: i2c eeprom 00: 01 59 54 45 12 01 00 02 00 00
00 40 40 20 00 66  .YTE...@@ .f
[  375.380112] tm6000 #0: i2c eeprom 10: 69 00 10 20 40 01 02 03 48 00
79 00 62 00 72 00  i.. @...H.y.b.r.
[  375.572058] tm6000 #0: i2c eeprom 20: ff 00 64 ff ff ff ff ff ff ff
ff ff ff ff ff ff  ..d.
[  375.764038] tm6000 #0: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  375.956103] tm6000 #0: i2c eeprom 40: 10 03 48 00 56 00 52 00 39 00
30 00 30 00 48 00  ..H.V.R.9.0.0.H.
[  376.148062] tm6000 #0: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  376.344055] tm6000 #0: i2c eeprom 60: 30 ff ff ff 0f ff ff ff ff ff
0a 03 32 00 2e 00  0...2...
[  376.536039] tm6000 #0: i2c eeprom 70: 3f 00 ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  ?...
[  376.728041] tm6000 #0: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  376.920041] tm6000 #0: i2c eeprom 90: 35 ff ff ff 16 03 34 00 30 00
33 00 32 00 31 00  5.4.0.3.2.1.
[  377.112039] tm6000 #0: i2c eeprom a0: 33 00 35 00 33 00 39 00 39 00
00 00 00 00 ff ff  3.5.3.9.9...
[  377.308054] tm6000 #0: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  377.500046] tm6000 #0: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  377.692053] tm6000 #0: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  377.885037] tm6000 #0: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  378.076042] tm6000 #0: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff  
[  378.260374]   
[  378.260531] Trident TVMaster TM5600/TM6000 USB2 board (Load  
status: 0)

[  378.320709] Hack: enabling device at addr 0xc2
[  378.320722] tuner' 0-0061: chip found @ 0xc2 (tm6000 #0)
[  378.362555] xc2028 0-0061: creating 

[PATCH] libv4lconvert support for SQ905C decompression

2009-03-01 Thread kilgota

Hans,

Below is a patch for libv4lconvert, to support the decompression used by 
the SQ905C cameras (0x2770:0x905C) and some other related cameras. There 
is at the moment no support module for these cameras in streaming mode, 
but I intend to submit one.


This contribution was created in whole by me, based upon code in 
libgphoto2 which was created in whole by me, and which was licensed for

libgphoto2 under the LGPL license.

Signed-off-by: Theodore Kilgore kilg...@auburn.edu

The content of the file sq905c.patch follows 
---

diff -uprN libv4lconvert-old/Makefile libv4lconvert-new/Makefile
--- libv4lconvert-old/Makefile  2009-03-01 15:37:38.0 -0600
+++ libv4lconvert-new/Makefile  2009-03-01 14:19:14.0 -0600
@@ -12,7 +12,7 @@ endif

 CONVERT_OBJS  = libv4lconvert.o tinyjpeg.o sn9c10x.o sn9c20x.o pac207.o \
mr97310a.o flip.o crop.o jidctflt.o spca561-decompress.o \
-   rgbyuv.o spca501.o bayer.o
+   rgbyuv.o spca501.o sq905c.o bayer.o
 TARGETS   = $(CONVERT_LIB) libv4lconvert.pc
 INCLUDES  = ../include/libv4lconvert.h

diff -uprN libv4lconvert-old/libv4lconvert-priv.h 
libv4lconvert-new/libv4lconvert-priv.h
--- libv4lconvert-old/libv4lconvert-priv.h  2009-03-01 15:37:38.0 
-0600
+++ libv4lconvert-new/libv4lconvert-priv.h  2009-03-01 17:12:02.0 
-0600
@@ -47,6 +47,10 @@
 #define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M','3','1','0')
 #endif

+#ifndef V4L2_PIX_FMT_SQ905C
+#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9','0','5','C')
+#endif
+
 #ifndef V4L2_PIX_FMT_PJPG
 #define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G')
 #endif
@@ -180,6 +184,9 @@ void v4lconvert_decode_pac207(const unsi
 void v4lconvert_decode_mr97310a(const unsigned char *src, unsigned char *dst,
   int width, int height);

+void v4lconvert_decode_sq905c(const unsigned char *src, unsigned char *dst,
+  int width, int height);
+
 void v4lconvert_bayer_to_rgb24(const unsigned char *bayer,
   unsigned char *rgb, int width, int height, unsigned int pixfmt);

diff -uprN libv4lconvert-old/libv4lconvert.c libv4lconvert-new/libv4lconvert.c
--- libv4lconvert-old/libv4lconvert.c   2009-03-01 15:37:38.0 -0600
+++ libv4lconvert-new/libv4lconvert.c   2009-03-01 17:13:42.0 -0600
@@ -61,6 +61,7 @@ static const struct v4lconvert_pixfmt su
   { V4L2_PIX_FMT_SN9C10X,  V4LCONVERT_COMPRESSED },
   { V4L2_PIX_FMT_PAC207,   V4LCONVERT_COMPRESSED },
   { V4L2_PIX_FMT_MR97310A, V4LCONVERT_COMPRESSED },
+  { V4L2_PIX_FMT_SQ905C,   V4LCONVERT_COMPRESSED },
   { V4L2_PIX_FMT_PJPG, V4LCONVERT_COMPRESSED },
 };

@@ -608,6 +609,7 @@ static int v4lconvert_convert_pixfmt(str
 case V4L2_PIX_FMT_SN9C10X:
 case V4L2_PIX_FMT_PAC207:
 case V4L2_PIX_FMT_MR97310A:
+case V4L2_PIX_FMT_SQ905C:
 {
   unsigned char *tmpbuf;

@@ -633,6 +635,10 @@ static int v4lconvert_convert_pixfmt(str
  v4lconvert_decode_mr97310a(src, tmpbuf, width, height);
  src_pix_fmt = V4L2_PIX_FMT_SBGGR8;
  break;
+   case V4L2_PIX_FMT_SQ905C:
+ v4lconvert_decode_sq905c(src, tmpbuf, width, height);
+ src_pix_fmt = V4L2_PIX_FMT_SRGGB8;
+ break;
   }
   src = tmpbuf;
   /* Deliberate fall through to raw bayer fmt code! */
diff -uprN libv4lconvert-old/sq905c.c libv4lconvert-new/sq905c.c
--- libv4lconvert-old/sq905c.c  1969-12-31 18:00:00.0 -0600
+++ libv4lconvert-new/sq905c.c  2009-03-01 17:08:12.0 -0600
@@ -0,0 +1,222 @@
+/*
+ * sq905c.c
+ *
+ * Here is the decompression function for the SQ905C cameras. The functions
+ * used are adapted from the libgphoto2 functions for the same cameras, 
+ * which was 
+ * Copyright (c) 2005 and 2007 Theodore Kilgore kilg...@auburn.edu
+ * This version for libv4lconvert is 
+ * Copyright (c) 2009 Theodore Kilgore kilg...@auburn.edu

+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */ 
+

+#include stdlib.h
+
+#include libv4lconvert-priv.h
+
+
+#define CLIP(x) ((x)0?0:((x)0xff)?0xff:(x))
+
+
+static int
+sq905c_first_decompress (unsigned char *output, unsigned char *input,
+   unsigned int outputsize)
+{
+   unsigned char parity = 0;
+   

[OMAPZOOM][PATCH] CAM: Make omap3 camera interface driver more generic for external camera devices.

2009-03-01 Thread DongSoo(Nathaniel) Kim
Hello.

 Since I was working on omap3 and external ISP device, I found some
hard coded thing in camera interface codes which make dependency on
sensor or ISP device. With that code, we cannot make omap3 camera
interface driver generic for every target board.
It makes dependency on camera device mounted on target board, and
therefore we need to modify omap3 camera interface driver when we do
our porting job.

 Please find following patch which I tried to make more generic for
omap3 camera interface driver. Just designate expecting colorspace
from external camera module in board file, then no need to modify
try_pix_parm() function.
Any comments will be welcomed.

Cheers,

Nate


From f8062b8678fa8f8d9e694fb796431cf340112fa3 Mon Sep 17 00:00:00 2001
From: Dongsoo Kim dongsoo45@samsung.com
Date: Thu, 26 Feb 2009 20:32:18 +0900
Subject: [PATCH] CAM: Make try_pix_parm() negotiable with board
specific sensor config.
 Removed hard coded pixelformat in camera interface driver

Signed-off-by: Dongsoo Kim dongsoo45@samsung.com
---
 arch/arm/mach-omap2/board-3430sdp.c |6 ++
 arch/arm/mach-omap2/board-ldp.c |2 ++
 arch/arm/mach-omap2/board-zoom2.c   |2 ++
 drivers/media/video/omap34xxcam.c   |5 +++--
 drivers/media/video/omap34xxcam.h   |1 +
 5 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c
b/arch/arm/mach-omap2/board-3430sdp.c
index b96954f..b075568 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -604,6 +604,7 @@ static void __iomem *fpga_map_addr;
 static struct omap34xxcam_sensor_config cam_hwc = {
.sensor_isp = 0,
.xclk = OMAP34XXCAM_XCLK_A,
+   .pixelformat = V4L2_PIX_FMT_SGRBG10,
.capture_mem = PAGE_ALIGN(2592 * 1944 * 2) * 4,
 };

@@ -640,6 +641,7 @@ static int mt9p012_sensor_set_prv_data(void *priv)

hwc-u.sensor.xclk = cam_hwc.xclk;
hwc-u.sensor.sensor_isp = cam_hwc.sensor_isp;
+   hwc-u.sensor.pixelformat = cam_hwc.pixelformat;
hwc-u.sensor.capture_mem = cam_hwc.capture_mem;
hwc-dev_index = 0;
hwc-dev_minor = 0;
@@ -769,6 +771,7 @@ static struct omap34xxcam_sensor_config ov3640_hwc = {
 #else
.xclk = OMAP34XXCAM_XCLK_A,
 #endif
+   .pixelformat = V4L2_PIX_FMT_RGB565,
.capture_mem = PAGE_ALIGN(2048 * 1536 * 2) * 2,
 };

@@ -804,6 +807,7 @@ static int ov3640_sensor_set_prv_data(void *priv)
hwc = priv;
hwc-u.sensor.xclk = ov3640_hwc.xclk;
hwc-u.sensor.sensor_isp = ov3640_hwc.sensor_isp;
+   hwc-u.sensor.pixelformat = ov3640_hwc.pixelformat;
hwc-u.sensor.capture_mem = ov3640_hwc.capture_mem;
hwc-dev_index = 1;
hwc-dev_minor = 4;
@@ -953,6 +957,7 @@ static struct ov3640_platform_data
sdp3430_ov3640_platform_data = {
 static struct omap34xxcam_sensor_config imx046_hwc = {
.sensor_isp  = 0,
.xclk= OMAP34XXCAM_XCLK_B,
+   .pixelformat = V4L2_PIX_FMT_SGRBG10,
.capture_mem = PAGE_ALIGN(3280 * 2464 * 2) * 2,
 };

@@ -962,6 +967,7 @@ static int imx046_sensor_set_prv_data(void *priv)

hwc-u.sensor.xclk  = imx046_hwc.xclk;
hwc-u.sensor.sensor_isp = imx046_hwc.sensor_isp;
+   hwc-u.sensor.pixelformat = imx046_hwc.pixelformat;
hwc-dev_index  = 2;
hwc-dev_minor  = 5;
hwc-dev_type   = OMAP34XXCAM_SLAVE_SENSOR;
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index f8a9e47..5b01e76 100755
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -610,6 +610,7 @@ static struct omap34xxcam_sensor_config ov3640_hwc = {
 #else
.xclk = OMAP34XXCAM_XCLK_A,
 #endif
+   .pixelformat = V4L2_PIX_FMT_RGB565,
.capture_mem = 2592 * 1944 * 2 * 2,
 };

@@ -644,6 +645,7 @@ static int ov3640_sensor_set_prv_data(void *priv)

hwc = priv;
hwc-u.sensor.xclk = ov3640_hwc.xclk;
+   hwc-u.sensor.pixelformat = ov3640_hwc.pixelformat;
hwc-u.sensor.sensor_isp = ov3640_hwc.sensor_isp;
hwc-dev_index = 1;
hwc-dev_minor = 4;
diff --git a/arch/arm/mach-omap2/board-zoom2.c
b/arch/arm/mach-omap2/board-zoom2.c
index 5ecc71e..806a4a5 100755
--- a/arch/arm/mach-omap2/board-zoom2.c
+++ b/arch/arm/mach-omap2/board-zoom2.c
@@ -331,6 +331,7 @@ static struct twl4030_keypad_data ldp_kp_twl4030_data = {
 static struct omap34xxcam_sensor_config imx046_hwc = {
.sensor_isp  = 0,
.xclk= OMAP34XXCAM_XCLK_B,
+   .pixelformat = V4L2_PIX_FMT_SGRBG10,
.capture_mem = PAGE_ALIGN(3280 * 2464 * 2) * 2,
 };

@@ -340,6 +341,7 @@ static int imx046_sensor_set_prv_data(void *priv)

hwc-u.sensor.xclk  = imx046_hwc.xclk;
hwc-u.sensor.sensor_isp = imx046_hwc.sensor_isp;
+   hwc-u.sensor.pixelformat = imx046_hwc.pixelformat;
hwc-dev_index  = 2;
hwc-dev_minor  = 5;
hwc-dev_type   = OMAP34XXCAM_SLAVE_SENSOR;
diff --git 

[OMAPZOOM][PATCH] CAM: Make PACK8 mode on CCDC work only with CCIR-656

2009-03-01 Thread DongSoo(Nathaniel) Kim
Hello,

Besides the patch I've posted couple of hours ago, there is one more
thing in omap3 ispccdc.c.
According to omap3 datasheet, PACK8 could be enabled only when
CCDC_SYN_MODE is with CCIR-656 mode.
If you try to use external camera module with ITU-R.601 mode without
this patch, you could face weird data from your camera interface.
Please find following patch, and any comments will be welcomed.

Cheers,

Nate

From 23425c97233c93f9b572351d8a93a13ae3cb3188 Mon Sep 17 00:00:00 2001
From: Dongsoo Kim dongsoo45@samsung.com
Date: Mon, 2 Mar 2009 11:01:14 +0900
Subject: [PATCH 2/2] CAM: Make PACK8 mode on CCDC work only with CCIR-656
 Signed-off-by: Dongsoo Kim dongsoo45@samsung.com

---
 drivers/media/video/isp/ispccdc.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/isp/ispccdc.c
b/drivers/media/video/isp/ispccdc.c
index 8f7e896..2945c6f 100644
--- a/drivers/media/video/isp/ispccdc.c
+++ b/drivers/media/video/isp/ispccdc.c
@@ -762,7 +762,8 @@ void ispccdc_config_sync_if(struct ispccdc_syncif syncif)
switch (syncif.datsz) {
case DAT8:
syn_mode |= ISPCCDC_SYN_MODE_DATSIZ_8;
-   syn_mode |= ISPCCDC_SYN_MODE_PACK8; /* Added by MMS */
+   if (syncif.bt_r656_en)
+   syn_mode |= ISPCCDC_SYN_MODE_PACK8; /* Added by MMS */
break;
case DAT10:
syn_mode |= ISPCCDC_SYN_MODE_DATSIZ_10;
-- 
1.5.4.3


-- 

DongSoo(Nathaniel), Kim
Engineer
Mobile S/W Platform Lab. S/W centre
Telecommunication RD Centre
Samsung Electronics CO., LTD.
e-mail : dongsoo@gmail.com
  dongsoo45@samsung.com

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] soc-camera queue including a fix for 2.6.29

2009-03-01 Thread morimoto . kuninori

Dear Guennadi, Mauro, Paul

Mauro, Guennadi
When does following patch will be applyed ?

 07/14: ov772x: Add image flip support
 http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=859f610843c1

Because ALGO board (SH7723) needs platform patch.
And

 09/14: sh_mobile_ceu: SOCAM flags are not platform dependent
 http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=0928a1be9d4e

MigoR and ALGO board needs new flags setting patches.

I'm not sure when should I send patch to Paul ?

Best regards
--
Kuninori Morimoto
 
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] soc-camera queue including a fix for 2.6.29

2009-03-01 Thread Guennadi Liakhovetski
Hello Morimoto-san,

On Mon, 2 Mar 2009, morimoto.kunin...@renesas.com wrote:

 Dear Guennadi, Mauro, Paul
 
 Mauro, Guennadi
 When does following patch will be applyed ?
 
  07/14: ov772x: Add image flip support
  http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=859f610843c1
 
 Because ALGO board (SH7723) needs platform patch.
 And
 
  09/14: sh_mobile_ceu: SOCAM flags are not platform dependent
  http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=0928a1be9d4e
 
 MigoR and ALGO board needs new flags setting patches.
 
 I'm not sure when should I send patch to Paul ?

They are already in this tree:

http://git.kernel.org/?p=linux/kernel/git/mchehab/linux-next.git;a=tree;hb=HEAD

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html