Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver

2009-04-30 Thread InKi Dae
hello Shah, Hardik..

your omap_vout.c has the problem that it disables video1 or fb1.
so I have modified your code.

I defined and set platform_data for DSS2 in machine code.(or board file)

static struct omapfb_platform_data xxx_dss_platform_data = {
.mem_desc.region[0].format = OMAPFB_COLOR_ARGB32,
.mem_desc.region[0].format_used=1,

.mem_desc.region[1].format = OMAPFB_COLOR_RGB24U,
.mem_desc.region[1].format_used=1,

.mem_desc.region[2].format = OMAPFB_COLOR_ARGB32,
.mem_desc.region[2].format_used=1,
};

omapfb_set_platform_data(xxx_dss_platform_data);

after that, omap_vout has resource count got referring to framebuffer count,
registers overlay as vout's one and would decide to use which overlay.

at that time, your code would face with impact on some overlay(fb or video).

this patch would solve that problem.
when it sets overlay to vout, vout would get overlay array index to
avoid overlapping with other overlay.


sighed-off-by: InKi Dae. inki@samsung.com
---
diff --git a/drivers/media/video/omap/omap_vout.c
b/drivers/media/video/omap/omap_vout.c
index 9b4a0d7..051298a 100644
--- a/drivers/media/video/omap/omap_vout.c
+++ b/drivers/media/video/omap/omap_vout.c
@@ -2246,11 +2246,13 @@ free_buffers:
 /* Create video out devices */
 static int __init omap_vout_create_video_devices(struct platform_device *pdev)
 {
-   int r = 0, k;
+   int r = 0, k, vout_count;
struct omap_vout_device *vout;
struct video_device *vfd = NULL;
struct omap2video_device *vid_dev = platform_get_drvdata(pdev);

+   vout_count = 3 - pdev-num_resources;
+
for (k = 0; k  pdev-num_resources; k++) {

vout = kmalloc(sizeof(struct omap_vout_device), GFP_KERNEL);
@@ -2266,9 +2268,9 @@ static int __init
omap_vout_create_video_devices(struct platform_device *pdev)
vout-vid = k;
vid_dev-vouts[k] = vout;
vout-vid_info.vid_dev = vid_dev;
-   vout-vid_info.overlays[0] = vid_dev-overlays[k + 1];
+   vout-vid_info.overlays[0] = vid_dev-overlays[k + vout_count];
vout-vid_info.num_overlays = 1;
-   vout-vid_info.id = k + 1;
+   vout-vid_info.id = k + vout_count;
vid_dev-num_videos++;

/* Setup the default configuration for the video devices
@@ -2289,7 +2291,7 @@ static int __init
omap_vout_create_video_devices(struct platform_device *pdev)
/* Register the Video device with V4L2
 */
vfd = vout-vfd;
-   if (video_register_device(vfd, VFL_TYPE_GRABBER, k + 1)  0) {
+   if (video_register_device(vfd, VFL_TYPE_GRABBER, k + 
vout_count)  0) {
printk(KERN_ERR VOUT_NAME : could not register \
Video for Linux device\n);
vfd-minor = -1;


2009/4/22 Shah, Hardik hardik.s...@ti.com:


 -Original Message-
 From: Tomi Valkeinen [mailto:tomi.valkei...@nokia.com]
 Sent: Wednesday, April 22, 2009 1:53 PM
 To: Shah, Hardik
 Cc: linux-media@vger.kernel.org; linux-o...@vger.kernel.org; Jadav, Brijesh 
 R;
 Hiremath, Vaibhav
 Subject: Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver

 Hi,

 On Wed, 2009-04-22 at 08:25 +0200, ext Hardik Shah wrote:
  This is the version 5th of the Driver.
 
  Following are the features supported.
  1. Provides V4L2 user interface for the video pipelines of DSS
  2. Basic streaming working on LCD and TV.
  3. Support for various pixel formats like YUV, UYVY, RGB32, RGB24, RGB565
  4. Supports Alpha blending.
  5. Supports Color keying both source and destination.
  6. Supports rotation with RGB565 and RGB32 pixels formats.
  7. Supports cropping.
  8. Supports Background color setting.
  9. Works on latest DSS2 library from Tomi
  http://www.bat.org/~tomba/git/linux-omap-dss.git/
  10. 1/4x scaling added.  Detail testing left
 
  TODOS
  1. Ioctls needs to be added for color space conversion matrix
  coefficient programming.
  2. To be tested on DVI resolutions.
 
  Comments fixed from community.
  1. V4L2 Driver for OMAP3/3 DSS.
  2.  Conversion of the custom ioctls to standard V4L2 ioctls like alpha
 blending,
  color keying, rotation and back ground color setting
  3.  Re-organised the code as per community comments.
  4.  Added proper copyright year.
  5.  Added module name in printk
  6.  Kconfig option copy/paste error
  7.  Module param desc addded.
  8.  Query control implemented using standard query_fill
  9.  Re-arranged if-else constructs.
  10. Changed to use mutex instead of semaphore.
  11. Removed dual usage of rotation angles.
  12. Implemented function to convert the V4L2 angle to DSS angle.
  13. Y-position was set half by video driver for TV output
  Now its done by DSS so removed that.
  14. Minor cleanup
  15. Added support to pass the page offset to application.
  14. Minor cleanup
  15. Added support to pass the page 

Re: PID discontinuity problems on TT C-2300

2009-04-30 Thread Jan Schneider

Anyone?

Zitat von Jan Schneider j...@horde.org:


Hi,

I tried to get help from the MythTV community to no avail. Maybe  
it's a hardware/driver/dvb subsystem problem, I have no idea.


I see two symptoms, some recordings are generated empty, i.e. Myth  
thinks it has recorded something, but there is no video file created.


Sometimes, recordings just stop in the middle. This is the only case  
where I get a useful log entry *at all*.

But it doesn't say anything more than:
2009-04-22 23:03:07.318 DVBRec(1:0): PID 0x215 discontinuity detected
with different PIDs. This message is continuously being logged until  
the end of the scheduled recordings, sometime interrupted by a single:
2009-04-22 23:03:11.220 AddTSPacket: Out of sync!!! Need to wait for  
next payloa

dStart PID: 0x10, continuity counter: 15 (expected 12).

Please help me someone, no component of this system is logging  
*anything* useful, this used to work one day, and I'm running out of  
ideas and motivation into frustration.


Beside several things I also tried running a recent v4l-dvb hg  
checkout. No change.


Jan.

--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/

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





Jan.

--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/

--
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/5] V4L2 patches for Intel Moorestown Camera Imaging Drivers

2009-04-30 Thread Zhang, Xiaolin
From d8f37b4340ea4cfd28d6e620f1b3224d946b9fab Mon Sep 17 00:00:00 2001
From: Xiaolin Zhang xiaolin.zh...@intel.com
Date: Thu, 30 Apr 2009 12:31:21 +0800
Subject: [PATCH] sensor pseduo driver in camera imaging on Intel moorestown 
platform.
 The moorestown platform with dual cameras will have one the same side as
 the display and the second on the oppsoite side of the display. The pseduo
 driver provides the uniform interface for isp kernel driver.
 Signed-off-by: Xiaolin Zhang xiaolin.zh...@intel.com

---
 drivers/media/video/Makefile   |1 +
 drivers/media/video/mrstci/Kconfig |1 +
 drivers/media/video/mrstci/include/ci_sensor_ioc.h |   57 +
 drivers/media/video/mrstci/include/sensordev.h |  119 +++
 drivers/media/video/mrstci/mrstsensor/Kconfig  |9 +
 drivers/media/video/mrstci/mrstsensor/Makefile |3 +
 drivers/media/video/mrstci/mrstsensor/mrstsensor.c | 1094 
 .../media/video/mrstci/mrstsensor/sensordev_priv.h |   37 +
 8 files changed, 1321 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/mrstci/include/ci_sensor_ioc.h
 create mode 100644 drivers/media/video/mrstci/include/sensordev.h
 create mode 100644 drivers/media/video/mrstci/mrstsensor/Kconfig
 create mode 100644 drivers/media/video/mrstci/mrstsensor/Makefile
 create mode 100644 drivers/media/video/mrstci/mrstsensor/mrstsensor.c
 create mode 100644 drivers/media/video/mrstci/mrstsensor/sensordev_priv.h

diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index f06f1cb..34a3461 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -152,6 +152,7 @@ obj-$(CONFIG_VIDEO_AU0828) += au0828/

 obj-$(CONFIG_USB_VIDEO_CLASS)  += uvc/
 obj-$(CONFIG_VIDEO_MRST_ISP) += mrstci/mrstisp/
+obj-$(CONFIG_VIDEO_MRST_SENSOR) += mrstci/mrstsensor/

 EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
 EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
diff --git a/drivers/media/video/mrstci/Kconfig 
b/drivers/media/video/mrstci/Kconfig
index 8f0a620..bf01447 100644
--- a/drivers/media/video/mrstci/Kconfig
+++ b/drivers/media/video/mrstci/Kconfig
@@ -10,6 +10,7 @@ if VIDEO_MRSTCI  VIDEO_V4L2

 source drivers/media/video/mrstci/mrstisp/Kconfig

+source drivers/media/video/mrstci/mrstsensor/Kconfig

 endif # VIDEO_MRSTCI

diff --git a/drivers/media/video/mrstci/include/ci_sensor_ioc.h 
b/drivers/media/video/mrstci/include/ci_sensor_ioc.h
new file mode 100644
index 000..80d3b0f
--- /dev/null
+++ b/drivers/media/video/mrstci/include/ci_sensor_ioc.h
@@ -0,0 +1,57 @@
+/*
+ * Support for Moorestown Langwell Camera Imaging ISP subsystem.
+ *
+ * Copyright (c) 2009 Intel Corporation. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version
+ * 2 as published by the Free Software Foundation.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ *
+ * Xiaolin Zhang xiaolin.zh...@intel.com
+ */
+
+/* Sensor IOCTL */
+#ifndef _SENSOR_IOC_H
+#define_SENSOR_IOC_H
+
+#ifdef __cplusplus
+extern C {
+#endif
+
+#define SENSOR_MAGIC 0x83
+
+#define SENIOC_QUERYCAP _IOR(SENSOR_MAGIC, 0, struct ci_sensor_caps)
+#define SENIOC_G_CONFIG _IOR(SENSOR_MAGIC, 1, struct ci_sensor_config)
+#define SENIOC_S_CONFIG _IOW(SENSOR_MAGIC, 2, struct ci_sensor_config)
+#define SENIOC_STREAM_ON _IO(SENSOR_MAGIC, 3)
+#define SENIOC_STREAM_OFF _IO(SENSOR_MAGIC, 4)
+#define SENIOC_G_REG _IOWR(SENSOR_MAGIC, 5, struct ci_sensor_reg)
+#define SENIOC_S_REG _IOW(SENSOR_MAGIC, 6, struct ci_sensor_reg)
+/* Get current focus position */
+#define SENIOC_MDI_G_FOCUS _IOR(SENSOR_MAGIC, 9, unsigned int)
+/* Set focus to the given position */
+#define SENIOC_MDI_S_FOCUS _IOW(SENSOR_MAGIC, 10, unsigned int)
+/* Trigger a forced calibration of focus hardware */
+#define SENIOC_MDI_CALIBRATE _IO(SENSOR_MAGIC, 11)
+#define SENIOC_MDI_MAX_STEP _IOR(SENSOR_MAGIC, 12, unsigned int)
+/* Get the max step hardware can support */
+#define SENIOC_ENUMPARM _IOWR(SENSOR_MAGIC, 13, struct ci_sensor_parm)
+#define SENIOC_G_PARM _IOWR(SENSOR_MAGIC, 14, struct ci_sensor_parm)
+#define SENIOC_S_PARM _IOW(SENSOR_MAGIC, 15, struct ci_sensor_parm)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/drivers/media/video/mrstci/include/sensordev.h 
b/drivers/media/video/mrstci/include/sensordev.h
new file mode 100644
index 000..f4cf603
--- /dev/null
+++ b/drivers/media/video/mrstci/include/sensordev.h
@@ -0,0 +1,119 @@
+/*
+ * Support for Moorestown Langwell 

[PATCH 4/5] V4L2 patches for Intel Moorestown Camera Imaging Drivers

2009-04-30 Thread Zhang, Xiaolin
From 115b53d1f5016363667cad629b327491d6a026da Mon Sep 17 00:00:00 2001
From: Xiaolin Zhang xiaolin.zh...@intel.com
Date: Thu, 30 Apr 2009 13:24:15 +0800
Subject: [PATCH] 5MP camera sensor driver (ov5630, RAW sensor) on Interl 
Moorestown
 platform.
 Signed-off-by: Xiaolin Zhang xiaolin.zh...@intel.com

---
 drivers/media/video/Makefile   |1 +
 drivers/media/video/mrstci/Kconfig |2 +
 drivers/media/video/mrstci/mrstov5630/Kconfig  |9 +
 drivers/media/video/mrstci/mrstov5630/Makefile |4 +
 drivers/media/video/mrstci/mrstov5630/ov5630.c |  783 
 drivers/media/video/mrstci/mrstov5630/ov5630.h |  673 +
 .../media/video/mrstci/mrstov5630/ov5630_motor.c   |  212 ++
 .../media/video/mrstci/mrstov5630/ov5630_motor.h   |   79 ++
 8 files changed, 1763 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/mrstci/mrstov5630/Kconfig
 create mode 100644 drivers/media/video/mrstci/mrstov5630/Makefile
 create mode 100644 drivers/media/video/mrstci/mrstov5630/ov5630.c
 create mode 100644 drivers/media/video/mrstci/mrstov5630/ov5630.h
 create mode 100644 drivers/media/video/mrstci/mrstov5630/ov5630_motor.c
 create mode 100644 drivers/media/video/mrstci/mrstov5630/ov5630_motor.h

diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index eed3965..348eda8 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -154,6 +154,7 @@ obj-$(CONFIG_USB_VIDEO_CLASS)   += uvc/
 obj-$(CONFIG_VIDEO_MRST_ISP) += mrstci/mrstisp/
 obj-$(CONFIG_VIDEO_MRST_SENSOR) += mrstci/mrstsensor/
 obj-$(CONFIG_VIDEO_MRST_OV2650) += mrstci/mrstov2650/
+obj-$(CONFIG_VIDEO_MRST_OV5630) += mrstci/mrstov5630/

 EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
 EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
diff --git a/drivers/media/video/mrstci/Kconfig 
b/drivers/media/video/mrstci/Kconfig
index 1ad479b..803813b 100644
--- a/drivers/media/video/mrstci/Kconfig
+++ b/drivers/media/video/mrstci/Kconfig
@@ -13,5 +13,7 @@ source drivers/media/video/mrstci/mrstisp/Kconfig
 source drivers/media/video/mrstci/mrstsensor/Kconfig

 source drivers/media/video/mrstci/mrstov2650/Kconfig
+
+source drivers/media/video/mrstci/mrstov5630/Kconfig
 endif # VIDEO_MRSTCI

diff --git a/drivers/media/video/mrstci/mrstov5630/Kconfig 
b/drivers/media/video/mrstci/mrstov5630/Kconfig
new file mode 100644
index 000..7a5a50b
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov5630/Kconfig
@@ -0,0 +1,9 @@
+config VIDEO_MRST_OV5630
+   tristate Moorestown OV5630 RAW Sensor
+   depends on I2C  VIDEO_MRST_ISP  VIDEO_MRST_SENSOR
+
+   ---help---
+ Say Y here if your platform support OV5630 RAW Sensor.
+
+ To compile this driver as a module, choose M here: the
+ module will be called mrstov2650.ko.
diff --git a/drivers/media/video/mrstci/mrstov5630/Makefile 
b/drivers/media/video/mrstci/mrstov5630/Makefile
new file mode 100644
index 000..9b953fd
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov5630/Makefile
@@ -0,0 +1,4 @@
+mrstov5630-objs= ov5630_motor.o ov5630.o
+obj-$(CONFIG_VIDEO_MRST_OV5630) += mrstov5630.o
+
+EXTRA_CFLAGS   +=  -I$(src)/../include
diff --git a/drivers/media/video/mrstci/mrstov5630/ov5630.c 
b/drivers/media/video/mrstci/mrstov5630/ov5630.c
new file mode 100644
index 000..30d6a51
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov5630/ov5630.c
@@ -0,0 +1,783 @@
+/*
+ * Support for Moorestown Langwell Camera Imaging ISP subsystem.
+ *
+ * Copyright (c) 2009 Intel Corporation. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version
+ * 2 as published by the Free Software Foundation.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ *
+ * Xiaolin Zhang xiaolin.zh...@intel.com
+ */
+
+#include linux/module.h
+#include linux/types.h
+#include linux/kernel.h
+#include linux/mm.h
+#include linux/string.h
+#include linux/errno.h
+#include linux/init.h
+#include linux/kmod.h
+#include linux/device.h
+#include linux/delay.h
+#include linux/fs.h
+#include linux/init.h
+#include linux/slab.h
+#include linux/delay.h
+#include linux/i2c.h
+#include linux/gpio.h
+
+#include sensordev.h
+#include ov5630.h
+#include ov5630_motor.h
+
+static int ov5630_set_res(struct i2c_client *c, const int w, const int h);
+static struct ov5630_format_struct {
+   __u8 *desc;
+   __u32 pixelformat;
+   struct regval_list 

[PATCH 5/5] V4L2 patches for Intel Moorestown Camera Imaging Drivers

2009-04-30 Thread Zhang, Xiaolin
From eb2cf7ea5a94412e0c0e2655d0d091b15a7d7ef0 Mon Sep 17 00:00:00 2001
From: Xiaolin Zhang xiaolin.zh...@intel.com
Date: Thu, 30 Apr 2009 13:27:34 +0800
Subject: [PATCH] 1.3MP camera sensor driver (ov9665) on Intel moorestown 
platform.
 Signed-off-by: Xiaolin Zhang xiaolin.zh...@intel.com

---
 drivers/media/video/Makefile   |1 +
 drivers/media/video/mrstci/Kconfig |3 +
 drivers/media/video/mrstci/mrstov9665/Kconfig  |9 +
 drivers/media/video/mrstci/mrstov9665/Makefile |3 +
 drivers/media/video/mrstci/mrstov9665/mrstov9665.c |  694 
 drivers/media/video/mrstci/mrstov9665/ov9665.h |  244 +++
 6 files changed, 954 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/mrstci/mrstov9665/Kconfig
 create mode 100644 drivers/media/video/mrstci/mrstov9665/Makefile
 create mode 100644 drivers/media/video/mrstci/mrstov9665/mrstov9665.c
 create mode 100644 drivers/media/video/mrstci/mrstov9665/ov9665.h

diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index 348eda8..060f95d 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -155,6 +155,7 @@ obj-$(CONFIG_VIDEO_MRST_ISP) += mrstci/mrstisp/
 obj-$(CONFIG_VIDEO_MRST_SENSOR) += mrstci/mrstsensor/
 obj-$(CONFIG_VIDEO_MRST_OV2650) += mrstci/mrstov2650/
 obj-$(CONFIG_VIDEO_MRST_OV5630) += mrstci/mrstov5630/
+obj-$(CONFIG_VIDEO_MRST_OV5630) += mrstci/mrstov9665/

 EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
 EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
diff --git a/drivers/media/video/mrstci/Kconfig 
b/drivers/media/video/mrstci/Kconfig
index 803813b..da81c3e 100644
--- a/drivers/media/video/mrstci/Kconfig
+++ b/drivers/media/video/mrstci/Kconfig
@@ -15,5 +15,8 @@ source drivers/media/video/mrstci/mrstsensor/Kconfig
 source drivers/media/video/mrstci/mrstov2650/Kconfig

 source drivers/media/video/mrstci/mrstov5630/Kconfig
+
+source drivers/media/video/mrstci/mrstov9665/Kconfig
+
 endif # VIDEO_MRSTCI

diff --git a/drivers/media/video/mrstci/mrstov9665/Kconfig 
b/drivers/media/video/mrstci/mrstov9665/Kconfig
new file mode 100644
index 000..56aaffb
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov9665/Kconfig
@@ -0,0 +1,9 @@
+config VIDEO_MRST_OV9665
+   tristate Moorestown OV9665 SoC Sensor
+   depends on I2C  VIDEO_MRST_ISP  VIDEO_MRST_SENSOR
+
+   ---help---
+ Say Y here if your platform support OV9665 SoC Sensor.
+
+ To compile this driver as a module, choose M here: the
+ module will be called mrstov9665.ko.
diff --git a/drivers/media/video/mrstci/mrstov9665/Makefile 
b/drivers/media/video/mrstci/mrstov9665/Makefile
new file mode 100644
index 000..871b6bf
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov9665/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_VIDEO_MRST_OV9665) += mrstov9665.o
+
+EXTRA_CFLAGS   +=  -I$(src)/../include
diff --git a/drivers/media/video/mrstci/mrstov9665/mrstov9665.c 
b/drivers/media/video/mrstci/mrstov9665/mrstov9665.c
new file mode 100644
index 000..badc449
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov9665/mrstov9665.c
@@ -0,0 +1,694 @@
+/*
+ * Support for Moorestown Langwell Camera Imaging ISP subsystem.
+ *
+ * Copyright (c) 2009 Intel Corporation. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version
+ * 2 as published by the Free Software Foundation.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ *
+ * Xiaolin Zhang xiaolin.zh...@intel.com
+ */
+
+#include linux/module.h
+#include linux/types.h
+#include linux/kernel.h
+#include linux/mm.h
+#include linux/string.h
+#include linux/errno.h
+#include linux/init.h
+#include linux/kmod.h
+#include linux/device.h
+#include linux/delay.h
+#include linux/fs.h
+#include linux/init.h
+#include linux/slab.h
+#include linux/delay.h
+#include linux/i2c.h
+#include linux/gpio.h
+
+#include sensordev.h
+#include ov9665.h
+static struct ov9665_format_struct {
+   __u8 *desc;
+   __u32 pixelformat;
+   struct regval_list *regs;
+} ov9665_formats[] = {
+   {
+   .desc   = YUYV 4:2:2,
+   .pixelformat= SENSOR_MODE_BT601,
+   .regs   = NULL,
+   },
+};
+#define N_OV9665_FMTS ARRAY_SIZE(ov9665_formats)
+
+static struct ov9665_res_struct {
+   __u8 *desc;
+   int res;
+   int width;
+   int height;
+   unsigned vflag;
+#define VARIO_EN   1
+#define 

[PATCH 3/5] V4L2 patches for Intel Moorestown Camera Imaging Drivers

2009-04-30 Thread Zhang, Xiaolin
From 852df51762e8de89e3a78a86d8863700999eaeaa Mon Sep 17 00:00:00 2001
From: Xiaolin Zhang xiaolin.zh...@intel.com
Date: Thu, 30 Apr 2009 13:18:21 +0800
Subject: [PATCH] 2MP camera sensor driver (ov2650) on Intel Moorestown platform.
 Signed-off-by: Xiaolin Zhang xiaolin.zh...@intel.com

---
 drivers/media/video/Makefile   |1 +
 drivers/media/video/mrstci/Kconfig |1 +
 drivers/media/video/mrstci/mrstov2650/Kconfig  |9 +
 drivers/media/video/mrstci/mrstov2650/Makefile |3 +
 drivers/media/video/mrstci/mrstov2650/mrstov2650.c |  877 
 drivers/media/video/mrstci/mrstov2650/ov2650.h |  716 
 6 files changed, 1607 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/mrstci/mrstov2650/Kconfig
 create mode 100644 drivers/media/video/mrstci/mrstov2650/Makefile
 create mode 100644 drivers/media/video/mrstci/mrstov2650/mrstov2650.c
 create mode 100644 drivers/media/video/mrstci/mrstov2650/ov2650.h

diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index 34a3461..eed3965 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -153,6 +153,7 @@ obj-$(CONFIG_VIDEO_AU0828) += au0828/
 obj-$(CONFIG_USB_VIDEO_CLASS)  += uvc/
 obj-$(CONFIG_VIDEO_MRST_ISP) += mrstci/mrstisp/
 obj-$(CONFIG_VIDEO_MRST_SENSOR) += mrstci/mrstsensor/
+obj-$(CONFIG_VIDEO_MRST_OV2650) += mrstci/mrstov2650/

 EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
 EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
diff --git a/drivers/media/video/mrstci/Kconfig 
b/drivers/media/video/mrstci/Kconfig
index bf01447..1ad479b 100644
--- a/drivers/media/video/mrstci/Kconfig
+++ b/drivers/media/video/mrstci/Kconfig
@@ -12,5 +12,6 @@ source drivers/media/video/mrstci/mrstisp/Kconfig

 source drivers/media/video/mrstci/mrstsensor/Kconfig

+source drivers/media/video/mrstci/mrstov2650/Kconfig
 endif # VIDEO_MRSTCI

diff --git a/drivers/media/video/mrstci/mrstov2650/Kconfig 
b/drivers/media/video/mrstci/mrstov2650/Kconfig
new file mode 100644
index 000..cdd985b
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov2650/Kconfig
@@ -0,0 +1,9 @@
+config VIDEO_MRST_OV2650
+   tristate Moorestown OV2650 SoC Sensor
+   depends on I2C  VIDEO_MRST_ISP  VIDEO_MRST_SENSOR
+
+   ---help---
+ Say Y here if your platform support OV2650 SoC Sensor.
+
+ To compile this driver as a module, choose M here: the
+ module will be called mrstov2650.ko.
diff --git a/drivers/media/video/mrstci/mrstov2650/Makefile 
b/drivers/media/video/mrstci/mrstov2650/Makefile
new file mode 100644
index 000..fb16d57
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov2650/Makefile
@@ -0,0 +1,3 @@
+obj-$(CONFIG_VIDEO_MRST_OV2650) += mrstov2650.o
+
+EXTRA_CFLAGS   +=  -I$(src)/../include
\ No newline at end of file
diff --git a/drivers/media/video/mrstci/mrstov2650/mrstov2650.c 
b/drivers/media/video/mrstci/mrstov2650/mrstov2650.c
new file mode 100644
index 000..af036cc
--- /dev/null
+++ b/drivers/media/video/mrstci/mrstov2650/mrstov2650.c
@@ -0,0 +1,877 @@
+/*
+ * Support for Moorestown Langwell Camera Imaging ISP subsystem.
+ *
+ * Copyright (c) 2009 Intel Corporation. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version
+ * 2 as published by the Free Software Foundation.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ *
+ * Xiaolin Zhang xiaolin.zh...@intel.com
+ */
+
+#include linux/module.h
+#include linux/types.h
+#include linux/kernel.h
+#include linux/mm.h
+#include linux/string.h
+#include linux/errno.h
+#include linux/init.h
+#include linux/kmod.h
+#include linux/device.h
+#include linux/delay.h
+#include linux/fs.h
+#include linux/init.h
+#include linux/slab.h
+#include linux/delay.h
+#include linux/i2c.h
+#include linux/gpio.h
+
+#include sensordev.h
+#include ov2650.h
+
+static struct ov2650_format_struct {
+   __u8 *desc;
+   __u32 pixelformat;
+   struct regval_list *regs;
+} ov2650_formats[] = {
+   {
+   .desc   = YUYV 4:2:2,
+   .pixelformat= SENSOR_MODE_BT601,
+   .regs   = NULL,
+   },
+};
+#define N_OV2650_FMTS ARRAY_SIZE(ov2650_formats)
+
+static struct ov2650_res_struct {
+   __u8 *desc;
+   int res;
+   int width;
+   int height;
+   unsigned vflag;
+#define VARIO_EN   1
+#define VARIO_DIS  0
+   struct regval_list *regs;
+} 

Re:TechnoTrend C-1501 - Locking issues on 388Mhz

2009-04-30 Thread Amir Bukhari

I have TT DVB-C 1501 and I test it with the patch and it work now for
like a charm.
I have problem by 386MHz frequency as it doesn't detect any channels on it.
now it work very good and stable.

-Amir

PS:
I have send this email before (yesterday) but I didn't receive see it in 
the mailing list.


--
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/3] OMAP2/3 V4L2 Display Driver

2009-04-30 Thread Shah, Hardik


 -Original Message-
 From: linux-media-ow...@vger.kernel.org [mailto:linux-media-
 ow...@vger.kernel.org] On Behalf Of Shah, Hardik
 Sent: Thursday, April 30, 2009 11:51 AM
 To: InKi Dae
 Cc: tomi.valkei...@nokia.com; linux-media@vger.kernel.org; linux-
 o...@vger.kernel.org; Jadav, Brijesh R; Hiremath, Vaibhav
 Subject: RE: [PATCH 3/3] OMAP2/3 V4L2 Display Driver
 
 
 
  -Original Message-
  From: InKi Dae [mailto:daei...@gmail.com]
  Sent: Thursday, April 30, 2009 11:48 AM
  To: Shah, Hardik
  Cc: tomi.valkei...@nokia.com; linux-media@vger.kernel.org; linux-
  o...@vger.kernel.org; Jadav, Brijesh R; Hiremath, Vaibhav
  Subject: Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver
 
  hello Shah, Hardik..
 
  your omap_vout.c has the problem that it disables video1 or fb1.
  so I have modified your code.
 
  I defined and set platform_data for DSS2 in machine code.(or board file)
 
  static struct omapfb_platform_data xxx_dss_platform_data = {
  .mem_desc.region[0].format = OMAPFB_COLOR_ARGB32,
  .mem_desc.region[0].format_used=1,
 
  .mem_desc.region[1].format = OMAPFB_COLOR_RGB24U,
  .mem_desc.region[1].format_used=1,
 
  .mem_desc.region[2].format = OMAPFB_COLOR_ARGB32,
  .mem_desc.region[2].format_used=1,
  };
 
  omapfb_set_platform_data(xxx_dss_platform_data);
 
  after that, omap_vout has resource count got referring to framebuffer count,
  registers overlay as vout's one and would decide to use which overlay.
 
  at that time, your code would face with impact on some overlay(fb or video).
 
  this patch would solve that problem.
  when it sets overlay to vout, vout would get overlay array index to
  avoid overlapping with other overlay.
 
 
  sighed-off-by: InKi Dae. inki@samsung.com
  ---
  diff --git a/drivers/media/video/omap/omap_vout.c
  b/drivers/media/video/omap/omap_vout.c
  index 9b4a0d7..051298a 100644
  --- a/drivers/media/video/omap/omap_vout.c
  +++ b/drivers/media/video/omap/omap_vout.c
  @@ -2246,11 +2246,13 @@ free_buffers:
   /* Create video out devices */
   static int __init omap_vout_create_video_devices(struct platform_device
  *pdev)
   {
  -   int r = 0, k;
  +   int r = 0, k, vout_count;
  struct omap_vout_device *vout;
  struct video_device *vfd = NULL;
  struct omap2video_device *vid_dev = platform_get_drvdata(pdev);
 
  +   vout_count = 3 - pdev-num_resources;
  +
  for (k = 0; k  pdev-num_resources; k++) {
 
  vout = kmalloc(sizeof(struct omap_vout_device), GFP_KERNEL);
  @@ -2266,9 +2268,9 @@ static int __init
  omap_vout_create_video_devices(struct platform_device *pdev)
  vout-vid = k;
  vid_dev-vouts[k] = vout;
  vout-vid_info.vid_dev = vid_dev;
  -   vout-vid_info.overlays[0] = vid_dev-overlays[k + 1];
  +   vout-vid_info.overlays[0] = vid_dev-overlays[k + vout_count];
  vout-vid_info.num_overlays = 1;
  -   vout-vid_info.id = k + 1;
  +   vout-vid_info.id = k + vout_count;
  vid_dev-num_videos++;
 
  /* Setup the default configuration for the video devices
  @@ -2289,7 +2291,7 @@ static int __init
  omap_vout_create_video_devices(struct platform_device *pdev)
  /* Register the Video device with V4L2
   */
  vfd = vout-vfd;
  -   if (video_register_device(vfd, VFL_TYPE_GRABBER, k + 1)  0) {
  +   if (video_register_device(vfd, VFL_TYPE_GRABBER, k + 
  vout_count) 
  0) {
  printk(KERN_ERR VOUT_NAME : could not register \
  Video for Linux device\n);
  vfd-minor = -1;
 
 
  2009/4/22 Shah, Hardik hardik.s...@ti.com:
 [Shah, Hardik] Yes this is correct,
 I will apply this patch.  I already found it and fixed it in different way but
 any way I will apply your patch.
[Shah, Hardik] Further on this inki.  Solving this bug will give rise to couple 
of more bugs related to global_alpha and pixel formats. That also is fixed. You 
can refer 
http://arago-project.org/git/people/vaibhav/ti-psp-omap-video.git?p=people/vaibhav/ti-psp-omap-video.git;a=summary
  
  
   -Original Message-
   From: Tomi Valkeinen [mailto:tomi.valkei...@nokia.com]
   Sent: Wednesday, April 22, 2009 1:53 PM
   To: Shah, Hardik
   Cc: linux-media@vger.kernel.org; linux-o...@vger.kernel.org; Jadav,
 Brijesh
  R;
   Hiremath, Vaibhav
   Subject: Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver
  
   Hi,
  
   On Wed, 2009-04-22 at 08:25 +0200, ext Hardik Shah wrote:
This is the version 5th of the Driver.
   
Following are the features supported.
1. Provides V4L2 user interface for the video pipelines of DSS
2. Basic streaming working on LCD and TV.
3. Support for various pixel formats like YUV, UYVY, RGB32, RGB24,
 RGB565
4. Supports Alpha blending.
5. Supports Color keying both source and destination.
6. Supports rotation with RGB565 and RGB32 pixels formats.
7. Supports 

Re: Nova-T 500 does not survive reboot

2009-04-30 Thread Nicolas Will
On Thu, 2009-04-30 at 10:16 +, Eduard Huguet wrote:
 I can remenber that other guy posted about this issue some time
 ago, but I can't find the link.

http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/2423/focus=2591

I guess.

nico
getting used to gmame :o)

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


TVP514x: Migration to sub-device framework

2009-04-30 Thread hvaibhav
From: Vaibhav Hiremath hvaib...@ti.com

This is first version of sub-device framework based
TVP514x decoder driver. Earlier version of TVP514x driver is based
on V4L2-int framework.

Initial version reviewed by Hans Verkuil.

NOTE: Please note that this patch has not been tested on any board,
  only compilation/build tested.

I will consolidate all the review comments and will incorporate
in the next version, which should also be include validation
of these changes on any of the supported boards.

TODO:
- Add support for some basic video/core functionality like,
.g_chip_ident
.reset
.g_input_status
- Migration master driver to validate this driver.
- validate on Davinci and OMAP boards.

Signed-off-by: Brijesh Jadav brijes...@ti.com
Signed-off-by: Hardik Shah hardik.s...@ti.com
Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
---
 drivers/media/video/tvp514x.c  |  787 ++--
 drivers/media/video/tvp514x_regs.h |   10 -
 include/media/tvp514x.h|4 -
 3 files changed, 310 insertions(+), 491 deletions(-)

diff --git a/drivers/media/video/tvp514x.c b/drivers/media/video/tvp514x.c
index 4262e60..d42cef2 100644
--- a/drivers/media/video/tvp514x.c
+++ b/drivers/media/video/tvp514x.c
@@ -31,7 +31,10 @@
 #include linux/i2c.h
 #include linux/delay.h
 #include linux/videodev2.h
-#include media/v4l2-int-device.h
+#include media/v4l2-device.h
+#include media/v4l2-common.h
+#include media/v4l2-chip-ident.h
+#include media/v4l2-i2c-drv.h
 #include media/tvp514x.h

 #include tvp514x_regs.h
@@ -49,10 +52,10 @@ static int debug;
 module_param(debug, bool, 0644);
 MODULE_PARM_DESC(debug, Debug level (0-1));

-#define dump_reg(client, reg, val) \
+#define dump_reg(sd, reg, val) \
do {\
-   val = tvp514x_read_reg(client, reg);\
-   v4l_info(client, Reg(0x%.2X): 0x%.2X\n, reg, val); \
+   val = tvp514x_read_reg(sd, reg);\
+   v4l2_info(sd, Reg(0x%.2X): 0x%.2X\n, reg, val); \
} while (0)

 /**
@@ -65,14 +68,6 @@ enum tvp514x_std {
 };

 /**
- * enum tvp514x_state - enum for different decoder states
- */
-enum tvp514x_state {
-   STATE_NOT_DETECTED,
-   STATE_DETECTED
-};
-
-/**
  * struct tvp514x_std_info - Structure to store standard informations
  * @width: Line width in pixels
  * @height:Number of active lines
@@ -89,33 +84,27 @@ struct tvp514x_std_info {
 static struct tvp514x_reg tvp514x_reg_list_default[0x40];
 /**
  * struct tvp514x_decoder - TVP5146/47 decoder object
- * @v4l2_int_device: Slave handle
- * @tvp514x_slave: Slave pointer which is used by @v4l2_int_device
+ * @sd: Subdevice Slave handle
  * @tvp514x_regs: copy of hw's regs with preset values.
  * @pdata: Board specific
- * @client: I2C client data
- * @id: Entry from I2C table
  * @ver: Chip version
- * @state: TVP5146/47 decoder state - detected or not-detected
+ * @state: TVP5146/47 decoder state - enabled or disabled.
  * @pix: Current pixel format
  * @num_fmts: Number of formats
  * @fmt_list: Format list
  * @current_std: Current standard
  * @num_stds: Number of standards
  * @std_list: Standards list
- * @route: input and output routing at chip level
+ * @input: Input routing at chip level
+ * @output: Output routing at chip level
  */
 struct tvp514x_decoder {
-   struct v4l2_int_device v4l2_int_device;
-   struct v4l2_int_slave tvp514x_slave;
+   struct v4l2_subdev sd;
struct tvp514x_reg tvp514x_regs[ARRAY_SIZE(tvp514x_reg_list_default)];
const struct tvp514x_platform_data *pdata;
-   struct i2c_client *client;
-
-   struct i2c_device_id *id;

int ver;
-   enum tvp514x_state state;
+   int state;

struct v4l2_pix_format pix;
int num_fmts;
@@ -124,8 +113,11 @@ struct tvp514x_decoder {
enum tvp514x_std current_std;
int num_stds;
struct tvp514x_std_info *std_list;
-
-   struct v4l2_routing route;
+   /*
+* Input and Output Routing parameters
+*/
+   unsigned int input;
+   unsigned int output;
 };

 /* TVP514x default register values */
@@ -240,35 +232,22 @@ static struct tvp514x_std_info tvp514x_std_list[] = {
},
/* Standard: need to add for additional standard */
 };
-/*
- * Control structure for Auto Gain
- * This is temporary data, will get replaced once
- * v4l2_ctrl_query_fill supports it.
- */
-static const struct v4l2_queryctrl tvp514x_autogain_ctrl = {
-   .id = V4L2_CID_AUTOGAIN,
-   .name = Gain, Automatic,
-   .type = V4L2_CTRL_TYPE_BOOLEAN,
-   .minimum = 0,
-   .maximum = 1,
-   .step = 1,
-   .default_value = 1,
-};

 /*
  * Read a value from a register in an TVP5146/47 decoder device.
  * Returns value read if successful, or non-zero (-1) otherwise.
  */
-static int 

Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver

2009-04-30 Thread InKi Dae
Thank you Shah, Hardik.
I have patched your driver through that git.

but your patch recognizes video2 layer as video1 device node in case
that DSS2 has fb0 and fb1.

you said my patch will give rise to couple of more bugs related to
global_alpha and pixel formats
maybe that would be because of vout-vid_info.id = k + vout_count;

so I have applied your patch to my way.
this patch is more flexible and recognizes video2 layer correctly as
video2 device node.
--
--- a/drivers/media/video/omap/omap_vout.c
+++ b/drivers/media/video/omap/omap_vout.c
@@ -2204,7 +2204,7 @@ free_buffers:
 /* Create video out devices */
 static int __init omap_vout_create_video_devices(struct platform_device *pdev)
 {
-   int r = 0, k;
+   int r = 0, k, vout_count;
struct omap_vout_device *vout;
struct video_device *vfd = NULL;
struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev);
@@ -2212,6 +2212,8 @@ static int __init
omap_vout_create_video_devices(struct platform_device *pdev)
struct omap2video_device *vid_dev = container_of(v4l2_dev, struct
omap2video_device, v4l2_dev);

+   vout_count = 3 - pdev-num_resources;
+
for (k = 0; k  pdev-num_resources; k++) {

vout = kmalloc(sizeof(struct omap_vout_device), GFP_KERNEL);
@@ -2225,12 +2227,7 @@ static int __init
omap_vout_create_video_devices(struct platform_device *pdev)
vout-vid = k;
vid_dev-vouts[k] = vout;
vout-vid_dev = vid_dev;
-   /* Select video2 if only 1 overlay is controlled by V4L2 */
-   if (pdev-num_resources == 1)
-   vout-vid_info.overlays[0] = vid_dev-overlays[k + 2];
-   else
-   /* Else select video1 and video2 one by one. */
-   vout-vid_info.overlays[0] = vid_dev-overlays[k + 1];
+   vout-vid_info.overlays[0] = vid_dev-overlays[k + vout_count];
vout-vid_info.num_overlays = 1;
vout-vid_info.id = k + 1;
vid_dev-num_videos++;
@@ -2253,7 +2250,7 @@ static int __init
omap_vout_create_video_devices(struct platform_device *pdev)
/* Register the Video device with V4L2
*/
vfd = vout-vfd;
-   if (video_register_device(vfd, VFL_TYPE_GRABBER, k + 1)  0) {
+   if (video_register_device(vfd, VFL_TYPE_GRABBER, k +
vout_count)  0) {
printk(KERN_ERR VOUT_NAME : could not register 
Video for Linux device\n);
vfd-minor = -1
-

2009/4/30 Shah, Hardik hardik.s...@ti.com:


 -Original Message-
 From: linux-media-ow...@vger.kernel.org [mailto:linux-media-
 ow...@vger.kernel.org] On Behalf Of Shah, Hardik
 Sent: Thursday, April 30, 2009 11:51 AM
 To: InKi Dae
 Cc: tomi.valkei...@nokia.com; linux-media@vger.kernel.org; linux-
 o...@vger.kernel.org; Jadav, Brijesh R; Hiremath, Vaibhav
 Subject: RE: [PATCH 3/3] OMAP2/3 V4L2 Display Driver



  -Original Message-
  From: InKi Dae [mailto:daei...@gmail.com]
  Sent: Thursday, April 30, 2009 11:48 AM
  To: Shah, Hardik
  Cc: tomi.valkei...@nokia.com; linux-media@vger.kernel.org; linux-
  o...@vger.kernel.org; Jadav, Brijesh R; Hiremath, Vaibhav
  Subject: Re: [PATCH 3/3] OMAP2/3 V4L2 Display Driver
 
  hello Shah, Hardik..
 
  your omap_vout.c has the problem that it disables video1 or fb1.
  so I have modified your code.
 
  I defined and set platform_data for DSS2 in machine code.(or board file)
 
  static struct omapfb_platform_data xxx_dss_platform_data = {
      .mem_desc.region[0].format = OMAPFB_COLOR_ARGB32,
      .mem_desc.region[0].format_used=1,
 
      .mem_desc.region[1].format = OMAPFB_COLOR_RGB24U,
      .mem_desc.region[1].format_used=1,
 
      .mem_desc.region[2].format = OMAPFB_COLOR_ARGB32,
      .mem_desc.region[2].format_used=1,
  };
 
  omapfb_set_platform_data(xxx_dss_platform_data);
 
  after that, omap_vout has resource count got referring to framebuffer 
  count,
  registers overlay as vout's one and would decide to use which overlay.
 
  at that time, your code would face with impact on some overlay(fb or 
  video).
 
  this patch would solve that problem.
  when it sets overlay to vout, vout would get overlay array index to
  avoid overlapping with other overlay.
 
 
  sighed-off-by: InKi Dae. inki@samsung.com
  ---
  diff --git a/drivers/media/video/omap/omap_vout.c
  b/drivers/media/video/omap/omap_vout.c
  index 9b4a0d7..051298a 100644
  --- a/drivers/media/video/omap/omap_vout.c
  +++ b/drivers/media/video/omap/omap_vout.c
  @@ 

[PATCH] radio_si470x: Drop unused label

2009-04-30 Thread Nicola Soranzo
Fix this warning:

/home/nicola/v4l-dvb/v4l/radio-si470x.c: In function 'si470x_fops_release':
/home/nicola/v4l-dvb/v4l/radio-si470x.c:1218: warning: label 'unlock' defined 
but not used

Priority: normal

Signed-off-by: Nicola Soranzo nsora...@tiscali.it

---
diff -r 83712d149893 -r 97be9e920832 linux/drivers/media/radio/radio-si470x.c
--- a/linux/drivers/media/radio/radio-si470x.c  Wed Apr 29 18:01:48 2009 -0300
+++ b/linux/drivers/media/radio/radio-si470x.c  Thu Apr 30 16:10:24 2009 +0200
@@ -1214,8 +1214,6 @@
retval = si470x_stop(radio);
usb_autopm_put_interface(radio-intf);
}
-
-unlock:
mutex_unlock(radio-disconnect_lock);
 
 done:

--
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] v4l2: fill the reserved fields of VIDIOC_REQBUFS ioctl

2009-04-30 Thread Trent Piepho
On Wed, 29 Apr 2009, [UTF-8] N??meth M??rton wrote:
 The parameter of VIDIOC_REQBUFS is a pointer to struct v4l2_requestbuffers.
 This structure has reserved fields which has to be filled with zeros
 according to the V4L2 API specification, revision 0.24 [1].

As I read the spec, the reserved fields can be used for input from user
space if the buffer is of type V4L2_BUF_TYPE_PRIVATE or higher.
--
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: Nova-T 500 does not survive reboot

2009-04-30 Thread Nicolas Will
On Thu, 2009-04-30 at 13:56 +0200, soeren.m...@stud.uni-hannover.de
wrote:
  Apr 29 22:42:41 favia kernel: [   72.272045] ehci_hcd
 :07:01.2:  
  force halt; handhake c2666814 4000  - -110
  [...]
  Do you know if the issue is the same with a Nova-TD stick? If it is,
  then I could be able to use debugging as an excuse to buy one, and
 then
  add 2 tuners to the system when all is done :o)
 
 I had the same ehci_hcd force halt error when I was debugging the
 Nova-TD dual-stream-switchon-problem:
 http://www.mail-archive.com/linux-media@vger.kernel.org/msg04643.html
 
 Reducing the urb count to 1 (as included in the patch) solved the
 ehci_hcd force halt issue for me.

I mention that the URB part is a quick hack.

You were asking for opinions on that, and apparently did not get any
feedback.

Time for another call?

Nico

--
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: Donating a mr97310 based elta-media 8212dc (0x093a:0x010e)

2009-04-30 Thread Theodore Kilgore


On Thu, 30 Apr 2009, Wolfram Sang wrote:


Hi all,

I recently found an elta media dc8212 camera (usb-id: 0x093a:0x010e) in a pile
of old hardware. When looking for linux-support (out of curiosity, I don't need
the cam), I saw that there is activity regarding these types of camera
(mr97310) right now. As I am currently busy in other departments of the kernel,
I was wondering if somebody here is interested in getting the camera to do
further research? If so, just drop me a mail and I will send it free-of-charge.

Regards,

  Wolfram

PS: The camera still works. Just checked with another OS on a friend's machine.

--
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |



Hi,

If you want to do such a thing, I think it is very kind of you. As for 
myself, I suspect that I already have three or four similar cameras, and 
so I probably do not really need another one. Also, judging from your 
e-mail address you are in Germany and I am in the US, making it a less 
desirable prospect to ship such an object for such a distance.


Therefore, I would offer the suggestion that the camera should go to Kyle 
Guin, who wrote the kernel support, or, if he is also in the US (I do not 
know where he lives) then perhaps to Thomas Kaiser, who lives a bit closer 
to you. I think that all three of us are equally interested but as I said 
I do not believe that I need another one of these cameras. In case that I 
have missed someone else who might be interested, that is inadvertent on 
my part.


Judging from the Vendor:Product number which you report, it is one of the 
small MR97310 cameras for which the OEM driver was called the CIF 
driver. Indeed, these cameras are not supported right now, so the matter 
is interesting.


I do suspect at this point that the clue to getting these cameras to work 
is probably to be found in the initialization sequence. I did manage 
(finally!) to get one of my old test machines running Windows to accept a 
driver installation and to give me a sniff or two. My preliminary analysis 
from that experience is, first, the initialization sequence is a bit 
different, and, second, the frame data seems to look different from what I 
get with the current initialization sequence on Linux. I also tried to 
convert a couple of frame data outputs from a sniff log back into binary 
format, to see if I could get something out which looks like a picture. I 
think I did. Not a very good picture, but it seems that I got something 
more than mere noise. I also found out that some of my small cameras with 
the same ID will stream, and some will not. Those which will not stream 
have a rather strange failure mode: they go through all the motions, but 
they produce nothing but a string of repetitions of the SOF marker -- and 
this with the OEM driver software, too. But you say that yours actually 
worked.


Finally, I would ask one question:

In the libgphoto2 driver for these cameras, I have a listing for

{Elta Medi@ digi-cam, GP_DRIVER_STATUS_EXPERIMENTAL, 0x093a, 0x010e},

Do you think this is the same camera, or a different one? Yours has a 
model number, and my listing does not. Elta could of course have produced 
two different cameras with the same guts inside, and sold them under two 
different model descriptions. I have seen lots of that kind of thing from 
other camera vendors. So should there be a separate entry listing this one 
by model number? The reason I do not know the answers to such questions 
is that, obviously, I have never seen either one of these two cameras. The 
first one was reported to me, just like the one which you are offering to 
us.


Also might you be interested to try it out as a still camera, with 
libgphoto2, before surrendering it to someone else?


Theodore Kilgore
--
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: scan file for cz-Praha

2009-04-30 Thread Christoph Pfister
2009/4/30 Christoph Pfister christophpfis...@gmail.com:
 From a kaffeine user ...

 Christoph


cz-Praha
Description: Binary data


patch: s2255drv: urb completion routine fixes

2009-04-30 Thread Dean A.
From: Dean Anderson d...@sensoray.com

Error count in read pipe completion corrected.
URB not resubmitted if shutting down.
URB not freed in completion routine if new urb_submit_fails.
(URB is freed on shutdown).

Signed-off-by: Dean Anderson d...@sensoray.com

--- v4l-dvb-83712d149893/linux/drivers/media/video/s2255drv.c.orig  
2009-04-30 07:34:34.0 -0700
+++ v4l-dvb-83712d149893/linux/drivers/media/video/s2255drv.c   2009-04-30 
07:27:10.0 -0700
@@ -2240,8 +2240,10 @@ static void read_pipe_completion(struct 
return;
}
status = purb-status;
-   if (status != 0) {
-   dprintk(2, read_pipe_completion: err\n);
+   /* if shutting down, do not resubmit, exit immediately */
+   if (status == -ESHUTDOWN) {
+   dprintk(2, read_pipe_completion: err shutdown\n);
+   pipe_info-err_count++;
return;
}
 
@@ -2250,9 +2252,13 @@ static void read_pipe_completion(struct 
return;
}
 
-   s2255_read_video_callback(dev, pipe_info);
+   if (status == 0)
+   s2255_read_video_callback(dev, pipe_info);
+   else {
+   pipe_info-err_count++;
+   dprintk(1, s2255drv: failed URB %d\n, status);
+   }
 
-   pipe_info-err_count = 0;
pipe = usb_rcvbulkpipe(dev-udev, dev-read_endpoint);
/* reuse urb */
usb_fill_bulk_urb(pipe_info-stream_urb, dev-udev,
@@ -2264,7 +2270,6 @@ static void read_pipe_completion(struct 
if (pipe_info-state != 0) {
if (usb_submit_urb(pipe_info-stream_urb, GFP_KERNEL)) {
dev_err(dev-udev-dev, error submitting urb\n);
-   usb_free_urb(pipe_info-stream_urb);
}
} else {
dprintk(2, read pipe complete state 0\n);

--
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] v4l2: fill the reserved fields of VIDIOC_REQBUFS ioctl

2009-04-30 Thread Trent Piepho
On Thu, 30 Apr 2009, Trent Piepho wrote:
 On Wed, 29 Apr 2009, [UTF-8] N??meth M??rton wrote:
  The parameter of VIDIOC_REQBUFS is a pointer to struct v4l2_requestbuffers.
  This structure has reserved fields which has to be filled with zeros
  according to the V4L2 API specification, revision 0.24 [1].

 As I read the spec, the reserved fields can be used for input from user
 space if the buffer is of type V4L2_BUF_TYPE_PRIVATE or higher.

Here is a patch that fixes this problem, along with the S_FMT problem you
patched earlier.  TRY_FMT had the same problem as S_FMT, so I fixed that
one as well too.

v4l2-ioctl: Clear buffer type specific trailing fields/padding

From: Trent Piepho xy...@speakeasy.org

Some ioctls have structs that are a different size depending on what type
of buffer is being used.  If the buffer type leaves a field unused or has
padding space at the end, this space should be zeroed out.

The problems with S_FMT and REQBUFS were original identified and patched by
M??rton N??meth nm...@freemail.hu.

Priority: normal

Signed-off-by: Trent Piepho xy...@speakeasy.org

diff -r 7b786cb576e5 -r 82ef5d6e29e3 linux/drivers/media/video/v4l2-ioctl.c
--- a/linux/drivers/media/video/v4l2-ioctl.cThu Apr 30 09:14:13 2009 -0700
+++ b/linux/drivers/media/video/v4l2-ioctl.cThu Apr 30 09:15:56 2009 -0700
@@ -42,6 +42,12 @@
if (vfd-debug  V4L2_DEBUG_IOCTL_ARG)  \
printk(KERN_DEBUG %s:  fmt, vfd-name, ## arg);\
} while (0)
+
+/* Zero out the end of the struct pointed to by p.  Everthing after, but
+ * not including, the specified field is cleared. */
+#define CLEAR_AFTER_FIELD(p, field) \
+   memset((u8 *)(p) + offsetof(typeof(*(p)), field) + sizeof((p)-field), \
+   0, sizeof(*(p)) - offsetof(typeof(*(p)), field) - sizeof((p)-field))

 struct std_descr {
v4l2_std_id std;
@@ -783,44 +789,53 @@ static long __video_do_ioctl(struct file

switch (f-type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+   CLEAR_AFTER_FIELD(f, fmt.pix);
v4l_print_pix_fmt(vfd, f-fmt.pix);
if (ops-vidioc_s_fmt_vid_cap)
ret = ops-vidioc_s_fmt_vid_cap(file, fh, f);
break;
case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+   CLEAR_AFTER_FIELD(f, fmt.win);
if (ops-vidioc_s_fmt_vid_overlay)
ret = ops-vidioc_s_fmt_vid_overlay(file,
fh, f);
break;
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+   CLEAR_AFTER_FIELD(f, fmt.pix);
v4l_print_pix_fmt(vfd, f-fmt.pix);
if (ops-vidioc_s_fmt_vid_out)
ret = ops-vidioc_s_fmt_vid_out(file, fh, f);
break;
case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+   CLEAR_AFTER_FIELD(f, fmt.win);
if (ops-vidioc_s_fmt_vid_out_overlay)
ret = ops-vidioc_s_fmt_vid_out_overlay(file,
fh, f);
break;
case V4L2_BUF_TYPE_VBI_CAPTURE:
+   CLEAR_AFTER_FIELD(f, fmt.vbi);
if (ops-vidioc_s_fmt_vbi_cap)
ret = ops-vidioc_s_fmt_vbi_cap(file, fh, f);
break;
case V4L2_BUF_TYPE_VBI_OUTPUT:
+   CLEAR_AFTER_FIELD(f, fmt.vbi);
if (ops-vidioc_s_fmt_vbi_out)
ret = ops-vidioc_s_fmt_vbi_out(file, fh, f);
break;
case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+   CLEAR_AFTER_FIELD(f, fmt.sliced);
if (ops-vidioc_s_fmt_sliced_vbi_cap)
ret = ops-vidioc_s_fmt_sliced_vbi_cap(file,
fh, f);
break;
case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+   CLEAR_AFTER_FIELD(f, fmt.sliced);
if (ops-vidioc_s_fmt_sliced_vbi_out)
ret = ops-vidioc_s_fmt_sliced_vbi_out(file,
fh, f);
break;
case V4L2_BUF_TYPE_PRIVATE:
+   /* CLEAR_AFTER_FIELD(f, fmt.raw_data); - does nothing 
*/
if (ops-vidioc_s_fmt_type_private)
ret = ops-vidioc_s_fmt_type_private(file,
fh, f);
@@ -837,46 +852,55 @@ static long __video_do_ioctl(struct file
   

Re: [PATCH 2/5] V4L2 patches for Intel Moorestown Camera Imaging Drivers

2009-04-30 Thread Alexey Klimov
Hello,
do you mind if i make few comments?

Really, looks like
http://patchwork.kernel.org/project/linux-media/list/
didnt catch your [1/5] patch.

On Thu, Apr 30, 2009 at 12:22 PM, Zhang, Xiaolin
xiaolin.zh...@intel.com wrote:
 From d8f37b4340ea4cfd28d6e620f1b3224d946b9fab Mon Sep 17 00:00:00 2001
 From: Xiaolin Zhang xiaolin.zh...@intel.com
 Date: Thu, 30 Apr 2009 12:31:21 +0800
 Subject: [PATCH] sensor pseduo driver in camera imaging on Intel moorestown 
 platform.
  The moorestown platform with dual cameras will have one the same side as
  the display and the second on the oppsoite side of the display. The pseduo
  driver provides the uniform interface for isp kernel driver.
  Signed-off-by: Xiaolin Zhang xiaolin.zh...@intel.com

 ---
  drivers/media/video/Makefile                       |    1 +
  drivers/media/video/mrstci/Kconfig                 |    1 +
  drivers/media/video/mrstci/include/ci_sensor_ioc.h |   57 +
  drivers/media/video/mrstci/include/sensordev.h     |  119 +++
  drivers/media/video/mrstci/mrstsensor/Kconfig      |    9 +
  drivers/media/video/mrstci/mrstsensor/Makefile     |    3 +
  drivers/media/video/mrstci/mrstsensor/mrstsensor.c | 1094 
 
  .../media/video/mrstci/mrstsensor/sensordev_priv.h |   37 +
  8 files changed, 1321 insertions(+), 0 deletions(-)
  create mode 100644 drivers/media/video/mrstci/include/ci_sensor_ioc.h
  create mode 100644 drivers/media/video/mrstci/include/sensordev.h
  create mode 100644 drivers/media/video/mrstci/mrstsensor/Kconfig
  create mode 100644 drivers/media/video/mrstci/mrstsensor/Makefile
  create mode 100644 drivers/media/video/mrstci/mrstsensor/mrstsensor.c
  create mode 100644 drivers/media/video/mrstci/mrstsensor/sensordev_priv.h

 diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
 index f06f1cb..34a3461 100644
 --- a/drivers/media/video/Makefile
 +++ b/drivers/media/video/Makefile
 @@ -152,6 +152,7 @@ obj-$(CONFIG_VIDEO_AU0828) += au0828/

  obj-$(CONFIG_USB_VIDEO_CLASS)  += uvc/
  obj-$(CONFIG_VIDEO_MRST_ISP) += mrstci/mrstisp/
 +obj-$(CONFIG_VIDEO_MRST_SENSOR) += mrstci/mrstsensor/

  EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
  EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
 diff --git a/drivers/media/video/mrstci/Kconfig 
 b/drivers/media/video/mrstci/Kconfig
 index 8f0a620..bf01447 100644
 --- a/drivers/media/video/mrstci/Kconfig
 +++ b/drivers/media/video/mrstci/Kconfig
 @@ -10,6 +10,7 @@ if VIDEO_MRSTCI  VIDEO_V4L2

  source drivers/media/video/mrstci/mrstisp/Kconfig

 +source drivers/media/video/mrstci/mrstsensor/Kconfig

  endif # VIDEO_MRSTCI

 diff --git a/drivers/media/video/mrstci/include/ci_sensor_ioc.h 
 b/drivers/media/video/mrstci/include/ci_sensor_ioc.h
 new file mode 100644
 index 000..80d3b0f
 --- /dev/null
 +++ b/drivers/media/video/mrstci/include/ci_sensor_ioc.h
 @@ -0,0 +1,57 @@
 +/*
 + * Support for Moorestown Langwell Camera Imaging ISP subsystem.
 + *
 + * Copyright (c) 2009 Intel Corporation. All Rights Reserved.
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License version
 + * 2 as published by the Free Software Foundation.
 + *
 + * 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., 51 Franklin Street, Fifth Floor, Boston, MA
 + * 02110-1301, USA.
 + *
 + *
 + * Xiaolin Zhang xiaolin.zh...@intel.com
 + */
 +
 +/* Sensor IOCTL */
 +#ifndef _SENSOR_IOC_H
 +#define        _SENSOR_IOC_H
 +
 +#ifdef __cplusplus
 +extern C {
 +#endif

Looks interesting. Why is this workaround for C++ here?

 +
 +#define SENSOR_MAGIC 0x83
 +
 +#define SENIOC_QUERYCAP _IOR(SENSOR_MAGIC, 0, struct ci_sensor_caps)
 +#define SENIOC_G_CONFIG _IOR(SENSOR_MAGIC, 1, struct ci_sensor_config)
 +#define SENIOC_S_CONFIG _IOW(SENSOR_MAGIC, 2, struct ci_sensor_config)
 +#define SENIOC_STREAM_ON _IO(SENSOR_MAGIC, 3)
 +#define SENIOC_STREAM_OFF _IO(SENSOR_MAGIC, 4)
 +#define SENIOC_G_REG _IOWR(SENSOR_MAGIC, 5, struct ci_sensor_reg)
 +#define SENIOC_S_REG _IOW(SENSOR_MAGIC, 6, struct ci_sensor_reg)
 +/* Get current focus position */
 +#define SENIOC_MDI_G_FOCUS _IOR(SENSOR_MAGIC, 9, unsigned int)
 +/* Set focus to the given position */
 +#define SENIOC_MDI_S_FOCUS _IOW(SENSOR_MAGIC, 10, unsigned int)
 +/* Trigger a forced calibration of focus hardware */
 +#define SENIOC_MDI_CALIBRATE _IO(SENSOR_MAGIC, 11)
 +#define SENIOC_MDI_MAX_STEP _IOR(SENSOR_MAGIC, 12, unsigned int)
 +/* Get the max step hardware can support */
 +#define SENIOC_ENUMPARM _IOWR(SENSOR_MAGIC, 13, struct ci_sensor_parm)
 +#define SENIOC_G_PARM _IOWR(SENSOR_MAGIC, 14, struct ci_sensor_parm)
 

Re: Nova-T 500 does not survive reboot

2009-04-30 Thread Nicolas Will
On Thu, 2009-04-30 at 16:08 +0100, Nicolas Will wrote:
 
 I mention that the URB part is a quick hack.

*you* mention, I wouldn't dare... ;o)

Nico

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


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

2009-04-30 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:Thu Apr 30 19:00:03 CEST 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   11658:83712d149893
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.22.19-armv5: WARNINGS
linux-2.6.23.12-armv5: WARNINGS
linux-2.6.24.7-armv5: WARNINGS
linux-2.6.25.11-armv5: WARNINGS
linux-2.6.26-armv5: WARNINGS
linux-2.6.27-armv5: WARNINGS
linux-2.6.28-armv5: WARNINGS
linux-2.6.29.1-armv5: WARNINGS
linux-2.6.30-rc3-armv5: WARNINGS
linux-2.6.27-armv5-ixp: WARNINGS
linux-2.6.28-armv5-ixp: WARNINGS
linux-2.6.29.1-armv5-ixp: WARNINGS
linux-2.6.30-rc3-armv5-ixp: WARNINGS
linux-2.6.28-armv5-omap2: WARNINGS
linux-2.6.29.1-armv5-omap2: WARNINGS
linux-2.6.30-rc3-armv5-omap2: WARNINGS
linux-2.6.22.19-i686: WARNINGS
linux-2.6.23.12-i686: ERRORS
linux-2.6.24.7-i686: WARNINGS
linux-2.6.25.11-i686: WARNINGS
linux-2.6.26-i686: WARNINGS
linux-2.6.27-i686: WARNINGS
linux-2.6.28-i686: WARNINGS
linux-2.6.29.1-i686: WARNINGS
linux-2.6.30-rc3-i686: WARNINGS
linux-2.6.23.12-m32r: WARNINGS
linux-2.6.24.7-m32r: WARNINGS
linux-2.6.25.11-m32r: WARNINGS
linux-2.6.26-m32r: WARNINGS
linux-2.6.27-m32r: WARNINGS
linux-2.6.28-m32r: WARNINGS
linux-2.6.29.1-m32r: WARNINGS
linux-2.6.30-rc3-m32r: WARNINGS
linux-2.6.22.19-mips: WARNINGS
linux-2.6.26-mips: WARNINGS
linux-2.6.27-mips: WARNINGS
linux-2.6.28-mips: WARNINGS
linux-2.6.29.1-mips: WARNINGS
linux-2.6.30-rc3-mips: WARNINGS
linux-2.6.27-powerpc64: WARNINGS
linux-2.6.28-powerpc64: WARNINGS
linux-2.6.29.1-powerpc64: WARNINGS
linux-2.6.30-rc3-powerpc64: WARNINGS
linux-2.6.22.19-x86_64: WARNINGS
linux-2.6.23.12-x86_64: ERRORS
linux-2.6.24.7-x86_64: WARNINGS
linux-2.6.25.11-x86_64: WARNINGS
linux-2.6.26-x86_64: WARNINGS
linux-2.6.27-x86_64: WARNINGS
linux-2.6.28-x86_64: WARNINGS
linux-2.6.29.1-x86_64: WARNINGS
linux-2.6.30-rc3-x86_64: WARNINGS
fw/apps: WARNINGS
sparse (linux-2.6.29.1): OK
sparse (linux-2.6.30-rc3): OK
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: WARNINGS
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: WARNINGS
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/Thursday.log

Full logs are available here:

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

The V4L2 specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/v4l2.html

The DVB API specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/dvbapi.pdf

--
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: Digital compact cameras that can be used as video devices?

2009-04-30 Thread Robin van Kleeff
Thanks for your advice, I learned a lot.  I will look into all the
options to the extent time (and my knowledge) allows for, and
hopefully come up with something good.

Thanks!
Robin
--
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] radio_si470x: Drop unused label

2009-04-30 Thread Alexey Klimov
(added Tobias and Mauro on c/c)

On Thu, Apr 30, 2009 at 6:16 PM, Nicola Soranzo nsora...@tiscali.it wrote:
 Fix this warning:

 /home/nicola/v4l-dvb/v4l/radio-si470x.c: In function 'si470x_fops_release':
 /home/nicola/v4l-dvb/v4l/radio-si470x.c:1218: warning: label 'unlock' defined 
 but not used

 Priority: normal

 Signed-off-by: Nicola Soranzo nsora...@tiscali.it

 ---
 diff -r 83712d149893 -r 97be9e920832 linux/drivers/media/radio/radio-si470x.c
 --- a/linux/drivers/media/radio/radio-si470x.c  Wed Apr 29 18:01:48 2009 -0300
 +++ b/linux/drivers/media/radio/radio-si470x.c  Thu Apr 30 16:10:24 2009 +0200
 @@ -1214,8 +1214,6 @@
                retval = si470x_stop(radio);
                usb_autopm_put_interface(radio-intf);
        }
 -
 -unlock:
        mutex_unlock(radio-disconnect_lock);

  done:

Looks good. Thank you.
When i built latest up-to-date git kernel i noticed that this warning
showed there also.
Probably, it's better this patch reach 2.6.30 kernel. Now we are at rc4.

-- 
Best regards, Klimov Alexey
--
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: [cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

2009-04-30 Thread Alexey Klimov
Hello,

On Mon, Apr 20, 2009 at 3:59 AM, Mike Isely is...@isely.net wrote:
 On Mon, 20 Apr 2009, Alexey Klimov wrote:

   [...]

 When trying to compile v4l-dvb tree under 2.6.30-rc2 (up-to-date) i
 have such error with pvr2 module:

   CC [M]  /w/new/v4l-dvb/v4l/pvrusb2-hdw.o
 /w/new/v4l-dvb/v4l/pvrusb2-hdw.c: In function 'pvr2_upload_firmware1':
 /w/new/v4l-dvb/v4l/pvrusb2-hdw.c:1474: error: implicit declaration of
 function 'usb_settoggle'
 /w/new/v4l-dvb/v4l/pvrusb2-hdw.c: In function 'pvr2_hdw_load_modules':
 /w/new/v4l-dvb/v4l/pvrusb2-hdw.c:2133: warning: format not a string
 literal and no format arguments
 make[3]: *** [/w/new/v4l-dvb/v4l/pvrusb2-hdw.o] Error 1
 make[2]: *** [_module_/w/new/v4l-dvb/v4l] Error 2

 It's probably due to this git commit:
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3444b26afa145148951112534f298bdc554ec789

 I don't have idea how to fix it fast and correctly.

 This might explain things a bit.  The following thread took place on
 linux-usb on 7-April:

Well, looks like it explains everything.

 quote

 On Tue, 7 Apr 2009, Greg KH wrote:

 On Tue, Apr 07, 2009 at 05:31:55PM +, David Vrabel wrote:
  Wireless USB endpoint state has a sequence number and a current
  window and not just a single toggle bit.  So allow HCDs to provide a
  endpoint_reset method and call this or clear the software toggles as
  required (after a clear halt).
 
  usb_settoggle() and friends are then HCD internal and are moved into
  core/hcd.h.

 You remove this api, yet the pvrusb2 driver used it, and you don't seem
 to have resolved the issue where it was calling it:

  diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c 
  b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
  index fa304e5..b86682d 100644
  --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
  +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
  @@ -1418,7 +1418,6 @@ static int pvr2_upload_firmware1(struct pvr2_hdw 
  *hdw)
              return ret;
      }
 
  -   usb_settoggle(hdw-usb_dev, 0  0xf, !(0  USB_DIR_IN), 0);
      usb_clear_halt(hdw-usb_dev, usb_sndbulkpipe(hdw-usb_dev, 0  0x7f));
 
      pipe = usb_sndctrlpipe(hdw-usb_dev, 0);

 Should usb_reset_endpoint() be called here instead?


 Speaking as the maintainer of that driver, I'm OK with accepting this
 as-is for now.  This is a sequence that should not interfere with normal
 driver operation.  I will look at this further a little later (not
 likely before the merge window closes) and if this change turns out to
 cause a problem I'll make a follow-up fix upstream.

 Acked-By: Mike Isely is...@pobox.com

  -Mike

 /quote

 So the kernel already has this; it just needs to be pulled back into
 v4l-dvb.  It's an obvious trivial thing for now and I've acked it there.
 Obviously we're getting had here because you're compiling against a
 kernel snapshot that's been changed but v4l-dvb doesn't have the
 corresponding change in its local copy of the pvrusb2 driver.  Part of
 the fun of synchronizing changes from different trees :-(

Well, good to know that this thing is already fixed.
I'm very sorry for the mess.

-- 
Best regards, Klimov Alexey
--
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] dvb-core: Fix potential mutex_unlock without mutex_lock in dvb_dvr_read

2009-04-30 Thread Andrew Morton
On Thu, 30 Apr 2009 22:42:06 +0100
Simon Arlott si...@fire.lp0.eu wrote:

  diff --git a/drivers/media/dvb/dvb-core/dmxdev.c 
  b/drivers/media/dvb/dvb-core/dmxdev.c
  index c35fbb8..d6d098a 100644
  --- a/drivers/media/dvb/dvb-core/dmxdev.c
  +++ b/drivers/media/dvb/dvb-core/dmxdev.c
  @@ -247,7 +247,7 @@ static ssize_t dvb_dvr_read(struct file *file, char 
  __user *buf, size_t count,
 int ret;
   
 if (dmxdev-exit) {
  -  mutex_unlock(dmxdev-mutex);
  +  //mutex_unlock(dmxdev-mutex);
 return -ENODEV;
 }
  
  Is there any value in retaining all the commented-out lock operations,
  or can we zap 'em?
 
 I'm assuming they should really be there - it's just not practical
 because the call to dvb_dmxdev_buffer_read is likely to block waiting
 for data.

well..  such infomation is much better communicated via a nice comment,
rather than mystery-dead-code?

--
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] dvb-core: Fix potential mutex_unlock without mutex_lock in dvb_dvr_read

2009-04-30 Thread Simon Arlott
On 30/04/09 21:18, Andrew Morton wrote:
 On Thu, 23 Apr 2009 18:32:13 +0100
 Simon Arlott si...@fire.lp0.eu wrote:
 
 dvb_dvr_read may unlock the dmxdev mutex and return -ENODEV,
 except this function is a file op and will never be called
 with the mutex held.
 
 There's existing mutex_lock and mutex_unlock around the actual
 read but it's commented out. These should probably be uncommented
 but the read blocks and this could block another non-blocking
 reader on the mutex instead.
 
 This change comments out the extra mutex_unlock.
 
 Signed-off-by: Simon Arlott si...@fire.lp0.eu
 ---
 This has been on my TODO list for far too long... I did come
 up with a mutex_trylock/mutex_lock_interruptible version but
 claiming that it'll block when it may not doesn't make sense
 (and any blocking read would cause all non-blocking reads to
 continually return -EWOULDBLOCK until there is data).
 
  drivers/media/dvb/dvb-core/dmxdev.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/drivers/media/dvb/dvb-core/dmxdev.c 
 b/drivers/media/dvb/dvb-core/dmxdev.c
 index c35fbb8..d6d098a 100644
 --- a/drivers/media/dvb/dvb-core/dmxdev.c
 +++ b/drivers/media/dvb/dvb-core/dmxdev.c
 @@ -247,7 +247,7 @@ static ssize_t dvb_dvr_read(struct file *file, char 
 __user *buf, size_t count,
  int ret;
  
  if (dmxdev-exit) {
 -mutex_unlock(dmxdev-mutex);
 +//mutex_unlock(dmxdev-mutex);
  return -ENODEV;
  }
 
 Is there any value in retaining all the commented-out lock operations,
 or can we zap 'em?

I'm assuming they should really be there - it's just not practical
because the call to dvb_dmxdev_buffer_read is likely to block waiting
for data.
 
 --- 
 a/drivers/media/dvb/dvb-core/dmxdev.c~dvb-core-fix-potential-mutex_unlock-without-mutex_lock-in-dvb_dvr_read-fix
 +++ a/drivers/media/dvb/dvb-core/dmxdev.c
 @@ -244,19 +244,13 @@ static ssize_t dvb_dvr_read(struct file 
  {
   struct dvb_device *dvbdev = file-private_data;
   struct dmxdev *dmxdev = dvbdev-priv;
 - int ret;
  
 - if (dmxdev-exit) {
 - //mutex_unlock(dmxdev-mutex);
 + if (dmxdev-exit)
   return -ENODEV;
 - }
  
 - //mutex_lock(dmxdev-mutex);
 - ret = dvb_dmxdev_buffer_read(dmxdev-dvr_buffer,
 -  file-f_flags  O_NONBLOCK,
 -  buf, count, ppos);
 - //mutex_unlock(dmxdev-mutex);
 - return ret;
 + return dvb_dmxdev_buffer_read(dmxdev-dvr_buffer,
 +   file-f_flags  O_NONBLOCK,
 +   buf, count, ppos);
  }
  
  static int dvb_dvr_set_buffer_size(struct dmxdev *dmxdev,
 _
 


-- 
Simon Arlott
--
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] dvb-core: Fix potential mutex_unlock without mutex_lock in dvb_dvr_read

2009-04-30 Thread Devin Heitmueller
On Thu, Apr 30, 2009 at 5:48 PM, Andrew Morton
a...@linux-foundation.org wrote:
 On Thu, 30 Apr 2009 22:42:06 +0100
 Simon Arlott si...@fire.lp0.eu wrote:

  diff --git a/drivers/media/dvb/dvb-core/dmxdev.c 
  b/drivers/media/dvb/dvb-core/dmxdev.c
  index c35fbb8..d6d098a 100644
  --- a/drivers/media/dvb/dvb-core/dmxdev.c
  +++ b/drivers/media/dvb/dvb-core/dmxdev.c
  @@ -247,7 +247,7 @@ static ssize_t dvb_dvr_read(struct file *file, char 
  __user *buf, size_t count,
     int ret;
 
     if (dmxdev-exit) {
  -          mutex_unlock(dmxdev-mutex);
  +          //mutex_unlock(dmxdev-mutex);
             return -ENODEV;
     }
 
  Is there any value in retaining all the commented-out lock operations,
  or can we zap 'em?

 I'm assuming they should really be there - it's just not practical
 because the call to dvb_dmxdev_buffer_read is likely to block waiting
 for data.

 well..  such infomation is much better communicated via a nice comment,
 rather than mystery-dead-code?

I'm doing some review of the locking in dvb core as a result of a race
condition I found earlier in the week.  I'll take a look at this too
when I get a few minutes.

Devin

-- 
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller
--
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] media: remove driver_data direct access of struct device

2009-04-30 Thread Greg Kroah-Hartman
From: Greg Kroah-Hartman gre...@suse.de

In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device.  Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used.  These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.


Cc: Mauro Carvalho Chehab mche...@infradead.org
Cc: linux-media@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman gre...@suse.de

---
 drivers/media/dvb/firewire/firedtv-1394.c   |4 ++--
 drivers/media/dvb/firewire/firedtv-dvb.c|2 +-
 drivers/media/video/pvrusb2/pvrusb2-sysfs.c |   22 +++---
 3 files changed, 14 insertions(+), 14 deletions(-)

--- a/drivers/media/dvb/firewire/firedtv-1394.c
+++ b/drivers/media/dvb/firewire/firedtv-1394.c
@@ -225,7 +225,7 @@ fail_free:
 
 static int node_remove(struct device *dev)
 {
-   struct firedtv *fdtv = dev-driver_data;
+   struct firedtv *fdtv = dev_get_drvdata(dev);
 
fdtv_dvb_unregister(fdtv);
 
@@ -242,7 +242,7 @@ static int node_remove(struct device *de
 
 static int node_update(struct unit_directory *ud)
 {
-   struct firedtv *fdtv = ud-device.driver_data;
+   struct firedtv *fdtv = dev_get_drvdata(ud-device);
 
if (fdtv-isochannel = 0)
cmp_establish_pp_connection(fdtv, fdtv-subunit,
--- a/drivers/media/dvb/firewire/firedtv-dvb.c
+++ b/drivers/media/dvb/firewire/firedtv-dvb.c
@@ -268,7 +268,7 @@ struct firedtv *fdtv_alloc(struct device
if (!fdtv)
return NULL;
 
-   dev-driver_data= fdtv;
+   dev_set_drvdata(dev, fdtv);
fdtv-device= dev;
fdtv-isochannel= -1;
fdtv-voltage   = 0xff;
--- a/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
@@ -539,7 +539,7 @@ static void class_dev_destroy(struct pvr
 sfp-attr_unit_number);
}
pvr2_sysfs_trace(Destroying class_dev id=%p,sfp-class_dev);
-   sfp-class_dev-driver_data = NULL;
+   dev_set_drvdata(sfp-class_dev, NULL);
device_unregister(sfp-class_dev);
sfp-class_dev = NULL;
 }
@@ -549,7 +549,7 @@ static ssize_t v4l_minor_number_show(str
 struct device_attribute *attr, char *buf)
 {
struct pvr2_sysfs *sfp;
-   sfp = (struct pvr2_sysfs *)class_dev-driver_data;
+   sfp = dev_get_drvdata(class_dev);
if (!sfp) return -EINVAL;
return scnprintf(buf,PAGE_SIZE,%d\n,
 pvr2_hdw_v4l_get_minor_number(sfp-channel.hdw,
@@ -561,7 +561,7 @@ static ssize_t bus_info_show(struct devi
 struct device_attribute *attr, char *buf)
 {
struct pvr2_sysfs *sfp;
-   sfp = (struct pvr2_sysfs *)class_dev-driver_data;
+   sfp = dev_get_drvdata(class_dev);
if (!sfp) return -EINVAL;
return scnprintf(buf,PAGE_SIZE,%s\n,
 pvr2_hdw_get_bus_info(sfp-channel.hdw));
@@ -572,7 +572,7 @@ static ssize_t hdw_name_show(struct devi
 struct device_attribute *attr, char *buf)
 {
struct pvr2_sysfs *sfp;
-   sfp = (struct pvr2_sysfs *)class_dev-driver_data;
+   sfp = dev_get_drvdata(class_dev);
if (!sfp) return -EINVAL;
return scnprintf(buf,PAGE_SIZE,%s\n,
 pvr2_hdw_get_type(sfp-channel.hdw));
@@ -583,7 +583,7 @@ static ssize_t hdw_desc_show(struct devi
 struct device_attribute *attr, char *buf)
 {
struct pvr2_sysfs *sfp;
-   sfp = (struct pvr2_sysfs *)class_dev-driver_data;
+   sfp = dev_get_drvdata(class_dev);
if (!sfp) return -EINVAL;
return scnprintf(buf,PAGE_SIZE,%s\n,
 pvr2_hdw_get_desc(sfp-channel.hdw));
@@ -595,7 +595,7 @@ static ssize_t v4l_radio_minor_number_sh
   char *buf)
 {
struct pvr2_sysfs *sfp;
-   sfp = (struct pvr2_sysfs *)class_dev-driver_data;
+   sfp = dev_get_drvdata(class_dev);
if (!sfp) return -EINVAL;
return scnprintf(buf,PAGE_SIZE,%d\n,
 pvr2_hdw_v4l_get_minor_number(sfp-channel.hdw,
@@ -607,7 +607,7 @@ static ssize_t unit_number_show(struct d
struct device_attribute *attr, char *buf)
 {
struct pvr2_sysfs *sfp;
-   sfp = (struct pvr2_sysfs *)class_dev-driver_data;
+   sfp = dev_get_drvdata(class_dev);
if (!sfp) return -EINVAL;
return scnprintf(buf,PAGE_SIZE,%d\n,
 pvr2_hdw_get_unit_number(sfp-channel.hdw));
@@ -635,7 +635,7 @@ static void class_dev_create(struct pvr2
class_dev-parent = usb_dev-dev;
 
sfp-class_dev = class_dev;
-   class_dev-driver_data = sfp;
+   dev_set_drvdata(class_dev, sfp);
ret = device_register(class_dev);
if (ret) {
   

Re: [linux-dvb] Can't scan transponders with Terratec Cinergy HT PCI board

2009-04-30 Thread hermann pitton
Hi Charles,

Am Donnerstag, den 30.04.2009, 13:54 +0200 schrieb Charles:
 Hello,
 
 
 I installed my Terratec Cinergy HT PCI DVB-T board on Ubuntu 9.04

I guess HT PCI can mean a lot, like My Cinema, WinFast and the like ...

 using your tutorial
 (http://www.linuxtv.org/wiki/index.php/How_to_Obtain%2C_Build_and_Install_V4L-DVB_Device_Drivers)
 and when trying to scan transponders, no result was found:
 
 $ ls -l /dev/dvb/adapter0
 total 0
 crw-rw+ 1 root video 212, 1 2009-04-30 12:19 demux0
 crw-rw+ 1 root video 212, 2 2009-04-30 12:19 dvr0
 crw-rw+ 1 root video 212, 0 2009-04-30 12:19 frontend0
 crw-rw+ 1 root video 212, 3 2009-04-30 12:19 net0
 
 $ scan /usr/share/dvb/dvb-t/fr-Nantes
 scanning /usr/share/dvb/dvb-t/fr-Nantes
 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
 initial transponder 49800 0 2 9 3 1 0 0
 initial transponder 50600 0 2 9 3 1 0 0
 initial transponder 52200 0 2 9 3 1 0 0
 initial transponder 53000 0 2 9 3 1 0 0
 initial transponder 65800 0 2 9 3 1 0 0
 initial transponder 80200 0 2 9 3 1 0 0

Can't tell offhand if the zl10353 eventually has this problem too, which
is well known on the tda10046.

Please try to add plus 167 kHz to your initial scan file for Nantes,
like you can see it here for one of the Lyon transmitters.

# T freq bw fec_hi fec_lo mod transmission-mode guard-interval
hierarchy
# R1 : Canal 56
T 754167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
# R2 : Canal 36
T 594167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
# R3 : Canal 21
T 474167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
# R4 : Canal 54
T 738167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
# R5 : Canal 27
T 522167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
# R6 : Canal 24
T 498167000 8MHz 2/3 NONE QAM64 8k 1/32 NONE

At least we can exclude this then.

Cheers,
Hermann

  tune to: 
  49800:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
 WARNING:  tuning failed!!!
  tune to: 
  49800:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
   (tuning failed)
 WARNING:  tuning failed!!!
  tune to: 
  50600:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
 WARNING:  tuning failed!!!
  tune to: 
  50600:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
   (tuning failed)
 WARNING:  tuning failed!!!
  tune to: 
  52200:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
 WARNING:  tuning failed!!!
  tune to: 
  52200:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
   (tuning failed)
 WARNING:  tuning failed!!!
  tune to: 
  53000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
 WARNING:  tuning failed!!!
  tune to: 
  53000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
   (tuning failed)
 WARNING:  tuning failed!!!
  tune to: 
  65800:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
 WARNING:  tuning failed!!!
  tune to: 
  65800:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
   (tuning failed)
 WARNING:  tuning failed!!!
  tune to: 
  80200:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
 WARNING:  tuning failed!!!
  tune to: 
  80200:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE
   (tuning failed)
 WARNING:  tuning failed!!!
 ERROR: initial tuning failed
 dumping lists (0 services)
 Done.
 
 $ dvbscan /usr/share/dvb/dvb-t/fr-Nantes
 Unable to query frontend status
 
 $ w_scan -ft -X
 w_scan version 20081106
 Info: using DVB adapter auto detection.
Found DVB-T frontend. Using adapter /dev/dvb/adapter0/frontend0
 -_-_-_-_ Getting frontend capabilities-_-_-_-_
 frontend Zarlink ZL10353 DVB-T supports
 INVERSION_AUTO
 QAM_AUTO
 TRANSMISSION_MODE_AUTO
 GUARD_INTERVAL_AUTO
 HIERARCHY_AUTO
 FEC_AUTO
 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 177500:
 184500:
 191500:
 198500:
 205500:
 212500:
 219500:
 226500:
 474000:
 482000:
 49:
 498000:
 506000:
 514000:
 522000:
 53:
 538000:
 546000:
 554000:
 562000:
 57:
 578000:
 586000:
 594000:
 602000:
 61:
 618000:
 626000:
 634000:
 642000:
 65:
 658000:
 666000:
 674000:
 682000:
 69:
 698000:
 706000:
 714000:
 722000:
 73:
 738000:
 746000:
 754000:
 762000:
 77:
 778000:
 786000:
 794000:
 802000:
 81:
 818000:
 826000:
 834000:
 842000:
 85:
 858000:
 ERROR: Sorry - i couldn't get any working frequency/transponder
  

Re: [PATCH] pvrusb2: Don't use the internal i2c client list

2009-04-30 Thread Mike Isely
On Thu, 30 Apr 2009, Jean Delvare wrote:

 The i2c core used to maintain a list of client for each adapter. This
 is a duplication of what the driver core already does, so this list
 will be removed as part of a future cleanup. Anyone using this list
 must stop doing so.
 
 For pvrusb2, I propose the following change, which should lead to an
 equally informative output. The only difference is that i2c clients
 which are not a v4l2 subdev won't show up, but I guess this case is
 not supposed to happen anyway.

It will happen for anything i2c used by v4l which itself is not really a 
part of v4l.  That would include, uh, lirc.

I will review and test this first chance I get which should be tomorrow.

  -Mike


 
 Signed-off-by: Jean Delvare kh...@linux-fr.org
 Cc: Mike Isely is...@pobox.com
 ---
 Mike, can you please review and test this patch? Thanks.
 
  linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c |   56 
 +--
  1 file changed, 13 insertions(+), 43 deletions(-)
 
 --- v4l-dvb.orig/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c  
 2009-04-30 16:52:32.0 +0200
 +++ v4l-dvb/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c   2009-04-30 
 17:20:37.0 +0200
 @@ -4920,65 +4920,35 @@ static unsigned int pvr2_hdw_report_clie
   unsigned int tcnt = 0;
   unsigned int ccnt;
   struct i2c_client *client;
 - struct list_head *item;
 - void *cd;
   const char *p;
   unsigned int id;
  
 - ccnt = scnprintf(buf, acnt, Associated v4l2-subdev drivers:);
 + ccnt = scnprintf(buf, acnt, Associated v4l2-subdev drivers and I2C 
 clients:\n);
   tcnt += ccnt;
   v4l2_device_for_each_subdev(sd, hdw-v4l2_dev) {
   id = sd-grp_id;
   p = NULL;
   if (id  ARRAY_SIZE(module_names)) p = module_names[id];
   if (p) {
 - ccnt = scnprintf(buf + tcnt, acnt - tcnt,  %s, p);
 + ccnt = scnprintf(buf + tcnt, acnt - tcnt,   %s:, p);
   tcnt += ccnt;
   } else {
   ccnt = scnprintf(buf + tcnt, acnt - tcnt,
 -   (unknown id=%u), id);
 +(unknown id=%u):, id);
   tcnt += ccnt;
   }
 - }
 - ccnt = scnprintf(buf + tcnt, acnt - tcnt, \n);
 - tcnt += ccnt;
 -
 - ccnt = scnprintf(buf + tcnt, acnt - tcnt, I2C clients:\n);
 - tcnt += ccnt;
 -
 - mutex_lock(hdw-i2c_adap.clist_lock);
 - list_for_each(item, hdw-i2c_adap.clients) {
 - client = list_entry(item, struct i2c_client, list);
 - ccnt = scnprintf(buf + tcnt, acnt - tcnt,
 -%s: i2c=%02x, client-name, client-addr);
 - tcnt += ccnt;
 - cd = i2c_get_clientdata(client);
 - v4l2_device_for_each_subdev(sd, hdw-v4l2_dev) {
 - if (cd == sd) {
 - id = sd-grp_id;
 - p = NULL;
 - if (id  ARRAY_SIZE(module_names)) {
 - p = module_names[id];
 - }
 - if (p) {
 - ccnt = scnprintf(buf + tcnt,
 -  acnt - tcnt,
 -   subdev=%s, p);
 - tcnt += ccnt;
 - } else {
 - ccnt = scnprintf(buf + tcnt,
 -  acnt - tcnt,
 -   subdev= id %u),
 -  id);
 - tcnt += ccnt;
 - }
 - break;
 - }
 + client = v4l2_get_subdevdata(sd);
 + if (client) {
 + ccnt = scnprintf(buf + tcnt, acnt - tcnt,
 +   %s @ %02x\n, client-name,
 +  client-addr);
 + tcnt += ccnt;
 + } else {
 + ccnt = scnprintf(buf + tcnt, acnt - tcnt,
 +   no i2c client\n);
 + tcnt += ccnt;
   }
 - ccnt = scnprintf(buf + tcnt, acnt - tcnt, \n);
 - tcnt += ccnt;
   }
 - mutex_unlock(hdw-i2c_adap.clist_lock);
   return tcnt;
  }
  
 
 
 

-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
--
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/~tap/v4l-dvb

2009-04-30 Thread Trent Piepho
Mauro,

Please pull from http://linuxtv.org/hg/~tap/v4l-dvb

for the following 4 changesets:

01/04: compat: Add DMA_BIT_MASK() macro
http://linuxtv.org/hg/~tap/v4l-dvb?cmd=changeset;node=486add0e3f1f

02/04: zoran: fix bug when enumerating format -1
http://linuxtv.org/hg/~tap/v4l-dvb?cmd=changeset;node=f144948f22c8

03/04: v4l2-ioctl: Check buffer types using g_fmt instead of try_fmt
http://linuxtv.org/hg/~tap/v4l-dvb?cmd=changeset;node=b54857195e2c

04/04: v4l2-ioctl: Clear buffer type specific trailing fields/padding
http://linuxtv.org/hg/~tap/v4l-dvb?cmd=changeset;node=7cbf08aeb840


 linux/drivers/media/video/v4l2-ioctl.c |   45 -
 linux/drivers/media/video/zoran/zoran_driver.c |   30 +++-
 v4l/compat.h   |7 ++-
 3 files changed, 55 insertions(+), 27 deletions(-)

Thanks,
Trent
--
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: Digital compact cameras that can be used as video devices?

2009-04-30 Thread hermann pitton
Hi,

Am Donnerstag, den 30.04.2009, 21:15 +0200 schrieb Robin van Kleeff:
 Thanks for your advice, I learned a lot.  I will look into all the
 options to the extent time (and my knowledge) allows for, and
 hopefully come up with something good.
 
 Thanks!
 Robin

Theodore obviously has very good insight here, but Devin seemed to be a
bit too pessimistic.

At least something to look further into.

A immediate problem I can imagine is, if you use some such over a
capture card, that you don't get the microphone switched on and must
have something else connected to the sound card for it.

Playback of recorded videos with sound should work from such a device
over the capture card, like connected to any recent TV. (preferably the
capture card should have analog audio out in that case)

Cheers,
Hermann

--
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] Add QAM64 support for hvr-950q (au8522)

2009-04-30 Thread Andy Walls
On Thu, 2009-04-30 at 20:07 -0500, Britney Fransen wrote:
 I have updated the patch from 
 http://www.linuxtv.org/pipermail/linux-dvb/2008-December/030786.html 
   to add QAM64 support to the HVR-950Q.  It is working well for me.   
 What needs to happen to get this included in v4l-dvb?

Well, one specific problem is that the patch submission is missing a
Signed-off-by:.  Please see:

http://www.linuxtv.org/wiki/index.php/Development:_How_to_submit_patches
http://www.linuxtv.org/wiki/index.php/Development:_Submitting_Patches#Developer.27s_Certificate_of_Origin_1.1

for what that means and for answers to your more general question.

I'd also expect Devin would need to review and comment on it as he's
done a lot of HVR-950q work lately (IIRC).

Regards,
Andy

 Thanks,
 Britney
 
 --- linux/drivers/media/dvb/frontends/au8522_dig.c.orig   2009-04-30  
 14:27:14.417542844 -0500
 +++ linux/drivers/media/dvb/frontends/au8522_dig.c2009-04-30  
 16:57:37.439472504 -0500
 @@ -367,11 +367,90 @@ static struct {
   { 0x8231, 0x13 },
   };
 
 -/* QAM Modulation table */
 +/* QAM64 Modulation table */
   static struct {
   u16 reg;
   u16 data;
 -} QAM_mod_tab[] = {
 +} QAM64_mod_tab[] = {
 +{ 0x80a3, 0x09 },
 +{ 0x80a4, 0x00 },
 +{ 0x8081, 0xc4 },
 +{ 0x80a5, 0x40 },
 +{ 0x80aa, 0x77 },
 +{ 0x80ad, 0x77 },
 +{ 0x80a6, 0x67 },
 +{ 0x8262, 0x20 },
 +{ 0x821c, 0x30 },
 +{ 0x80b8, 0x3e },
 +{ 0x80b9, 0xf0 },
 +{ 0x80ba, 0x01 },
 +{ 0x80bb, 0x18 },
 +{ 0x80bc, 0x50 },
 +{ 0x80bd, 0x00 },
 +{ 0x80be, 0xea },
 +{ 0x80bf, 0xef },
 +{ 0x80c0, 0xfc },
 +{ 0x80c1, 0xbd },
 +{ 0x80c2, 0x1f },
 +{ 0x80c3, 0xfc },
 +{ 0x80c4, 0xdd },
 +{ 0x80c5, 0xaf },
 +{ 0x80c6, 0x00 },
 +{ 0x80c7, 0x38 },
 +{ 0x80c8, 0x30 },
 +{ 0x80c9, 0x05 },
 +{ 0x80ca, 0x4a },
 +{ 0x80cb, 0xd0 },
 +{ 0x80cc, 0x01 },
 +{ 0x80cd, 0xd9 },
 +{ 0x80ce, 0x6f },
 +{ 0x80cf, 0xf9 },
 +{ 0x80d0, 0x70 },
 +{ 0x80d1, 0xdf },
 +{ 0x80d2, 0xf7 },
 +{ 0x80d3, 0xc2 },
 +{ 0x80d4, 0xdf },
 +{ 0x80d5, 0x02 },
 +{ 0x80d6, 0x9a },
 +{ 0x80d7, 0xd0 },
 +{ 0x8250, 0x0d },
 +{ 0x8251, 0xcd },
 +{ 0x8252, 0xe0 },
 +{ 0x8253, 0x05 },
 +{ 0x8254, 0xa7 },
 +{ 0x8255, 0xff },
 +{ 0x8256, 0xed },
 +{ 0x8257, 0x5b },
 +{ 0x8258, 0xae },
 +{ 0x8259, 0xe6 },
 +{ 0x825a, 0x3d },
 +{ 0x825b, 0x0f },
 +{ 0x825c, 0x0d },
 +{ 0x825d, 0xea },
 +{ 0x825e, 0xf2 },
 +{ 0x825f, 0x51 },
 +{ 0x8260, 0xf5 },
 +{ 0x8261, 0x06 },
 +{ 0x821a, 0x00 },
 +{ 0x8546, 0x40 },
 +{ 0x8210, 0xc7 },
 +{ 0x8211, 0xaa },
 +{ 0x8212, 0xab },
 +{ 0x8213, 0x02 },
 +{ 0x8502, 0x00 },
 +{ 0x8121, 0x04 },
 +{ 0x8122, 0x04 },
 +{ 0x852e, 0x10 },
 +{ 0x80a4, 0xca },
 +{ 0x80a7, 0x40 },
 +{ 0x8526, 0x01 },
 +};
 +
 +/* QAM256 Modulation table */
 +static struct {
 +   u16 reg;
 +   u16 data;
 +} QAM256_mod_tab[] = {
   { 0x80a3, 0x09 },
   { 0x80a4, 0x00 },
   { 0x8081, 0xc4 },
 @@ -464,12 +543,19 @@ static int au8522_enable_modulation(stru
   au8522_set_if(fe, state-config-vsb_if);
   break;
   case QAM_64:
 +dprintk(%s() QAM 64\n, __func__);
 +for (i = 0; i  ARRAY_SIZE(QAM64_mod_tab); i++)
 +au8522_writereg(state,
 +QAM64_mod_tab[i].reg,
 +QAM64_mod_tab[i].data);
 +au8522_set_if(fe, state-config-qam_if);
 +break;
   case QAM_256:
 - dprintk(%s() QAM 64/256\n, __func__);
 - for (i = 0; i  ARRAY_SIZE(QAM_mod_tab); i++)
 +dprintk(%s() QAM 256\n, __func__);
 +for (i = 0; i  ARRAY_SIZE(QAM256_mod_tab); i++)
   au8522_writereg(state,
 - QAM_mod_tab[i].reg,
 - QAM_mod_tab[i].data);
 + QAM256_mod_tab[i].reg,
 + QAM256_mod_tab[i].data);
   au8522_set_if(fe, state-config-qam_if);
   break;
   default:
 
 --
 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


Re: [PATCH v2] Enabling of the Winfast TV2000 XP Global TV capture card remote control

2009-04-30 Thread hermann pitton
Mauro,

 I have nothing important and nobody cared about the oops on the Compro
 T750F stuff, on which I was not involved, but I would like to have a
 warning in for the Asus 3in1 not to use a rotor with it.

I was somewhat alerted by GPL m$ mediaportal not to use a rotor on
cards, except you know exactly they can stand it.

The Asus 3in1, still OEM only, but consumer cards are ready, has only
support for 500 mA current.

The LNB supply on it seems to have protection against over current usage
and Asus also does not give any warnings for such cards in that
direction.

Most likely no trouble ever.

Cheers,
Hermann


--
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] Add QAM64 support for hvr-950q (au8522)

2009-04-30 Thread Frank Dischner
I'm the original author of the patch. I included a Signed-off-by:
line when I submitted it (see the email Britney linked to). As far as
I can tell, the only modification to the patch is the file it is
applied to. This is exactly what I did after analog support was
merged, but I never submitted it since there didn't seem to be any
interest. For the record, I've been using this patch for several
months now without problems and would love to see it merged.

Frank

On Thu, Apr 30, 2009 at 7:21 PM, Andy Walls awa...@radix.net wrote:
 On Thu, 2009-04-30 at 20:07 -0500, Britney Fransen wrote:
 I have updated the patch from 
 http://www.linuxtv.org/pipermail/linux-dvb/2008-December/030786.html
   to add QAM64 support to the HVR-950Q.  It is working well for me.
 What needs to happen to get this included in v4l-dvb?

 Well, one specific problem is that the patch submission is missing a
 Signed-off-by:.  Please see:

 http://www.linuxtv.org/wiki/index.php/Development:_How_to_submit_patches
 http://www.linuxtv.org/wiki/index.php/Development:_Submitting_Patches#Developer.27s_Certificate_of_Origin_1.1

 for what that means and for answers to your more general question.

 I'd also expect Devin would need to review and comment on it as he's
 done a lot of HVR-950q work lately (IIRC).

 Regards,
 Andy

 Thanks,
 Britney

 --- linux/drivers/media/dvb/frontends/au8522_dig.c.orig       2009-04-30
 14:27:14.417542844 -0500
 +++ linux/drivers/media/dvb/frontends/au8522_dig.c    2009-04-30
 16:57:37.439472504 -0500
 @@ -367,11 +367,90 @@ static struct {
       { 0x8231, 0x13 },
   };

 -/* QAM Modulation table */
 +/* QAM64 Modulation table */
   static struct {
       u16 reg;
       u16 data;
 -} QAM_mod_tab[] = {
 +} QAM64_mod_tab[] = {
 +        { 0x80a3, 0x09 },
 +        { 0x80a4, 0x00 },
 +        { 0x8081, 0xc4 },
 +        { 0x80a5, 0x40 },
 +        { 0x80aa, 0x77 },
 +        { 0x80ad, 0x77 },
 +        { 0x80a6, 0x67 },
 +        { 0x8262, 0x20 },
 +        { 0x821c, 0x30 },
 +        { 0x80b8, 0x3e },
 +        { 0x80b9, 0xf0 },
 +        { 0x80ba, 0x01 },
 +        { 0x80bb, 0x18 },
 +        { 0x80bc, 0x50 },
 +        { 0x80bd, 0x00 },
 +        { 0x80be, 0xea },
 +        { 0x80bf, 0xef },
 +        { 0x80c0, 0xfc },
 +        { 0x80c1, 0xbd },
 +        { 0x80c2, 0x1f },
 +        { 0x80c3, 0xfc },
 +        { 0x80c4, 0xdd },
 +        { 0x80c5, 0xaf },
 +        { 0x80c6, 0x00 },
 +        { 0x80c7, 0x38 },
 +        { 0x80c8, 0x30 },
 +        { 0x80c9, 0x05 },
 +        { 0x80ca, 0x4a },
 +        { 0x80cb, 0xd0 },
 +        { 0x80cc, 0x01 },
 +        { 0x80cd, 0xd9 },
 +        { 0x80ce, 0x6f },
 +        { 0x80cf, 0xf9 },
 +        { 0x80d0, 0x70 },
 +        { 0x80d1, 0xdf },
 +        { 0x80d2, 0xf7 },
 +        { 0x80d3, 0xc2 },
 +        { 0x80d4, 0xdf },
 +        { 0x80d5, 0x02 },
 +        { 0x80d6, 0x9a },
 +        { 0x80d7, 0xd0 },
 +        { 0x8250, 0x0d },
 +        { 0x8251, 0xcd },
 +        { 0x8252, 0xe0 },
 +        { 0x8253, 0x05 },
 +        { 0x8254, 0xa7 },
 +        { 0x8255, 0xff },
 +        { 0x8256, 0xed },
 +        { 0x8257, 0x5b },
 +        { 0x8258, 0xae },
 +        { 0x8259, 0xe6 },
 +        { 0x825a, 0x3d },
 +        { 0x825b, 0x0f },
 +        { 0x825c, 0x0d },
 +        { 0x825d, 0xea },
 +        { 0x825e, 0xf2 },
 +        { 0x825f, 0x51 },
 +        { 0x8260, 0xf5 },
 +        { 0x8261, 0x06 },
 +        { 0x821a, 0x00 },
 +        { 0x8546, 0x40 },
 +        { 0x8210, 0xc7 },
 +        { 0x8211, 0xaa },
 +        { 0x8212, 0xab },
 +        { 0x8213, 0x02 },
 +        { 0x8502, 0x00 },
 +        { 0x8121, 0x04 },
 +        { 0x8122, 0x04 },
 +        { 0x852e, 0x10 },
 +        { 0x80a4, 0xca },
 +        { 0x80a7, 0x40 },
 +        { 0x8526, 0x01 },
 +};
 +
 +/* QAM256 Modulation table */
 +static struct {
 +       u16 reg;
 +       u16 data;
 +} QAM256_mod_tab[] = {
       { 0x80a3, 0x09 },
       { 0x80a4, 0x00 },
       { 0x8081, 0xc4 },
 @@ -464,12 +543,19 @@ static int au8522_enable_modulation(stru
               au8522_set_if(fe, state-config-vsb_if);
               break;
       case QAM_64:
 +                dprintk(%s() QAM 64\n, __func__);
 +                for (i = 0; i  ARRAY_SIZE(QAM64_mod_tab); i++)
 +                        au8522_writereg(state,
 +                                QAM64_mod_tab[i].reg,
 +                                QAM64_mod_tab[i].data);
 +                au8522_set_if(fe, state-config-qam_if);
 +                break;
       case QAM_256:
 -             dprintk(%s() QAM 64/256\n, __func__);
 -             for (i = 0; i  ARRAY_SIZE(QAM_mod_tab); i++)
 +                dprintk(%s() QAM 256\n, __func__);
 +                for (i = 0; i  ARRAY_SIZE(QAM256_mod_tab); i++)
                       au8522_writereg(state,
 -                             QAM_mod_tab[i].reg,
 -                             QAM_mod_tab[i].data);
 +                             QAM256_mod_tab[i].reg,
 +                             QAM256_mod_tab[i].data);
   

Re: [PATCH] Add QAM64 support for hvr-950q (au8522)

2009-04-30 Thread Britney Fransen

On Apr 30, 2009, at 8:55 PM, Frank Dischner wrote:


As far as
I can tell, the only modification to the patch is the file it is
applied to.


Frank, you are correct.  The only change I made was to the new _dig.c  
file that I believe changed with analog support.  Do you want to  
resubmit the patch with your Signed-off-by: line?  I don't think  
mine was/will be accepted into Patchwork because I omitted the Signed- 
off-by:.


Thanks for the info Andy.

Britney
--
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: [ivtv-users] Delay loading v4l-cx25840.fw

2009-04-30 Thread Andy Walls
On Wed, 2009-04-29 at 21:18 -0400, Andy Walls wrote:
 On Wed, 2009-04-29 at 13:33 +0200, Hans Verkuil wrote:
   On Wed, 2009-04-29 at 21:50 +1200, Michael Cree wrote:
   On 29/04/2009, at 6:19 PM, Hans Verkuil wrote:
 
What does surprise me here is that the fw is loaded right after the
driver
was loaded, which does suggest that some process is opening one of the
device nodes since the fw load is only done on the first open.
  
 
   On my systems (Fedora 9  10) IIRC it happens early too.  I've always
   assumed it was either udev or hal or some some other automatic process
   that mucks with device nodes.
 
  It would be nice if you could track down who is messing around with those
  device nodes.
 
 I'll work on it.  It looks like something that is aware of v4l device
 nodes (see below) - I'm wagering hald.

I've found it.  It's hald-probe-video4linux:

[11539.917539] cx18-0:  info: cx18_v4l2_open: called for stream encoder MPEG by 
pid 22870 (hald-probe-vide) ppid 1981 (hald-runner)
[11540.333557] cx18-0:  info: cx18_v4l2_open: called for stream encoder PCM 
audio by pid 22907 (hald-probe-vide) ppid 1981 (hald-runner)
[11540.337019] cx18-0:  info: cx18_v4l2_open: called for stream encoder VBI by 
pid 22923 (hald-probe-vide) ppid 1981 (hald-runner)
[11540.386051] cx18-0:  info: cx18_v4l2_open: called for stream encoder YUV by 
pid 22929 (hald-probe-vide) ppid 1981 (hald-runner)
[11540.401658] cx18-0:  info: cx18_v4l2_open: called for stream encoder radio 
by pid 22930 (hald-probe-vide) ppid 1981 (hald-runner)

# locate hald-probe-vide
/usr/libexec/hald-probe-video4linux


It's not restricted to boot.  It happens on modprobe, probably cued by
udev or some other hotplug mechanism.


   If you modprobe ivtv with file and ioctl debugging on, does
  that give an indication of what is done with the device nodes?
 
 For the cx18 driver on a Fedora 10 system something runs through
 the /dev/video* nodes and /dev/radio* doing VIDIOC_QUERYCAP.  I suspect
 the behavior will be the same for ivtv.  I'll test on my other system
 when I get a chance.


 
  Depending on what process is doing what with the device nodes I may be
  able to optimize the driver for that. It's really annoying to have this fw
  loaded at boot time, esp. if you have one or more PVR-500 cards.

Well thinking about this, this is a system level issue:

1. People want to avoid unnecessary waits at boot (or module insertion
time)

2. Hardware detection mechanisms want to query what new hardware is as
soon as it appears.

3. Hardware queries from userspace should (or need to) avoid IO bound
operations that consume CPU.

4. Kernel drivers should be able to satsify hardware queries without
starting up an IO bound operation that consumes CPU.

Hans, it sounds like your media_controller device node idea is really
what we need to get implemented here for user space to do queires on
hardware.  This problem obviously affects more than the ivtv driver so
I'd recommend against an ivtv band-aid.

We'd also want to coordinate with the hald folks and other user space
app/plumbing developers, as this likely affects a few v4l2 drivers.  It
sounds like an LPC agenda item to me...

Regards,
Andy



--
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] videobuf-dma-contig: zero copy USERPTR support V2

2009-04-30 Thread Magnus Damm
On Tue, Apr 28, 2009 at 6:01 PM, Magnus Damm magnus.d...@gmail.com wrote:
 This is V2 of the V4L2 videobuf-dma-contig USERPTR zero copy patch.

I guess the V4L2 specific bits are pretty simple.

As for the minor mm modifications below,

 --- 0001/mm/memory.c
 +++ work/mm/memory.c    2009-04-28 14:56:43.0 +0900
 @@ -3009,7 +3009,6 @@ int in_gate_area_no_task(unsigned long a

  #endif /* __HAVE_ARCH_GATE_AREA */

 -#ifdef CONFIG_HAVE_IOREMAP_PROT
  int follow_phys(struct vm_area_struct *vma,
                unsigned long address, unsigned int flags,
                unsigned long *prot, resource_size_t *phys)

Is it ok with the memory management guys to always build follow_phys()?

 @@ -3063,7 +3062,9 @@ unlock:
  out:
        return ret;
  }
 +EXPORT_SYMBOL(follow_phys);

 +#ifdef CONFIG_HAVE_IOREMAP_PROT
  int generic_access_phys(struct vm_area_struct *vma, unsigned long addr,
                        void *buf, int len, int write)
  {

How about exporting follow_phys()? This because the user
videobuf-dma-contig.c can be built as a module.

Should I use EXPORT_SYMBOL_GPL() instead of EXPORT_SYMBOL()?

Any comments?

Thanks,

/ magnus
--
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] Add QAM64 support for hvr-950q (au8522)

2009-04-30 Thread Devin Heitmueller
On Thu, Apr 30, 2009 at 10:17 PM, Britney Fransen
britney.fran...@gmail.com wrote:
 On Apr 30, 2009, at 8:55 PM, Frank Dischner wrote:

 As far as
 I can tell, the only modification to the patch is the file it is
 applied to.

 Frank, you are correct.  The only change I made was to the new _dig.c file
 that I believe changed with analog support.  Do you want to resubmit the
 patch with your Signed-off-by: line?  I don't think mine was/will be
 accepted into Patchwork because I omitted the Signed-off-by:.

 Thanks for the info Andy.

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


Hello,

Structurally the patch looks sane, although I want to have a closer
look at the actual modulation table values themselves before I merge
this in.

In the meantime, if Frank could please resubmit this patch against the
current tip, I will get it into my tree with some other patches
queuing up, do some testing, and issue a PULL request.

Thanks,

Devin

-- 
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller
--
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] Add QAM64 support for hvr-950q (au8522)

2009-04-30 Thread Devin Heitmueller
On Thu, Apr 30, 2009 at 10:17 PM, Britney Fransen
britney.fran...@gmail.com wrote:
 On Apr 30, 2009, at 8:55 PM, Frank Dischner wrote:

 As far as
 I can tell, the only modification to the patch is the file it is
 applied to.

 Frank, you are correct.  The only change I made was to the new _dig.c file
 that I believe changed with analog support.  Do you want to resubmit the
 patch with your Signed-off-by: line?  I don't think mine was/will be
 accepted into Patchwork because I omitted the Signed-off-by:.

 Thanks for the info Andy.

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


One more comment:  when resubmitting this patch, please change the
modulation values by removing the top bit from the register numbers.
In other words, change:

+   { 0x80a3, 0x09 },

to

+   { 0x00a3, 0x09 },

The top bit is actually not part of the register number, and it now
gets set automatically by the au8522_writereg() routine (I made this
change when I did the analog support).  I am going to take a pass over
all the registers in au8522_dig.c at some point, but it doesn't make
sense for any new code to set it.

Devin

-- 
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller
--
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] FM1216ME_MK3 some changes

2009-04-30 Thread hermann pitton

Am Mittwoch, den 29.04.2009, 21:14 -0400 schrieb Andy Walls:
 On Wed, 2009-04-29 at 20:12 +1000, Dmitri Belimov wrote:
  Hi,
   
   Am Dienstag, den 28.04.2009, 19:59 +1000 schrieb Dmitri Belimov:
On Tue, 28 Apr 2009 15:18:32 -0300
Mauro Carvalho Chehab mche...@infradead.org wrote:

 On Mon, 27 Apr 2009 19:29:05 +1000
 Dmitri Belimov d.beli...@gmail.com wrote:
 
  Hi All
  
  Step by step.
  
  This is patch for change only range of FM1216ME_MK3. Slow
  tunning is not a big problem.
 
 Dmitri,
 
 I'll mark those patches as RFC at patchwork until the end of those
 discussions. After that, please send it again into a new thread.

You mark patch with TOP AGC not this.

I think need discuss about FM1216ME_MK3 because I'll have a big
patch for support control TOP AGC (sensitivity) of this tuner. It
can be bad for compatible tuners.
   
   hmm, in Europe, that TOP AGC did not ever made much difference and it
   is an insmod option since ever.
   
   I can't tell for Sibiria and initially that tuner had no SECAM-DK
   support officially at all. There are no good/much_better tuners for
   FTA at all and never have been ;)
   
   Some examples, user success reports, to make it more easily to
   understand? I think it can only change some _very little_ under
   already worst conditions.
  
  This is my idea for RFC about TOP AGC:
  
  1. Add gain variable to tuner structure.
  2. Add V4L2_CID_GAIN control to saa7134 and disable this control.
  3. Add workaround to simple_post_tune function for write sensitivity level 
  to the tuner.
  4. Enable V4L2_CID_GAIN control when module load if card is right.
  
  My expirience not so good, step 4 segfault the kernel. How to we can make 
  it?
  
  Our windows end-user programm control the sensitivity of each TV channel 
  and change when
  channel changed.
  
  What you think about it??
 
 Dmitri,
 
 From my understanding the take over point is the signal strength level
 that you want the second stage (an IF demod chip like the TDA9887) to
 take over automatic gain control from the first stage (a tuner chip like
 the TUA6030).  The objective is to set the TOP to achieve maximum gain
 in the first stage while avoiding clipping in the first stage.  When the
 input signal level is smaller than the TOP, the first stage gain is at a
 maximum, and the second stage is performing automatic gain control
 internally.  When the input signal level becomes greater than the TOP,
 the first stage gain needs to be reduced by an AGC, and the second stage
 gain remains constant.
 
 
 As I understand it, it would be best to set the first stage (TUA6030 or
 similar) to External AGC and set the take over point in the second
 stage (the TDA9887), if the pins between the chips are wired up properly
 inside the tuner.  This should coordinate the AGC in both the first
 stage and second stage of the tuner, as the second stage will be
 providing the gain control to the first stage as needed when the signal
 reaches the TOP.
 
 http://www.comsec.com/usrp/microtune/NF_tutorial.pdf
 
 It allows you to achieve maximum gain in the first stage to minimize
 overall receiver noise figure, and avoid clipping the input signal in
 the first stage (TUA6030) with a proper TOP setting in the second stage
 (TDA9887).  The TOP setting in the second stage needs to take into
 account IF SAW filter attenuation of course.
 
 Do the circuit board traces in the FM1216ME_MK3 support the TDA9887
 controlling the gain of the first stage?  (I've never opened an
 equivalent NTSC tuner assembly to take a look.)

equivalent NTSC tuners _do not_ exist at all.

I don't forget all the time we spend to find out that some of them are
Intercarrier only!

Also, the tda988x stuff is underneath the tuner PCB.

I cut one off for those interested in line tracing ...

Without port2=0 you don't get any SECAM-L into the sound trap.

It needs amplification from minus 40 dB AM for the first sound carrier,
and then of course you prefer the second with NICAM.

 If not, then, if I understand things correctly, you need to set the
 first stage and second stage TOP settings so that they refer to about
 the same signal level before the IF SAW filter.  
 
 
 I would think AGC TOP settings, for both stages of the tuner, are
 tuner-dependent and relatively constant once you figure out what they
 should be.
 
 Do you have a different understanding or insight?
 
 Regards,
 Andy

Since I have some m$ system again after 9 years, not used within the
last three months, I would prefer to get it demonstrated there at first.

I leave on the first BSOD.

Cheers,
Hermann

 
 
 
  If TV card is not touch V4L2_CTRL_FLAG_DISABLED in this control. The 
  programm can't change AGC TOP.
  And write default value to AGC TOP like now.
  
  diff -r 43dbc8ebb5a2 linux/drivers/media/common/tuners/tuner-simple.c
  --- a/linux/drivers/media/common/tuners/tuner-simple.c  Tue Jan 27 

Recommendation for supported DVB-S/S2 USB

2009-04-30 Thread Bob Ingraham
Hi,

Can anyone recommend a stable USB DVB-S/S2 tuner?

Thanks,
Bob Ingraham
--
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


Support for Skystar S2 and Twinhan AD-SP200/VP-1027

2009-04-30 Thread Bob Ingraham
Hi All,

Running Fedora Core 10 (2.6.27) and have looked through the wiki for support 
for:

- Skystar S2 (DVB-S2) PCI
- Twinhan AD-SP200/VP-1027 (DVB-S) PCI

I'm guessing the wiki is out of date with regards to current status.

Are there patches or a snapshot I can pull that has stable support for either 
of these cards?

Thanks,
Bob Ingraham
--
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