Re: [DVB] Digital Devices Cine CT V6 support

2011-10-24 Thread Oliver Endriss
Hi,

 Using your latest development tree (hg clone
 http://linuxtv.org/hg/~endriss/media_build_experimental), I have made a
 small modification in ddbridge-core.c (see below) to make the new Cine CT
 V6 card detected by the ddbridge module.
 
 With this small patch, the card is now detected, but not the double C/T
 tuner onboard.

This cannot work, as the cards requires different frontend drivers.

Please try a fresh check-out from 
  http://linuxtv.org/hg/~endriss/media_build_experimental

The Cine CT v6 is supported now.

 Also, I was wondering why they put a male and a female RF connectors on the
 Cine CT V6 (maybe a loop-through?) where there are two female RF
 connectors on the DuoFlex CT card.

The second connector of the Cine CT is the loop-through output.

CU
Oliver

-- 

VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/
Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/

--
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: [GIT PULL for v3.2] OMAP_VOUT: Few cleaups and feature addition

2011-10-24 Thread Laurent Pinchart
Hi Vaibhav,

On Saturday 22 October 2011 14:06:24 hvaib...@ti.com wrote:
 Hi Mauro,
 
 The following changes since commit
 35a912455ff5640dc410e91279b03e04045265b2: Mauro Carvalho Chehab (1):
 Merge branch 'v4l_for_linus' into staging/for_v3.2
 
 are available in the git repository at:
 
   git://arago-project.org/git/people/vaibhav/ti-psp-omap-video.git
 for-linux-media
 
 Archit Taneja (5):
   OMAP_VOUT: Fix check in reqbuf for buf_size allocation
   OMAP_VOUT: CLEANUP: Remove redundant code from omap_vout_isr
   OMAP_VOUT: Fix VSYNC IRQ handling in omap_vout_isr
   OMAP_VOUT: Add support for DSI panels
   OMAP_VOUT: Increase MAX_DISPLAYS to a larger value

What about http://patchwork.linuxtv.org/patch/299/ ? Do you plan to push it 
through your tree, or should I push it through mine ?

-- 
Regards,

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


RE: [GIT PULL for v3.2] OMAP_VOUT: Few cleaups and feature addition

2011-10-24 Thread Hiremath, Vaibhav

 -Original Message-
 From: Laurent Pinchart [mailto:laurent.pinch...@ideasonboard.com]
 Sent: Monday, October 24, 2011 12:53 PM
 To: Hiremath, Vaibhav
 Cc: linux-media@vger.kernel.org; mche...@redhat.com
 Subject: Re: [GIT PULL for v3.2] OMAP_VOUT: Few cleaups and feature
 addition
 
 Hi Vaibhav,
 
 On Saturday 22 October 2011 14:06:24 hvaib...@ti.com wrote:
  Hi Mauro,
 
  The following changes since commit
  35a912455ff5640dc410e91279b03e04045265b2: Mauro Carvalho Chehab (1):
  Merge branch 'v4l_for_linus' into staging/for_v3.2
 
  are available in the git repository at:
 
git://arago-project.org/git/people/vaibhav/ti-psp-omap-video.git
  for-linux-media
 
  Archit Taneja (5):
OMAP_VOUT: Fix check in reqbuf for buf_size allocation
OMAP_VOUT: CLEANUP: Remove redundant code from omap_vout_isr
OMAP_VOUT: Fix VSYNC IRQ handling in omap_vout_isr
OMAP_VOUT: Add support for DSI panels
OMAP_VOUT: Increase MAX_DISPLAYS to a larger value
 
 What about http://patchwork.linuxtv.org/patch/299/ ? Do you plan to push
 it
 through your tree, or should I push it through mine ?
 
Oops,

Missed it... Thanks for reminding me. 

If you are about to send pull request then go ahead and merge it with your 
patch-sets. OR I can also send another request for this patch alone.

Thanks,
Vaibhav

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


Re: [PATCH] v4l: mt9p031/mt9t001: Use i2c_smbus_{read|write}_word_swapped()

2011-10-24 Thread Jonathan Cameron
On 10/22/11 09:57, Laurent Pinchart wrote:
 The MT9P031 and MT9T001 sensors transfer 16-bit data on the I2C bus in
 swapped order. Let the I2C core handle byte order by using the
 i2c_smbus_{read|write}_word_swapped() functions.
 
 Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
Acked-by: Jonathan Cameron ji...@cam.ac.uk
 ---
  drivers/media/video/mt9p031.c |5 ++---
  drivers/media/video/mt9t001.c |5 ++---
  2 files changed, 4 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/media/video/mt9p031.c b/drivers/media/video/mt9p031.c
 index 5cfa39f..aa01c4b 100644
 --- a/drivers/media/video/mt9p031.c
 +++ b/drivers/media/video/mt9p031.c
 @@ -131,13 +131,12 @@ static struct mt9p031 *to_mt9p031(struct v4l2_subdev 
 *sd)
  
  static int mt9p031_read(struct i2c_client *client, u8 reg)
  {
 - s32 data = i2c_smbus_read_word_data(client, reg);
 - return data  0 ? data : be16_to_cpu(data);
 + return i2c_smbus_read_word_swapped(client, reg);
  }
  
  static int mt9p031_write(struct i2c_client *client, u8 reg, u16 data)
  {
 - return i2c_smbus_write_word_data(client, reg, cpu_to_be16(data));
 + return i2c_smbus_write_word_swapped(client, reg, data);
  }
  
  static int mt9p031_set_output_control(struct mt9p031 *mt9p031, u16 clear,
 diff --git a/drivers/media/video/mt9t001.c b/drivers/media/video/mt9t001.c
 index cac1416..2ea6a08 100644
 --- a/drivers/media/video/mt9t001.c
 +++ b/drivers/media/video/mt9t001.c
 @@ -132,13 +132,12 @@ static inline struct mt9t001 *to_mt9t001(struct 
 v4l2_subdev *sd)
  
  static int mt9t001_read(struct i2c_client *client, u8 reg)
  {
 - s32 data = i2c_smbus_read_word_data(client, reg);
 - return data  0 ? data : be16_to_cpu(data);
 + return i2c_smbus_read_word_swapped(client, reg);
  }
  
  static int mt9t001_write(struct i2c_client *client, u8 reg, u16 data)
  {
 - return i2c_smbus_write_word_data(client, reg, cpu_to_be16(data));
 + return i2c_smbus_write_word_swapped(client, reg, data);
  }
  
  static int mt9t001_set_output_control(struct mt9t001 *mt9t001, u16 clear,

--
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: [GIT PULL for v3.2] OMAP_VOUT: Few cleaups and feature addition

2011-10-24 Thread Laurent Pinchart
Hi Vaibhav,

On Monday 24 October 2011 10:18:32 Hiremath, Vaibhav wrote:
 On Monday, October 24, 2011 12:53 PM Laurent Pinchart wrote:
  On Saturday 22 October 2011 14:06:24 hvaib...@ti.com wrote:
   Hi Mauro,
   
   The following changes since commit
   
   35a912455ff5640dc410e91279b03e04045265b2: Mauro Carvalho Chehab (1):
   Merge branch 'v4l_for_linus' into staging/for_v3.2
   
   are available in the git repository at:
 git://arago-project.org/git/people/vaibhav/ti-psp-omap-video.git
   
   for-linux-media
   
   Archit Taneja (5):
 OMAP_VOUT: Fix check in reqbuf for buf_size allocation
 OMAP_VOUT: CLEANUP: Remove redundant code from omap_vout_isr
 OMAP_VOUT: Fix VSYNC IRQ handling in omap_vout_isr
 OMAP_VOUT: Add support for DSI panels
 OMAP_VOUT: Increase MAX_DISPLAYS to a larger value
  
  What about http://patchwork.linuxtv.org/patch/299/ ? Do you plan to push
  it
  through your tree, or should I push it through mine ?
 
 Oops,
 
 Missed it... Thanks for reminding me.

No worries.

 If you are about to send pull request then go ahead and merge it with your
 patch-sets. OR I can also send another request for this patch alone.

I've got omap3-isp patches I'm about to send a pull request for, I'll add the 
omap_vout patch to the set.

-- 
Regards,

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


RE: [GIT PULL for v3.2] OMAP_VOUT: Few cleaups and feature addition

2011-10-24 Thread Hiremath, Vaibhav
 -Original Message-
 From: Laurent Pinchart [mailto:laurent.pinch...@ideasonboard.com]
 Sent: Monday, October 24, 2011 2:16 PM
 To: Hiremath, Vaibhav
 Cc: linux-media@vger.kernel.org; mche...@redhat.com
 Subject: Re: [GIT PULL for v3.2] OMAP_VOUT: Few cleaups and feature
 addition
 
 Hi Vaibhav,
 
 On Monday 24 October 2011 10:18:32 Hiremath, Vaibhav wrote:
  On Monday, October 24, 2011 12:53 PM Laurent Pinchart wrote:
   On Saturday 22 October 2011 14:06:24 hvaib...@ti.com wrote:
Hi Mauro,
   
The following changes since commit
   
35a912455ff5640dc410e91279b03e04045265b2: Mauro Carvalho Chehab (1):
Merge branch 'v4l_for_linus' into staging/for_v3.2
   
are available in the git repository at:
  git://arago-project.org/git/people/vaibhav/ti-psp-omap-video.git
   
for-linux-media
   
Archit Taneja (5):
  OMAP_VOUT: Fix check in reqbuf for buf_size allocation
  OMAP_VOUT: CLEANUP: Remove redundant code from omap_vout_isr
  OMAP_VOUT: Fix VSYNC IRQ handling in omap_vout_isr
  OMAP_VOUT: Add support for DSI panels
  OMAP_VOUT: Increase MAX_DISPLAYS to a larger value
  
   What about http://patchwork.linuxtv.org/patch/299/ ? Do you plan to
 push
   it
   through your tree, or should I push it through mine ?
 
  Oops,
 
  Missed it... Thanks for reminding me.
 
 No worries.
 
  If you are about to send pull request then go ahead and merge it with
 your
  patch-sets. OR I can also send another request for this patch alone.
 
 I've got omap3-isp patches I'm about to send a pull request for, I'll add
 the
 omap_vout patch to the set.
 

Thanks

Regards,
Vaibhav

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


Re: omap3isp: BT.656 support

2011-10-24 Thread Gary Thomas

On 2011-10-23 13:15, Boris Todorov wrote:

On Thu, Oct 20, 2011 at 5:36 PM, Stefan Herbrechtsmeier
sherb...@cit-ec.uni-bielefeld.de  wrote:

Am 20.10.2011 14:14, schrieb Boris Todorov:

On Thu, Oct 20, 2011 at 12:03 PM, Stefan Herbrechtsmeier
sherb...@cit-ec.uni-bielefeld.de  wrote:

Am 20.10.2011 08:56, schrieb Boris Todorov:

On Wed, Oct 19, 2011 at 7:26 PM, Stefan Herbrechtsmeier
sherb...@cit-ec.uni-bielefeld.de  wrote:

Am 18.10.2011 15:33, schrieb Boris Todorov:

Hi

I'm trying to run OMAP + TVP5151 in BT656 mode.

I'm using omap3isp-omap3isp-yuv (git.linuxtv.org/pinchartl/media.git).
Plus the following patches:

TVP5151:
https://github.com/ebutera/meta-igep/tree/testing-v2/recipes-kernel/linux/linux-3.0+3.1rc/tvp5150

The latest RFC patches for BT656 support:

Enrico Butera (2):
   omap3isp: ispvideo: export isp_video_mbus_to_pix
   omap3isp: ispccdc: configure CCDC registers and add BT656 support

Javier Martinez Canillas (1):
   omap3isp: ccdc: Add interlaced field mode to platform data


I'm able to configure with media-ctl:

media-ctl -v -r -l 'tvp5150 3-005c:0-OMAP3 ISP CCDC:0[1], OMAP3
ISP CCDC:1-OMAP3 ISP CCDC output:0[1]'
media-ctl -v --set-format 'tvp5150 3-005c:0 [UYVY2X8 720x525]'
media-ctl -v --set-format 'OMAP3 ISP CCDC:0 [UYVY2X8 720x525]'
media-ctl -v --set-format 'OMAP3 ISP CCDC:1 [UYVY2X8 720x525]'

But
./yavta -f UYVY -s 720x525 -n 4 --capture=4 -F /dev/video4

sleeps after
...
Buffer 1 mapped at address 0x4021d000.
length: 756000 offset: 1515520
Buffer 2 mapped at address 0x402d6000.
length: 756000 offset: 2273280
Buffer 3 mapped at address 0x4038f000.

Anyone with the same issue??? This happens with every other v4l test app I used.

I had the same issue.

Make sure that you disable the xclk when you remove your sensor driver.

isp-platform_cb.set_xclk(isp, 0, ISP_XCLK_A)

How exactly did you solved your problem? I don't see how XCLK in
_remove will help. Pls explain.

Sorry, I mean deactive / power off your sensor.

Btw I'm feeding TVP with external clock (not from xtal pins) -
omap.cam_xclk -  tvp.clk_in

I mean the cam_xclk.

And I'm using kind of hack to get it:
isp_probe()
+ isp_set_xclk(isp, 2700, 1);

This is your problem.

You should control the clock via board / platform callback from your driver.
Example:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg56627.html

It is important that you set the clock to zero when your driver is not
in use.

The problem is connected to the use count of the ISP and some
initialisation which only happen when the counter change between zero
and one.


tvp_probe() needs clock for i2c detected/config. tvp5150_s_power call
happens when video starts streaming and if tvp is not configured -
kernel panic.

I use an other sensor and driver and this config the sensor during start
stream.

And what about the case when TVP is used with OSC on XTAL pins and
CLK_IN is not used at all?

Then your system will work, as you never call isp_set_xclk.

The problem is not the clock, but how the isp driver works.
It expects, that the sensor driver disable the cam_xclk, if the sensor
is not used.

Maybe I don't fully understand what is happening...
or isp_set_xclk() use is messing up with ISP

On my system I have the same issues as you if I don't set the cam_xclk
to zero
during stop streaming.

I haven't investigate in the real cause for the issue. I only released,
that this
issue stick together with an always enabled cam_xclk.

Regards,
Stefan


Thanks Stefan. Now I have IRQs and I'm able to get some image from TVP.


How did you end up fixing this?  I ask only to enlighten the list, not to 
embarrass
you, as others and I have had no troubles making this go from the start.

--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

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


Add v4l2_subscribed_event_ops

2011-10-24 Thread Hans de Goede
Hi Hans et all,

As discussed at the kernel summit. Note I have only compile tested this
as I've no control event capable hardware with me (until I'm done with
adding support for ctrl events to the UVC driver).

Regards,

Hans

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


[PATCH 1/3] v4l2-event: Deny subscribing with a type of V4L2_EVENT_ALL

2011-10-24 Thread Hans de Goede
Signed-off-by: Hans de Goede hdego...@redhat.com
---
 drivers/media/video/v4l2-event.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index 53b190c..9f56f18 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -215,6 +215,9 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
unsigned long flags;
unsigned i;
 
+   if (sub-type == V4L2_EVENT_ALL)
+   return -EINVAL;
+
if (elems  1)
elems = 1;
if (sub-type == V4L2_EVENT_CTRL) {
-- 
1.7.7

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


[PATCH 3/3] v4l2-ctrls: Use v4l2_subscribed_event_ops

2011-10-24 Thread Hans de Goede
Signed-off-by: Hans de Goede hdego...@redhat.com
---
 drivers/media/video/ivtv/ivtv-ioctl.c |3 +-
 drivers/media/video/pwc/pwc-v4l.c |2 +-
 drivers/media/video/v4l2-ctrls.c  |   56 +++--
 drivers/media/video/v4l2-event.c  |   39 ---
 drivers/media/video/vivi.c|2 +-
 include/media/v4l2-ctrls.h|5 +--
 6 files changed, 51 insertions(+), 56 deletions(-)

diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c 
b/drivers/media/video/ivtv/ivtv-ioctl.c
index 9aec8a0..72fd74f 100644
--- a/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -1455,8 +1455,9 @@ static int ivtv_subscribe_event(struct v4l2_fh *fh, 
struct v4l2_event_subscripti
switch (sub-type) {
case V4L2_EVENT_VSYNC:
case V4L2_EVENT_EOS:
-   case V4L2_EVENT_CTRL:
return v4l2_event_subscribe(fh, sub, 0, NULL);
+   case V4L2_EVENT_CTRL:
+   return v4l2_event_subscribe(fh, sub, 0, v4l2_ctrl_sub_ev_ops);
default:
return -EINVAL;
}
diff --git a/drivers/media/video/pwc/pwc-v4l.c 
b/drivers/media/video/pwc/pwc-v4l.c
index 7f159bf..afc5b15 100644
--- a/drivers/media/video/pwc/pwc-v4l.c
+++ b/drivers/media/video/pwc/pwc-v4l.c
@@ -1138,7 +1138,7 @@ static int pwc_subscribe_event(struct v4l2_fh *fh,
 {
switch (sub-type) {
case V4L2_EVENT_CTRL:
-   return v4l2_event_subscribe(fh, sub, 0, NULL);
+   return v4l2_event_subscribe(fh, sub, 0, v4l2_ctrl_sub_ev_ops);
default:
return -EINVAL;
}
diff --git a/drivers/media/video/v4l2-ctrls.c b/drivers/media/video/v4l2-ctrls.c
index 69e24f4..d69f6fa 100644
--- a/drivers/media/video/v4l2-ctrls.c
+++ b/drivers/media/video/v4l2-ctrls.c
@@ -2329,10 +2329,22 @@ int v4l2_ctrl_s_ctrl(struct v4l2_ctrl *ctrl, s32 val)
 }
 EXPORT_SYMBOL(v4l2_ctrl_s_ctrl);
 
-void v4l2_ctrl_add_event(struct v4l2_ctrl *ctrl,
-   struct v4l2_subscribed_event *sev)
+static int v4l2_ctrl_add_event(struct v4l2_subscribed_event *sev)
 {
-   v4l2_ctrl_lock(ctrl);
+   struct v4l2_ctrl_handler *hdl = sev-fh-ctrl_handler;
+   struct v4l2_ctrl_ref *ref;
+   struct v4l2_ctrl *ctrl;
+   int ret = 0;
+
+   mutex_lock(hdl-lock);
+
+   ref = find_ref(hdl, sev-id);
+   if (!ref) {
+   ret = -EINVAL;
+   goto leave;
+   }
+   ctrl = ref-ctrl;
+
list_add_tail(sev-node, ctrl-ev_subs);
if (ctrl-type != V4L2_CTRL_TYPE_CTRL_CLASS 
(sev-flags  V4L2_EVENT_SUB_FL_SEND_INITIAL)) {
@@ -2344,15 +2356,39 @@ void v4l2_ctrl_add_event(struct v4l2_ctrl *ctrl,
fill_event(ev, ctrl, changes);
v4l2_event_queue_fh(sev-fh, ev);
}
-   v4l2_ctrl_unlock(ctrl);
+leave:
+   mutex_unlock(hdl-lock);
+   return ret;
 }
-EXPORT_SYMBOL(v4l2_ctrl_add_event);
 
-void v4l2_ctrl_del_event(struct v4l2_ctrl *ctrl,
-   struct v4l2_subscribed_event *sev)
+static void v4l2_ctrl_del_event(struct v4l2_subscribed_event *sev)
 {
-   v4l2_ctrl_lock(ctrl);
+   struct v4l2_ctrl_handler *hdl = sev-fh-ctrl_handler;
+
+   mutex_lock(hdl-lock);
list_del(sev-node);
-   v4l2_ctrl_unlock(ctrl);
+   mutex_unlock(hdl-lock);
 }
-EXPORT_SYMBOL(v4l2_ctrl_del_event);
+
+static void v4l2_ctrl_replace(struct v4l2_event *old,
+ const struct v4l2_event *new)
+{
+   u32 old_changes = old-u.ctrl.changes;
+
+   old-u.ctrl = new-u.ctrl;
+   old-u.ctrl.changes |= old_changes;
+}
+
+static void v4l2_ctrl_merge(const struct v4l2_event *old,
+   struct v4l2_event *new)
+{
+   new-u.ctrl.changes |= old-u.ctrl.changes;
+}
+
+const struct v4l2_subscribed_event_ops v4l2_ctrl_sub_ev_ops = {
+   .add = v4l2_ctrl_add_event,
+   .del = v4l2_ctrl_del_event,
+   .replace = v4l2_ctrl_replace,
+   .merge = v4l2_ctrl_merge,
+};
+EXPORT_SYMBOL(v4l2_ctrl_sub_ev_ops);
diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index 7190c2b..57e1e45 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -25,7 +25,6 @@
 #include media/v4l2-dev.h
 #include media/v4l2-fh.h
 #include media/v4l2-event.h
-#include media/v4l2-ctrls.h
 
 #include linux/sched.h
 #include linux/slab.h
@@ -194,30 +193,11 @@ int v4l2_event_pending(struct v4l2_fh *fh)
 }
 EXPORT_SYMBOL_GPL(v4l2_event_pending);
 
-static void ctrls_replace(struct v4l2_event *old, const struct v4l2_event *new)
-{
-   u32 old_changes = old-u.ctrl.changes;
-
-   old-u.ctrl = new-u.ctrl;
-   old-u.ctrl.changes |= old_changes;
-}
-
-static void ctrls_merge(const struct v4l2_event *old, struct v4l2_event *new)
-{
-   new-u.ctrl.changes |= old-u.ctrl.changes;
-}
-
-const struct v4l2_subscribed_event_ops ctrl_ops = {
-   .replace = 

[PATCH 2/3] v4l2-event: Add v4l2_subscribed_event_ops

2011-10-24 Thread Hans de Goede
Just like with ctrl events, drivers may want to get called back on
listener add / remove for other event types too. Rather then special
casing all of this in subscribe / unsubscribe event it is better to
use ops for this.

Signed-off-by: Hans de Goede hdego...@redhat.com
---
 drivers/media/video/ivtv/ivtv-ioctl.c  |2 +-
 drivers/media/video/omap3isp/ispccdc.c |2 +-
 drivers/media/video/omap3isp/ispstat.c |2 +-
 drivers/media/video/pwc/pwc-v4l.c  |2 +-
 drivers/media/video/v4l2-event.c   |   42 ---
 drivers/media/video/vivi.c |2 +-
 include/media/v4l2-event.h |   24 +-
 7 files changed, 54 insertions(+), 22 deletions(-)

diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c 
b/drivers/media/video/ivtv/ivtv-ioctl.c
index ecafa69..9aec8a0 100644
--- a/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -1456,7 +1456,7 @@ static int ivtv_subscribe_event(struct v4l2_fh *fh, 
struct v4l2_event_subscripti
case V4L2_EVENT_VSYNC:
case V4L2_EVENT_EOS:
case V4L2_EVENT_CTRL:
-   return v4l2_event_subscribe(fh, sub, 0);
+   return v4l2_event_subscribe(fh, sub, 0, NULL);
default:
return -EINVAL;
}
diff --git a/drivers/media/video/omap3isp/ispccdc.c 
b/drivers/media/video/omap3isp/ispccdc.c
index 40b141c..b6da736 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -1700,7 +1700,7 @@ static int ccdc_subscribe_event(struct v4l2_subdev *sd, 
struct v4l2_fh *fh,
if (sub-id != 0)
return -EINVAL;
 
-   return v4l2_event_subscribe(fh, sub, OMAP3ISP_CCDC_NEVENTS);
+   return v4l2_event_subscribe(fh, sub, OMAP3ISP_CCDC_NEVENTS, NULL);
 }
 
 static int ccdc_unsubscribe_event(struct v4l2_subdev *sd, struct v4l2_fh *fh,
diff --git a/drivers/media/video/omap3isp/ispstat.c 
b/drivers/media/video/omap3isp/ispstat.c
index 8080659..4f337a2 100644
--- a/drivers/media/video/omap3isp/ispstat.c
+++ b/drivers/media/video/omap3isp/ispstat.c
@@ -1049,7 +1049,7 @@ int omap3isp_stat_subscribe_event(struct v4l2_subdev 
*subdev,
if (sub-type != stat-event_type)
return -EINVAL;
 
-   return v4l2_event_subscribe(fh, sub, STAT_NEVENTS);
+   return v4l2_event_subscribe(fh, sub, STAT_NEVENTS, NULL);
 }
 
 int omap3isp_stat_unsubscribe_event(struct v4l2_subdev *subdev,
diff --git a/drivers/media/video/pwc/pwc-v4l.c 
b/drivers/media/video/pwc/pwc-v4l.c
index 68e1323..7f159bf 100644
--- a/drivers/media/video/pwc/pwc-v4l.c
+++ b/drivers/media/video/pwc/pwc-v4l.c
@@ -1138,7 +1138,7 @@ static int pwc_subscribe_event(struct v4l2_fh *fh,
 {
switch (sub-type) {
case V4L2_EVENT_CTRL:
-   return v4l2_event_subscribe(fh, sub, 0);
+   return v4l2_event_subscribe(fh, sub, 0, NULL);
default:
return -EINVAL;
}
diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c
index 9f56f18..7190c2b 100644
--- a/drivers/media/video/v4l2-event.c
+++ b/drivers/media/video/v4l2-event.c
@@ -131,14 +131,14 @@ static void __v4l2_event_queue_fh(struct v4l2_fh *fh, 
const struct v4l2_event *e
sev-first = sev_pos(sev, 1);
fh-navailable--;
if (sev-elems == 1) {
-   if (sev-replace) {
-   sev-replace(kev-event, ev);
+   if (sev-ops  sev-ops-replace) {
+   sev-ops-replace(kev-event, ev);
copy_payload = false;
}
-   } else if (sev-merge) {
+   } else if (sev-ops  sev-ops-merge) {
struct v4l2_kevent *second_oldest =
sev-events + sev_pos(sev, 0);
-   sev-merge(kev-event, second_oldest-event);
+   sev-ops-merge(kev-event, second_oldest-event);
}
}
 
@@ -207,8 +207,14 @@ static void ctrls_merge(const struct v4l2_event *old, 
struct v4l2_event *new)
new-u.ctrl.changes |= old-u.ctrl.changes;
 }
 
+const struct v4l2_subscribed_event_ops ctrl_ops = {
+   .replace = ctrls_replace,
+   .merge = ctrls_merge,
+};
+
 int v4l2_event_subscribe(struct v4l2_fh *fh,
-struct v4l2_event_subscription *sub, unsigned elems)
+struct v4l2_event_subscription *sub, unsigned elems,
+const struct v4l2_subscribed_event_ops *ops)
 {
struct v4l2_subscribed_event *sev, *found_ev;
struct v4l2_ctrl *ctrl = NULL;
@@ -236,9 +242,9 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
sev-flags = sub-flags;
sev-fh = fh;
sev-elems = elems;
+   sev-ops = ops;
if (ctrl) {
-   sev-replace = ctrls_replace;
-   sev-merge = ctrls_merge;

Re: omap3isp: BT.656 support

2011-10-24 Thread Boris Todorov
On Mon, Oct 24, 2011 at 12:47 PM, Gary Thomas g...@mlbassoc.com wrote:
 On 2011-10-23 13:15, Boris Todorov wrote:

 On Thu, Oct 20, 2011 at 5:36 PM, Stefan Herbrechtsmeier
 sherb...@cit-ec.uni-bielefeld.de  wrote:

 Am 20.10.2011 14:14, schrieb Boris Todorov:

 On Thu, Oct 20, 2011 at 12:03 PM, Stefan Herbrechtsmeier
 sherb...@cit-ec.uni-bielefeld.de  wrote:

 Am 20.10.2011 08:56, schrieb Boris Todorov:

 On Wed, Oct 19, 2011 at 7:26 PM, Stefan Herbrechtsmeier
 sherb...@cit-ec.uni-bielefeld.de  wrote:

 Am 18.10.2011 15:33, schrieb Boris Todorov:

 Hi

 I'm trying to run OMAP + TVP5151 in BT656 mode.

 I'm using omap3isp-omap3isp-yuv
 (git.linuxtv.org/pinchartl/media.git).
 Plus the following patches:

 TVP5151:

 https://github.com/ebutera/meta-igep/tree/testing-v2/recipes-kernel/linux/linux-3.0+3.1rc/tvp5150

 The latest RFC patches for BT656 support:

 Enrico Butera (2):
   omap3isp: ispvideo: export isp_video_mbus_to_pix
   omap3isp: ispccdc: configure CCDC registers and add BT656 support

 Javier Martinez Canillas (1):
   omap3isp: ccdc: Add interlaced field mode to platform data


 I'm able to configure with media-ctl:

 media-ctl -v -r -l 'tvp5150 3-005c:0-OMAP3 ISP CCDC:0[1],
 OMAP3
 ISP CCDC:1-OMAP3 ISP CCDC output:0[1]'
 media-ctl -v --set-format 'tvp5150 3-005c:0 [UYVY2X8 720x525]'
 media-ctl -v --set-format 'OMAP3 ISP CCDC:0 [UYVY2X8 720x525]'
 media-ctl -v --set-format 'OMAP3 ISP CCDC:1 [UYVY2X8 720x525]'

 But
 ./yavta -f UYVY -s 720x525 -n 4 --capture=4 -F /dev/video4

 sleeps after
 ...
 Buffer 1 mapped at address 0x4021d000.
 length: 756000 offset: 1515520
 Buffer 2 mapped at address 0x402d6000.
 length: 756000 offset: 2273280
 Buffer 3 mapped at address 0x4038f000.

 Anyone with the same issue??? This happens with every other v4l test
 app I used.

 I had the same issue.

 Make sure that you disable the xclk when you remove your sensor
 driver.

 isp-platform_cb.set_xclk(isp, 0, ISP_XCLK_A)

 How exactly did you solved your problem? I don't see how XCLK in
 _remove will help. Pls explain.

 Sorry, I mean deactive / power off your sensor.

 Btw I'm feeding TVP with external clock (not from xtal pins) -
 omap.cam_xclk -  tvp.clk_in

 I mean the cam_xclk.

 And I'm using kind of hack to get it:
 isp_probe()
 + isp_set_xclk(isp, 2700, 1);

 This is your problem.

 You should control the clock via board / platform callback from your
 driver.
 Example:
 http://www.mail-archive.com/linux-omap@vger.kernel.org/msg56627.html

 It is important that you set the clock to zero when your driver is not
 in use.

 The problem is connected to the use count of the ISP and some
 initialisation which only happen when the counter change between zero
 and one.

 tvp_probe() needs clock for i2c detected/config. tvp5150_s_power call
 happens when video starts streaming and if tvp is not configured -
 kernel panic.

 I use an other sensor and driver and this config the sensor during start
 stream.

 And what about the case when TVP is used with OSC on XTAL pins and
 CLK_IN is not used at all?

 Then your system will work, as you never call isp_set_xclk.

 The problem is not the clock, but how the isp driver works.
 It expects, that the sensor driver disable the cam_xclk, if the sensor
 is not used.

 Maybe I don't fully understand what is happening...
 or isp_set_xclk() use is messing up with ISP

 On my system I have the same issues as you if I don't set the cam_xclk
 to zero
 during stop streaming.

 I haven't investigate in the real cause for the issue. I only released,
 that this
 issue stick together with an always enabled cam_xclk.

 Regards,
    Stefan

 Thanks Stefan. Now I have IRQs and I'm able to get some image from TVP.

 How did you end up fixing this?  I ask only to enlighten the list, not to
 embarrass
 you, as others and I have had no troubles making this go from the start.

I just followed Stefan's example - added .s_power callback to control xclk.
--
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


Problem with TeVii S-470

2011-10-24 Thread Mike Mironov

Hello!

I have this card http://www.linuxtv.org/wiki/index.php/TeVii_S470

I try to use it under Debian Squeeze, but I can't get channel data from it.

I try to use drivers from 2.6.38, 2.6.39 kernels, s2-liplianin drivers 
with 2.6.32 kernel, last linux-media drivers with 2.6.32


With all drivers I can scan channels, but then a I'll try to lock 
channel I get some error in syslog (module cx23885 loaded with debug=1)


cx23885[0]/0: [f373ec80/27] cx23885_buf_queue - append to active
cx23885[0]/0: [f373ebc0/28] wakeup reg=477 buf=477
cx23885[0]/0: queue is not empty - append to active

and finally a lot of

cx23885[0]/0: [f42c4240/6] timeout - dma=0x03c5c000
cx23885[0]/0: [f42c4180/7] timeout - dma=0x3322b000
cx23885[0]/0: [f4374440/8] timeout - dma=0x33048000
cx23885[0]/0: [f4374140/9] timeout - dma=0x03d68000

In other machine this work under Windows. Under Linux I have same effects.

It's problem in drivers or in card? That addition information need to 
resolve this problem?

--
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: Problem with TeVii S-470

2011-10-24 Thread Josu Lazkano
2011/10/24 Mike Mironov subscr...@darkmike.ru:
 Hello!

 I have this card http://www.linuxtv.org/wiki/index.php/TeVii_S470

 I try to use it under Debian Squeeze, but I can't get channel data from it.

 I try to use drivers from 2.6.38, 2.6.39 kernels, s2-liplianin drivers with
 2.6.32 kernel, last linux-media drivers with 2.6.32

 With all drivers I can scan channels, but then a I'll try to lock channel I
 get some error in syslog (module cx23885 loaded with debug=1)

 cx23885[0]/0: [f373ec80/27] cx23885_buf_queue - append to active
 cx23885[0]/0: [f373ebc0/28] wakeup reg=477 buf=477
 cx23885[0]/0: queue is not empty - append to active

 and finally a lot of

 cx23885[0]/0: [f42c4240/6] timeout - dma=0x03c5c000
 cx23885[0]/0: [f42c4180/7] timeout - dma=0x3322b000
 cx23885[0]/0: [f4374440/8] timeout - dma=0x33048000
 cx23885[0]/0: [f4374140/9] timeout - dma=0x03d68000

 In other machine this work under Windows. Under Linux I have same effects.

 It's problem in drivers or in card? That addition information need to
 resolve this problem?
 --
 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 Mike, I have same device on same OS, try this:
mkdir /usr/local/src/dvbcd /usr/local/src/dvbwget
http://tevii.com/100315_Beta_linux_tevii_ds3000.rarunrar x
100315_Beta_linux_tevii_ds3000.rarcp dvb-fe-ds3000.fw
/lib/firmware/tar xjvf linux-tevii-ds3000.tar.bz2cd
linux-tevii-ds3000make  make install
Regards.
-- 
Josu Lazkano
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT PATCHES FOR 3.2] add poll_requested_events() function

2011-10-24 Thread Hans Verkuil
Since there have been no more comment on RFCv4 of this patch series
(http://comments.gmane.org/gmane.linux.kernel/1196926), I'm posting this
pull request for v3.2.

I never received any acks or comments from Al Viro (or anyone else from
linux-fsdevel for that matter), so I'm following Andrew's suggestion and I just
go ahead with this.

This series should be pulled in via the media git repository since the media
drivers are the primary users of the new poll_requested_events() function.

Regards,

Hans

The following changes since commit a63366b935456dd0984f237642f6d4001dcf8017:

  [media] mxl111sf: update demod_ops.info.name to MaxLinear MxL111SF DVB-T 
demodulator (2011-10-24 
03:20:09 +0200)

are available in the git repository at:
  ssh://linuxtv.org/git/hverkuil/media_tree.git pollv3

Hans Verkuil (6):
  poll: add poll_requested_events() function
  ivtv: only start streaming in poll() if polling for input.
  videobuf2: only start streaming in poll() if so requested by the poll 
mask.
  videobuf: only start streaming in poll() if so requested by the poll mask.
  videobuf2-core: also test for pending events.
  vivi: let vb2_poll handle events.

 drivers/media/video/ivtv/ivtv-fileops.c |6 ++-
 drivers/media/video/videobuf-core.c |3 +-
 drivers/media/video/videobuf2-core.c|   48 +-
 drivers/media/video/vivi.c  |9 +-
 fs/eventpoll.c  |   18 +--
 fs/select.c |   38 +++-
 include/linux/poll.h|   13 -
 7 files changed, 84 insertions(+), 51 deletions(-)
--
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: [DVB] Digital Devices Cine CT V6 support

2011-10-24 Thread COEXSI


 -Original Message-
 From: linux-media-ow...@vger.kernel.org [mailto:linux-media-
 ow...@vger.kernel.org] On Behalf Of Oliver Endriss
 Sent: lundi 24 octobre 2011 09:06
 To: Sébastien RAILLARD (COEXSI)
 Cc: Linux Media Mailing List
 Subject: Re: [DVB] Digital Devices Cine CT V6 support
 
 Hi,
 
  Using your latest development tree (hg clone
  http://linuxtv.org/hg/~endriss/media_build_experimental), I have made
  a small modification in ddbridge-core.c (see below) to make the new
  Cine CT V6 card detected by the ddbridge module.
 
  With this small patch, the card is now detected, but not the double
  C/T tuner onboard.
 
 This cannot work, as the cards requires different frontend drivers.
 
 Please try a fresh check-out from
   http://linuxtv.org/hg/~endriss/media_build_experimental
 
 The Cine CT v6 is supported now.
 

Thank you for the update, we'll test it soon, we're waiting for the new
double-CI reader support.

I've seen a new parameter ts_loop, can you explain how it's working?
Is-it for sending the stream from the demodulator directly to the CAM
reader?


  Also, I was wondering why they put a male and a female RF connectors
  on the Cine CT V6 (maybe a loop-through?) where there are two female
  RF connectors on the DuoFlex CT card.
 
 The second connector of the Cine CT is the loop-through output.
 

Ok

 CU
 Oliver
 
 --
 
 VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
 4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/
 Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
 
 --
 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


[GIT PULL FOR v3.2] OMAP3 ISP and OMAP VOUT fixes

2011-10-24 Thread Laurent Pinchart
Hi Mauro,

The following changes since commit 35a912455ff5640dc410e91279b03e04045265b2:

  Merge branch 'v4l_for_linus' into staging/for_v3.2 (2011-10-19 12:41:18 
-0200)

are available in the git repository at:

  git://linuxtv.org/pinchartl/media.git omap3isp-omap3isp-next

Guennadi Liakhovetski (1):
  omap3isp: ccdc: remove redundant operation

Laurent Pinchart (9):
  omap3isp: Move media_entity_cleanup() from unregister() to cleanup()
  omap3isp: Move *_init_entities() functions to the init/cleanup section
  omap3isp: Add missing mutex_destroy() calls
  omap3isp: Fix memory leaks in initialization error paths
  omap3isp: Report the ISP revision through the media controller API
  omap3isp: preview: Remove horizontal averager support
  omap3isp: preview: Rename min/max input/output sizes defines
  omap3isp: preview: Add crop support on the sink pad
  omap_vout: Add poll() support

 drivers/media/video/omap/omap_vout.c   |   10 +
 drivers/media/video/omap3isp/isp.c |3 +
 drivers/media/video/omap3isp/ispccdc.c |   86 ---
 drivers/media/video/omap3isp/ispccp2.c |  125 +
 drivers/media/video/omap3isp/ispcsi2.c |   91 ---
 drivers/media/video/omap3isp/isph3a_aewb.c |2 +-
 drivers/media/video/omap3isp/isph3a_af.c   |2 +-
 drivers/media/video/omap3isp/isphist.c |2 +-
 drivers/media/video/omap3isp/isppreview.c  |  419 +--
 drivers/media/video/omap3isp/isppreview.h  |9 +-
 drivers/media/video/omap3isp/ispreg.h  |3 -
 drivers/media/video/omap3isp/ispresizer.c  |  104 
 drivers/media/video/omap3isp/ispstat.c |   52 ++--
 drivers/media/video/omap3isp/ispstat.h |2 +-
 drivers/media/video/omap3isp/ispvideo.c|   11 +-
 drivers/media/video/omap3isp/ispvideo.h|1 +
 16 files changed, 545 insertions(+), 377 deletions(-)

-- 
Regards,

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


Re: Problem with TeVii S-470

2011-10-24 Thread Mike Mironov

24.10.2011 15:29, Josu Lazkano пишет:

2011/10/24 Mike Mironovsubscr...@darkmike.ru:

Hello!

I have this card http://www.linuxtv.org/wiki/index.php/TeVii_S470

I try to use it under Debian Squeeze, but I can't get channel data from it.

I try to use drivers from 2.6.38, 2.6.39 kernels, s2-liplianin drivers with
2.6.32 kernel, last linux-media drivers with 2.6.32

With all drivers I can scan channels, but then a I'll try to lock channel I
get some error in syslog (module cx23885 loaded with debug=1)

cx23885[0]/0: [f373ec80/27] cx23885_buf_queue - append to active
cx23885[0]/0: [f373ebc0/28] wakeup reg=477 buf=477
cx23885[0]/0: queue is not empty - append to active

and finally a lot of

cx23885[0]/0: [f42c4240/6] timeout - dma=0x03c5c000
cx23885[0]/0: [f42c4180/7] timeout - dma=0x3322b000
cx23885[0]/0: [f4374440/8] timeout - dma=0x33048000
cx23885[0]/0: [f4374140/9] timeout - dma=0x03d68000

In other machine this work under Windows. Under Linux I have same effects.

It's problem in drivers or in card? That addition information need to
resolve this problem?


Hello Mike, I have same device on same OS, try this:
mkdir /usr/local/src/dvbcd /usr/local/src/dvbwget
http://tevii.com/100315_Beta_linux_tevii_ds3000.rarunrar x
100315_Beta_linux_tevii_ds3000.rarcp dvb-fe-ds3000.fw
/lib/firmware/tar xjvf linux-tevii-ds3000.tar.bz2cd
linux-tevii-ds3000make  make install
Regards.


I'll try use this drivers today, but for this devices drivers exist in 
kernel from 2.6.33. So it must work with in-kernel drivers.


P.S. Firmware from this archive I put in /lib/firmware before all tests.
$ md5sum /lib/firmware/dvb-fe-ds3000.fw
a32d17910c4f370073f9346e71d34b80  /lib/firmware/dvb-fe-ds3000.fw
--
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: Problem with TeVii S-470

2011-10-24 Thread Josu Lazkano
2011/10/24 Mike Mironov subscr...@darkmike.ru:
 24.10.2011 15:29, Josu Lazkano пишет:

 2011/10/24 Mike Mironovsubscr...@darkmike.ru:

 Hello!

 I have this card http://www.linuxtv.org/wiki/index.php/TeVii_S470

 I try to use it under Debian Squeeze, but I can't get channel data from
 it.

 I try to use drivers from 2.6.38, 2.6.39 kernels, s2-liplianin drivers
 with
 2.6.32 kernel, last linux-media drivers with 2.6.32

 With all drivers I can scan channels, but then a I'll try to lock channel
 I
 get some error in syslog (module cx23885 loaded with debug=1)

 cx23885[0]/0: [f373ec80/27] cx23885_buf_queue - append to active
 cx23885[0]/0: [f373ebc0/28] wakeup reg=477 buf=477
 cx23885[0]/0: queue is not empty - append to active

 and finally a lot of

 cx23885[0]/0: [f42c4240/6] timeout - dma=0x03c5c000
 cx23885[0]/0: [f42c4180/7] timeout - dma=0x3322b000
 cx23885[0]/0: [f4374440/8] timeout - dma=0x33048000
 cx23885[0]/0: [f4374140/9] timeout - dma=0x03d68000

 In other machine this work under Windows. Under Linux I have same
 effects.

 It's problem in drivers or in card? That addition information need to
 resolve this problem?

 Hello Mike, I have same device on same OS, try this:
 mkdir /usr/local/src/dvbcd /usr/local/src/dvbwget
 http://tevii.com/100315_Beta_linux_tevii_ds3000.rarunrar x
 100315_Beta_linux_tevii_ds3000.rarcp dvb-fe-ds3000.fw
 /lib/firmware/tar xjvf linux-tevii-ds3000.tar.bz2cd
 linux-tevii-ds3000make  make install
 Regards.

 I'll try use this drivers today, but for this devices drivers exist in
 kernel from 2.6.33. So it must work with in-kernel drivers.

 P.S. Firmware from this archive I put in /lib/firmware before all tests.
 $ md5sum /lib/firmware/dvb-fe-ds3000.fw
 a32d17910c4f370073f9346e71d34b80  /lib/firmware/dvb-fe-ds3000.fw


Hello again, actually, I am using this method for Tevii S660 and S470:

apt-get install linux-headers-`uname -r` build-essential
mkdir /usr/local/src/dvb
cd /usr/local/src/dvb
wget http://mercurial.intuxication.org/hg/s2-liplianin/archive/tip.zip
unzip tip.zip
cd s2-liplianin-0b7d3cc65161
make CONFIG_DVB_FIREDTV:=n
make install

Both methods works for me on a Debian Squeeze (2.6.32). Here more
info: http://linuxtv.org/wiki/index.php/TeVii_S470

Regards.

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


[GIT PULL FOR v3.2] uvcvideo fixes

2011-10-24 Thread Laurent Pinchart
Hi Mauro,

The following changes since commit 35a912455ff5640dc410e91279b03e04045265b2:

  Merge branch 'v4l_for_linus' into staging/for_v3.2 (2011-10-19 12:41:18 
-0200)

are available in the git repository at:

  git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next

Hans de Goede (1):
  uvcvideo: GET_RES should only be checked for BITMAP type menu controls

 drivers/media/video/uvc/uvc_ctrl.c |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

-- 
Regards,

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


Re: Problem with TeVii S-470

2011-10-24 Thread Mike Mironov

24.10.2011 17:32, Josu Lazkano пишет:

2011/10/24 Mike Mironovsubscr...@darkmike.ru:

24.10.2011 15:29, Josu Lazkano пишет:


2011/10/24 Mike Mironovsubscr...@darkmike.ru:


Hello!

I have this card http://www.linuxtv.org/wiki/index.php/TeVii_S470

I try to use it under Debian Squeeze, but I can't get channel data from
it.

I try to use drivers from 2.6.38, 2.6.39 kernels, s2-liplianin drivers

   


Hello again, actually, I am using this method for Tevii S660 and S470:

apt-get install linux-headers-`uname -r` build-essential
mkdir /usr/local/src/dvb
cd /usr/local/src/dvb
wget http://mercurial.intuxication.org/hg/s2-liplianin/archive/tip.zip
unzip tip.zip
cd s2-liplianin-0b7d3cc65161
make CONFIG_DVB_FIREDTV:=n
make install

Both methods works for me on a Debian Squeeze (2.6.32). Here more
info: http://linuxtv.org/wiki/index.php/TeVii_S470



As your can see in quoted text I always try to use this drivers. Result 
is same. I'll always read WiKi link. I know that another users use this 
card without problems. I have good signal quality (88% signal and 79-80% 
snr). But in my 2 linux systems I can't get channel data. Scan work 
fine(!).

--
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/2] uvcvideo: Use videobuf2-vmalloc

2011-10-24 Thread Laurent Pinchart
Replace the current video buffers queue implementation with
videobuf2-vmalloc.

Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
---
 drivers/media/video/uvc/Kconfig |1 +
 drivers/media/video/uvc/uvc_queue.c |  556 +--
 drivers/media/video/uvc/uvc_v4l2.c  |   19 +-
 drivers/media/video/uvc/uvc_video.c |9 +-
 drivers/media/video/uvc/uvcvideo.h  |   33 +--
 5 files changed, 161 insertions(+), 457 deletions(-)

diff --git a/drivers/media/video/uvc/Kconfig b/drivers/media/video/uvc/Kconfig
index 2956a76..6c197da 100644
--- a/drivers/media/video/uvc/Kconfig
+++ b/drivers/media/video/uvc/Kconfig
@@ -1,5 +1,6 @@
 config USB_VIDEO_CLASS
tristate USB Video Class (UVC)
+   select VIDEOBUF2_VMALLOC
---help---
  Support for the USB Video Class (UVC).  Currently only video
  input devices, such as webcams, are supported.
diff --git a/drivers/media/video/uvc/uvc_queue.c 
b/drivers/media/video/uvc/uvc_queue.c
index 0fbb04b..a5122a1 100644
--- a/drivers/media/video/uvc/uvc_queue.c
+++ b/drivers/media/video/uvc/uvc_queue.c
@@ -11,6 +11,7 @@
  *
  */
 
+#include linux/atomic.h
 #include linux/kernel.h
 #include linux/mm.h
 #include linux/list.h
@@ -19,7 +20,7 @@
 #include linux/videodev2.h
 #include linux/vmalloc.h
 #include linux/wait.h
-#include linux/atomic.h
+#include media/videobuf2-vmalloc.h
 
 #include uvcvideo.h
 
@@ -29,470 +30,199 @@
  * Video queues is initialized by uvc_queue_init(). The function performs
  * basic initialization of the uvc_video_queue struct and never fails.
  *
- * Video buffer allocation and freeing are performed by uvc_alloc_buffers and
- * uvc_free_buffers respectively. The former acquires the video queue lock,
- * while the later must be called with the lock held (so that allocation can
- * free previously allocated buffers). Trying to free buffers that are mapped
- * to user space will return -EBUSY.
- *
- * Video buffers are managed using two queues. However, unlike most USB video
- * drivers that use an in queue and an out queue, we use a main queue to hold
- * all queued buffers (both 'empty' and 'done' buffers), and an irq queue to
- * hold empty buffers. This design (copied from video-buf) minimizes locking
- * in interrupt, as only one queue is shared between interrupt and user
- * contexts.
- *
- * Use cases
- * -
- *
- * Unless stated otherwise, all operations that modify the irq buffers queue
- * are protected by the irq spinlock.
- *
- * 1. The user queues the buffers, starts streaming and dequeues a buffer.
- *
- *The buffers are added to the main and irq queues. Both operations are
- *protected by the queue lock, and the later is protected by the irq
- *spinlock as well.
- *
- *The completion handler fetches a buffer from the irq queue and fills it
- *with video data. If no buffer is available (irq queue empty), the handler
- *returns immediately.
- *
- *When the buffer is full, the completion handler removes it from the irq
- *queue, marks it as done (UVC_BUF_STATE_DONE) and wakes its wait queue.
- *At that point, any process waiting on the buffer will be woken up. If a
- *process tries to dequeue a buffer after it has been marked done, the
- *dequeing will succeed immediately.
- *
- * 2. Buffers are queued, user is waiting on a buffer and the device gets
- *disconnected.
- *
- *When the device is disconnected, the kernel calls the completion handler
- *with an appropriate status code. The handler marks all buffers in the
- *irq queue as being erroneous (UVC_BUF_STATE_ERROR) and wakes them up so
- *that any process waiting on a buffer gets woken up.
- *
- *Waking up up the first buffer on the irq list is not enough, as the
- *process waiting on the buffer might restart the dequeue operation
- *immediately.
- *
+ * Video buffers are managed by videobuf2. The driver uses a mutex to protect
+ * the videobuf2 queue operations by serializing calls to videobuf2 and a
+ * spinlock to protect the IRQ queue that holds the buffers to be processed by
+ * the driver.
  */
 
-void uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
-   int drop_corrupted)
-{
-   mutex_init(queue-mutex);
-   spin_lock_init(queue-irqlock);
-   INIT_LIST_HEAD(queue-mainqueue);
-   INIT_LIST_HEAD(queue-irqqueue);
-   queue-flags = drop_corrupted ? UVC_QUEUE_DROP_CORRUPTED : 0;
-   queue-type = type;
-}
-
-/*
- * Free the video buffers.
- *
- * This function must be called with the queue lock held.
+/* 
-
+ * videobuf2 queue operations
  */
-static int __uvc_free_buffers(struct uvc_video_queue *queue)
+
+static int uvc_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers,
+  unsigned int *nplanes, unsigned int sizes[],
+  void *alloc_ctxs[])
 {
-   

cron job: media_tree daily build: WARNINGS

2011-10-24 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:Mon Oct 24 19:00:19 CEST 2011
git hash:a63366b935456dd0984f237642f6d4001dcf8017
gcc version:  i686-linux-gcc (GCC) 4.6.1
host hardware:x86_64
host os:  3.0-4.slh.7-amd64

linux-git-armv5: WARNINGS
linux-git-armv5-davinci: WARNINGS
linux-git-armv5-ixp: WARNINGS
linux-git-armv5-omap2: WARNINGS
linux-git-i686: WARNINGS
linux-git-m32r: OK
linux-git-mips: WARNINGS
linux-git-powerpc64: WARNINGS
linux-git-x86_64: WARNINGS
linux-2.6.31.12-i686: WARNINGS
linux-2.6.32.6-i686: WARNINGS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.38.2-i686: WARNINGS
linux-2.6.39.1-i686: WARNINGS
linux-3.0-i686: WARNINGS
linux-3.1-rc1-i686: WARNINGS
linux-2.6.31.12-x86_64: WARNINGS
linux-2.6.32.6-x86_64: WARNINGS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-x86_64: WARNINGS
linux-2.6.37-x86_64: WARNINGS
linux-2.6.38.2-x86_64: WARNINGS
linux-2.6.39.1-x86_64: WARNINGS
linux-3.0-x86_64: WARNINGS
linux-3.1-rc1-x86_64: WARNINGS
spec-git: WARNINGS
sparse: ERRORS

Detailed results are available here:

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

Full logs are available here:

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

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

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


RE: [DVB] Digital Devices Cine CT V6 support

2011-10-24 Thread Ralph Metzler
Sébastien RAILLARD (COEXSI) writes:
  I've seen a new parameter ts_loop, can you explain how it's working?
  Is-it for sending the stream from the demodulator directly to the CAM
  reader?
 
No, it is mainly for testing. It declares one TAB as loopback, which 
means that the data output is directly connected to the input.

For redirecting a stream through a CI see the redirect attribute. 
I don't know if my small redirect readme was included in the package I
sent to Oliver. So, I attached it below.


-Ralph



Redirection of TS streams through CI modules is now supported 
through /sys/class/ddbridge/ddbridge0/redirect.
It only works with cards based on the ddbridge PCIe bridge, not
with nGene based cards.

It is set up in such a way that you can write AB CD to
a redirect attribute and data from input B of card A is then piped through
port D (meaning TAB (D+1) which uses output D and input 2*D for CI io)
of card C and then shows up in the demux device belonging to
input B (input (B1) of TAB (B/2+1)) of card A.

E.g.:

echo 00 01  /sys/class/ddbridge/ddbridge0/redirect

will pipe input 0 of card 0 through CI at port 1 (TAB 2) of card 0.

Redirection should only be done right after loading the driver 
(or booting if the driver is built-in) and before using the
devices in any way.

--
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 4/9] mm: MIGRATE_CMA migration type added

2011-10-24 Thread Michal Nazarewicz

On Thu, Oct 06, 2011 at 03:54:44PM +0200, Marek Szyprowski wrote:

The MIGRATE_CMA migration type has two main characteristics:
(i) only movable pages can be allocated from MIGRATE_CMA
pageblocks and (ii) page allocator will never change migration
type of MIGRATE_CMA pageblocks.

This guarantees that page in a MIGRATE_CMA page block can
always be migrated somewhere else (unless there's no memory left
in the system).


On Tue, 18 Oct 2011 06:08:26 -0700, Mel Gorman m...@csn.ul.ie wrote:

Or the count is premanently elevated by a device driver for some reason or if
the page is backed by a filesystem with a broken or unusable migrate_page()
function. This is unavoidable, I'm just pointing out that you can stil have
migration failures, particularly if GFP_MOVABLE has been improperly used.


CMA does not handle that well right now.  I guess it's something to think about
once the rest is nice and working.


It is designed to be used with Contiguous Memory Allocator
(CMA) for allocating big chunks (eg. 10MiB) of physically
contiguous memory.  Once driver requests contiguous memory,
CMA will migrate pages from MIGRATE_CMA pageblocks.

To minimise number of migrations, MIGRATE_CMA migration type
is the last type tried when page allocator falls back to other
migration types then requested.



It would be preferable if you could figure out how to reuse the
MIGRATE_RESERVE type for just the bitmap.


I'm not entirely sure of what you mean here.


Like MIGRATE_CMA, it does not
change type except when min_free_kbytes changes. However, it is
something that could be done in the future to keep the size of the
pageblock bitmap where it is now.




+enum {
+   MIGRATE_UNMOVABLE,
+   MIGRATE_RECLAIMABLE,
+   MIGRATE_MOVABLE,
+   MIGRATE_PCPTYPES,   /* the number of types on the pcp lists */
+   MIGRATE_RESERVE = MIGRATE_PCPTYPES,
+   /*
+* MIGRATE_CMA migration type is designed to mimic the way
+* ZONE_MOVABLE works.  Only movable pages can be allocated
+* from MIGRATE_CMA pageblocks and page allocator never
+* implicitly change migration type of MIGRATE_CMA pageblock.
+*
+* The way to use it is to change migratetype of a range of
+* pageblocks to MIGRATE_CMA which can be done by
+* __free_pageblock_cma() function.  What is important though
+* is that a range of pageblocks must be aligned to
+* MAX_ORDER_NR_PAGES should biggest page be bigger then
+* a single pageblock.
+*/
+   MIGRATE_CMA,



This does mean that MIGRATE_CMA also does not have a per-cpu list.
I don't know if that matters to you but all allocations using
MIGRATE_CMA will take the zone lock.


This is sort of an artefact of my misunderstanding of pcp lists in the
past.  I'll have to re-evaluate the decision not to include CMA on pcp
list.

Still, I think that CMA not being on pcp lists should not be a problem
for us.  At least we can try and get CMA running and then consider adding
CMA to pcp lists.


I'm not sure this can be easily avoided because
if there is a per-CPU list for MIGRATE_CMA, it might use a new cache
line for it and incur a different set of performance problems.



+   MIGRATE_ISOLATE,/* can't allocate from here */
+   MIGRATE_TYPES
+};



diff --git a/mm/compaction.c b/mm/compaction.c
index 97254e4..9cf6b2b 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -115,6 +115,16 @@ static bool suitable_migration_target(struct page *page)
if (migratetype == MIGRATE_ISOLATE || migratetype == MIGRATE_RESERVE)
return false;

+   /* Keep MIGRATE_CMA alone as well. */
+   /*
+* XXX Revisit.  We currently cannot let compaction touch CMA
+* pages since compaction insists on changing their migration
+* type to MIGRATE_MOVABLE (see split_free_page() called from
+* isolate_freepages_block() above).
+*/
+   if (is_migrate_cma(migratetype))
+   return false;
+


This is another reason why CMA and compaction should be using almost
identical code. It does mean that the compact_control may need to be
renamed and get flags to control things like the setting of pageblock
flags but it would be preferable to having two almost identical pieces
of code.


I've addressed it in my other mail where I've changed the split_free_page()
to not touch CMA and ISOLATE pageblocks.  I think that this change should
make the above comment no longer accurate and the check unnecessary.


/* If the page is a large free page, then allow migration */
if (PageBuddy(page)  page_order(page) = pageblock_order)
return true;



@@ -940,12 +963,12 @@ __rmqueue_fallback(struct zone *zone, int order, int 
start_migratetype)
/* Find the largest possible block of pages in the other list */
for (current_order = MAX_ORDER-1; current_order = order;
--current_order) {
-   

Re: Reqbufs(0) need to release queued_list

2011-10-24 Thread Guennadi Liakhovetski
On Mon, 24 Oct 2011, Angela Wan wrote:

 Hi,
As I have used videobuf2+soc_camera architecture on my camera
 driver. I find a problem when I use Reqbuf(0), which only release
 buffer, but not clear queued_list.

Indeed, looks like vb2_reqbufs(p-count == 0) fails to clean up the queue?

Thanks
Guennadi

Problem description:
That is if upper layer uses qbuf then reqbuf0 directly, not having
 stream on/dqbuf/off, then next time when streamon, videobuf2 could
 still have the buffer from queued_list which having the buffer
 released in privious reqbuf0, and the camera driver could access the
 buffer already freed.
 The steps that could cause problem for USERPTR:
 Qbuf
 Qbuf
 Reqbuf 0
 Reqbuf 20
 Qbuf
 Qbuf
 Streamon   (queued_list still has the buffer already freed in the
 previous reqbuf0)
 .buf_queue (from camera driver, could access the buffer already freed)
 
My question is if we could use __vb2_queue_release which calls
 __vb2_queue_cancle(clear queue_list) and __vb2_queue_free(release
 buffer) in Reqbuf(0), while not only use __vb2_queue_free.
 
 Thank you
 
 Angela Wan
 Best Regards
 --
 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
 

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


Re: [PATCH 6/9] drivers: add Contiguous Memory Allocator

2011-10-24 Thread Michal Nazarewicz

On Thu, Oct 06, 2011 at 03:54:46PM +0200, Marek Szyprowski wrote:

+static unsigned long __init __cma_early_get_total_pages(void)
+{
+   struct memblock_region *reg;
+   unsigned long total_pages = 0;
+
+   /*
+* We cannot use memblock_phys_mem_size() here, because
+* memblock_analyze() has not been called yet.
+*/
+   for_each_memblock(memory, reg)
+   total_pages += memblock_region_memory_end_pfn(reg) -
+  memblock_region_memory_base_pfn(reg);
+   return total_pages;
+}
+


On Tue, 18 Oct 2011 06:43:21 -0700, Mel Gorman m...@csn.ul.ie wrote:

Is this being called too early yet? What prevents you seeing up the CMA
regions after the page allocator is brought up for example? I understand
that there is a need for the memory to be coherent so maybe that is the
obstacle.


Another reason is that we want to be sure that we can get given range of pages.
After page allocator is set-up, someone could allocate a non-movable page from
the range that interests us and that wouldn't be nice for us.


+struct page *dma_alloc_from_contiguous(struct device *dev, int count,
+  unsigned int align)
+{
+   struct cma *cma = get_dev_cma_area(dev);
+   unsigned long pfn, pageno;
+   int ret;
+
+   if (!cma)
+   return NULL;
+
+   if (align  CONFIG_CMA_ALIGNMENT)
+   align = CONFIG_CMA_ALIGNMENT;
+
+   pr_debug(%s(cma %p, count %d, align %d)\n, __func__, (void *)cma,
+count, align);
+
+   if (!count)
+   return NULL;
+
+   mutex_lock(cma_mutex);
+
+   pageno = bitmap_find_next_zero_area(cma-bitmap, cma-count, 0, count,
+   (1  align) - 1);
+   if (pageno = cma-count) {
+   ret = -ENOMEM;
+   goto error;
+   }
+   bitmap_set(cma-bitmap, pageno, count);
+
+   pfn = cma-base_pfn + pageno;
+   ret = alloc_contig_range(pfn, pfn + count, 0, MIGRATE_CMA);
+   if (ret)
+   goto free;
+



If alloc_contig_range returns failure, the bitmap is still set. It will
never be freed so now the area cannot be used for CMA allocations any
more.


bitmap is cleared at the “free:” label.


+   mutex_unlock(cma_mutex);
+
+   pr_debug(%s(): returned %p\n, __func__, pfn_to_page(pfn));
+   return pfn_to_page(pfn);
+free:
+   bitmap_clear(cma-bitmap, pageno, count);
+error:
+   mutex_unlock(cma_mutex);
+   return NULL;
+}




+int dma_release_from_contiguous(struct device *dev, struct page *pages,
+   int count)
+{
+   struct cma *cma = get_dev_cma_area(dev);
+   unsigned long pfn;
+
+   if (!cma || !pages)
+   return 0;
+
+   pr_debug(%s(page %p)\n, __func__, (void *)pages);
+
+   pfn = page_to_pfn(pages);
+
+   if (pfn  cma-base_pfn || pfn = cma-base_pfn + cma-count)
+   return 0;
+
+   mutex_lock(cma_mutex);
+
+   bitmap_clear(cma-bitmap, pfn - cma-base_pfn, count);
+   free_contig_pages(pfn, count);
+
+   mutex_unlock(cma_mutex);


It feels like the mutex could be a lot lighter here. If the bitmap is
protected by a spinlock, it would only need to be held while the bitmap
was being cleared. free the contig pages outside the spinlock and clear
the bitmap afterwards.

It's not particularly important as the scalability of CMA is not
something to be concerned with at this point.


Mutex is used also to protect the core operations, ie. isolating pages
and such.  This is because two CMA calls may want to work on the same
pageblock and we have to prevent that from happening.

We could add the spinlock for protecting the bitmap but we will still
need mutex for other uses.

--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz(o o)
ooo +email/xmpp: m...@google.com--ooO--(_)--Ooo--
--
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: Reqbufs(0) need to release queued_list

2011-10-24 Thread Marek Szyprowski

Hello,

On 2011-10-24 05:25, Angela Wan wrote:


As I have used videobuf2+soc_camera architecture on my camera
driver. I find a problem when I use Reqbuf(0), which only release
buffer, but not clear queued_list.


Thanks for pointing this bug. I will post a fix ASAP.

Best regards
--
Marek Szyprowski
Samsung Poland RD Center

--
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: [DVB] Digital Devices Cine CT V6 support

2011-10-24 Thread COEXSI


 -Original Message-
 From: Ralph Metzler [mailto:r...@metzlerbros.de]
 Sent: lundi 24 octobre 2011 20:31
 To: S é bastien RAILLARD (COEXSI)
 Cc: 'Linux Media Mailing List'
 Subject: RE: [DVB] Digital Devices Cine CT V6 support
 
 Sébastien RAILLARD (COEXSI) writes:
   I've seen a new parameter ts_loop, can you explain how it's
 working?
   Is-it for sending the stream from the demodulator directly to the CAM
  reader?
 
 No, it is mainly for testing. It declares one TAB as loopback, which
 means that the data output is directly connected to the input.
 

Ok

 For redirecting a stream through a CI see the redirect attribute.
 I don't know if my small redirect readme was included in the package I
 sent to Oliver. So, I attached it below.
 
 
 -Ralph
 
 
 
 Redirection of TS streams through CI modules is now supported through
 /sys/class/ddbridge/ddbridge0/redirect.
 It only works with cards based on the ddbridge PCIe bridge, not with
 nGene based cards.
 
 It is set up in such a way that you can write AB CD to a redirect
 attribute and data from input B of card A is then piped through port D
 (meaning TAB (D+1) which uses output D and input 2*D for CI io) of card
 C and then shows up in the demux device belonging to input B (input
 (B1) of TAB (B/2+1)) of card A.
 

Great feature, thanks!

 E.g.:
 
 echo 00 01  /sys/class/ddbridge/ddbridge0/redirect
 
 will pipe input 0 of card 0 through CI at port 1 (TAB 2) of card 0.
 
 Redirection should only be done right after loading the driver (or
 booting if the driver is built-in) and before using the devices in any
 way.


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


media0 not showing up on beagleboard-xm

2011-10-24 Thread Chris Whittenburg
I'm using oe-core to build the 3.0.7+ kernel, which runs fine on my
beagleboard-xm.

I'm interested in the media controller framework, which I believe is
in this kernel.

I expected there to be a /dev/media0, but it is not there.  I do see
Linux media interface: v0.10 in my dmesg log, so I know
media_devnode_init() is being called.

Even without a sensor connected and camera defined, I should still get
a media0 which represents the ISP, correct?  I do have
CONFIG_VIDEO_OMAP3=y in my kernel config.  The only reference in the
log that I see related to the isp is:
omap-iommu omap-iommu.0: isp registered

It looks like the kernel I'm using doesn't have support for the
camera= cmdline option, so hopefully the presence of the camera is
not required to kick things off.

Thanks,
Chris
--
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: changed em28xx-cards-c; Plextor ConvertX AV100U now works!

2011-10-24 Thread Chris Tooley
Hello, I'd like to confirm that the steps as posted by Don Kramer as per:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg19329.html

specifically:
adding this code to em28xx-cards.c (with the latest version of v4l
media_build git repo)

{ USB_DEVICE(0x093b, 0xa003),
.driver_info = EM2820_BOARD_PINNACLE_DVC_90 }, /* Plextor Corp.
ConvertX AV100U A/V Capture Audio */

Has allowed me to record video with my Plextor AV100U video to USB
device. I was successfully able to get video from the S-Video input
and save as a mov file using streamer ala:

streamer -c /dev/video0 -r30 -s640x480 -t 0:30 -o temp.mov

Mr. Kramer, I'd like to thank you for posting your solution!

$ uname -ar
Linux seraphim 2.6.38-12-generic #51-Ubuntu SMP Wed Sep 28 14:27:32
UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:Ubuntu 11.04
Release:11.04
Codename:   natty

(Also, I found that VLC was kind of glitchy, I suspect it is selecting
PAL when I am NTSC, PAL will get you a greyscale image with a big
green block underneath it when I select that using tvtime)

I haven't tested audio recording though, however, streamer seems to
allow a number of options, I suspect it might automatically select the
audio inputs from the device but I haven't tested that theory, and if
not, there is the audio in I can hack together ;)  The video is the
biggest thing in my opinion.

Is there a way I we can get this added to v4l? It's like 2 lines at most.

Thanks,
-Chris
--
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