Re: uvcvideo kernel panic when using libv4l

2009-12-16 Thread leandro Costantino
That sould be the correct.
Pablo, note that using svv.c with read method as implemented there,
should work ok.
http://moinejf.free.fr/svv.c


On Wed, Dec 16, 2009 at 7:51 AM, Pablo Baena pba...@gmail.com wrote:
 With that patch, libv4l throws an error at some point, no crashes so far 
 though:

 libv4l2: error dequeuing buf: Invalid argument
 read error 22, Invalid argument

 On Tue, Dec 15, 2009 at 9:12 PM, Laurent Pinchart
 laurent.pinch...@ideasonboard.com wrote:
 Hi Leandro and Pablo,

 could you please try the following patch ? It closes a race window that I
 believe could be at the core of your kernel panic.

 diff -r c1f376eae978 linux/drivers/media/video/uvc/uvc_queue.c
 --- a/linux/drivers/media/video/uvc/uvc_queue.c Sat Dec 12 18:57:17 2009 
 +0100
 +++ b/linux/drivers/media/video/uvc/uvc_queue.c Wed Dec 16 01:10:21 2009 
 +0100
 @@ -59,7 +59,7 @@
  *    returns immediately.
  *
  *    When the buffer is full, the completion handler removes it from the irq
 - *    queue, marks it as ready (UVC_BUF_STATE_DONE) and wakes its wait 
 queue.
 + *    queue, marks it as ready (UVC_BUF_STATE_READY) and wakes its wait 
 queue.
  *    At that point, any process waiting on the buffer will be woken up. If a
  *    process tries to dequeue a buffer after it has been marked ready, the
  *    dequeing will succeed immediately.
 @@ -196,11 +196,12 @@

        switch (buf-state) {
        case UVC_BUF_STATE_ERROR:
 -       case UVC_BUF_STATE_DONE:
 +       case UVC_BUF_STATE_READY:
                v4l2_buf-flags |= V4L2_BUF_FLAG_DONE;
                break;
        case UVC_BUF_STATE_QUEUED:
        case UVC_BUF_STATE_ACTIVE:
 +       case UVC_BUF_STATE_DONE:
                v4l2_buf-flags |= V4L2_BUF_FLAG_QUEUED;
                break;
        case UVC_BUF_STATE_IDLE:
 @@ -341,13 +342,14 @@
                uvc_trace(UVC_TRACE_CAPTURE, [W] Corrupted data 
                        (transmission error).\n);
                ret = -EIO;
 -       case UVC_BUF_STATE_DONE:
 +       case UVC_BUF_STATE_READY:
                buf-state = UVC_BUF_STATE_IDLE;
                break;

        case UVC_BUF_STATE_IDLE:
        case UVC_BUF_STATE_QUEUED:
        case UVC_BUF_STATE_ACTIVE:
 +       case UVC_BUF_STATE_DONE:
        default:
                uvc_trace(UVC_TRACE_CAPTURE, [E] Invalid buffer state %u 
                        (driver bug?).\n, buf-state);
 @@ -383,7 +385,7 @@
        buf = list_first_entry(queue-mainqueue, struct uvc_buffer, stream);

        poll_wait(file, buf-wait, wait);
 -       if (buf-state == UVC_BUF_STATE_DONE ||
 +       if (buf-state == UVC_BUF_STATE_READY ||
            buf-state == UVC_BUF_STATE_ERROR)
                mask |= POLLIN | POLLRDNORM;

 @@ -489,6 +491,7 @@

        spin_lock_irqsave(queue-irqlock, flags);
        list_del(buf-queue);
 +       buf-state = UVC_BUF_STATE_READY;
        if (!list_empty(queue-irqqueue))
                nextbuf = list_first_entry(queue-irqqueue, struct 
 uvc_buffer,
                                           queue);
 diff -r c1f376eae978 linux/drivers/media/video/uvc/uvc_video.c
 --- a/linux/drivers/media/video/uvc/uvc_video.c Sat Dec 12 18:57:17 2009 
 +0100
 +++ b/linux/drivers/media/video/uvc/uvc_video.c Wed Dec 16 01:10:21 2009 
 +0100
 @@ -578,8 +578,7 @@
                uvc_video_decode_end(stream, buf, mem,
                        urb-iso_frame_desc[i].actual_length);

 -               if (buf-state == UVC_BUF_STATE_DONE ||
 -                   buf-state == UVC_BUF_STATE_ERROR)
 +               if (buf-state == UVC_BUF_STATE_DONE)
                        buf = uvc_queue_next_buffer(stream-queue, buf);
        }
  }
 @@ -637,8 +636,7 @@
                if (!stream-bulk.skip_payload  buf != NULL) {
                        uvc_video_decode_end(stream, buf, stream-bulk.header,
                                stream-bulk.payload_size);
 -                       if (buf-state == UVC_BUF_STATE_DONE ||
 -                           buf-state == UVC_BUF_STATE_ERROR)
 +                       if (buf-state == UVC_BUF_STATE_DONE)
                                buf = uvc_queue_next_buffer(stream-queue,
                                                            buf);
                }
 diff -r c1f376eae978 linux/drivers/media/video/uvc/uvcvideo.h
 --- a/linux/drivers/media/video/uvc/uvcvideo.h  Sat Dec 12 18:57:17 2009 
 +0100
 +++ b/linux/drivers/media/video/uvc/uvcvideo.h  Wed Dec 16 01:10:21 2009 
 +0100
 @@ -370,7 +370,8 @@
        UVC_BUF_STATE_QUEUED    = 1,
        UVC_BUF_STATE_ACTIVE    = 2,
        UVC_BUF_STATE_DONE      = 3,
 -       UVC_BUF_STATE_ERROR     = 4,
 +       UVC_BUF_STATE_READY     = 4,
 +       UVC_BUF_STATE_ERROR     = 5,
  };

  struct uvc_buffer {

 --
 Regards,

 Laurent Pinchart




 --
 Not possessing the gift of reflection, a dog does not know that he
 does not know, and does not understand that he understands nothing;
 we, on the other hand, are aware of both. If we behave otherwise, it
 is from stupidity, or else from 

Re: uvcvideo kernel panic when using libv4l

2009-12-16 Thread Laurent Pinchart
Hi Pablo,

On Wednesday 16 December 2009 07:51:20 Pablo Baena wrote:
 With that patch, libv4l throws an error at some point, no crashes so far
  though:
 
 libv4l2: error dequeuing buf: Invalid argument
 read error 22, Invalid argument

Could you please try this updated patch ?

diff -r c1f376eae978 linux/drivers/media/video/uvc/uvc_queue.c
--- a/linux/drivers/media/video/uvc/uvc_queue.c Sat Dec 12 18:57:17 2009 +0100
+++ b/linux/drivers/media/video/uvc/uvc_queue.c Wed Dec 16 11:47:40 2009 +0100
@@ -59,7 +59,7 @@
  *returns immediately.
  *
  *When the buffer is full, the completion handler removes it from the irq
- *queue, marks it as ready (UVC_BUF_STATE_DONE) and wakes its wait queue.
+ *queue, marks it as ready (UVC_BUF_STATE_READY) and wakes its wait queue.
  *At that point, any process waiting on the buffer will be woken up. If a
  *process tries to dequeue a buffer after it has been marked ready, the
  *dequeing will succeed immediately.
@@ -196,11 +196,12 @@
 
switch (buf-state) {
case UVC_BUF_STATE_ERROR:
-   case UVC_BUF_STATE_DONE:
+   case UVC_BUF_STATE_READY:
v4l2_buf-flags |= V4L2_BUF_FLAG_DONE;
break;
case UVC_BUF_STATE_QUEUED:
case UVC_BUF_STATE_ACTIVE:
+   case UVC_BUF_STATE_DONE:
v4l2_buf-flags |= V4L2_BUF_FLAG_QUEUED;
break;
case UVC_BUF_STATE_IDLE:
@@ -295,13 +296,15 @@
 {
if (nonblocking) {
return (buf-state != UVC_BUF_STATE_QUEUED 
-   buf-state != UVC_BUF_STATE_ACTIVE)
+   buf-state != UVC_BUF_STATE_ACTIVE 
+   buf-state != UVC_BUF_STATE_DONE)
? 0 : -EAGAIN;
}
 
return wait_event_interruptible(buf-wait,
buf-state != UVC_BUF_STATE_QUEUED 
-   buf-state != UVC_BUF_STATE_ACTIVE);
+   buf-state != UVC_BUF_STATE_ACTIVE 
+   buf-state != UVC_BUF_STATE_DONE);
 }
 
 /*
@@ -341,13 +344,14 @@
uvc_trace(UVC_TRACE_CAPTURE, [W] Corrupted data 
(transmission error).\n);
ret = -EIO;
-   case UVC_BUF_STATE_DONE:
+   case UVC_BUF_STATE_READY:
buf-state = UVC_BUF_STATE_IDLE;
break;
 
case UVC_BUF_STATE_IDLE:
case UVC_BUF_STATE_QUEUED:
case UVC_BUF_STATE_ACTIVE:
+   case UVC_BUF_STATE_DONE:
default:
uvc_trace(UVC_TRACE_CAPTURE, [E] Invalid buffer state %u 
(driver bug?).\n, buf-state);
@@ -383,7 +387,7 @@
buf = list_first_entry(queue-mainqueue, struct uvc_buffer, stream);
 
poll_wait(file, buf-wait, wait);
-   if (buf-state == UVC_BUF_STATE_DONE ||
+   if (buf-state == UVC_BUF_STATE_READY ||
buf-state == UVC_BUF_STATE_ERROR)
mask |= POLLIN | POLLRDNORM;
 
@@ -489,6 +493,7 @@
 
spin_lock_irqsave(queue-irqlock, flags);
list_del(buf-queue);
+   buf-state = UVC_BUF_STATE_READY;
if (!list_empty(queue-irqqueue))
nextbuf = list_first_entry(queue-irqqueue, struct uvc_buffer,
   queue);
diff -r c1f376eae978 linux/drivers/media/video/uvc/uvc_video.c
--- a/linux/drivers/media/video/uvc/uvc_video.c Sat Dec 12 18:57:17 2009 +0100
+++ b/linux/drivers/media/video/uvc/uvc_video.c Wed Dec 16 11:47:40 2009 +0100
@@ -578,8 +578,7 @@
uvc_video_decode_end(stream, buf, mem,
urb-iso_frame_desc[i].actual_length);
 
-   if (buf-state == UVC_BUF_STATE_DONE ||
-   buf-state == UVC_BUF_STATE_ERROR)
+   if (buf-state == UVC_BUF_STATE_DONE)
buf = uvc_queue_next_buffer(stream-queue, buf);
}
 }
@@ -637,8 +636,7 @@
if (!stream-bulk.skip_payload  buf != NULL) {
uvc_video_decode_end(stream, buf, stream-bulk.header,
stream-bulk.payload_size);
-   if (buf-state == UVC_BUF_STATE_DONE ||
-   buf-state == UVC_BUF_STATE_ERROR)
+   if (buf-state == UVC_BUF_STATE_DONE)
buf = uvc_queue_next_buffer(stream-queue,
buf);
}
diff -r c1f376eae978 linux/drivers/media/video/uvc/uvcvideo.h
--- a/linux/drivers/media/video/uvc/uvcvideo.h  Sat Dec 12 18:57:17 2009 +0100
+++ b/linux/drivers/media/video/uvc/uvcvideo.h  Wed Dec 16 11:47:40 2009 +0100
@@ -370,7 +370,8 @@
UVC_BUF_STATE_QUEUED= 1,
UVC_BUF_STATE_ACTIVE= 2,
UVC_BUF_STATE_DONE  = 3,
-   UVC_BUF_STATE_ERROR = 4,
+   UVC_BUF_STATE_READY = 4,
+   UVC_BUF_STATE_ERROR = 5,
 };
 
 struct uvc_buffer {


-- 
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line 

Re: no locking on dvb-s2 22000 2/3 8PSK transponder on Astra 19.2E with tt s2-3200

2009-12-16 Thread Matthias Wächter
Am 15.12.2009 20:44, schrieb Newsy Paper:
 yes, this transponder is working again at blog.ors.at they say that they 
 updated the modulator. It is working now again but driver still has this bug, 
 so it's interesting what the update of the modulator changed exactly.

Today I received an answer from Peter Knorr, ORS, where he told me that
when they activated their modulator on 3 Dec 2009, it was set up to
output an inverted spectrum. What they did to fix our issue was to
switch off this inversion.

For me, personally, the issue with 19.2°/11302.75h is closed. Maybe
someone with knowledge about handling STB6100/STB0899 will be able to
finally solve the issue with transponders that have an inverted spectrum.

– Matthias
--
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


Anyone capable of fixing inverted spectrum issue on tt s2-3200?

2009-12-16 Thread Newsy Paper
Hi,

as the problem with the ORF HD transponder on Astra is now figured out and ORF 
switched inversion off again, we know know where the bug in the driver is. I 
don't know if the problem also occours on dvb-s(1) transponders but I'll try to 
figure that out.

Is anyone able to fix that dvb-s2 problem? Perhaps it would also solve the 
problem with some transponders on 1° west?

regards

Newsy

__
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.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: Anyone capable of fixing inverted spectrum issue on tt s2-3200?

2009-12-16 Thread Manu Abraham
On Wed, Dec 16, 2009 at 4:15 PM, Newsy Paper
newspaperman_germ...@yahoo.com wrote:
 Hi,

 as the problem with the ORF HD transponder on Astra is now figured out and 
 ORF switched inversion off again, we know know where the bug in the driver 
 is. I don't know if the problem also occours on dvb-s(1) transponders but 
 I'll try to figure that out.

 Is anyone able to fix that dvb-s2 problem? Perhaps it would also solve the 
 problem with some transponders on 1° west?



To verify whether an inversion will solve the issue:

Please try changing

line: #1313 .inversion = IQ_SWAP_ON, /* 1 */  to IQ_SWAP_OFF

in

http://linuxtv.org/hg/v4l-dvb/file/79fc32bba0a0/linux/drivers/media/dvb/ttpci/budget-ci.c

and check whether that solves your inversion issue. Please report your findings.


Regards,
Manu
--
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


[PATCH] V4L/DVB: use correct size in put_v4l2_window32()

2009-12-16 Thread Roel Kluin
Although these sizes may be the same it is better to calculate the size of
the source, than the destiny.

Signed-off-by: Roel Kluin roel.kl...@gmail.com
---
diff --git a/drivers/media/video/v4l2-compat-ioctl32.c 
b/drivers/media/video/v4l2-compat-ioctl32.c
index 997975d..23ad218 100644
--- a/drivers/media/video/v4l2-compat-ioctl32.c
+++ b/drivers/media/video/v4l2-compat-ioctl32.c
@@ -288,7 +288,7 @@ static int get_v4l2_window32(struct v4l2_window *kp, struct 
v4l2_window32 __user
 
 static int put_v4l2_window32(struct v4l2_window *kp, struct v4l2_window32 
__user *up)
 {
-   if (copy_to_user(up-w, kp-w, sizeof(up-w)) ||
+   if (copy_to_user(up-w, kp-w, sizeof(kp-w)) ||
put_user(kp-field, up-field) ||
put_user(kp-chromakey, up-chromakey) ||
put_user(kp-clipcount, up-clipcount))
--
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


[GIT PULL for 2.6.33] V4L/DVB fixes

2009-12-16 Thread Mauro Carvalho Chehab
Linus,

Please pull from:
ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 
for_linus

For the following 116 patches:
   - ir: improvements for selecting IR protocols based on the IR table, and 
start
 preparing the existing IR code to be generic;
   - v4l2 core: cleanups at video device name reports;
   - v4l2 API: add ioctl's to properly work with HDTV formats;
   - v4l2-spec: Adds EBUSY error code for S_STD and QUERYSTD ioctls;
   - v4l2 API: Add a 10-bit monochrome and missing 8- and 10-bit Bayer fourcc 
codes;
   - v4l KABI: add a media-bus API for configuring v4l2 subdev pixel and frame 
formats;
   - videobuf_dma_contig: fixes for working with non-aligned offsets;
   - driver improvements/fixes/cleanups at radio drivers, gspca, smsusb,
 em28xx, dib0700, dib8000, dvb-usb-friio, genpix, cpia, pwc, cpia2,
 ov511, bttv, vpss, sh_mobile_ceu, vpfe, vpif, uvc, stv0900,
 tw9910, soc_camera, rj54n1cb0c, mt9t031, lnbp21, stv090x, lgs9gxx,
 sanio-ms, cx231xx, au8522, pms.
   - Add mediabus KABI to be used by drivers that support several different ways
 to configure their internal streaming buses;
   - New drivers:
- dib0090 frontend driver for ISDB-T devices;
- mt9t112 sensor.

Cheers,
Mauro.

---

 Documentation/DocBook/Makefile |   21 +-
 Documentation/DocBook/media-entities.tmpl  |   18 +
 Documentation/DocBook/media-indices.tmpl   |4 +
 Documentation/DocBook/v4l/common.xml   |   35 +
 Documentation/DocBook/v4l/compat.xml   |   16 +-
 Documentation/DocBook/v4l/v4l2.xml |   26 +-
 Documentation/DocBook/v4l/videodev2.h.xml  |  116 ++-
 .../DocBook/v4l/vidioc-enum-dv-presets.xml |  238 +++
 Documentation/DocBook/v4l/vidioc-enuminput.xml |   36 +-
 Documentation/DocBook/v4l/vidioc-enumoutput.xml|   36 +-
 Documentation/DocBook/v4l/vidioc-g-dv-preset.xml   |  111 ++
 Documentation/DocBook/v4l/vidioc-g-dv-timings.xml  |  224 +++
 Documentation/DocBook/v4l/vidioc-g-std.xml |6 +
 .../DocBook/v4l/vidioc-query-dv-preset.xml |   85 ++
 Documentation/DocBook/v4l/vidioc-querystd.xml  |6 +
 Documentation/video4linux/gspca.txt|   34 +-
 Documentation/video4linux/sh_mobile_ceu_camera.txt |  157 ++
 Documentation/video4linux/v4l2-framework.txt   |   16 +-
 arch/sh/boards/mach-ap325rxa/setup.c   |   41 +-
 arch/sh/boards/mach-kfr2r09/setup.c|   13 +-
 arch/sh/boards/mach-migor/setup.c  |   32 +-
 drivers/media/IR/Kconfig   |9 +
 drivers/media/IR/Makefile  |5 +
 drivers/media/{common = IR}/ir-functions.c|   20 +-
 drivers/media/{common = IR}/ir-keymaps.c  |  219 ++-
 drivers/media/{common = IR}/ir-keytable.c |   90 +-
 drivers/media/Kconfig  |1 +
 drivers/media/Makefile |2 +-
 drivers/media/common/Makefile  |2 -
 drivers/media/common/saa7146_fops.c|   60 +-
 drivers/media/dvb/dm1105/dm1105.c  |   14 +-
 drivers/media/dvb/dvb-usb/Kconfig  |8 +-
 drivers/media/dvb/dvb-usb/dib0700.h|   26 +-
 drivers/media/dvb/dvb-usb/dib0700_core.c   |  101 ++-
 drivers/media/dvb/dvb-usb/dib0700_devices.c|  725 +++---
 drivers/media/dvb/dvb-usb/dibusb-common.c  |   15 +-
 drivers/media/dvb/dvb-usb/dvb-usb-ids.h|3 +
 drivers/media/dvb/dvb-usb/dw2102.c |  456 --
 drivers/media/dvb/dvb-usb/friio-fe.c   |   10 +-
 drivers/media/dvb/dvb-usb/gp8psk-fe.c  |4 +-
 drivers/media/dvb/frontends/Kconfig|9 +
 drivers/media/dvb/frontends/Makefile   |1 +
 drivers/media/dvb/frontends/au8522_decoder.c   |4 +-
 drivers/media/dvb/frontends/dib0070.c  |  674 +-
 drivers/media/dvb/frontends/dib0070.h  |4 +-
 drivers/media/dvb/frontends/dib0090.c  | 1522 
 drivers/media/dvb/frontends/dib0090.h  |  108 ++
 drivers/media/dvb/frontends/dib8000.c  |  137 ++-
 drivers/media/dvb/frontends/dib8000.h  |   32 +-
 drivers/media/dvb/frontends/dibx000_common.c   |   15 +-
 drivers/media/dvb/frontends/dibx000_common.h   |   71 +-
 drivers/media/dvb/frontends/lgs8gxx.c  |4 +-
 drivers/media/dvb/frontends/lnbp21.c   |   28 +-
 drivers/media/dvb/frontends/stv0900_core.c |   13 +
 drivers/media/dvb/frontends/stv090x.c  |7 +-
 drivers/media/dvb/frontends/stv090x.h  |2 +
 drivers/media/dvb/siano/smsdvb.c   |4 +-
 drivers/media/dvb/siano/smssdio.c  |8 +-
 drivers/media/dvb/siano/smsusb.c   |   18 +-
 

[PATCH] gspca: Fix tests of unsigned

2009-12-16 Thread Roel Kluin
val and sd-gain are unsigned so the tests did not work.

Signed-off-by: Roel Kluin roel.kl...@gmail.com
---
Found using coccinelle: http://coccinelle.lip6.fr/

diff --git a/drivers/media/video/gspca/ov534.c 
b/drivers/media/video/gspca/ov534.c
index 4dbb882..f5d1f18 100644
--- a/drivers/media/video/gspca/ov534.c
+++ b/drivers/media/video/gspca/ov534.c
@@ -1536,7 +1536,7 @@ static void setsharpness_96(struct gspca_dev *gspca_dev)
u8 val;
 
val = sd-sharpness;
-   if (val  0) {  /* auto */
+   if (val == -1) {/* auto */
val = sccb_reg_read(gspca_dev, 0x42);   /* com17 */
sccb_reg_write(gspca_dev, 0xff, 0x00);
sccb_reg_write(gspca_dev, 0x42, val | 0x40);
diff --git a/drivers/media/video/gspca/sn9c20x.c 
b/drivers/media/video/gspca/sn9c20x.c
index b1944a7..7ebabe7 100644
--- a/drivers/media/video/gspca/sn9c20x.c
+++ b/drivers/media/video/gspca/sn9c20x.c
@@ -2319,7 +2319,7 @@ static void do_autogain(struct gspca_dev *gspca_dev, u16 
avg_lum)
}
}
if (avg_lum  MAX_AVG_LUM) {
-   if (sd-gain - 1 = 0) {
+   if (sd-gain = 1) {
sd-gain--;
set_gain(gspca_dev);
}
--
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: Anyone capable of fixing inverted spectrum issue on tt s2-3200?

2009-12-16 Thread Newsy Paper
thx Manu for your quick answer. I tried that patch, at least on those 8psk 
3 3/4 on thor 1 West it didn't solve the problem, but I'm not sure if they 
really use inverted spectrum on that transponder.

ORF switched inverted spectrum off again, so I'm in search of an dvb-s2 
transponder that has set inverted spectrum on in order to test your change. :(

regards

Newsy

--- Manu Abraham abraham.m...@gmail.com schrieb am Mi, 16.12.2009:

 Von: Manu Abraham abraham.m...@gmail.com
 Betreff: Re: Anyone capable of fixing inverted spectrum issue on tt s2-3200?
 An: Newsy Paper newspaperman_germ...@yahoo.com
 CC: linux-media@vger.kernel.org
 Datum: Mittwoch, 16. Dezember 2009, 14:10
 On Wed, Dec 16, 2009 at 4:15 PM,
 Newsy Paper
 newspaperman_germ...@yahoo.com
 wrote:
  Hi,
 
  as the problem with the ORF HD transponder on Astra is
 now figured out and ORF switched inversion off again, we
 know know where the bug in the driver is. I don't know if
 the problem also occours on dvb-s(1) transponders but I'll
 try to figure that out.
 
  Is anyone able to fix that dvb-s2 problem? Perhaps it
 would also solve the problem with some transponders on 1°
 west?
 
 
 
 To verify whether an inversion will solve the issue:
 
 Please try changing
 
 line: #1313 .inversion = IQ_SWAP_ON, /* 1 */  to
 IQ_SWAP_OFF
 
 in
 
 http://linuxtv.org/hg/v4l-dvb/file/79fc32bba0a0/linux/drivers/media/dvb/ttpci/budget-ci.c
 
 and check whether that solves your inversion issue. Please
 report your findings.
 
 
 Regards,
 Manu
 

__
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.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: USB MAssage Storage drivers

2009-12-16 Thread Gopala Gottumukkala
(gcc version 3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #4
PREEMPT Tue Dec 15 18:10:24 EST 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DM644x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm6446 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
50800

I have compile the kernel 2.6.32 and boot up the target.  But when I
plug in the mass storage like external HDD or Pendrive it is not
recognizing.

Any help appreciated.

- GG

-Original Message-
From: Philby John [mailto:pj...@in.mvista.com] 
Sent: Wednesday, December 16, 2009 2:22 AM
To: Gopala Gottumukkala
Cc: davinci-linux-open-sou...@linux.davincidsp.com;
linux-media@vger.kernel.org
Subject: Re: USB MAssage Storage drivers

On Tue, 2009-12-15 at 18:46 -0500, Gopala Gottumukkala wrote:
 My target is not recognizing the USB massage storage. I am working the
 2.6.32 Davinci kernel
 
 Any suggestion and ideas.

ahah, this information isn't enough. Your Vendor/Product ID for this
device is compared in a lookup a table. If no match is found, your
device probably won't be detected as mass storage. You could check in
the unusual_devs.h to see if your device is included there, if your
device is relatively new you could submit a Vendor/Product ID to the USB
dev list for inclusion.


Regards,
Philby








--
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: USB MAssage Storage drivers

2009-12-16 Thread Michael Trimarchi

Hi,

Gopala Gottumukkala wrote:

(gcc version 3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #4
PREEMPT Tue Dec 15 18:10:24 EST 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DM644x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm6446 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
50800

I have compile the kernel 2.6.32 and boot up the target.  But when I
plug in the mass storage like external HDD or Pendrive it is not
recognizing.


Do you compile the usb support? Do you have in your config?

Michael




Any help appreciated.

- GG

-Original Message-
From: Philby John [mailto:pj...@in.mvista.com] 
Sent: Wednesday, December 16, 2009 2:22 AM

To: Gopala Gottumukkala
Cc: davinci-linux-open-sou...@linux.davincidsp.com;
linux-media@vger.kernel.org
Subject: Re: USB MAssage Storage drivers

On Tue, 2009-12-15 at 18:46 -0500, Gopala Gottumukkala wrote:

My target is not recognizing the USB massage storage. I am working the
2.6.32 Davinci kernel

Any suggestion and ideas.


ahah, this information isn't enough. Your Vendor/Product ID for this
device is compared in a lookup a table. If no match is found, your
device probably won't be detected as mass storage. You could check in
the unusual_devs.h to see if your device is included there, if your
device is relatively new you could submit a Vendor/Product ID to the USB
dev list for inclusion.


Regards,
Philby








--
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



--
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


[PATCH] vivi: Fix test of unsigned in vivi_create_instance()

2009-12-16 Thread Roel Kluin
video_nr is unsigned so the test did not work.

Signed-off-by: Roel Kluin roel.kl...@gmail.com
---
Found using coccinelle: http://coccinelle.lip6.fr/

diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index 7705fc6..328af3a 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -1375,7 +1375,7 @@ static int __init vivi_create_instance(int inst)
snprintf(vfd-name, sizeof(vfd-name), %s (%i),
vivi_template.name, vfd-num);
 
-   if (video_nr = 0)
+   if (video_nr != -1)
video_nr++;
 
dev-vfd = vfd;
--
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


[PATCH 3/7] V4L/DVB sh_mobile_ceu: don't check platform_get_irq's return value against zero

2009-12-16 Thread Uwe Kleine-König
platform_get_irq returns -ENXIO on failure, so !irq was probably
always true.  Better use (int)irq = 0.  Note that a return value of
zero is still handled as error even though this could mean irq0.

This is a followup to 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 that
changed the return value of platform_get_irq from 0 to -ENXIO on error.

Signed-off-by: Uwe Kleine-König u.kleine-koe...@pengutronix.de
Cc: David Vrabel dvra...@arcom.com
Cc: Greg Kroah-Hartman gre...@suse.de
Cc: Mauro Carvalho Chehab mche...@infradead.org
Cc: Guennadi Liakhovetski g.liakhovet...@gmx.de
Cc: Magnus Damm d...@igel.co.jp
Cc: Kuninori Morimoto morimoto.kunin...@renesas.com
Cc: Paul Mundt let...@linux-sh.org
Cc: linux-media@vger.kernel.org
---
 drivers/media/video/sh_mobile_ceu_camera.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/sh_mobile_ceu_camera.c 
b/drivers/media/video/sh_mobile_ceu_camera.c
index 961e448..f18e674 100644
--- a/drivers/media/video/sh_mobile_ceu_camera.c
+++ b/drivers/media/video/sh_mobile_ceu_camera.c
@@ -1709,7 +1709,7 @@ static int __devinit sh_mobile_ceu_probe(struct 
platform_device *pdev)
 
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
irq = platform_get_irq(pdev, 0);
-   if (!res || !irq) {
+   if (!res || (int)irq = 0) {
dev_err(pdev-dev, Not enough CEU platform resources.\n);
err = -ENODEV;
goto exit;
-- 
1.6.5.2

--
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


[PATCH 2/7] V4L/DVB mx1_camera: don't check platform_get_irq's return value against zero

2009-12-16 Thread Uwe Kleine-König
platform_get_irq returns -ENXIO on failure, so !irq was probably
always true.  Better use (int)irq = 0.  Note that a return value of
zero is still handled as error even though this could mean irq0.

This is a followup to 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 that
changed the return value of platform_get_irq from 0 to -ENXIO on error.

Signed-off-by: Uwe Kleine-König u.kleine-koe...@pengutronix.de
Cc: David Vrabel dvra...@arcom.com
Cc: Greg Kroah-Hartman gre...@suse.de
Cc: Mauro Carvalho Chehab mche...@infradead.org
Cc: Guennadi Liakhovetski g.liakhovet...@gmx.de
Cc: Antonio Ospite osp...@studenti.unina.it
Cc: Paulius Zaleckas paulius.zalec...@teltonika.lt
Cc: linux-media@vger.kernel.org
---
 drivers/media/video/mx1_camera.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/mx1_camera.c b/drivers/media/video/mx1_camera.c
index 7280229..f7a472f 100644
--- a/drivers/media/video/mx1_camera.c
+++ b/drivers/media/video/mx1_camera.c
@@ -650,7 +650,7 @@ static int __init mx1_camera_probe(struct platform_device 
*pdev)
 
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
irq = platform_get_irq(pdev, 0);
-   if (!res || !irq) {
+   if (!res || (int)irq = 0) {
err = -ENODEV;
goto exit;
}
-- 
1.6.5.2

--
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: USB MAssage Storage drivers

2009-12-16 Thread Subbrathnam, Swaminathan
Gopala,

You would need to use the patch I circulated earlier that updates the correct 
DRVVBUS GPIO for DaVinci.

Pl. search it in the archives or else I will mail it tomorrow.

regards
swami


From: davinci-linux-open-source-bounces+swami.iyer=ti@linux.davincidsp.com 
[davinci-linux-open-source-bounces+swami.iyer=ti@linux.davincidsp.com] On 
Behalf Of Gopala Gottumukkala [ggott...@cernium.com]
Sent: Wednesday, December 16, 2009 9:23 PM
To: Philby John
Cc: davinci-linux-open-sou...@linux.davincidsp.com; linux-media@vger.kernel.org
Subject: RE: USB MAssage Storage drivers

(gcc version 3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #4
PREEMPT Tue Dec 15 18:10:24 EST 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DM644x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm6446 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
50800

I have compile the kernel 2.6.32 and boot up the target.  But when I
plug in the mass storage like external HDD or Pendrive it is not
recognizing.

Any help appreciated.

- GG

-Original Message-
From: Philby John [mailto:pj...@in.mvista.com]
Sent: Wednesday, December 16, 2009 2:22 AM
To: Gopala Gottumukkala
Cc: davinci-linux-open-sou...@linux.davincidsp.com;
linux-media@vger.kernel.org
Subject: Re: USB MAssage Storage drivers

On Tue, 2009-12-15 at 18:46 -0500, Gopala Gottumukkala wrote:
 My target is not recognizing the USB massage storage. I am working the
 2.6.32 Davinci kernel

 Any suggestion and ideas.

ahah, this information isn't enough. Your Vendor/Product ID for this
device is compared in a lookup a table. If no match is found, your
device probably won't be detected as mass storage. You could check in
the unusual_devs.h to see if your device is included there, if your
device is relatively new you could submit a Vendor/Product ID to the USB
dev list for inclusion.


Regards,
Philby








___
Davinci-linux-open-source mailing list
davinci-linux-open-sou...@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source--
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: USB MAssage Storage drivers

2009-12-16 Thread Sergei Shtylyov

Hello.

Gopala Gottumukkala wrote:


(gcc version 3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #4
PREEMPT Tue Dec 15 18:10:24 EST 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DM644x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm6446 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
50800



I have compile the kernel 2.6.32 and boot up the target.  But when I
plug in the mass storage like external HDD or Pendrive it is not
recognizing.



Any help appreciated.


   Try this patch:

http://marc.info/?l=linux-usbm=126087668419996

WBR, Sergei
--
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: USB MAssage Storage drivers

2009-12-16 Thread Philby John
On Wed, 2009-12-16 at 10:53 -0500, Gopala Gottumukkala wrote:
 (gcc version 3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #4
 PREEMPT Tue Dec 15 18:10:24 EST 2009
 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
 CPU: VIVT data cache, VIVT instruction cache
 Machine: DaVinci DM644x EVM
 Memory policy: ECC disabled, Data cache writeback
 DaVinci dm6446 variant 0x0
 Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
 50800

And what good is this above boot log? The log that would be of interest
is the one generated the moment you connect a USB Pen drive. A
cat /proc/bus/usb/devices would also give you related information on the
connected device. Please take a look.

Regards,
Philby

--
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: [PATCH - v1 4/6] V4L - vpfe_capture bug fix and enhancements

2009-12-16 Thread Karicheri, Muralidharan
hans,


 Yes, isif_config_bclamp() set values in the register.

Huh? That does not explain why apparently bc-horz.win_h_sz_calc can be
larger
than ISIF_HORZ_BC_WIN_H_SIZE_MASK.
because the values come from the user and since we can't use the enum
for the types, I have to make sure the value is within range. Other way
to do is to check the value in the validate() function. I am inclined to
do the validation so that the  statements with masks can be removed while 
setting it in the register.


Regards,

   Hans


 
 It would be interesting to know if people know of good ways of making
 awkward
 code like this more elegant (or at least less awkward).
 
 Regards,
 
 Hans
 
 --
 Hans Verkuil - video4linux developer - sponsored by TANDBERG



--
Hans Verkuil - video4linux developer - sponsored by TANDBERG
--
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: uvcvideo kernel panic when using libv4l

2009-12-16 Thread Pablo Baena
Yes! This patch worked. So far I got no kernel panic, and image is
correct. Will be testing today to see if something comes up, but so
far it's doing great. Thank you!

On Wed, Dec 16, 2009 at 7:49 AM, Laurent Pinchart
laurent.pinch...@ideasonboard.com wrote:
 Hi Pablo,

 On Wednesday 16 December 2009 07:51:20 Pablo Baena wrote:
 With that patch, libv4l throws an error at some point, no crashes so far
  though:

 libv4l2: error dequeuing buf: Invalid argument
 read error 22, Invalid argument

 Could you please try this updated patch ?

 diff -r c1f376eae978 linux/drivers/media/video/uvc/uvc_queue.c
 --- a/linux/drivers/media/video/uvc/uvc_queue.c Sat Dec 12 18:57:17 2009 +0100
 +++ b/linux/drivers/media/video/uvc/uvc_queue.c Wed Dec 16 11:47:40 2009 +0100
 @@ -59,7 +59,7 @@
  *    returns immediately.
  *
  *    When the buffer is full, the completion handler removes it from the irq
 - *    queue, marks it as ready (UVC_BUF_STATE_DONE) and wakes its wait queue.
 + *    queue, marks it as ready (UVC_BUF_STATE_READY) and wakes its wait 
 queue.
  *    At that point, any process waiting on the buffer will be woken up. If a
  *    process tries to dequeue a buffer after it has been marked ready, the
  *    dequeing will succeed immediately.
 @@ -196,11 +196,12 @@

        switch (buf-state) {
        case UVC_BUF_STATE_ERROR:
 -       case UVC_BUF_STATE_DONE:
 +       case UVC_BUF_STATE_READY:
                v4l2_buf-flags |= V4L2_BUF_FLAG_DONE;
                break;
        case UVC_BUF_STATE_QUEUED:
        case UVC_BUF_STATE_ACTIVE:
 +       case UVC_BUF_STATE_DONE:
                v4l2_buf-flags |= V4L2_BUF_FLAG_QUEUED;
                break;
        case UVC_BUF_STATE_IDLE:
 @@ -295,13 +296,15 @@
  {
        if (nonblocking) {
                return (buf-state != UVC_BUF_STATE_QUEUED 
 -                       buf-state != UVC_BUF_STATE_ACTIVE)
 +                       buf-state != UVC_BUF_STATE_ACTIVE 
 +                       buf-state != UVC_BUF_STATE_DONE)
                        ? 0 : -EAGAIN;
        }

        return wait_event_interruptible(buf-wait,
                buf-state != UVC_BUF_STATE_QUEUED 
 -               buf-state != UVC_BUF_STATE_ACTIVE);
 +               buf-state != UVC_BUF_STATE_ACTIVE 
 +               buf-state != UVC_BUF_STATE_DONE);
  }

  /*
 @@ -341,13 +344,14 @@
                uvc_trace(UVC_TRACE_CAPTURE, [W] Corrupted data 
                        (transmission error).\n);
                ret = -EIO;
 -       case UVC_BUF_STATE_DONE:
 +       case UVC_BUF_STATE_READY:
                buf-state = UVC_BUF_STATE_IDLE;
                break;

        case UVC_BUF_STATE_IDLE:
        case UVC_BUF_STATE_QUEUED:
        case UVC_BUF_STATE_ACTIVE:
 +       case UVC_BUF_STATE_DONE:
        default:
                uvc_trace(UVC_TRACE_CAPTURE, [E] Invalid buffer state %u 
                        (driver bug?).\n, buf-state);
 @@ -383,7 +387,7 @@
        buf = list_first_entry(queue-mainqueue, struct uvc_buffer, stream);

        poll_wait(file, buf-wait, wait);
 -       if (buf-state == UVC_BUF_STATE_DONE ||
 +       if (buf-state == UVC_BUF_STATE_READY ||
            buf-state == UVC_BUF_STATE_ERROR)
                mask |= POLLIN | POLLRDNORM;

 @@ -489,6 +493,7 @@

        spin_lock_irqsave(queue-irqlock, flags);
        list_del(buf-queue);
 +       buf-state = UVC_BUF_STATE_READY;
        if (!list_empty(queue-irqqueue))
                nextbuf = list_first_entry(queue-irqqueue, struct uvc_buffer,
                                           queue);
 diff -r c1f376eae978 linux/drivers/media/video/uvc/uvc_video.c
 --- a/linux/drivers/media/video/uvc/uvc_video.c Sat Dec 12 18:57:17 2009 +0100
 +++ b/linux/drivers/media/video/uvc/uvc_video.c Wed Dec 16 11:47:40 2009 +0100
 @@ -578,8 +578,7 @@
                uvc_video_decode_end(stream, buf, mem,
                        urb-iso_frame_desc[i].actual_length);

 -               if (buf-state == UVC_BUF_STATE_DONE ||
 -                   buf-state == UVC_BUF_STATE_ERROR)
 +               if (buf-state == UVC_BUF_STATE_DONE)
                        buf = uvc_queue_next_buffer(stream-queue, buf);
        }
  }
 @@ -637,8 +636,7 @@
                if (!stream-bulk.skip_payload  buf != NULL) {
                        uvc_video_decode_end(stream, buf, stream-bulk.header,
                                stream-bulk.payload_size);
 -                       if (buf-state == UVC_BUF_STATE_DONE ||
 -                           buf-state == UVC_BUF_STATE_ERROR)
 +                       if (buf-state == UVC_BUF_STATE_DONE)
                                buf = uvc_queue_next_buffer(stream-queue,
                                                            buf);
                }
 diff -r c1f376eae978 linux/drivers/media/video/uvc/uvcvideo.h
 --- a/linux/drivers/media/video/uvc/uvcvideo.h  Sat Dec 12 18:57:17 2009 +0100
 +++ b/linux/drivers/media/video/uvc/uvcvideo.h  Wed Dec 16 11:47:40 2009 +0100
 @@ -370,7 +370,8 @@
        UVC_BUF_STATE_QUEUED   

[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

2009-12-16 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Wed Dec 16 19:00:10 CET 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   13821:783912da1ad0
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.30-armv5: OK
linux-2.6.31-armv5: OK
linux-2.6.32-armv5: OK
linux-2.6.32-armv5-davinci: OK
linux-2.6.30-armv5-ixp: ERRORS
linux-2.6.31-armv5-ixp: ERRORS
linux-2.6.32-armv5-ixp: ERRORS
linux-2.6.30-armv5-omap2: OK
linux-2.6.31-armv5-omap2: OK
linux-2.6.32-armv5-omap2: OK
linux-2.6.22.19-i686: ERRORS
linux-2.6.23.12-i686: ERRORS
linux-2.6.24.7-i686: ERRORS
linux-2.6.25.11-i686: ERRORS
linux-2.6.26-i686: ERRORS
linux-2.6.27-i686: ERRORS
linux-2.6.28-i686: ERRORS
linux-2.6.29.1-i686: ERRORS
linux-2.6.30-i686: ERRORS
linux-2.6.31-i686: ERRORS
linux-2.6.32-i686: ERRORS
linux-2.6.30-m32r: OK
linux-2.6.31-m32r: OK
linux-2.6.32-m32r: OK
linux-2.6.30-mips: WARNINGS
linux-2.6.31-mips: OK
linux-2.6.32-mips: OK
linux-2.6.30-powerpc64: ERRORS
linux-2.6.31-powerpc64: ERRORS
linux-2.6.32-powerpc64: ERRORS
linux-2.6.22.19-x86_64: ERRORS
linux-2.6.23.12-x86_64: ERRORS
linux-2.6.24.7-x86_64: ERRORS
linux-2.6.25.11-x86_64: ERRORS
linux-2.6.26-x86_64: ERRORS
linux-2.6.27-x86_64: ERRORS
linux-2.6.28-x86_64: ERRORS
linux-2.6.29.1-x86_64: ERRORS
linux-2.6.30-x86_64: ERRORS
linux-2.6.31-x86_64: ERRORS
linux-2.6.32-x86_64: ERRORS
spec: OK
sparse (linux-2.6.32): ERRORS
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: ERRORS
linux-2.6.20.21-i686: ERRORS
linux-2.6.21.7-i686: ERRORS
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: ERRORS
linux-2.6.19.5-x86_64: ERRORS
linux-2.6.20.21-x86_64: ERRORS
linux-2.6.21.7-x86_64: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
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] SheevaBox as a media Server and a Fit-PC as a streaming client?

2009-12-16 Thread Tomasz Belina

Hi,

I've got sheeva plug device. It works as file server over smb. I  
didn't check how it works with Full HD movies but there is no problem  
with HD Ready movies. I can check things like max transfer rate and  
let you know what this thing can do.


Best Regards
--
Tomasz Belina

Dnia 2009-12-16 o godz. 16:12 Lothar Behrens lothar.behr...@lollisoft.de 
 napisał(a):



Hi,

I am new here and start with a setup question.

The media or NAS server I think about: http://plugcomputer.org/

It has a high speed USB 2.0 port and a gigabit Lan.

Using Linux and VLC as the streaming server, would this be good for  
streaming full HD videos from a attached USB hard drive?

The streaming client in mind: http://www.fit-pc.com/web/

Would it be possible to use this box (the cheapest one is about 299  
€ + shipping in germany) with XBMC or other stuff?
I mean saving the hard drives in the client box when a SAN is used.  
Both could use Linux and thus fully controlled and tweaked for best  
performing as a media center solution.


The reason why I ask is because my brother want's to save money and  
don't like to waste money for hardware components that may not  
really needed.


Other devices in mind were these components:

http://www.openpr.de/news/365458/Movie-Cube-S800H-Genuss-fuer-Augen-und-Ohren.html
http://www.tomsnetworking.de/content/aktuelles/news_beitrag/news/3828/index.html

But is there the opportunity to use the media from the movie cube to  
be streamed to other computers?


Thanks for your help,

Lothar

-- | Rapid Prototyping | XSLT Codegeneration | http://www.lollisoft.de
Lothar Behrens
Heinrich-Scheufelen-Platz 2
73252 Lenningen









___
linux-dvb users mailing list
For V4L/DVB development, please use instead linux- 
me...@vger.kernel.org

linux-...@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

--
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: [PATCH/RFC] tmio_mmc: keep card-detect interrupts enabled

2009-12-16 Thread Guennadi Liakhovetski
On Sat, 28 Nov 2009, Guennadi Liakhovetski wrote:

 On Tue, 10 Nov 2009, Ian Molton wrote:
 
  Well if they are only masked they shouldnt stop being asserted. But we
  should unmask them again.
  
  Im not really sure we should mask them anyway, with the card possibly
  being gone... Will need to look into it further.
 
 Hi Ian
 
 What's the status of this patch? Are you going to queue it for 2.6.33?

Ian, ping? I still don't see this patch in any (Linus' / next) upstream 
tree and the merge window will be closing soon. Any update?

Thanks
Guennadi

 
 Thanks
 Guennadi
 
  
  2009/11/9 Guennadi Liakhovetski g.liakhovet...@gmx.de:
   (re-adding accidentally dropped ML)
  
   On Mon, 9 Nov 2009, Ian Molton wrote:
  
   Well, I presume we want to know when the card gets removed :)
  
   Sure, that's why we shouldn't mask those interrupts:-) If they do get
   masked and missed, I do not know, if the interrupt remains pending in this
   case, because they never get detected then:)
  
  
   2009/11/9 Guennadi Liakhovetski g.liakhovet...@gmx.de:
Hi Ian
   
Why did you drop all CCs?
   
On Mon, 9 Nov 2009, Ian Molton wrote:
   
I havent looked at the consequences for the driver if a insert IRQ
occurs during IO, however it seems logical that we should not
permanently mask the IRQ.
   
I presume that the IRQ remains pending?
   
Don't know, never checked. Is this important to know?
   
Thanks
Guennadi
   
   
2009/11/6 Guennadi Liakhovetski g.liakhovet...@gmx.de:
 On SuperH platforms the SDHI controller does not produce any 
 command IRQs
 after a completed IO. This leads to card-detect interrupts staying
 disabled. Do not disable card-detect interrupts on DATA IRQs.

 Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de
 ---

 Marked as RFC because I'm not really sure this is a correct 
 approach to
 fix this problem, and whether this will have negative effect on 
 other
 tmio_mmc MFD users.

 diff --git a/drivers/mmc/host/tmio_mmc.h 
 b/drivers/mmc/host/tmio_mmc.h
 index c676767..0b31d44 100644
 --- a/drivers/mmc/host/tmio_mmc.h
 +++ b/drivers/mmc/host/tmio_mmc.h
 @@ -55,10 +55,8 @@
  /* Define some IRQ masks */
  /* This is the mask used at reset by the chip */
  #define TMIO_MASK_ALL           0x837f031d
 -#define TMIO_MASK_READOP  (TMIO_STAT_RXRDY | TMIO_STAT_DATAEND | \
 -               TMIO_STAT_CARD_REMOVE | TMIO_STAT_CARD_INSERT)
 -#define TMIO_MASK_WRITEOP (TMIO_STAT_TXRQ | TMIO_STAT_DATAEND | \
 -               TMIO_STAT_CARD_REMOVE | TMIO_STAT_CARD_INSERT)
 +#define TMIO_MASK_READOP  (TMIO_STAT_RXRDY | TMIO_STAT_DATAEND)
 +#define TMIO_MASK_WRITEOP (TMIO_STAT_TXRQ | TMIO_STAT_DATAEND)
  #define TMIO_MASK_CMD     (TMIO_STAT_CMDRESPEND | 
 TMIO_STAT_CMDTIMEOUT | \
                TMIO_STAT_CARD_REMOVE | TMIO_STAT_CARD_INSERT)
  #define TMIO_MASK_IRQ     (TMIO_MASK_READOP | TMIO_MASK_WRITEOP | 
 TMIO_MASK_CMD)
  
   Thanks
   Guennadi
   ---
   Guennadi Liakhovetski, Ph.D.
   Freelance Open-Source Software Developer
   http://www.open-technology.de/
  
  
  
  
  -- 
  Ian Molton
  Linux, Automotive, and other hacking:
  http://www.mnementh.co.uk/
  
 
 ---
 Guennadi Liakhovetski
 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
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


[PATCH 0/4 v12] Support for TVP7002 in DM365

2009-12-16 Thread Santiago Nunez-Corrales

This series of patches provide support for the TVP7002 decoder in DM365.

Support includes:

* Inclusion of the chip in v4l2 definitions
* Definition of TVP7002 specific data structures
* Kconfig and Makefile support

This series corrects many issued pointed out by Snehaprabha Narnakaje,
Muralidharan Karicheri, Vaibhav Hiremath and Hans Verkuil and solves
testing problems.  Tested on DM365 TI EVM with resolutions 720p,
10...@60, 576P and 480P with video capture application and video
output in 480P, 576P, 720P and 1080I. This driver depends upon
board-dm365-evm.c and vpfe_capture.c to be ready for complete
integration. Uses the new V4L2 DV API sent by Muralidharan Karicheri.
Removed shadow register values. Removed unnecesary power down and up
of the device (tests work fine). Improved readability. Uses Murali's
preset helper function.


--
Santiago Nunez-Corrales, Eng.
RidgeRun Engineering, LLC

Guayabos, Curridabat
San Jose, Costa Rica
+(506) 2271 1487
+(506) 8313 0536
http://www.ridgerun.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


[PATCH 1/4 v12] Support for TVP7002 in v4l2 definitions

2009-12-16 Thread santiago . nunez
From: Santiago Nunez-Corrales santiago.nu...@ridgerun.com

This patch provides required chip identification definitions
within v4l2. Included only definitions for TVP7002.

Signed-off-by: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
---
 include/media/v4l2-chip-ident.h |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h
index cf16689..7e80c4f 100644
--- a/include/media/v4l2-chip-ident.h
+++ b/include/media/v4l2-chip-ident.h
@@ -129,6 +129,9 @@ enum {
V4L2_IDENT_SAA6752HS = 6752,
V4L2_IDENT_SAA6752HS_AC3 = 6753,
 
+   /* module tvp7002: just ident 7002 */
+   V4L2_IDENT_TVP7002 = 7002,
+
/* module adv7170: just ident 7170 */
V4L2_IDENT_ADV7170 = 7170,
 
-- 
1.6.0.4

--
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


[PATCH 2/4 v12] Definitions for TVP7002 in DM365

2009-12-16 Thread santiago . nunez
From: Santiago Nunez-Corrales santiago.nu...@ridgerun.com

This patch provides the required definitions for the TVP7002 driver
in DM365.

Signed-off-by: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
---
 drivers/media/video/tvp7002_reg.h |  150 +
 include/media/tvp7002.h   |   56 ++
 2 files changed, 206 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/tvp7002_reg.h
 create mode 100644 include/media/tvp7002.h

diff --git a/drivers/media/video/tvp7002_reg.h 
b/drivers/media/video/tvp7002_reg.h
new file mode 100644
index 000..0e34ca9
--- /dev/null
+++ b/drivers/media/video/tvp7002_reg.h
@@ -0,0 +1,150 @@
+/* Texas Instruments Triple 8-/10-BIT 165-/110-MSPS Video and Graphics
+ * Digitizer with Horizontal PLL registers
+ *
+ * Copyright (C) 2009 Texas Instruments Inc
+ * Author: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
+ *
+ * This code is partially based upon the TVP5150 driver
+ * written by Mauro Carvalho Chehab (mche...@infradead.org),
+ * the TVP514x driver written by Vaibhav Hiremath hvaib...@ti.com
+ * and the TVP7002 driver in the TI LSP 2.10.00.14
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/* Naming conventions
+ * --
+ *
+ * FDBK:  Feedback
+ * DIV:   Divider
+ * CTL:   Control
+ * SEL:   Select
+ * IN:Input
+ * OUT:   Output
+ * R: Red
+ * G: Green
+ * B: Blue
+ * OFF:   Offset
+ * THRS:  Threshold
+ * DGTL:  Digital
+ * LVL:   Level
+ * PWR:   Power
+ * MVIS:  Macrovision
+ * W: Width
+ * H: Height
+ * ALGN:  Alignment
+ * CLK:   Clocks
+ * TOL:   Tolerance
+ * BWTH:  Bandwidth
+ * COEF:  Coefficient
+ * STAT:  Status
+ * AUTO:  Automatic
+ * FLD:   Field
+ * L:Line
+ */
+
+#define TVP7002_CHIP_REV   0x00
+#define TVP7002_HPLL_FDBK_DIV_MSBS 0x01
+#define TVP7002_HPLL_FDBK_DIV_LSBS 0x02
+#define TVP7002_HPLL_CRTL  0x03
+#define TVP7002_HPLL_PHASE_SEL 0x04
+#define TVP7002_CLAMP_START0x05
+#define TVP7002_CLAMP_W0x06
+#define TVP7002_HSYNC_OUT_W0x07
+#define TVP7002_B_FINE_GAIN0x08
+#define TVP7002_G_FINE_GAIN0x09
+#define TVP7002_R_FINE_GAIN0x0a
+#define TVP7002_B_FINE_OFF_MSBS0x0b
+#define TVP7002_G_FINE_OFF_MSBS 0x0c
+#define TVP7002_R_FINE_OFF_MSBS 0x0d
+#define TVP7002_SYNC_CTL_1 0x0e
+#define TVP7002_HPLL_AND_CLAMP_CTL 0x0f
+#define TVP7002_SYNC_ON_G_THRS 0x10
+#define TVP7002_SYNC_SEPARATOR_THRS0x11
+#define TVP7002_HPLL_PRE_COAST 0x12
+#define TVP7002_HPLL_POST_COAST0x13
+#define TVP7002_SYNC_DETECT_STAT   0x14
+#define TVP7002_OUT_FORMATTER  0x15
+#define TVP7002_MISC_CTL_1 0x16
+#define TVP7002_MISC_CTL_2  0x17
+#define TVP7002_MISC_CTL_3  0x18
+#define TVP7002_IN_MUX_SEL_1   0x19
+#define TVP7002_IN_MUX_SEL_20x1a
+#define TVP7002_B_AND_G_COARSE_GAIN0x1b
+#define TVP7002_R_COARSE_GAIN  0x1c
+#define TVP7002_FINE_OFF_LSBS  0x1d
+#define TVP7002_B_COARSE_OFF   0x1e
+#define TVP7002_G_COARSE_OFF0x1f
+#define TVP7002_R_COARSE_OFF0x20
+#define TVP7002_HSOUT_OUT_START0x21
+#define TVP7002_MISC_CTL_4 0x22
+#define TVP7002_B_DGTL_ALC_OUT_LSBS0x23
+#define TVP7002_G_DGTL_ALC_OUT_LSBS 0x24
+#define TVP7002_R_DGTL_ALC_OUT_LSBS 0x25
+#define TVP7002_AUTO_LVL_CTL_ENABLE0x26
+#define TVP7002_DGTL_ALC_OUT_MSBS  0x27
+#define TVP7002_AUTO_LVL_CTL_FILTER0x28
+/* Reserved 0x29*/
+#define TVP7002_FINE_CLAMP_CTL 0x2a
+#define TVP7002_PWR_CTL0x2b
+#define TVP7002_ADC_SETUP  0x2c
+#define TVP7002_COARSE_CLAMP_CTL   0x2d
+#define TVP7002_SOG_CLAMP  0x2e
+#define TVP7002_RGB_COARSE_CLAMP_CTL   0x2f
+#define TVP7002_SOG_COARSE_CLAMP_CTL   0x30
+#define TVP7002_ALC_PLACEMENT  0x31
+/* Reserved 0x32 */
+/* Reserved 0x33 */
+#define TVP7002_MVIS_STRIPPER_W0x34
+#define TVP7002_VSYNC_ALGN 0x35
+#define TVP7002_SYNC_BYPASS0x36
+#define TVP7002_L_FRAME_STAT_LSBS  0x37
+#define TVP7002_L_FRAME_STAT_MSBS  0x38
+#define 

[PATCH 3/4 v12] TVP7002 driver for DM365

2009-12-16 Thread santiago . nunez
From: Santiago Nunez-Corrales santiago.nu...@ridgerun.com

This patch provides the implementation of the TVP7002 decoder
driver for DM365. Implemented using the V4L2 DV presets API.
Removed shadow register values. Testing shows that the device
needs not to be powered down and up for correct behaviour.
Improved readability. Uses helper function for preset information.

Signed-off-by: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
---
 drivers/media/video/tvp7002.c | 1189 +
 1 files changed, 1189 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/tvp7002.c

diff --git a/drivers/media/video/tvp7002.c b/drivers/media/video/tvp7002.c
new file mode 100644
index 000..6ce57b6
--- /dev/null
+++ b/drivers/media/video/tvp7002.c
@@ -0,0 +1,1189 @@
+/* Texas Instruments Triple 8-/10-BIT 165-/110-MSPS Video and Graphics
+ * Digitizer with Horizontal PLL registers
+ *
+ * Copyright (C) 2009 Texas Instruments Inc
+ * Author: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
+ *
+ * This code is partially based upon the TVP5150 driver
+ * written by Mauro Carvalho Chehab (mche...@infradead.org),
+ * the TVP514x driver written by Vaibhav Hiremath hvaib...@ti.com
+ * and the TVP7002 driver in the TI LSP 2.10.00.14. Revisions by
+ * Muralidharan Karicheri and Snehaprabha Narnakaje (TI).
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+#include linux/delay.h
+#include linux/i2c.h
+#include linux/videodev2.h
+#include media/tvp7002.h
+#include media/v4l2-device.h
+#include media/v4l2-chip-ident.h
+#include media/v4l2-common.h
+#include tvp7002_reg.h
+
+MODULE_DESCRIPTION(TI TVP7002 Video and Graphics Digitizer driver);
+MODULE_AUTHOR(Santiago Nunez-Corrales santiago.nu...@ridgerun.com);
+MODULE_LICENSE(GPL);
+
+/* Module Name */
+#define TVP7002_MODULE_NAMEtvp7002
+
+/* I2C retry attempts */
+#define I2C_RETRY_COUNT(5)
+
+/* End of registers */
+#define TVP7002_EOR0x5c
+
+/* Read write definition for registers */
+#define TVP7002_READ   0
+#define TVP7002_WRITE  1
+#define TVP7002_RESERVED   2
+
+/* Interlaced vs progressive mask and shift */
+#define TVP7002_IP_SHIFT   5
+#define TVP7002_INPR_MASK  (0x01  TVP7002_IP_SHIFT)
+
+/* Shift for CPL and LPF registers */
+#define TVP7002_CL_SHIFT   8
+#define TVP7002_CL_MASK0x0f
+
+/* Debug functions */
+static int debug;
+module_param(debug, bool, 0644);
+MODULE_PARM_DESC(debug, Debug level (0-2));
+
+/* Structure for register values */
+struct i2c_reg_value {
+   u8 reg;
+   u8 value;
+   u8 type;
+};
+
+/*
+ * Register default values (according to tvp7002 datasheet)
+ * In the case of read-only registers, the value (0xff) is
+ * never written. R/W functionality is controlled by the
+ * writable bit in the register struct definition.
+ */
+static const struct i2c_reg_value tvp7002_init_default[] = {
+   { TVP7002_CHIP_REV, 0xff, TVP7002_READ },
+   { TVP7002_HPLL_FDBK_DIV_MSBS, 0x67, TVP7002_WRITE },
+   { TVP7002_HPLL_FDBK_DIV_LSBS, 0x20, TVP7002_WRITE },
+   { TVP7002_HPLL_CRTL, 0xa0, TVP7002_WRITE },
+   { TVP7002_HPLL_PHASE_SEL, 0x80, TVP7002_WRITE },
+   { TVP7002_CLAMP_START, 0x32, TVP7002_WRITE },
+   { TVP7002_CLAMP_W, 0x20, TVP7002_WRITE },
+   { TVP7002_HSYNC_OUT_W, 0x60, TVP7002_WRITE },
+   { TVP7002_B_FINE_GAIN, 0x00, TVP7002_WRITE },
+   { TVP7002_G_FINE_GAIN, 0x00, TVP7002_WRITE },
+   { TVP7002_R_FINE_GAIN, 0x00, TVP7002_WRITE },
+   { TVP7002_B_FINE_OFF_MSBS, 0x80, TVP7002_WRITE },
+   { TVP7002_G_FINE_OFF_MSBS, 0x80, TVP7002_WRITE },
+   { TVP7002_R_FINE_OFF_MSBS, 0x80, TVP7002_WRITE },
+   { TVP7002_SYNC_CTL_1, 0x20, TVP7002_WRITE },
+   { TVP7002_HPLL_AND_CLAMP_CTL, 0x2e, TVP7002_WRITE },
+   { TVP7002_SYNC_ON_G_THRS, 0x5d, TVP7002_WRITE },
+   { TVP7002_SYNC_SEPARATOR_THRS, 0x47, TVP7002_WRITE },
+   { TVP7002_HPLL_PRE_COAST, 0x00, TVP7002_WRITE },
+   { TVP7002_HPLL_POST_COAST, 0x00, TVP7002_WRITE },
+   { TVP7002_SYNC_DETECT_STAT, 0xff, TVP7002_READ },
+   { TVP7002_OUT_FORMATTER, 0x47, TVP7002_WRITE },
+   { TVP7002_MISC_CTL_1, 0x01, TVP7002_WRITE },
+   { TVP7002_MISC_CTL_2, 0x00, TVP7002_WRITE },
+   { TVP7002_MISC_CTL_3, 0x01, TVP7002_WRITE 

[PATCH 4/4 v12] Menu support for TVP7002 in DM365

2009-12-16 Thread santiago . nunez
From: Santiago Nunez-Corrales santiago.nu...@ridgerun.com

This patch provides menu configuration options for the TVP7002
decoder driver in DM365. Includes only TVP7002.

Signed-off-by: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
---
 drivers/media/video/Kconfig  |9 +
 drivers/media/video/Makefile |1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index e6186b3..25f5735 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -392,6 +392,15 @@ config VIDEO_TVP5150
  To compile this driver as a module, choose M here: the
  module will be called tvp5150.
 
+config VIDEO_TVP7002
+   tristate Texas Instruments TVP7002 video decoder
+   depends on VIDEO_V4L2  I2C
+   ---help---
+ Support for the Texas Instruments TVP7002 video decoder.
+
+ To compile this driver as a module, choose M here: the
+ module will be called tvp7002.
+
 config VIDEO_VPX3220
tristate vpx3220a, vpx3216b  vpx3214c video decoders
depends on VIDEO_V4L2  I2C
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index e541932..a4fff2a 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -56,6 +56,7 @@ obj-$(CONFIG_VIDEO_THS7303) += ths7303.o
 obj-$(CONFIG_VIDEO_VINO) += indycam.o
 obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o
 obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o
+obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o
 obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o
 obj-$(CONFIG_VIDEO_CS5345) += cs5345.o
 obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o
-- 
1.6.0.4

--
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: [Bugme-new] [Bug 14564] New: capture-example sleeping function called from invalid context at arch/x86/mm/fault.c

2009-12-16 Thread Sean
Thanks, that patch definitely traps the bug. Unfortunately there are so 
many debug messages that the capture-example.c times out trying to 
connect to the webcam. The debug messages slow down the process enough 
to make that happen. But if I modify your patch and take out the extra 
debug messages, it works well. The modified patch is below.


Reproducing the bug in four separate instances I got:
ohci_hcd :00:0a.0: poisoned hash at c67a285c 
ohci_hcd :00:0a.0: poisoned hash at c67b875c

ohci_hcd :00:0a.0: poisoned hash at c67a179c
ohci_hcd :00:0a.0: poisoned hash at c679c79c

Sean Lazar

--- ohci-mem.c.orig2009-12-16 22:57:49.0 +
+++ ohci-mem.c2009-12-16 22:49:37.0 +
@@ -103,8 +103,13 @@
{
struct td**prev = hc-td_hash [TD_HASH_FUNC (td-td_dma)];

-while (*prev  *prev != td)
+while (*prev  *prev != td) {
+if ((unsigned long) *prev == 0xa7a7a7a7) {
+ohci_info(hc, poisoned hash at %p\n, prev);
+return;
+}
prev = (*prev)-td_hash;
+}
if (*prev)
*prev = td-td_hash;
else if ((td-hwINFO  cpu_to_hc32(hc, TD_DONE)) != 0)


Alan Stern wrote:

On Wed, 2 Dec 2009, Sean wrote:

  

Is there anything I can do to help? This is a show stopping bug for me.



Here's a patch you can try.  It will add a _lot_ of debugging
information to the system log.  Maybe it will help pin down the source
of the problem.

Alan Stern



Index: 2.6.31/drivers/usb/host/ohci-hcd.c
===
--- 2.6.31.orig/drivers/usb/host/ohci-hcd.c
+++ 2.6.31/drivers/usb/host/ohci-hcd.c
@@ -197,7 +197,7 @@ static int ohci_urb_enqueue (
 
 	/* allocate the TDs (deferring hash chain updates) */

for (i = 0; i  size; i++) {
-   urb_priv-td [i] = td_alloc (ohci, mem_flags);
+   urb_priv-td [i] = td_alloc (ohci, mem_flags, urb-dev, 
urb-ep);
if (!urb_priv-td [i]) {
urb_priv-length = i;
urb_free_priv (ohci, urb_priv);
Index: 2.6.31/drivers/usb/host/ohci-mem.c
===
--- 2.6.31.orig/drivers/usb/host/ohci-mem.c
+++ 2.6.31/drivers/usb/host/ohci-mem.c
@@ -82,7 +82,8 @@ dma_to_td (struct ohci_hcd *hc, dma_addr
 
 /* TDs ... */

 static struct td *
-td_alloc (struct ohci_hcd *hc, gfp_t mem_flags)
+td_alloc (struct ohci_hcd *hc, gfp_t mem_flags, struct usb_device *udev,
+   struct usb_host_endpoint *ep)
 {
dma_addr_t  dma;
struct td   *td;
@@ -94,6 +95,8 @@ td_alloc (struct ohci_hcd *hc, gfp_t mem
td-hwNextTD = cpu_to_hc32 (hc, dma);
td-td_dma = dma;
/* hashed in td_fill */
+   ohci_info(hc, td alloc for %s ep%x: %p\n,
+   udev-devpath, ep-desc.bEndpointAddress, td);
}
return td;
 }
@@ -103,8 +106,14 @@ td_free (struct ohci_hcd *hc, struct td 
 {

struct td   **prev = hc-td_hash [TD_HASH_FUNC (td-td_dma)];
 
-	while (*prev  *prev != td)

+   ohci_info(hc, td free %p\n, td);
+   while (*prev  *prev != td) {
+   if ((unsigned long) *prev == 0xa7a7a7a7) {
+   ohci_info(hc, poisoned hash at %p\n, prev);
+   return;
+   }
prev = (*prev)-td_hash;
+   }
if (*prev)
*prev = td-td_hash;
else if ((td-hwINFO  cpu_to_hc32(hc, TD_DONE)) != 0)
Index: 2.6.31/drivers/usb/host/ohci-q.c
===
--- 2.6.31.orig/drivers/usb/host/ohci-q.c
+++ 2.6.31/drivers/usb/host/ohci-q.c
@@ -403,7 +403,7 @@ static struct ed *ed_get (
}
 
 		/* dummy td; end of td list for ed */

-   td = td_alloc (ohci, GFP_ATOMIC);
+   td = td_alloc (ohci, GFP_ATOMIC, udev, ep);
if (!td) {
/* out of memory */
ed_free (ohci, ed);

--
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

  

--
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/~pinchartl/uvcvideo/

2009-12-16 Thread Laurent Pinchart
Mauro,

Please pull from http://linuxtv.org/hg/~pinchartl/uvcvideo/

for the following 6 changesets:

01/06: uvcvideo: Fix controls blacklisting
http://linuxtv.org/hg/~pinchartl/uvcvideo/?cmd=changeset;node=0826158f044c

02/06: uvcvideo: Switch to a monotonic clock for V4L2 buffers timestamps
http://linuxtv.org/hg/~pinchartl/uvcvideo/?cmd=changeset;node=101e9906760b

03/06: uvcvideo: Make the quirks module parameter override the built-in quirks
http://linuxtv.org/hg/~pinchartl/uvcvideo/?cmd=changeset;node=655336840534

04/06: uvcvideo: Fix alternate setting selection in isochronous mode
http://linuxtv.org/hg/~pinchartl/uvcvideo/?cmd=changeset;node=033b5968aa1a

05/06: uvcvideo: add another YUYV format GUID for iSight cameras
http://linuxtv.org/hg/~pinchartl/uvcvideo/?cmd=changeset;node=c1f376eae978

06/06: uvcvideo: Fix oops caused by a race condition in buffer dequeuing
http://linuxtv.org/hg/~pinchartl/uvcvideo/?cmd=changeset;node=fc9c55827738

The last changeset is a high-prio one, and should probably be backported to
the stable kernel line.

 uvc_ctrl.c   |9 +++-
 uvc_driver.c |   65 ++-
 uvc_queue.c  |   14 
 uvc_video.c  |   55 ++---
 uvcvideo.h   |9 ++--
 5 files changed, 113 insertions(+), 39 deletions(-)

-- 
Thanks,

Laurent Pinchart
--
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


Question about the signal of struct v4l2_tuner to set value

2009-12-16 Thread Joonyoung Shim
Hi, all.

I wonder about the usage of the signal variable of struct v4l2_tuner. I
have found only to use it to get the signal strength on drivers.

The si470x radio device can set the seek threshold value of
RSSI(Received Signal Strength Indicator) when the device scans the
channels, so if the current RSSI value is low than the seek threshold
value, the device decides the frequency is nonvalidate channel.

So, i need v4l2 interface to set the best seek threshold value and i
want to use the signal of struct v4l2_tuner for it. Can the signal
variable be used to set the value?
--
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: [PATCH 3/4 v12] TVP7002 driver for DM365

2009-12-16 Thread Hans Verkuil
Hi Santiago,

I found just a few small things. So when those are fixed, then I will make a
hg tree for this driver and ask Mauro to pull from it.

On Wednesday 16 December 2009 22:32:02 santiago.nu...@ridgerun.com wrote:
 From: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
 
 This patch provides the implementation of the TVP7002 decoder
 driver for DM365. Implemented using the V4L2 DV presets API.
 Removed shadow register values. Testing shows that the device
 needs not to be powered down and up for correct behaviour.
 Improved readability. Uses helper function for preset information.
 
 Signed-off-by: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
 ---
  drivers/media/video/tvp7002.c | 1189 
 +
  1 files changed, 1189 insertions(+), 0 deletions(-)
  create mode 100644 drivers/media/video/tvp7002.c
 
 diff --git a/drivers/media/video/tvp7002.c b/drivers/media/video/tvp7002.c
 new file mode 100644
 index 000..6ce57b6
 --- /dev/null
 +++ b/drivers/media/video/tvp7002.c
 @@ -0,0 +1,1189 @@
 +/* Texas Instruments Triple 8-/10-BIT 165-/110-MSPS Video and Graphics
 + * Digitizer with Horizontal PLL registers
 + *
 + * Copyright (C) 2009 Texas Instruments Inc
 + * Author: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
 + *
 + * This code is partially based upon the TVP5150 driver
 + * written by Mauro Carvalho Chehab (mche...@infradead.org),
 + * the TVP514x driver written by Vaibhav Hiremath hvaib...@ti.com
 + * and the TVP7002 driver in the TI LSP 2.10.00.14. Revisions by
 + * Muralidharan Karicheri and Snehaprabha Narnakaje (TI).
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 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 General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 + */
 +#include linux/delay.h
 +#include linux/i2c.h
 +#include linux/videodev2.h
 +#include media/tvp7002.h
 +#include media/v4l2-device.h
 +#include media/v4l2-chip-ident.h
 +#include media/v4l2-common.h
 +#include tvp7002_reg.h
 +
 +MODULE_DESCRIPTION(TI TVP7002 Video and Graphics Digitizer driver);
 +MODULE_AUTHOR(Santiago Nunez-Corrales santiago.nu...@ridgerun.com);
 +MODULE_LICENSE(GPL);
 +
 +/* Module Name */
 +#define TVP7002_MODULE_NAME  tvp7002
 +
 +/* I2C retry attempts */
 +#define I2C_RETRY_COUNT  (5)
 +
 +/* End of registers */
 +#define TVP7002_EOR  0x5c
 +
 +/* Read write definition for registers */
 +#define TVP7002_READ 0
 +#define TVP7002_WRITE1
 +#define TVP7002_RESERVED 2
 +
 +/* Interlaced vs progressive mask and shift */
 +#define TVP7002_IP_SHIFT 5
 +#define TVP7002_INPR_MASK(0x01  TVP7002_IP_SHIFT)
 +
 +/* Shift for CPL and LPF registers */
 +#define TVP7002_CL_SHIFT 8
 +#define TVP7002_CL_MASK  0x0f
 +
 +/* Debug functions */
 +static int debug;
 +module_param(debug, bool, 0644);
 +MODULE_PARM_DESC(debug, Debug level (0-2));
 +
 +/* Structure for register values */
 +struct i2c_reg_value {
 + u8 reg;
 + u8 value;
 + u8 type;
 +};
 +
 +/*
 + * Register default values (according to tvp7002 datasheet)
 + * In the case of read-only registers, the value (0xff) is
 + * never written. R/W functionality is controlled by the
 + * writable bit in the register struct definition.
 + */
 +static const struct i2c_reg_value tvp7002_init_default[] = {
 + { TVP7002_CHIP_REV, 0xff, TVP7002_READ },
 + { TVP7002_HPLL_FDBK_DIV_MSBS, 0x67, TVP7002_WRITE },
 + { TVP7002_HPLL_FDBK_DIV_LSBS, 0x20, TVP7002_WRITE },
 + { TVP7002_HPLL_CRTL, 0xa0, TVP7002_WRITE },
 + { TVP7002_HPLL_PHASE_SEL, 0x80, TVP7002_WRITE },
 + { TVP7002_CLAMP_START, 0x32, TVP7002_WRITE },
 + { TVP7002_CLAMP_W, 0x20, TVP7002_WRITE },
 + { TVP7002_HSYNC_OUT_W, 0x60, TVP7002_WRITE },
 + { TVP7002_B_FINE_GAIN, 0x00, TVP7002_WRITE },
 + { TVP7002_G_FINE_GAIN, 0x00, TVP7002_WRITE },
 + { TVP7002_R_FINE_GAIN, 0x00, TVP7002_WRITE },
 + { TVP7002_B_FINE_OFF_MSBS, 0x80, TVP7002_WRITE },
 + { TVP7002_G_FINE_OFF_MSBS, 0x80, TVP7002_WRITE },
 + { TVP7002_R_FINE_OFF_MSBS, 0x80, TVP7002_WRITE },
 + { TVP7002_SYNC_CTL_1, 0x20, TVP7002_WRITE },
 + { TVP7002_HPLL_AND_CLAMP_CTL, 0x2e, TVP7002_WRITE },
 + { TVP7002_SYNC_ON_G_THRS, 0x5d, TVP7002_WRITE },
 + { TVP7002_SYNC_SEPARATOR_THRS, 0x47, TVP7002_WRITE },
 + { TVP7002_HPLL_PRE_COAST, 0x00, TVP7002_WRITE },
 + { TVP7002_HPLL_POST_COAST, 0x00, 

Re: [PATCH 2/4 v12] Definitions for TVP7002 in DM365

2009-12-16 Thread Hans Verkuil
On Wednesday 16 December 2009 22:31:54 santiago.nu...@ridgerun.com wrote:
 From: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
 
 This patch provides the required definitions for the TVP7002 driver
 in DM365.
 
 Signed-off-by: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
 ---
  drivers/media/video/tvp7002_reg.h |  150 
 +
  include/media/tvp7002.h   |   56 ++
  2 files changed, 206 insertions(+), 0 deletions(-)
  create mode 100644 drivers/media/video/tvp7002_reg.h
  create mode 100644 include/media/tvp7002.h
 
 diff --git a/drivers/media/video/tvp7002_reg.h 
 b/drivers/media/video/tvp7002_reg.h
 new file mode 100644
 index 000..0e34ca9
 --- /dev/null
 +++ b/drivers/media/video/tvp7002_reg.h
 @@ -0,0 +1,150 @@
 +/* Texas Instruments Triple 8-/10-BIT 165-/110-MSPS Video and Graphics
 + * Digitizer with Horizontal PLL registers
 + *
 + * Copyright (C) 2009 Texas Instruments Inc
 + * Author: Santiago Nunez-Corrales santiago.nu...@ridgerun.com
 + *
 + * This code is partially based upon the TVP5150 driver
 + * written by Mauro Carvalho Chehab (mche...@infradead.org),
 + * the TVP514x driver written by Vaibhav Hiremath hvaib...@ti.com
 + * and the TVP7002 driver in the TI LSP 2.10.00.14
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 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 General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 + */
 +
 +/* Naming conventions
 + * --
 + *
 + * FDBK:  Feedback
 + * DIV:   Divider
 + * CTL:   Control
 + * SEL:   Select
 + * IN:Input
 + * OUT:   Output
 + * R: Red
 + * G: Green
 + * B: Blue
 + * OFF:   Offset
 + * THRS:  Threshold
 + * DGTL:  Digital
 + * LVL:   Level
 + * PWR:   Power
 + * MVIS:  Macrovision
 + * W: Width
 + * H: Height
 + * ALGN:  Alignment
 + * CLK:   Clocks
 + * TOL:   Tolerance
 + * BWTH:  Bandwidth
 + * COEF:  Coefficient
 + * STAT:  Status
 + * AUTO:  Automatic
 + * FLD:   Field
 + * L:  Line
 + */
 +
 +#define TVP7002_CHIP_REV 0x00
 +#define TVP7002_HPLL_FDBK_DIV_MSBS   0x01
 +#define TVP7002_HPLL_FDBK_DIV_LSBS   0x02
 +#define TVP7002_HPLL_CRTL0x03
 +#define TVP7002_HPLL_PHASE_SEL   0x04
 +#define TVP7002_CLAMP_START  0x05
 +#define TVP7002_CLAMP_W  0x06
 +#define TVP7002_HSYNC_OUT_W  0x07
 +#define TVP7002_B_FINE_GAIN  0x08
 +#define TVP7002_G_FINE_GAIN  0x09
 +#define TVP7002_R_FINE_GAIN  0x0a
 +#define TVP7002_B_FINE_OFF_MSBS  0x0b
 +#define TVP7002_G_FINE_OFF_MSBS 0x0c
 +#define TVP7002_R_FINE_OFF_MSBS 0x0d
 +#define TVP7002_SYNC_CTL_1   0x0e
 +#define TVP7002_HPLL_AND_CLAMP_CTL   0x0f
 +#define TVP7002_SYNC_ON_G_THRS   0x10
 +#define TVP7002_SYNC_SEPARATOR_THRS  0x11
 +#define TVP7002_HPLL_PRE_COAST   0x12
 +#define TVP7002_HPLL_POST_COAST  0x13
 +#define TVP7002_SYNC_DETECT_STAT 0x14
 +#define TVP7002_OUT_FORMATTER0x15
 +#define TVP7002_MISC_CTL_1   0x16
 +#define TVP7002_MISC_CTL_2  0x17
 +#define TVP7002_MISC_CTL_3  0x18
 +#define TVP7002_IN_MUX_SEL_1 0x19
 +#define TVP7002_IN_MUX_SEL_20x1a
 +#define TVP7002_B_AND_G_COARSE_GAIN  0x1b
 +#define TVP7002_R_COARSE_GAIN0x1c
 +#define TVP7002_FINE_OFF_LSBS0x1d
 +#define TVP7002_B_COARSE_OFF 0x1e
 +#define TVP7002_G_COARSE_OFF0x1f
 +#define TVP7002_R_COARSE_OFF0x20
 +#define TVP7002_HSOUT_OUT_START  0x21
 +#define TVP7002_MISC_CTL_4   0x22
 +#define TVP7002_B_DGTL_ALC_OUT_LSBS  0x23
 +#define TVP7002_G_DGTL_ALC_OUT_LSBS 0x24
 +#define TVP7002_R_DGTL_ALC_OUT_LSBS 0x25
 +#define TVP7002_AUTO_LVL_CTL_ENABLE  0x26
 +#define TVP7002_DGTL_ALC_OUT_MSBS0x27
 +#define TVP7002_AUTO_LVL_CTL_FILTER  0x28
 +/* Reserved 0x29*/
 +#define TVP7002_FINE_CLAMP_CTL   0x2a
 +#define TVP7002_PWR_CTL  0x2b
 +#define TVP7002_ADC_SETUP0x2c
 +#define TVP7002_COARSE_CLAMP_CTL 0x2d
 +#define TVP7002_SOG_CLAMP0x2e
 +#define TVP7002_RGB_COARSE_CLAMP_CTL 0x2f
 +#define TVP7002_SOG_COARSE_CLAMP_CTL 0x30
 +#define TVP7002_ALC_PLACEMENT0x31
 +/* Reserved 0x32 */
 +/* Reserved 0x33 */
 +#define TVP7002_MVIS_STRIPPER_W  0x34