Re: IR remote control autorepeat / evdev

2011-05-12 Thread Peter Hutterer
On Thu, May 12, 2011 at 03:36:47AM +0200, Mauro Carvalho Chehab wrote:
 Em 12-05-2011 03:10, Mauro Carvalho Chehab escreveu:
  Em 12-05-2011 02:37, Anssi Hannula escreveu:
 
  I don't see any other places:
  $ git grep 'REP_PERIOD' .
  dvb/dvb-usb/dvb-usb-remote.c:   input_dev-rep[REP_PERIOD] =
  d-props.rc.legacy.rc_interval;
  
  Indeed, the REP_PERIOD is not adjusted on other drivers. I agree that we
  should change it to something like 125ms, for example, as 33ms is too 
  short, as it takes up to 114ms for a repeat event to arrive.
  
 IMO, the enclosed patch should do a better job with repeat events, without
 needing to change rc-core/input/event logic.
 
 -
 
 Subject: Use a more consistent value for RC repeat period
 From: Mauro Carvalho Chehab mche...@redhat.com
 
 The default REP_PERIOD is 33 ms. This doesn't make sense for IR's,
 as, in general, an IR repeat scancode is provided at every 110/115ms,
 depending on the RC protocol. So, increase its default, to do a
 better job avoiding ghost repeat events.
 
 Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com
 
 diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
 index f53f9c6..ee67169 100644
 --- a/drivers/media/rc/rc-main.c
 +++ b/drivers/media/rc/rc-main.c
 @@ -1044,6 +1044,13 @@ int rc_register_device(struct rc_dev *dev)
*/
   dev-input_dev-rep[REP_DELAY] = 500;
  
 + /*
 +  * As a repeat event on protocols like RC-5 and NEC take as long as
 +  * 110/114ms, using 33ms as a repeat period is not the right thing
 +  * to do.
 +  */
 + dev-input_dev-rep[REP_PERIOD] = 125;
 +
   path = kobject_get_path(dev-dev.kobj, GFP_KERNEL);
   printk(KERN_INFO %s: %s as %s\n,
   dev_name(dev-dev),

so if I get this right, a XkbSetControls(.. XkbRepeatKeysMask ...) by a
client to set the repeat rate would provide the same solution - for those
clients/devices affected. 

The interesting question is how clients would identify the devices that are
affected by this (other than trial and error).

Cheers,
  Peter
--
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: why is there no enum_input in v4l2_subdev_video_ops

2011-05-12 Thread Hans Verkuil
 Hi Scott,

 On Wednesday 11 May 2011 10:43:30 Jiang, Scott wrote:
 On Tue, May 10, 2011 at 5:51 PM, Laurent Pinchart wrote:   On Tuesday
 10
 May 2011 08:14:10 Hans Verkuil wrote:
   On Tue, May 10, 2011 at 5:42 AM, Laurent Pinchart wrote:
Why is there no enum_input operation in v4l2_subdev_video_ops?
  
   Why do you need one ?
  
   Because I want to query decoder how many inputs it can support.
   So the question is where we should store inputs info, board
 specific
   data or decoder driver?
   I appreciate your advice.
 
  ENUMINPUT as defined by V4L2 enumerates input connectors available on
  the board. Which inputs the board designer hooked up is something
 that
  only the top-level V4L driver will know. Subdevices do not have that
  information, so enuminputs is not applicable there.
 
  Of course, subdevices do have input pins and output pins, but these
 are
  assumed to be fixed. With the s_routing ops the top level driver
 selects
  which input and output pins are active. Enumeration of those inputs
 and
  outputs wouldn't gain you anything as far as I can tell since the
  subdevice simply does not know which inputs/outputs are actually
 hooked
  up. It's the top level driver that has that information (usually
 passed
  in through board/card info structures).
 
  I agree. Subdevs don't have enough knowledge of their surroundings to
  make input enumeration really useful. They could enumerate their input
  pins, but not the inputs that are actually hooked up on board.
 
  The media controller framework is one way of solving this issue. It
 can
  report links for every input pad.
 
  Scott, can you tell us a bit more about the decoder you're working
 with ?
  What kind of system is it used in ?

 I'm working on ADV7183 and VS6624 connecting with blackfin through ppi.

 Enumerating inputs only matters for the ADV7183. The issue is that the
 adv7183
 driver doesn't know how its inputs are routed on the board. I see several
 solutions to fix this issue.

 - Create an adv7183 platform data structure, and fill it in board code
 with
 input routing information. The adv7183 driver can use that information to
 implement a (to be added) enum_input operation. I don't really like this
 solution, as the adv7183 really shouldn't care about how video signals are
 routed on the board.

Definitely not.

 - Pass the same information to the master v4l2_device driver that
 instantiates
 the adv7183. The information can then be used to implement the G_INPUT
 ioctl,
 or for internal purpose. You won't need any enum_input subdev operation in
 that case.

This is the way to do it. The TI davinci drivers do this, for example.

 - Use the media controller API to expose routing information to userspace.
 Like in the previous solution, board code would pass input routing
 information
 to the v4l2_device driver that would use use to create links. Links will
 then
 be enumerable and configurable by userspace.

This does not work (yet), since this would require the MC to have
connector entities which we do not have (yet). We will need them for ALSA,
and I think we also need them for V4L, but for V4L we need to figure out
the relationship between the _INPUT and _OUTPUT V4L2 ioctls and a MC with
connector entities first.

Regards,

   Hans

 By the way, ppi is a generic parallel interface, that means it can't
 know
 the fmt supported itself. Should I use enum_mbus_fmt to ask decoder for
 this info?
 I found it in v4l2_subdev_video_ops, but didn't know its usage exactly.

 The enum_mbus_fmt can be used for that purpose, yes. You can use it to
 query
 the ADV7183 and VS6624 for their supported formats. You can also query the
 current format with g_mbus_fmt.

 If you want to implement the media controller API, you should go for the
 pad-
 level operations instead of enum_mbus_fmt/g_mbus_fmt (available in
 2.6.39).

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



--
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-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread Bjørn Mork
Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

Ah, great! Thanks.  Nothing better than a problem already solved.


Bjørn

--
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-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread HoP
2011/5/12 Bjørn Mork bj...@mork.no:
 Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

 Ah, great! Thanks.  Nothing better than a problem already solved.

Not solved. Andreas did an attempt to solve it (at least as far as I know
patches not get accepted yet), so please report your result of testing.

Honza
--
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] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Josh Wu
This patch is to enable Atmel Image Sensor Interface (ISI) driver support. 
- Using soc-camera framework with videobuf2 dma-contig allocator
- Supporting video streaming of YUV packed format
- Tested on AT91SAM9M10G45-EK with OV2640

Signed-off-by: Josh Wu josh...@atmel.com
---
base on branch staging/for_v2.6.40

 arch/arm/mach-at91/include/mach/at91_isi.h |  454 
 drivers/media/video/Kconfig|   10 +
 drivers/media/video/Makefile   |1 +
 drivers/media/video/atmel-isi.c| 1089 
 4 files changed, 1554 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-at91/include/mach/at91_isi.h
 create mode 100644 drivers/media/video/atmel-isi.c

diff --git a/arch/arm/mach-at91/include/mach/at91_isi.h 
b/arch/arm/mach-at91/include/mach/at91_isi.h
new file mode 100644
index 000..3219358
--- /dev/null
+++ b/arch/arm/mach-at91/include/mach/at91_isi.h
@@ -0,0 +1,454 @@
+/*
+ * Register definitions for the Atmel Image Sensor Interface.
+ *
+ * Copyright (C) 2011 Atmel Corporation
+ *
+ * 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.
+ */
+#ifndef __AT91_ISI_H__
+#define __AT91_ISI_H__
+
+#include linux/videodev2.h
+#include linux/i2c.h
+#include media/v4l2-device.h
+#include media/v4l2-common.h
+#include media/v4l2-ioctl.h
+#include media/v4l2-chip-ident.h
+
+/* ISI register offsets */
+#define ISI_CR10x
+#define ISI_CR20x0004
+#define ISI_SR 0x0008
+#define ISI_IER0x000c
+#define ISI_IDR0x0010
+#define ISI_IMR0x0014
+#define ISI_PSIZE  0x0020
+#define ISI_PDECF  0x0024
+#define ISI_PPFBD  0x0028
+#define ISI_CDBA   0x002c
+#define ISI_Y2R_SET0   0x0030
+#define ISI_Y2R_SET1   0x0034
+#define ISI_R2Y_SET0   0x0038
+#define ISI_R2Y_SET1   0x003c
+#define ISI_R2Y_SET2   0x0040
+
+/* ISI_V2 register offsets */
+#define ISI_V2_CFG10x
+#define ISI_V2_CFG20x0004
+#define ISI_V2_PSIZE   0x0008
+#define ISI_V2_PDECF   0x000c
+#define ISI_V2_Y2R_SET00x0010
+#define ISI_V2_Y2R_SET10x0014
+#define ISI_V2_R2Y_SET00x0018
+#define ISI_V2_R2Y_SET10x001C
+#define ISI_V2_R2Y_SET20x0020
+#define ISI_V2_CTRL0x0024
+#define ISI_V2_STATUS  0x0028
+#define ISI_V2_INTEN   0x002C
+#define ISI_V2_INTDIS  0x0030
+#define ISI_V2_INTMASK 0x0034
+#define ISI_V2_DMA_CHER0x0038
+#define ISI_V2_DMA_CHDR0x003C
+#define ISI_V2_DMA_CHSR0x0040
+#define ISI_V2_DMA_P_ADDR  0x0044
+#define ISI_V2_DMA_P_CTRL  0x0048
+#define ISI_V2_DMA_P_DSCR  0x004C
+#define ISI_V2_DMA_C_ADDR  0x0050
+#define ISI_V2_DMA_C_CTRL  0x0054
+#define ISI_V2_DMA_C_DSCR  0x0058
+
+/* Bitfields in CR1 */
+#define ISI_RST_OFFSET 0
+#define ISI_RST_SIZE   1
+#define ISI_DIS_OFFSET 1
+#define ISI_DIS_SIZE   1
+#define ISI_HSYNC_POL_OFFSET   2
+#define ISI_HSYNC_POL_SIZE 1
+#define ISI_VSYNC_POL_OFFSET   3
+#define ISI_VSYNC_POL_SIZE 1
+#define ISI_PIXCLK_POL_OFFSET  4
+#define ISI_PIXCLK_POL_SIZE1
+#define ISI_EMB_SYNC_OFFSET6
+#define ISI_EMB_SYNC_SIZE  1
+#define ISI_CRC_SYNC_OFFSET7
+#define ISI_CRC_SYNC_SIZE  1
+#define ISI_FRATE_OFFSET   8
+#define ISI_FRATE_SIZE 3
+#define ISI_FULL_OFFSET12
+#define ISI_FULL_SIZE  1
+#define ISI_THMASK_OFFSET  13
+#define ISI_THMASK_SIZE2
+#define ISI_CODEC_ON_OFFSET15
+#define ISI_CODEC_ON_SIZE  1
+#define ISI_SLD_OFFSET 16
+#define ISI_SLD_SIZE   8

Re: [PATCH] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Russell King - ARM Linux
On Thu, May 12, 2011 at 03:42:18PM +0800, Josh Wu wrote:
 +err_alloc_isi:
 + clk_disable(pclk);

clk_put() ?
--
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: Problems of Pinnacle PCTV Hybrid pro stick in linux

2011-05-12 Thread a baffian
Hello all
Is there anyone could find the source of problems described below?
http://daftar.minidns.net/pctv/problem.html

On Mon, May 9, 2011 at 3:08 PM, a baffian mjnh...@gmail.com wrote:
 Hello all,

 Can anyone help to solve the problems of linux driver of Pinnacle
 PCTV Hybrid pro stick ?
 It is an em28xx based hybride (digital and analog TV) USB adapter.

 i wrote the complete story of my experiences with it, and its problems
 in http://daftar.minidns.net/pctv/problem.html

 Good Luck

--
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] [media] at91: add Atmel Image Sensor Interface (ISI)support

2011-05-12 Thread Wu, Josh
Hi, Russell

From: Russell King - ARM Linux [mailto:li...@arm.linux.org.uk] Sent: Thursday, 
May 12, 2011 3:47 PM
 On Thu, May 12, 2011 at 03:42:18PM +0800, Josh Wu wrote:
 +err_alloc_isi:
 +clk_disable(pclk);
 clk_put() ?
Ok, will be fixed in V2 patch. Thanks.

Best Regards,
Josh Wu
--
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] [media] at91: add Atmel Image Sensor Interface (ISI)support

2011-05-12 Thread Guennadi Liakhovetski
On Thu, 12 May 2011, Wu, Josh wrote:

 Hi, Russell
 
 From: Russell King - ARM Linux [mailto:li...@arm.linux.org.uk] Sent: 
 Thursday, May 12, 2011 3:47 PM
  On Thu, May 12, 2011 at 03:42:18PM +0800, Josh Wu wrote:
  +err_alloc_isi:
  +  clk_disable(pclk);
  clk_put() ?
 Ok, will be fixed in V2 patch. Thanks.

You might wait with v2 until I find time to review your patch. Will take a 
couple of days, I think. A general question, though: how compatible is 
this driver with the AVR32?

Thanks
Guennadi
---
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] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Russell King - ARM Linux
On Thu, May 12, 2011 at 03:42:18PM +0800, Josh Wu wrote:
 This patch is to enable Atmel Image Sensor Interface (ISI) driver support. 
 - Using soc-camera framework with videobuf2 dma-contig allocator
 - Supporting video streaming of YUV packed format
 - Tested on AT91SAM9M10G45-EK with OV2640

A few more points...

 +static int __init atmel_isi_probe(struct platform_device *pdev)

Should be __devinit otherwise you'll have section errors.

 +{
 + unsigned int irq;
 + struct atmel_isi *isi;
 + struct clk *pclk;
 + struct resource *regs;
 + int ret;
 + struct device *dev = pdev-dev;
 + struct isi_platform_data *pdata;
 + struct soc_camera_host *soc_host;
 +
 + regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 + if (!regs)
 + return -ENXIO;
 +
 + pclk = clk_get(pdev-dev, isi_clk);
 + if (IS_ERR(pclk))
 + return PTR_ERR(pclk);
 +
 + clk_enable(pclk);

Return value of clk_enable() should be checked.

 +
 + isi = kzalloc(sizeof(struct atmel_isi), GFP_KERNEL);
 + if (!isi) {
 + ret = -ENOMEM;
 + dev_err(pdev-dev, can't allocate interface!\n);
 + goto err_alloc_isi;
 + }
 +
 + isi-pclk = pclk;
 +
 + spin_lock_init(isi-lock);
 + init_waitqueue_head(isi-capture_wq);
 +
 + isi-alloc_ctx = vb2_dma_contig_init_ctx(pdev-dev);
 + if (IS_ERR(isi-alloc_ctx)) {
 + ret = PTR_ERR(isi-alloc_ctx);
 + goto err_alloc_isi;
 + }
 +
 + isi-regs = ioremap(regs-start, resource_size(regs));
 + if (!isi-regs) {
 + ret = -ENOMEM;
 + goto err_ioremap;
 + }
 +
 + if (dev-platform_data)
 + pdata = (struct isi_platform_data *) dev-platform_data;
 + else {
 + static struct isi_platform_data isi_default_data = {
 + .frate  = 0,
 + .has_emb_sync   = 0,
 + .emb_crc_sync   = 0,
 + .hsync_act_low  = 0,
 + .vsync_act_low  = 0,
 + .pclk_act_falling = 0,
 + .isi_full_mode  = 1,
 + /* to use codec and preview path simultaneously */
 + .flags = ISI_DATAWIDTH_8 |
 + ISI_DATAWIDTH_10,
 + };
 + dev_info(pdev-dev,
 + No config available using default values\n);
 + pdata = isi_default_data;
 + }
 +
 + isi-pdata = pdata;
 + isi-platform_flags = pdata-flags;
 + if (isi-platform_flags == 0)
 + isi-platform_flags = ISI_DATAWIDTH_8;
 +
 + isi_writel(isi, V2_CTRL, ISI_BIT(V2_DIS));
 + /* Check if module disable */
 + while (isi_readl(isi, V2_STATUS)  ISI_BIT(V2_DIS))
 + cpu_relax();
 +
 + irq = platform_get_irq(pdev, 0);

This should also be checked.
--
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] [media] at91: add Atmel Image Sensor Interface (ISI)support

2011-05-12 Thread Wu, Josh
From: Guennadi Liakhovetski [mailto:g.liakhovet...@gmx.de] Sent: Thursday, May 
12, 2011 5:32 PM

 On Thu, 12 May 2011, Wu, Josh wrote:
 Hi, Russell
 
 From: Russell King - ARM Linux [mailto:li...@arm.linux.org.uk] Sent: 
 Thursday, May 12, 2011 3:47 PM
  On Thu, May 12, 2011 at 03:42:18PM +0800, Josh Wu wrote:
  +err_alloc_isi:
  + clk_disable(pclk);
  clk_put() ?
 Ok, will be fixed in V2 patch. Thanks.

 You might wait with v2 until I find time to review your patch. Will take a 
 couple of days, I think. A general question, though: how compatible is 
 this driver with the AVR32?
That is ok. 
For AVR32, I think I need time to check with AVR team. I will update the status 
when I got more information.

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


Re: [linux-dvb] TeVii S470 (cx23885 / ds3000) makes the machine unstable

2011-05-12 Thread Andrew Junev
Monday, May 9, 2011, 7:39:09 PM, you wrote:

 I still have this very annoying issue. I see no obvious reason, but
 my DVB-S card just stops locking the signal, I get really a lot of
 these errors in my syslog:

 May  9 19:04:33 localhost kernel: ds3000_readreg: reg=0xd(error=-5)
 May  9 19:04:33 localhost kernel: ds3000_writereg: writereg
 error(err == -5, reg == 0x03, value == 0x12)
 May  9 19:04:33 localhost kernel: ds3000_tuner_readreg: reg=0x3d(error=-5)
 May  9 19:04:33 localhost kernel: ds3000_writereg: writereg
 error(err == -5, reg == 0x03, value == 0x12)
 May  9 19:04:33 localhost kernel: ds3000_tuner_readreg: reg=0x21(error=-5)
 May  9 19:04:33 localhost kernel: ds3000_readreg: reg=0x8c(error=-5)
 May  9 19:04:33 localhost kernel: ds3000_readreg: reg=0x8d(error=-5)

 and then the machine just freezes. Could it be some buffer overflow?

 How could I track it?


 The machine is perfectly stable when S470 card is out...


Sorry for replying to my own's post, as I just want to make this
information available in case someone would find this mail thread
later.

The issue appear to be related to S470 overheating. I discovered that
my S470 became very-very hot right after I power the machine up, and
recently it started to freeze right after the boot. So the board was
shipped to the dealer for tests / exchange, and my machine is back to
normal operation (without a DVB-S2 card, temporarily).

My friend's board is slightly cooler - so putting a fan blowing
directly on the board seem to solve the problem for him completely
(no freezes for three days now).

So it's very likely to be hardware-related, and not a driver /
configuration issue.


-- 
Best regards,
 Andrew 

--
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-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread Bjørn Mork
HoP jpetr...@gmail.com writes:
 2011/5/12 Bjørn Mork bj...@mork.no:
 Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

 Ah, great! Thanks.  Nothing better than a problem already solved.

 Not solved. Andreas did an attempt to solve it (at least as far as I know
 patches not get accepted yet), so please report your result of testing.

Sure. 

Now, the only machine I've got with DVB cards is running a stock Debian
2.6.32 kernel and I prefer not to mess with that.  But I did a
quick-n-dirty backport of the API changes to 2.6.32, built a new
dvb_core module and loaded that.  And the results are good, as
expected.  All parameters are now in sync.  

Both these adapters have been tuned by VDR (which uses the new API):


bjorn@canardo:/usr/local/src/git/linux-2.6$ /tmp/dvb_fe_test 
/dev/dvb/adapter0/frontend0 
== /dev/dvb/adapter0/frontend0 ==
name: Philips TDA10023 DVB-C
type: FE_QAM

== FE_GET_FRONTEND ==
frequency : 264006739
inversion : off (0)
symbol_rate   : 690
fec_inner : FEC_NONE (0)
modulation: QAM_256 (5)

== FE_GET_PROPERTY ==
[17] DTV_DELIVERY_SYSTEM : SYS_DVBC_ANNEX_AC (1)
[03] DTV_FREQUENCY   : 264006739
[06] DTV_INVERSION   : off (0)
[08] DTV_SYMBOL_RATE : 690
[09] DTV_INNER_FEC   : FEC_NONE (0)
[04] DTV_MODULATION  : QAM_256 (5)
[35] DTV_API_VERSION : 5.1
[05] DTV_BANDWIDTH_HZ: BANDWIDTH_AUTO (3)

bjorn@canardo:/usr/local/src/git/linux-2.6$ /tmp/dvb_fe_test 
/dev/dvb/adapter1/frontend0 
== /dev/dvb/adapter1/frontend0 ==
name: Philips TDA10023 DVB-C
type: FE_QAM

== FE_GET_FRONTEND ==
frequency : 272006739
inversion : off (0)
symbol_rate   : 690
fec_inner : FEC_NONE (0)
modulation: QAM_256 (5)

== FE_GET_PROPERTY ==
[17] DTV_DELIVERY_SYSTEM : SYS_DVBC_ANNEX_AC (1)
[03] DTV_FREQUENCY   : 272006739
[06] DTV_INVERSION   : off (0)
[08] DTV_SYMBOL_RATE : 690
[09] DTV_INNER_FEC   : FEC_NONE (0)
[04] DTV_MODULATION  : QAM_256 (5)
[35] DTV_API_VERSION : 5.1
[05] DTV_BANDWIDTH_HZ: BANDWIDTH_AUTO (3)




I've obviously messed up the API_VERSION, so this is probably more
dirty than quick  But all the important values, like frequency,
inversion and inner_fec, are now in sync.

Thanks a lot.  Feel free to add 

   Tested-by: Bjørn Mork bj...@mork.no

to the whole patch series if that matters to anyone.  I'd really like
this to go into 2.6.40 if that is possible. It would have been nice to
see it in 2.6.32-longerm was well, but I guess that's out of the
question since it builds on top of other API changes (DVBT2).



Bjørn

--
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: ngene CI problems

2011-05-12 Thread Issa Gorissen
On 11/05/2011 20:59, Oliver Endriss wrote:
 I reworked the driver to strip those null packets. Please try
 http://linuxtv.org/hg/~endriss/ngene-octopus-test/raw-rev/f0dc4237ad08

 CU
 Oliver
Great!

Will give it a try tonight and report.

Thx,
--
Issa
--
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] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
 +struct atmel_isi;
do we really this here?
 +
 +enum atmel_isi_pixfmt {
 + ATMEL_ISI_PIXFMT_GREY,  /* Greyscale */
 + ATMEL_ISI_PIXFMT_CbYCrY,
 + ATMEL_ISI_PIXFMT_CrYCbY,
 + ATMEL_ISI_PIXFMT_YCbYCr,
 + ATMEL_ISI_PIXFMT_YCrYCb,
 + ATMEL_ISI_PIXFMT_RGB24,
 + ATMEL_ISI_PIXFMT_BGR24,
 + ATMEL_ISI_PIXFMT_RGB16,
 + ATMEL_ISI_PIXFMT_BGR16,
 + ATMEL_ISI_PIXFMT_GRB16, /* G[2:0] R[4:0]/B[4:0] G[5:3] */
 + ATMEL_ISI_PIXFMT_GBR16, /* G[2:0] B[4:0]/R[4:0] G[5:3] */
 + ATMEL_ISI_PIXFMT_RGB24_REV,
 + ATMEL_ISI_PIXFMT_BGR24_REV,
 + ATMEL_ISI_PIXFMT_RGB16_REV,
 + ATMEL_ISI_PIXFMT_BGR16_REV,
 + ATMEL_ISI_PIXFMT_GRB16_REV, /* G[2:0] R[4:0]/B[4:0] G[5:3] */
 + ATMEL_ISI_PIXFMT_GBR16_REV, /* G[2:0] B[4:0]/R[4:0] G[5:3] */
 +};
 +
 +struct isi_platform_data {
 + u8 has_emb_sync;
 + u8 emb_crc_sync;
 + u8 hsync_act_low;
 + u8 vsync_act_low;
 + u8 pclk_act_falling;
 + u8 isi_full_mode;
 +#define ISI_HSYNC_ACT_LOW0x01
 +#define ISI_VSYNC_ACT_LOW0x02
 +#define ISI_PXCLK_ACT_FALLING0x04
 +#define ISI_EMB_SYNC 0x08
 +#define ISI_CRC_SYNC 0x10
 +#define ISI_FULL 0x20
 +#define ISI_DATAWIDTH_8  0x40
 +#define ISI_DATAWIDTH_10 0x80
 + u32 flags;
 + u8 gs_mode;
 +#define ISI_GS_2PIX_PER_WORD 0x00
 +#define ISI_GS_1PIX_PER_WORD 0x01
 + u8 pixfmt;
 + u8 sfd;
 + u8 sld;
 + u8 thmask;
 +#define ISI_BURST_4_8_16 0x00
 +#define ISI_BURST_8_16   0x01
 +#define ISI_BURST_16 0x02
 + u8 frate;
 +#define ISI_FRATE_DIV_2  0x01
 +#define ISI_FRATE_DIV_3  0x02
 +#define ISI_FRATE_DIV_4  0x03
 +#define ISI_FRATE_DIV_5  0x04
 +#define ISI_FRATE_DIV_6  0x05
 +#define ISI_FRATE_DIV_7  0x06
 +#define ISI_FRATE_DIV_8  0x07
 +};
 +
 +#endif /* __AT91_ISI_H__ */
 diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
 index d61414e..eae6005 100644
 --- a/drivers/media/video/Kconfig
 +++ b/drivers/media/video/Kconfig
 @@ -80,6 +80,16 @@ menuconfig VIDEO_CAPTURE_DRIVERS
 Some of those devices also supports FM radio.
  
  if VIDEO_CAPTURE_DRIVERS  VIDEO_V4L2
 +config VIDEO_ATMEL_ISI
 + tristate ATMEL Image Sensor Interface (ISI) support
 + depends on VIDEO_DEV  SOC_CAMERA
depends on AT91 if the drivers is at91 specific or avr32 otherwise
 + select VIDEOBUF2_DMA_CONTIG
 + default n
it's n by default  please remove
 + ---help---
 +   This module makes the ATMEL Image Sensor Interface available
 +   as a v4l2 device.
 +   Say Y here to enable selecting the Image Sensor Interface.
 +   When in doubt, say N.
  
  config VIDEO_ADV_DEBUG
   bool Enable advanced debug functionality
 diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
 index a10e4c3..f734a65 100644
 --- a/drivers/media/video/Makefile
 +++ b/drivers/media/video/Makefile
 @@ -166,6 +166,7 @@ obj-$(CONFIG_VIDEO_SH_MOBILE_CSI2)+= 
 sh_mobile_csi2.o
  obj-$(CONFIG_VIDEO_SH_MOBILE_CEU)+= sh_mobile_ceu_camera.o
  obj-$(CONFIG_VIDEO_OMAP1)+= omap1_camera.o
  obj-$(CONFIG_VIDEO_SAMSUNG_S5P_FIMC) += s5p-fimc/
 +obj-$(CONFIG_VIDEO_ATMEL_ISI)+= atmel-isi.o
  
  obj-$(CONFIG_ARCH_DAVINCI)   += davinci/
  
 diff --git a/drivers/media/video/atmel-isi.c b/drivers/media/video/atmel-isi.c
 new file mode 100644
 index 000..33d0b83
 --- /dev/null
 +++ b/drivers/media/video/atmel-isi.c
 @@ -0,0 +1,1089 @@
 +/*
 + * Copyright (c) 2011 Atmel Corporation
 + *
 + * Based on previous work by Lars Haring and Sedji Gaouaou
 + *
 + * Based on the bttv driver for Bt848 with respective copyright holders
 + *
 + * 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.
 + */
 +
 +#include linux/clk.h
 +#include linux/completion.h
 +#include linux/fs.h
 +#include linux/init.h
 +#include linux/interrupt.h
 +#include linux/kernel.h
 +#include linux/module.h
 +#include linux/moduleparam.h
 +#include linux/platform_device.h
 +#include linux/slab.h
 +#include linux/version.h
 +#include linux/kfifo.h
 +
 +#include mach/board.h
 +#include mach/cpu.h
 +#include mach/at91_isi.h
 +
 +#include media/videobuf2-dma-contig.h
 +#include media/soc_camera.h
 +#include media/soc_mediabus.h
 +
 +#define ATMEL_ISI_VERSIONKERNEL_VERSION(1, 0, 0)
 +#define MAX_BUFFER_NUMS  32
 +#define MAX_SUPPORT_WIDTH2048
 +#define MAX_SUPPORT_HEIGHT   2048
 +
 +static unsigned int vid_limit = 16;
 +
 +enum isi_buffer_state {
 + ISI_BUF_NEEDS_INIT,
 + ISI_BUF_PREPARED,
 +};
 +
 +/* Single frame capturing states */
 +enum {
 + STATE_IDLE = 0,
 + STATE_CAPTURE_READY,
 + STATE_CAPTURE_WAIT_SOF,
 + STATE_CAPTURE_IN_PROGRESS,
 + 

Re: [PATCH] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Guennadi Liakhovetski
On Thu, 12 May 2011, Jean-Christophe PLAGNIOL-VILLARD wrote:

[snip]

  +   if (0 == *nbuffers)
 please invert the test

Don't think this is required by CodingStyle or anything like that. If it 
were, you'd have to revamp half of the kernel.

Thanks
Guennadi
---
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: IR remote control autorepeat / evdev

2011-05-12 Thread Jarod Wilson

Peter Hutterer wrote:

On Thu, May 12, 2011 at 03:36:47AM +0200, Mauro Carvalho Chehab wrote:

Em 12-05-2011 03:10, Mauro Carvalho Chehab escreveu:

Em 12-05-2011 02:37, Anssi Hannula escreveu:

I don't see any other places:
$ git grep 'REP_PERIOD' .
dvb/dvb-usb/dvb-usb-remote.c:   input_dev-rep[REP_PERIOD] =
d-props.rc.legacy.rc_interval;

Indeed, the REP_PERIOD is not adjusted on other drivers. I agree that we
should change it to something like 125ms, for example, as 33ms is too
short, as it takes up to 114ms for a repeat event to arrive.


IMO, the enclosed patch should do a better job with repeat events, without
needing to change rc-core/input/event logic.

-

Subject: Use a more consistent value for RC repeat period
From: Mauro Carvalho Chehabmche...@redhat.com

The default REP_PERIOD is 33 ms. This doesn't make sense for IR's,
as, in general, an IR repeat scancode is provided at every 110/115ms,
depending on the RC protocol. So, increase its default, to do a
better job avoiding ghost repeat events.

Signed-off-by: Mauro Carvalho Chehabmche...@redhat.com

diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
index f53f9c6..ee67169 100644
--- a/drivers/media/rc/rc-main.c
+++ b/drivers/media/rc/rc-main.c
@@ -1044,6 +1044,13 @@ int rc_register_device(struct rc_dev *dev)
 */
dev-input_dev-rep[REP_DELAY] = 500;

+   /*
+* As a repeat event on protocols like RC-5 and NEC take as long as
+* 110/114ms, using 33ms as a repeat period is not the right thing
+* to do.
+*/
+   dev-input_dev-rep[REP_PERIOD] = 125;
+
path = kobject_get_path(dev-dev.kobj, GFP_KERNEL);
printk(KERN_INFO %s: %s as %s\n,
dev_name(dev-dev),


so if I get this right, a XkbSetControls(.. XkbRepeatKeysMask ...) by a
client to set the repeat rate would provide the same solution - for those
clients/devices affected.

The interesting question is how clients would identify the devices that are
affected by this (other than trial and error).


ir-keytable in v4l-utils is able to identify rc event devices by way of 
prodding in /sys/class/rc/, but I'm assuming that means every client 
would have to grow insight into how to do the same.


--
Jarod Wilson
ja...@redhat.com


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


Help needed: Anysee E30C Plus (DVB-C Tuner)

2011-05-12 Thread Per Kofod

Hi

I am new to this mailing list, so bare with me if this have been asked 
before.


I have just bought an Anysee E30C Plus, as I had read, that this device 
is supported
in Linux, my plan is building a Mythtv media center, to replace my old 
harddisk recorder.


However I cannot get it to work, and then I read thatt the newest 
version might not work,

and that I should join this list.

I have tried to compile a new kernel with the newest dvb stuff from the 
git repository, just
to make sure, that I have the newest drivers.  I have alsio blacklistet 
the zl10353 module
to avoid the device being loaded as an DVB-T device (which it is not, it 
is a cable only version).


What information do you need me to obtain, or do you have a hint to how 
I might get this working?


The device is reconnized OK as seen here from dmesg:

[   11.354973] dvb-usb: found a 'Anysee DVB USB2.0' in warm state.
[   11.355004] dvb-usb: will pass the complete MPEG2 transport stream to 
the software demuxer.

[   11.355239] DVB: registering new adapter (Anysee DVB USB2.0)
[   11.356661] anysee: firmware version:0.1.2 hardware id:15
[   11.391192] IR NEC protocol handler initialized
[   11.412221] IR RC5(x) protocol handler initialized
[   11.412611] DVB: Unable to find symbol zl10353_attach()
[   11.414527] DVB: Unable to find symbol zl10353_attach()
[   11.417536] DVB: registering adapter 1 frontend 0 (Philips TDA10023 
DVB-C)...

[   11.430950] IR RC6 protocol handler initialized
[   11.553821] IR JVC protocol handler initialized
[   11.555642] input: IR-receiver inside an USB DVB receiver as 
/devices/pci:00/:00:1d.7/usb2/2-5/input/input6

[   11.555682] dvb-usb: schedule remote query interval to 200 msecs.
[   11.555689] dvb-usb: Anysee DVB USB2.0 successfully initialized and 
connected.

[   11.557207] usbcore: registered new interface driver dvb_usb_anysee
[   11.569445] IR Sony protocol handler initialized
[   11.584259] lirc_dev: IR Remote Control driver registered, major 251
[   11.586747] IR LIRC bridge handler initialized

but lsusb reports this as an DVB-T Device:

tux3:~ # lsusb -s 002:002 -v

Bus 002 Device 002: ID 1c73:861f AMT Anysee E30 USB 2.0 DVB-T Receiver
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   2.00
  bDeviceClass0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize064
  idVendor   0x1c73 AMT
  idProduct  0x861f Anysee E30 USB 2.0 DVB-T Receiver
  bcdDevice1.00
  iManufacturer   1 AMT.CO.KR
  iProduct2 anysee-FA(LP)
  iSerial 0
  bNumConfigurations  1
  Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength   83
bNumInterfaces  1
bConfigurationValue 1
iConfiguration  0
bmAttributes 0x80
  (Bus Powered)
MaxPower  500mA
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   0
  bNumEndpoints   4
  bInterfaceClass   255 Vendor Specific Class
  bInterfaceSubClass  0
  bInterfaceProtocol  0
  iInterface  0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01  EP 1 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81  EP 1 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0040  1x 64 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82  EP 2 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02  EP 2 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  bAlternateSetting   1
  bNumEndpoints

[PATCH] ngene: blocking and nonblocking io for sec0

2011-05-12 Thread Issa Gorissen
Patch allows for blocking or nonblocking io on the ngene sec0 device.
It also enforces one reader and one writer at a time.

Signed-off-by: Issa Gorissen flo...@usa.net
--

--- a/linux/drivers/media/dvb/ngene/ngene-dvb.c 2011-05-10 19:11:21.0 
+0200
+++ b/linux/drivers/media/dvb/ngene/ngene-dvb.c 2011-05-12 15:28:53.573185365 
+0200
@@ -53,15 +53,29 @@ static ssize_t ts_write(struct file *fil
struct dvb_device *dvbdev = file-private_data;
struct ngene_channel *chan = dvbdev-priv;
struct ngene *dev = chan-dev;
+   int avail = 0;
+   char nonblock = file-f_flags  O_NONBLOCK;
 
-   if (wait_event_interruptible(dev-tsout_rbuf.queue,
-dvb_ringbuffer_free
-(dev-tsout_rbuf) = count)  0)
+   if (!count)
return 0;
 
-   dvb_ringbuffer_write(dev-tsout_rbuf, buf, count);
+   if (nonblock) {
+   avail = dvb_ringbuffer_avail(dev-tsout_rbuf);
+   if (!avail)
+   return -EAGAIN;
+   } else {
+   while (1) {
+   if (wait_event_interruptible(dev-tsout_rbuf.queue,
+dvb_ringbuffer_free
+(dev-tsout_rbuf) = 
count) = 0)
+   break;
+   }
+   avail = count;
+   }
+
+   dvb_ringbuffer_write(dev-tsout_rbuf, buf, avail);
+   return avail;
 
-   return count;
 }
 
 static ssize_t ts_read(struct file *file, char *buf,
@@ -70,22 +84,35 @@ static ssize_t ts_read(struct file *file
struct dvb_device *dvbdev = file-private_data;
struct ngene_channel *chan = dvbdev-priv;
struct ngene *dev = chan-dev;
-   int left, avail;
+   int avail = 0;
+   char nonblock = file-f_flags  O_NONBLOCK;
 
-   left = count;
-   while (left) {
-   if (wait_event_interruptible(
-   dev-tsin_rbuf.queue,
-   dvb_ringbuffer_avail(dev-tsin_rbuf)  0)  0)
-   return -EAGAIN;
+   if (!count)
+   return 0;
+
+   if (nonblock) {
avail = dvb_ringbuffer_avail(dev-tsin_rbuf);
-   if (avail  left)
-   avail = left;
-   dvb_ringbuffer_read_user(dev-tsin_rbuf, buf, avail);
-   left -= avail;
-   buf += avail;
+   } else {
+   while (!avail) {
+   if (wait_event_interruptible(
+   dev-tsin_rbuf.queue,
+   dvb_ringbuffer_avail(dev-tsin_rbuf)  0) 
 0)
+   continue;
+
+   avail = dvb_ringbuffer_avail(dev-tsin_rbuf);
+   }
}
-   return count;
+
+   if (avail  count)
+   avail = count;
+   if (avail  0)
+   dvb_ringbuffer_read_user(dev-tsin_rbuf, buf, avail);
+
+   if (!avail)
+   return -EAGAIN;
+   else
+   return avail;
+
 }
 
 static const struct file_operations ci_fops = {
@@ -98,9 +125,9 @@ static const struct file_operations ci_f
 
 struct dvb_device ngene_dvbdev_ci = {
.priv= 0,
-   .readers = -1,
-   .writers = -1,
-   .users   = -1,
+   .readers = 1,
+   .writers = 1,
+   .users   = 2,
.fops= ci_fops,
 };
 


--
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: Help needed: Anysee E30C Plus (DVB-C Tuner)

2011-05-12 Thread Antti Palosaari

On 05/12/2011 04:27 PM, Per Kofod wrote:

Hi

I am new to this mailing list, so bare with me if this have been asked
before.

I have just bought an Anysee E30C Plus, as I had read, that this device
is supported
in Linux, my plan is building a Mythtv media center, to replace my old
harddisk recorder.

However I cannot get it to work, and then I read thatt the newest
version might not work,
and that I should join this list.

I have tried to compile a new kernel with the newest dvb stuff from the
git repository, just
to make sure, that I have the newest drivers. I have alsio blacklistet
the zl10353 module
to avoid the device being loaded as an DVB-T device (which it is not, it
is a cable only version).

What information do you need me to obtain, or do you have a hint to how
I might get this working?

The device is reconnized OK as seen here from dmesg:

[ 11.354973] dvb-usb: found a 'Anysee DVB USB2.0' in warm state.
[ 11.355004] dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer.
[ 11.355239] DVB: registering new adapter (Anysee DVB USB2.0)
[ 11.356661] anysee: firmware version:0.1.2 hardware id:15



For the some reason hardware ID 15 does not work on latest Ubuntu 11.04. 
That is basically E30 Combo Plus and newer E30 C Plus, which is same 
device as E30 Combo Plus but without DVB-T demod.


Install latest drivers and it will work. And I hope someone have time to 
examine why it does not work anymore out-of-the-box in Ubuntu 11.04.


http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers


Antti

--
http://palosaari.fi/
--
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: Bug in HVR1300. Found part of a patch, if reverted

2011-05-12 Thread Mike

Hi there

in the latest kernel (and all those since when the patch was written) 
this patch is still required for the HVR-1300 to work, any chance of it 
getting incorporated?


thanks
Mike

 Hi list,

 there seems to be a bug in cx88 (HVR1300) that is responsible for not
 switching channels, and not being able to scan.
 Complete description can be found on launchpad:

 https://bugs.launchpad.net/mythtv/+bug/439163 (starting from comment #16)

 Anyway, i digged it down to this patch:
 http://www.mail-archive.com/linuxtv-commits@xxx/msg02195.html

 When reverting the following part of the patch it starts working again:

 snip--

 diff -r 576096447a45 -r d2eedb425718
 linux/drivers/media/video/cx88/cx88-dvb.c
 - --- a/linux/drivers/media/video/cx88/cx88-dvb.c Thu Dec 18 07:28:18 
2008

 - -0200
 +++ b/linux/drivers/media/video/cx88/cx88-dvb.c Thu Dec 18 07:28:35 2008
 - -0200
 @@ -1135,40 +1135,44 @@ static int cx8802_dvb_advise_acquire(str
 * on the bus. Take the bus from the cx23416 and enable the
 * cx22702 demod
 */
 - - cx_set(MO_GP0_IO, 0x0080); /* cx22702 out of reset and
 enable */
 + /* Toggle reset on cx22702 leaving i2c active */
 + cx_set(MO_GP0_IO, 0x0080);
 + udelay(1000);
 + cx_clear(MO_GP0_IO, 0x0080);
 + udelay(50);
 + cx_set(MO_GP0_IO, 0x0080);
 + udelay(1000);
 + /* enable the cx22702 pins */
 cx_clear(MO_GP0_IO, 0x0004);
 udelay(1000);
 break;
 - -snip

 Regards

 Frank Sagurna

--
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: Help needed: Anysee E30C Plus (DVB-C Tuner)

2011-05-12 Thread Per Kofod
Thanks, that worked. Actually I am not running ubuntu on this PC; but 
OpenSuSE 11.4;

but I was planninh using Mythbuntu far my media center.

Thanks a lot.

Cheers Per

On 05/12/2011 04:08 PM, Antti Palosaari wrote:

On 05/12/2011 04:27 PM, Per Kofod wrote:

Hi

I am new to this mailing list, so bare with me if this have been asked
before.

I have just bought an Anysee E30C Plus, as I had read, that this device
is supported
in Linux, my plan is building a Mythtv media center, to replace my old
harddisk recorder.

However I cannot get it to work, and then I read thatt the newest
version might not work,
and that I should join this list.

I have tried to compile a new kernel with the newest dvb stuff from the
git repository, just
to make sure, that I have the newest drivers. I have alsio blacklistet
the zl10353 module
to avoid the device being loaded as an DVB-T device (which it is not, it
is a cable only version).

What information do you need me to obtain, or do you have a hint to how
I might get this working?

The device is reconnized OK as seen here from dmesg:

[ 11.354973] dvb-usb: found a 'Anysee DVB USB2.0' in warm state.
[ 11.355004] dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer.
[ 11.355239] DVB: registering new adapter (Anysee DVB USB2.0)
[ 11.356661] anysee: firmware version:0.1.2 hardware id:15



For the some reason hardware ID 15 does not work on latest Ubuntu 
11.04. That is basically E30 Combo Plus and newer E30 C Plus, which is 
same device as E30 Combo Plus but without DVB-T demod.


Install latest drivers and it will work. And I hope someone have time 
to examine why it does not work anymore out-of-the-box in Ubuntu 11.04.


http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers 




Antti



--
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 PATCH FOR 2.6.40] uvcvideo patches

2011-05-12 Thread Laurent Pinchart
Hi Mauro,

The following changes since commit f9b51477fe540fb4c65a05027fdd6f2ecce4db3b:

  [media] DVB: return meaningful error codes in dvb_frontend (2011-05-09 
05:47:20 +0200)

are available in the git repository at:
  git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next

Bob Liu (2):
  Revert V4L/DVB: v4l2-dev: remove get_unmapped_area
  uvcvideo: Add support for NOMMU arch

Hans de Goede (2):
  v4l: Add M420 format definition
  uvcvideo: Add M420 format support

Laurent Pinchart (4):
  v4l: Release module if subdev registration fails
  uvcvideo: Register a v4l2_device
  uvcvideo: Register subdevices for each entity
  uvcvideo: Connect video devices to media entities

 drivers/media/video/uvc/Makefile |3 +
 drivers/media/video/uvc/uvc_driver.c |   71 ++--
 drivers/media/video/uvc/uvc_entity.c |  118 
++
 drivers/media/video/uvc/uvc_queue.c  |   34 ++-
 drivers/media/video/uvc/uvc_v4l2.c   |   17 +
 drivers/media/video/uvc/uvcvideo.h   |   27 
 drivers/media/video/v4l2-dev.c   |   18 +
 drivers/media/video/v4l2-device.c|5 +-
 include/linux/videodev2.h|1 +
 include/media/v4l2-dev.h |2 +
 10 files changed, 287 insertions(+), 9 deletions(-)
 create mode 100644 drivers/media/video/uvc/uvc_entity.c

-- 
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 PATCH FOR 2.6.40] uvcvideo patches

2011-05-12 Thread Laurent Pinchart
Hi Mauro,

On Thursday 12 May 2011 17:30:36 Laurent Pinchart wrote:
 Hi Mauro,
 
 The following changes since commit
 f9b51477fe540fb4c65a05027fdd6f2ecce4db3b:
 
   [media] DVB: return meaningful error codes in dvb_frontend (2011-05-09
 05:47:20 +0200)
 
 are available in the git repository at:
   git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
 
 Bob Liu (2):
   Revert V4L/DVB: v4l2-dev: remove get_unmapped_area
   uvcvideo: Add support for NOMMU arch
 
 Hans de Goede (2):
   v4l: Add M420 format definition

I forgot to add documentation for the new format. Please ignore the pull 
request, I'll resubmit it tomorrow.

   uvcvideo: Add M420 format support
 
 Laurent Pinchart (4):
   v4l: Release module if subdev registration fails
   uvcvideo: Register a v4l2_device
   uvcvideo: Register subdevices for each entity
   uvcvideo: Connect video devices to media entities
 
  drivers/media/video/uvc/Makefile |3 +
  drivers/media/video/uvc/uvc_driver.c |   71 ++--
  drivers/media/video/uvc/uvc_entity.c |  118
 ++
  drivers/media/video/uvc/uvc_queue.c  |   34 ++-
  drivers/media/video/uvc/uvc_v4l2.c   |   17 +
  drivers/media/video/uvc/uvcvideo.h   |   27 
  drivers/media/video/v4l2-dev.c   |   18 +
  drivers/media/video/v4l2-device.c|5 +-
  include/linux/videodev2.h|1 +
  include/media/v4l2-dev.h |2 +
  10 files changed, 287 insertions(+), 9 deletions(-)
  create mode 100644 drivers/media/video/uvc/uvc_entity.c

-- 
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: Audio Video synchronization for data received from a HDMI receiver chip

2011-05-12 Thread Charlie X. Liu
Which HDMI receiver chip?

-Original Message-
From: linux-media-ow...@vger.kernel.org
[mailto:linux-media-ow...@vger.kernel.org] On Behalf Of Bhupesh SHARMA
Sent: Wednesday, May 11, 2011 10:49 PM
To: linux-media@vger.kernel.org
Cc: Laurent Pinchart; Guennadi Liakhovetski; Hans Verkuil
Subject: Audio Video synchronization for data received from a HDMI receiver
chip

Hi Linux media folks,

We are considering putting an advanced HDMI receiver chip on our SoC,
to allow reception of HDMI audio and video. The chip receives HDMI data
from a host like a set-up box or DVD player. It provides a video data
interface
and SPDIF/I2S audio data interface.

We plan to support the HDMI video using the V4L2 framework and the HDMI
audio using ALSA framework.

Now, what seems to be intriguing us is how the audio-video synchronization
will be maintained? Will a separate bridging entity required to ensure the
same
or whether this can be left upon a user space application like mplayer or
gstreamer.

Also is there a existing interface between the V4L2 and ALSA frameworks and
the same
can be used in our design?

Regards,
Bhupesh
ST Microelectronics
--
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: Help needed: Anysee E30C Plus (DVB-C Tuner)

2011-05-12 Thread Antti Palosaari

Thanks for the report. I have now following matrix:

not working:
OpenSuSE 11.4 Kernel 2.6.37
Ubuntu 11.4 Kernel 2.6.38

working:
Fedora 14 Kernel 2.6.35

regards
Antti

On 05/12/2011 05:35 PM, Per Kofod wrote:

Thanks, that worked. Actually I am not running ubuntu on this PC; but
OpenSuSE 11.4;
but I was planninh using Mythbuntu far my media center.

Thanks a lot.

Cheers Per

On 05/12/2011 04:08 PM, Antti Palosaari wrote:

On 05/12/2011 04:27 PM, Per Kofod wrote:

Hi

I am new to this mailing list, so bare with me if this have been asked
before.

I have just bought an Anysee E30C Plus, as I had read, that this device
is supported
in Linux, my plan is building a Mythtv media center, to replace my old
harddisk recorder.

However I cannot get it to work, and then I read thatt the newest
version might not work,
and that I should join this list.

I have tried to compile a new kernel with the newest dvb stuff from the
git repository, just
to make sure, that I have the newest drivers. I have alsio blacklistet
the zl10353 module
to avoid the device being loaded as an DVB-T device (which it is not, it
is a cable only version).

What information do you need me to obtain, or do you have a hint to how
I might get this working?

The device is reconnized OK as seen here from dmesg:

[ 11.354973] dvb-usb: found a 'Anysee DVB USB2.0' in warm state.
[ 11.355004] dvb-usb: will pass the complete MPEG2 transport stream to
the software demuxer.
[ 11.355239] DVB: registering new adapter (Anysee DVB USB2.0)
[ 11.356661] anysee: firmware version:0.1.2 hardware id:15



For the some reason hardware ID 15 does not work on latest Ubuntu
11.04. That is basically E30 Combo Plus and newer E30 C Plus, which is
same device as E30 Combo Plus but without DVB-T demod.

Install latest drivers and it will work. And I hope someone have time
to examine why it does not work anymore out-of-the-box in Ubuntu 11.04.

http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers



Antti






--
http://palosaari.fi/
--
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: ERRORS

2011-05-12 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 May 12 19:02:02 CEST 2011
git hash:f9b51477fe540fb4c65a05027fdd6f2ecce4db3b
gcc version:  i686-linux-gcc (GCC) 4.5.1
host hardware:x86_64
host os:  2.6.32.5

linux-git-armv5: OK
linux-git-armv5-davinci: OK
linux-git-armv5-ixp: OK
linux-git-armv5-omap2: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: WARNINGS
linux-git-powerpc64: OK
linux-git-x86_64: OK
linux-2.6.31.12-i686: ERRORS
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: ERRORS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.38.2-i686: WARNINGS
linux-2.6.31.12-x86_64: ERRORS
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
spec-git: OK
sparse: 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 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


digital tuner

2011-05-12 Thread James

I have an analog: Hauppauge WinTV-Go PLUS which has a lineout.

I'm considering a digital card.
The Hauppauge WinTV-HVR-1250 does NOT have a lineout so how does it do
sound?
Does PCIe pass through the sound to the OS sound system?
I read on the linuxtv wiki that only the digital works on this card.

--
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 PATCHES FOR 2.6.39] Fix subdev control enumeration

2011-05-12 Thread Hans Verkuil
Hi Mauro,

I haven't seen this fix appearing upstream, did it slip through the cracks?

Regards,

Hans

On Monday, May 02, 2011 13:19:03 Hans Verkuil wrote:
 Hi Mauro,
 
 This fix is for 2.6.39. Control enumeration for subdev device nodes is 
 broken. 
 The fix is simple and has been tested by Sakari.
 
 Regards,
 
   Hans
 
 The following changes since commit 28df73703e738d8ae7a958350f74b08b2e9fe9ed:
   Mauro Carvalho Chehab (1):
 [media] xc5000: Improve it to work better with 6MHz-spaced channels
 
 are available in the git repository at:
 
   ssh://linuxtv.org/git/hverkuil/media_tree.git ctrl-fix
 
 Hans Verkuil (1):
   v4l2-subdev: fix broken subdev control enumeration
 
  drivers/media/video/v4l2-subdev.c |   14 +++---
  1 files changed, 7 insertions(+), 7 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
 
 
--
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] tea575x: remove freq_fixup from struct

2011-05-12 Thread Ondrej Zary
freq_fixup is a constant, no need to hold it in struct snd_tea575x and set in
each driver.

Signed-off-by: Ondrej Zary li...@rainbow-software.org

--- linux-2.6.39-rc2-/include/sound/tea575x-tuner.h 2011-05-10 
22:31:40.0 +0200
+++ linux-2.6.39-rc2/include/sound/tea575x-tuner.h  2011-05-12 
21:00:50.0 +0200
@@ -26,6 +26,8 @@
 #include media/v4l2-dev.h
 #include media/v4l2-ioctl.h
 
+#define TEA575X_FMIF   10700
+
 #define TEA575X_DATA   (1  0)
 #define TEA575X_CLK(1  1)
 #define TEA575X_WREN   (1  2)
@@ -46,7 +48,6 @@ struct snd_tea575x {
bool mute;  /* Device is muted? */
bool stereo;/* receiving stereo */
bool tuned; /* tuned to a station */
-   unsigned int freq_fixup;/* crystal onboard */
unsigned int val;   /* hw value */
unsigned long freq; /* frequency */
unsigned long in_use;   /* set if the device is in use */
--- linux-2.6.39-rc2-/sound/i2c/other/tea575x-tuner.c   2011-05-10 
22:31:40.0 +0200
+++ linux-2.6.39-rc2/sound/i2c/other/tea575x-tuner.c2011-05-12 
21:00:37.0 +0200
@@ -141,9 +141,9 @@ static void snd_tea575x_get_freq(struct
freq /= 10;
/* crystal fixup */
if (tea-tea5759)
-   freq += tea-freq_fixup;
+   freq += TEA575X_FMIF;
else
-   freq -= tea-freq_fixup;
+   freq -= TEA575X_FMIF;
 
tea-freq = freq * 16;  /* from kHz */
 }
@@ -156,9 +156,9 @@ static void snd_tea575x_set_freq(struct
freq /= 16; /* to kHz */
/* crystal fixup */
if (tea-tea5759)
-   freq -= tea-freq_fixup;
+   freq -= TEA575X_FMIF;
else
-   freq += tea-freq_fixup;
+   freq += TEA575X_FMIF;
/* freq /= 12.5 */
freq *= 10;
freq /= 125;
--- linux-2.6.39-rc2-/sound/pci/es1968.c2011-05-10 22:31:43.0 
+0200
+++ linux-2.6.39-rc2/sound/pci/es1968.c 2011-05-10 23:47:32.0 +0200
@@ -2794,7 +2794,6 @@ static int __devinit snd_es1968_create(s
 
 #ifdef CONFIG_SND_ES1968_RADIO
chip-tea.card = card;
-   chip-tea.freq_fixup = 10700;
chip-tea.private_data = chip;
chip-tea.ops = snd_es1968_tea_ops;
if (!snd_tea575x_init(chip-tea))
--- linux-2.6.39-rc2-/sound/pci/fm801.c 2011-05-10 23:24:39.0 +0200
+++ linux-2.6.39-rc2/sound/pci/fm801.c  2011-05-10 23:47:43.0 +0200
@@ -1231,7 +1231,6 @@ static int __devinit snd_fm801_create(st
 
 #ifdef TEA575X_RADIO
chip-tea.card = card;
-   chip-tea.freq_fixup = 10700;
chip-tea.private_data = chip;
chip-tea.ops = snd_fm801_tea_ops;
if ((tea575x_tuner  TUNER_TYPE_MASK)  0 


-- 
Ondrej Zary
--
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/3] tea575x: remove unused card from struct

2011-05-12 Thread Ondrej Zary
struct snd_card *card is present in struct snd_tea575x but never used.
Remove it.

Signed-off-by: Ondrej Zary li...@rainbow-software.org

--- linux-2.6.39-rc2-/include/sound/tea575x-tuner.h 2011-05-12 
21:22:35.0 +0200
+++ linux-2.6.39-rc2/include/sound/tea575x-tuner.h  2011-05-12 
21:21:37.0 +0200
@@ -42,7 +42,6 @@ struct snd_tea575x_ops {
 };
 
 struct snd_tea575x {
-   struct snd_card *card;
struct video_device *vd;/* video device */
bool tea5759;   /* 5759 chip is present */
bool mute;  /* Device is muted? */
--- linux-2.6.39-rc2-/sound/pci/es1968.c2011-05-12 21:22:35.0 
+0200
+++ linux-2.6.39-rc2/sound/pci/es1968.c 2011-05-12 21:22:09.0 +0200
@@ -2793,7 +2793,6 @@ static int __devinit snd_es1968_create(s
snd_card_set_dev(card, pci-dev);
 
 #ifdef CONFIG_SND_ES1968_RADIO
-   chip-tea.card = card;
chip-tea.private_data = chip;
chip-tea.ops = snd_es1968_tea_ops;
if (!snd_tea575x_init(chip-tea))
--- linux-2.6.39-rc2-/sound/pci/fm801.c 2011-05-12 21:22:35.0 +0200
+++ linux-2.6.39-rc2/sound/pci/fm801.c  2011-05-12 21:22:05.0 +0200
@@ -1230,7 +1230,6 @@ static int __devinit snd_fm801_create(st
snd_card_set_dev(card, pci-dev);
 
 #ifdef TEA575X_RADIO
-   chip-tea.card = card;
chip-tea.private_data = chip;
chip-tea.ops = snd_fm801_tea_ops;
if ((tea575x_tuner  TUNER_TYPE_MASK)  0 


-- 
Ondrej Zary
--
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] tea575x: use better card and bus names

2011-05-12 Thread Ondrej Zary
Provide real card and bus_info instead of hardcoded values.

Signed-off-by: Ondrej Zary li...@rainbow-software.org

--- linux-2.6.39-rc2-/include/sound/tea575x-tuner.h 2011-05-12 
21:53:43.0 +0200
+++ linux-2.6.39-rc2/include/sound/tea575x-tuner.h  2011-05-12 
21:37:40.0 +0200
@@ -52,6 +52,8 @@ struct snd_tea575x {
unsigned long in_use;   /* set if the device is in use */
struct snd_tea575x_ops *ops;
void *private_data;
+   u8 card[32];
+   u8 bus_info[32];
 };
 
 int snd_tea575x_init(struct snd_tea575x *tea);
--- linux-2.6.39-rc2-/sound/i2c/other/tea575x-tuner.c   2011-05-12 
21:22:35.0 +0200
+++ linux-2.6.39-rc2/sound/i2c/other/tea575x-tuner.c2011-05-12 
21:41:11.0 +0200
@@ -178,8 +178,9 @@ static int vidioc_querycap(struct file *
struct snd_tea575x *tea = video_drvdata(file);
 
strlcpy(v-driver, tea575x-tuner, sizeof(v-driver));
-   strlcpy(v-card, tea-tea5759 ? TEA5759 : TEA5757, sizeof(v-card));
-   sprintf(v-bus_info, PCI);
+   strlcpy(v-card, tea-card, sizeof(v-card));
+   strlcat(v-card, tea-tea5759 ?  TEA5759 :  TEA5757, 
sizeof(v-card));
+   strlcpy(v-bus_info, tea-bus_info, sizeof(v-bus_info));
v-version = RADIO_VERSION;
v-capabilities = V4L2_CAP_TUNER | V4L2_CAP_RADIO;
return 0;
--- linux-2.6.39-rc2-/sound/pci/es1968.c2011-05-12 21:53:43.0 
+0200
+++ linux-2.6.39-rc2/sound/pci/es1968.c 2011-05-12 21:45:59.0 +0200
@@ -2795,6 +2795,8 @@ static int __devinit snd_es1968_create(s
 #ifdef CONFIG_SND_ES1968_RADIO
chip-tea.private_data = chip;
chip-tea.ops = snd_es1968_tea_ops;
+   strlcpy(chip-tea.card, SF64-PCE2, sizeof(chip-tea.card));
+   sprintf(chip-tea.bus_info, PCI:%s, pci_name(pci));
if (!snd_tea575x_init(chip-tea))
printk(KERN_INFO es1968: detected TEA575x radio\n);
 #endif
--- linux-2.6.39-rc2-/sound/pci/fm801.c 2011-05-12 21:53:43.0 +0200
+++ linux-2.6.39-rc2/sound/pci/fm801.c  2011-05-12 21:50:19.0 +0200
@@ -1232,6 +1232,7 @@ static int __devinit snd_fm801_create(st
 #ifdef TEA575X_RADIO
chip-tea.private_data = chip;
chip-tea.ops = snd_fm801_tea_ops;
+   sprintf(chip-tea.bus_info, PCI:%s, pci_name(pci));
if ((tea575x_tuner  TUNER_TYPE_MASK)  0 
(tea575x_tuner  TUNER_TYPE_MASK)  4) {
if (snd_tea575x_init(chip-tea))
@@ -1246,6 +1247,7 @@ static int __devinit snd_fm801_create(st
break;
}
}
+   strlcpy(chip-tea.card, snd_fm801_tea575x_gpios[(tea575x_tuner  
TUNER_TYPE_MASK) - 1].name, sizeof(chip-tea.card));
 #endif
 
*rchip = chip;


-- 
Ondrej Zary
--
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 VIDEO IN driver for OKI SEMICONDUCTOR ML7213/ML7223 IOHs

2011-05-12 Thread Hans Verkuil
Hi Tomoya,

This is a pretty big patch and it will take some time to review properly.
However, I can give some high-level comments already based on an initial
scan of the code.

1) New drivers that use controls (G/S_CTRL et al) must use the new control
framework. See Documentation/video4linux/v4l2-controls.txt. We are slowly
converting existing drivers to this framework, and I don't want to add to that
workload :-)

2) The sensor drivers should be named 'ov7620', 'ncm13j', etc. and be
independent of (and not refer to) the IOH driver. After all, these sensor
drivers can be used in other devices as well.

3) ioh_video_in.c is definitely too large with 4704 lines. I would strongly
suggest splitting it in multiple files.

4) There are a bunch of IOH_VIDEO_ private ioctls. I haven't had time to analyse
them, but it would help a lot if you could write some sort of overview of what
they do and why you need them. I suspect that some can be replaced by private
controls, some might already be available in V4L2 and some might need extensions
to V4L2 (I hope not, though).

5) The OH_VIDEO_IN_DMA_CONTIG define makes a mess of the code. Why do you need 
it?
I have never seen a driver that can support either DMA_CONTIG or VMALLOC and I 
would
like to know some background information here. BTW, 2.6.39 merges the new 
videobuf2
framework (the successor to videobuf), which I would recommend that you use. It 
is
much easier to work with and understand than videobuf.

Regards,

Hans

On Thursday, May 12, 2011 10:16:04 Tomoya MORINAGA wrote:
 This patch is for Video IN driver of OKI SEMICONDUCTOR ML7213/ML7223 IOHs
 (Input/Output Hub).
 These ML7213/ML7223 IOHs are companion chip for Intel Atom E6xx series.
 ML7213 IOH is for IVI(In-Vehicle Infotainment) use and ML7223 IOH is for
 MP(Media Phone) use.
 
 Signed-off-by: Tomoya MORINAGA tomoya-li...@dsn.okisemi.com
 ---
  drivers/media/video/Kconfig   |   79 +
  drivers/media/video/Makefile  |   15 +
  drivers/media/video/ioh_video_in.c| 4704 
 +
  drivers/media/video/ioh_video_in_main.h   | 1058 ++
  drivers/media/video/ioh_video_in_ml86v76651.c |  620 
  drivers/media/video/ioh_video_in_ncm13j.c |  584 +++
  drivers/media/video/ioh_video_in_ov7620.c |  637 
  drivers/media/video/ioh_video_in_ov9653.c |  818 +
  8 files changed, 8515 insertions(+), 0 deletions(-)
  create mode 100644 drivers/media/video/ioh_video_in.c
  create mode 100644 drivers/media/video/ioh_video_in_main.h
  create mode 100644 drivers/media/video/ioh_video_in_ml86v76651.c
  create mode 100644 drivers/media/video/ioh_video_in_ncm13j.c
  create mode 100644 drivers/media/video/ioh_video_in_ov7620.c
  create mode 100644 drivers/media/video/ioh_video_in_ov9653.c
 
 diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
 index 00f51dd..11a96a8 100644
 --- a/drivers/media/video/Kconfig
 +++ b/drivers/media/video/Kconfig
 @@ -928,6 +928,85 @@ config VIDEO_MX2
 Interface
  
  
 +config IOH_VIDEOIN
 +tristate OKI SEMICONDUCTOR ML7213/ML7223 IOH VIDEO IN
 +depends on PCI  DMADEVICES
 + select PCH_DMA
 +help
 +   This driver is for Video IN of OKI SEMICONDUCTOR ML7213/ML7223 IOHs
 +   (Input/Output Hub).
 +   These ML7213/ML7223 IOHs are companion chip for Intel Atom E6xx
 +   series.
 +   ML7213 IOH is for IVI(In-Vehicle Infotainment) use and ML7223 IOH is
 +   for MP(Media Phone) use.
 +
 +config  IOH_VIDEO_DEVICE_SELECT
 +boolean
 +
 +choice
 +prompt Select IOH VIDEO IN Device
 +depends on IOH_VIDEOIN
 +help
 +   This is a selection of used device of the IOH VIDEO.
 +
 +config IOH_ML86V76651
 +boolean IOH VIDEO IN(ML86V76651)
 +depends on PCI  IOH_VIDEOIN  I2C_EG20T
 +help
 +  If you say yes to this option, support will be included for the
 +  IOH VIDEO ON Driver(ML86V76651).
 +
 +config IOH_ML86V76653
 +boolean IOH VIDEO IN(ML86V76653)
 +depends on PCI  IOH_VIDEOIN  I2C_EG20T
 +help
 +  If you say yes to this option, support will be included for the
 +  IOH VIDEO ON Driver(ML86V76653).
 +
 +config IOH_OV7620
 +boolean IOH VIDEO IN(OV7620)
 +depends on PCI  IOH_VIDEOIN  I2C_EG20T
 +help
 +  If you say yes to this option, support will be included for the
 +  IOH VIDEO ON Driver(OV7620).
 +
 +config IOH_OV9653
 +boolean IOH VIDEO IN(OV9653)
 +depends on PCI  IOH_VIDEOIN  I2C_EG20T
 +help
 +  If you say yes to this option, support will be included for the
 +  IOH VIDEO ON Driver(OV9653).
 +
 +config IOH_NCM13J
 +boolean IOH VIDEO IN(NCM13-J)
 +depends on PCI  IOH_VIDEOIN  I2C_EG20T
 +help
 +  If you say yes to this option, support will be included for the
 +  IOH VIDEO ON Driver(NCM13-J).
 +endchoice
 

Re: Audio Video synchronization for data received from a HDMI receiver chip

2011-05-12 Thread Hans Verkuil
On Thursday, May 12, 2011 18:59:33 Charlie X. Liu wrote:
 Which HDMI receiver chip?

Indeed, that's my question as well :-)

Anyway, this question comes up regularly. V4L2 provides timestamps for each
frame, so that's no problem. But my understanding is that ALSA does not give
you timestamps, so if there are processing delays between audio and video, then
you have no way of knowing. The obvious solution is to talk to the ALSA people
to see if some sort of timestamping is possible, but nobody has done that.

This is either because everyone that needs it hacks around it instead of trying
to really solve it, or because it is never a problem in practice.

Hope this helps!

Regards,

Hans

 
 -Original Message-
 From: linux-media-ow...@vger.kernel.org
 [mailto:linux-media-ow...@vger.kernel.org] On Behalf Of Bhupesh SHARMA
 Sent: Wednesday, May 11, 2011 10:49 PM
 To: linux-media@vger.kernel.org
 Cc: Laurent Pinchart; Guennadi Liakhovetski; Hans Verkuil
 Subject: Audio Video synchronization for data received from a HDMI receiver
 chip
 
 Hi Linux media folks,
 
 We are considering putting an advanced HDMI receiver chip on our SoC,
 to allow reception of HDMI audio and video. The chip receives HDMI data
 from a host like a set-up box or DVD player. It provides a video data
 interface
 and SPDIF/I2S audio data interface.
 
 We plan to support the HDMI video using the V4L2 framework and the HDMI
 audio using ALSA framework.
 
 Now, what seems to be intriguing us is how the audio-video synchronization
 will be maintained? Will a separate bridging entity required to ensure the
 same
 or whether this can be left upon a user space application like mplayer or
 gstreamer.
 
 Also is there a existing interface between the V4L2 and ALSA frameworks and
 the same
 can be used in our design?
 
 Regards,
 Bhupesh
 ST Microelectronics
 --
 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: DVB nGene CI : TS Discontinuities issues

2011-05-12 Thread Issa Gorissen
On 11/05/11 15:12, Issa Gorissen wrote:
 From: Ralph Metzler r...@metzlerbros.de
 Issa Gorissen writes:
   Could you please take a look at the cxd2099 issues ?
   
   I have attached a version with my changes. I have tested a lot of
   different settings with the help of the chip datasheet.
   
   Scrambled programs are not handled correctly. I don't know if it is the
   TICLK/MCLKI which is too high or something, or the sync detector ? Also,
   as we have to set the TOCLK to max of 72MHz, there are way too much null
   packets added. Is there a way to solve this ?

 I do not have any cxd2099 issues.
 I have a simple test program which includes a 32bit counter as payload 
 and can pump data through the CI with full speed and have no packet
 loss. I only tested decoding with an ORF stream and an Alphacrypt CAM
 but also had no problems with this.

 Please take care not to write data faster than it is read. Starting two
 dds will not guarantee this. To be certain you could write a small
 program which never writes more packets than input buffer size minus
 the number of read packets (and minus the stuffing null packets on ngene).

 Before blaming packet loss on the CI data path also please make
 certain that you have no buffer overflows in the input part of 
 the sec device.
 In the ngene driver you can e.g. add a printk in tsin_exchange():

 if (dvb_ringbuffer_free(dev-tsin_rbuf)  len) {
 ...
 } else
 printk (buffer overflow \n);


 Regards,
 Ralph
Ralph,

Done some more tests, from by test tool, I found out that I have to skip
(rather often) bytes to find the sync one when reading from sec0. I
thought I only needed to do that at the start of the stream, not in the
middle; because I always read/write 188 bytes from it.

Could you share your test code ? I'm finding it difficult to interact
with this sec0 implementation.

Thx
--
Issa
--
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 v3] DVB: Add basic API support for DVB-T2 and bump minor version

2011-05-12 Thread Steve Kerrison
From: Andreas Oberritter o...@linuxtv.org

st...@stevekerrison.com: Remove private definitions from cxd2820r that existed 
before API was defined

Signed-off-by: Andreas Oberritter o...@linuxtv.org
Signed-off-by: Steve Kerrison st...@stevekerrison.com
---
 drivers/media/dvb/dvb-core/dvb_frontend.c   |   13 +
 drivers/media/dvb/dvb-core/dvb_frontend.h   |3 +++
 drivers/media/dvb/frontends/cxd2820r_priv.h |   12 
 include/linux/dvb/frontend.h|   20 
 include/linux/dvb/version.h |2 +-
 5 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c 
b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 31e2c0d..8c9ff8a 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1148,10 +1148,9 @@ static void dtv_property_adv_params_sync(struct 
dvb_frontend *fe)
break;
}
 
-   if(c-delivery_system == SYS_ISDBT) {
-   /* Fake out a generic DVB-T request so we pass validation in 
the ioctl */
-   p-frequency = c-frequency;
-   p-inversion = c-inversion;
+   /* Fake out a generic DVB-T request so we pass validation in the ioctl 
*/
+   if ((c-delivery_system == SYS_ISDBT) ||
+   (c-delivery_system == SYS_DVBT2)) {
p-u.ofdm.constellation = QAM_AUTO;
p-u.ofdm.code_rate_HP = FEC_AUTO;
p-u.ofdm.code_rate_LP = FEC_AUTO;
@@ -1324,6 +1323,9 @@ static int dtv_property_process_get(struct dvb_frontend 
*fe,
case DTV_ISDBS_TS_ID:
tvp-u.data = fe-dtv_property_cache.isdbs_ts_id;
break;
+   case DTV_DVBT2_PLP_ID:
+   tvp-u.data = fe-dtv_property_cache.dvbt2_plp_id;
+   break;
default:
r = -1;
}
@@ -1479,6 +1481,9 @@ static int dtv_property_process_set(struct dvb_frontend 
*fe,
case DTV_ISDBS_TS_ID:
fe-dtv_property_cache.isdbs_ts_id = tvp-u.data;
break;
+   case DTV_DVBT2_PLP_ID:
+   fe-dtv_property_cache.dvbt2_plp_id = tvp-u.data;
+   break;
default:
r = -1;
}
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h 
b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 3b86050..5590eb6 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -358,6 +358,9 @@ struct dtv_frontend_properties {
 
/* ISDB-T specifics */
u32 isdbs_ts_id;
+
+   /* DVB-T2 specifics */
+   u32 dvbt2_plp_id;
 };
 
 struct dvb_frontend {
diff --git a/drivers/media/dvb/frontends/cxd2820r_priv.h 
b/drivers/media/dvb/frontends/cxd2820r_priv.h
index d4e2e0b..25adbee 100644
--- a/drivers/media/dvb/frontends/cxd2820r_priv.h
+++ b/drivers/media/dvb/frontends/cxd2820r_priv.h
@@ -40,18 +40,6 @@
 #undef warn
 #define warn(f, arg...) printk(KERN_WARNING LOG_PREFIX:  f \n , ## arg)
 
-/*
- * FIXME: These are totally wrong and must be added properly to the API.
- * Only temporary solution in order to get driver compile.
- */
-#define SYS_DVBT2 SYS_DAB
-#define TRANSMISSION_MODE_1K  0
-#define TRANSMISSION_MODE_16K 0
-#define TRANSMISSION_MODE_32K 0
-#define GUARD_INTERVAL_1_128  0
-#define GUARD_INTERVAL_19_128 0
-#define GUARD_INTERVAL_19_256 0
-
 struct reg_val_mask {
u32 reg;
u8  val;
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index 493a2bf..36a3ed6 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -175,14 +175,20 @@ typedef enum fe_transmit_mode {
TRANSMISSION_MODE_2K,
TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_AUTO,
-   TRANSMISSION_MODE_4K
+   TRANSMISSION_MODE_4K,
+   TRANSMISSION_MODE_1K,
+   TRANSMISSION_MODE_16K,
+   TRANSMISSION_MODE_32K,
 } fe_transmit_mode_t;
 
 typedef enum fe_bandwidth {
BANDWIDTH_8_MHZ,
BANDWIDTH_7_MHZ,
BANDWIDTH_6_MHZ,
-   BANDWIDTH_AUTO
+   BANDWIDTH_AUTO,
+   BANDWIDTH_5_MHZ,
+   BANDWIDTH_10_MHZ,
+   BANDWIDTH_1_712_MHZ,
 } fe_bandwidth_t;
 
 
@@ -191,7 +197,10 @@ typedef enum fe_guard_interval {
GUARD_INTERVAL_1_16,
GUARD_INTERVAL_1_8,
GUARD_INTERVAL_1_4,
-   GUARD_INTERVAL_AUTO
+   GUARD_INTERVAL_AUTO,
+   GUARD_INTERVAL_1_128,
+   GUARD_INTERVAL_19_128,
+   GUARD_INTERVAL_19_256,
 } fe_guard_interval_t;
 
 
@@ -305,7 +314,9 @@ struct dvb_frontend_event {
 
 #define DTV_ISDBS_TS_ID42
 
-#define DTV_MAX_COMMANDDTV_ISDBS_TS_ID
+#define DTV_DVBT2_PLP_ID   43
+
+#define DTV_MAX_COMMANDDTV_DVBT2_PLP_ID
 
 typedef enum fe_pilot {
PILOT_ON,
@@ -337,6 +348,7 @@ typedef enum fe_delivery_system {
SYS_DMBTH,
SYS_CMMB,
   

Re: [PATCH v2 5/5] Documentation: Update to include DVB-T2 additions

2011-05-12 Thread Steve Kerrison
I've just realised there is some illegal whitespace in this patch here:

 @@ -553,5 +568,20 @@ typedef enum fe_guard_interval {
 /section
 /section
 /section
 +   section id=dvbt2-params
 +   titleDVB-T2 parameters/title
 +   
 +   paraThis section covers parameters that apply only
 to the DVB-T2 delivery method. DVB-T2

Auto-tab between the title and first paragraph. My apologies! If I need
to do anything about this let me know.
-- 
Steve Kerrison MEng Hons.
http://www.stevekerrison.com/ 

On Sun, 2011-05-08 at 20:17 +0100, Steve Kerrison wrote:
 A few new capabilities added to frontend.h for DVB-T2. Added these
 to the documentation plus some notes explaining that they are
 used by the T2 delivery system.
 
 Signed-off-by: Steve Kerrison st...@stevekerrison.com
 ---
  Documentation/DocBook/dvb/dvbproperty.xml |   36 ++--
  Documentation/DocBook/dvb/frontend.h.xml  |   20 +---
  2 files changed, 49 insertions(+), 7 deletions(-)
 
 diff --git a/Documentation/DocBook/dvb/dvbproperty.xml 
 b/Documentation/DocBook/dvb/dvbproperty.xml
 index 05ce603..52d5e3c 100644
 --- a/Documentation/DocBook/dvb/dvbproperty.xml
 +++ b/Documentation/DocBook/dvb/dvbproperty.xml
 @@ -217,9 +217,12 @@ get/set up to 64 properties. The actual meaning of each 
 property is described on
   paraBandwidth for the channel, in HZ./para
  
   paraPossible values:
 + constant1712000/constant,
 + constant500/constant,
   constant600/constant,
   constant700/constant,
 - constant800/constant.
 + constant800/constant,
 + constant1000/constant.
   /para
  
   paraNotes:/para
 @@ -231,6 +234,8 @@ get/set up to 64 properties. The actual meaning of each 
 property is described on
   para4) Bandwidth in ISDB-T is fixed (6MHz) or can be easily 
 derived from
   other parameters (DTV_ISDBT_SB_SEGMENT_IDX,
   DTV_ISDBT_SB_SEGMENT_COUNT)./para
 + para5) DVB-T supports 6, 7 and 8MHz./para
 + para6) In addition, DVB-T2 supports 1.172, 5 and 10MHz./para
   /section
  
   section id=DTV_DELIVERY_SYSTEM
 @@ -257,6 +262,7 @@ typedef enum fe_delivery_system {
   SYS_DMBTH,
   SYS_CMMB,
   SYS_DAB,
 + SYS_DVBT2,
  } fe_delivery_system_t;
  /programlisting
  
 @@ -273,7 +279,10 @@ typedef enum fe_transmit_mode {
   TRANSMISSION_MODE_2K,
   TRANSMISSION_MODE_8K,
   TRANSMISSION_MODE_AUTO,
 - TRANSMISSION_MODE_4K
 + TRANSMISSION_MODE_4K,
 + TRANSMISSION_MODE_1K,
 + TRANSMISSION_MODE_16K,
 + TRANSMISSION_MODE_32K,
  } fe_transmit_mode_t;
  /programlisting
  
 @@ -284,6 +293,8 @@ typedef enum fe_transmit_mode {
   para2) If constantDTV_TRANSMISSION_MODE/constant is set 
 the constantTRANSMISSION_MODE_AUTO/constant the
   hardware will try to find the correct FFT-size (if 
 capable) and will
   use TMCC to fill in the missing parameters./para
 + para3) DVB-T specifies 2K and 8K as valid sizes./para
 + para4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K./para
   /section
  
   section id=DTV_GUARD_INTERVAL
 @@ -296,7 +307,10 @@ typedef enum fe_guard_interval {
   GUARD_INTERVAL_1_16,
   GUARD_INTERVAL_1_8,
   GUARD_INTERVAL_1_4,
 - GUARD_INTERVAL_AUTO
 + GUARD_INTERVAL_AUTO,
 + GUARD_INTERVAL_1_128,
 + GUARD_INTERVAL_19_128,
 + GUARD_INTERVAL_19_256,
  } fe_guard_interval_t;
  /programlisting
  
 @@ -304,6 +318,7 @@ typedef enum fe_guard_interval {
   para1) If constantDTV_GUARD_INTERVAL/constant is set the 
 constantGUARD_INTERVAL_AUTO/constant the hardware will
   try to find the correct guard interval (if capable) and 
 will use TMCC to fill
   in the missing parameters./para
 + para2) Intervals 1/128, 19/128 and 19/256 are used only for 
 DVB-T2 at present/para
   /section
  /section
  
 @@ -553,5 +568,20 @@ typedef enum fe_guard_interval {
   /section
   /section
   /section
 + section id=dvbt2-params
 + titleDVB-T2 parameters/title
 + 
 + paraThis section covers parameters that apply only to the 
 DVB-T2 delivery method. DVB-T2
 + support is currently in the early stages development so 
 expect this section to grow
 + and become more detailed with time./para
 +
 + section id=dvbt2-plp-id
 + titleconstantDTV_DVBT2_PLP_ID/constant/title
 +
 + paraDVB-T2 supports Physical Layer Pipes (PLP) to 
 allow transmission of
 + many data 

Re: [PATCH] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Ryan Mallon
On 05/12/2011 07:42 PM, Josh Wu wrote:
 This patch is to enable Atmel Image Sensor Interface (ISI) driver support. 
 - Using soc-camera framework with videobuf2 dma-contig allocator
 - Supporting video streaming of YUV packed format
 - Tested on AT91SAM9M10G45-EK with OV2640

Hi Josh,

Thansk for doing this. Overall the patch looks really good. A few
comments below.

~Ryan

 
 Signed-off-by: Josh Wu josh...@atmel.com
 ---
 base on branch staging/for_v2.6.40
 
  arch/arm/mach-at91/include/mach/at91_isi.h |  454 
  drivers/media/video/Kconfig|   10 +
  drivers/media/video/Makefile   |1 +
  drivers/media/video/atmel-isi.c| 1089 
 
  4 files changed, 1554 insertions(+), 0 deletions(-)
  create mode 100644 arch/arm/mach-at91/include/mach/at91_isi.h
  create mode 100644 drivers/media/video/atmel-isi.c
 
 diff --git a/arch/arm/mach-at91/include/mach/at91_isi.h 
 b/arch/arm/mach-at91/include/mach/at91_isi.h
 new file mode 100644
 index 000..3219358
 --- /dev/null
 +++ b/arch/arm/mach-at91/include/mach/at91_isi.h
 @@ -0,0 +1,454 @@
 +/*
 + * Register definitions for the Atmel Image Sensor Interface.
 + *
 + * Copyright (C) 2011 Atmel Corporation
 + *
 + * 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.
 + */
 +#ifndef __AT91_ISI_H__
 +#define __AT91_ISI_H__
 +
 +#include linux/videodev2.h
 +#include linux/i2c.h
 +#include media/v4l2-device.h
 +#include media/v4l2-common.h
 +#include media/v4l2-ioctl.h
 +#include media/v4l2-chip-ident.h
 +
 +/* ISI register offsets */
 +#define ISI_CR1  0x
 +#define ISI_CR2  0x0004
 +#define ISI_SR   0x0008
 +#define ISI_IER  0x000c
 +#define ISI_IDR  0x0010
 +#define ISI_IMR  0x0014
 +#define ISI_PSIZE0x0020
 +#define ISI_PDECF0x0024
 +#define ISI_PPFBD0x0028
 +#define ISI_CDBA 0x002c
 +#define ISI_Y2R_SET0 0x0030
 +#define ISI_Y2R_SET1 0x0034
 +#define ISI_R2Y_SET0 0x0038
 +#define ISI_R2Y_SET1 0x003c
 +#define ISI_R2Y_SET2 0x0040
 +
 +/* ISI_V2 register offsets */
 +#define ISI_V2_CFG1  0x
 +#define ISI_V2_CFG2  0x0004
 +#define ISI_V2_PSIZE 0x0008
 +#define ISI_V2_PDECF 0x000c
 +#define ISI_V2_Y2R_SET0  0x0010
 +#define ISI_V2_Y2R_SET1  0x0014
 +#define ISI_V2_R2Y_SET0  0x0018
 +#define ISI_V2_R2Y_SET1  0x001C
 +#define ISI_V2_R2Y_SET2  0x0020
 +#define ISI_V2_CTRL  0x0024
 +#define ISI_V2_STATUS0x0028
 +#define ISI_V2_INTEN 0x002C
 +#define ISI_V2_INTDIS0x0030
 +#define ISI_V2_INTMASK   0x0034
 +#define ISI_V2_DMA_CHER  0x0038
 +#define ISI_V2_DMA_CHDR  0x003C
 +#define ISI_V2_DMA_CHSR  0x0040
 +#define ISI_V2_DMA_P_ADDR0x0044
 +#define ISI_V2_DMA_P_CTRL0x0048
 +#define ISI_V2_DMA_P_DSCR0x004C
 +#define ISI_V2_DMA_C_ADDR0x0050
 +#define ISI_V2_DMA_C_CTRL0x0054
 +#define ISI_V2_DMA_C_DSCR0x0058
 +
 +/* Bitfields in CR1 */
 +#define ISI_RST_OFFSET   0
 +#define ISI_RST_SIZE 1
 +#define ISI_DIS_OFFSET   1
 +#define ISI_DIS_SIZE 1
 +#define ISI_HSYNC_POL_OFFSET 2
 +#define ISI_HSYNC_POL_SIZE   1
 +#define ISI_VSYNC_POL_OFFSET 3
 +#define ISI_VSYNC_POL_SIZE   1
 +#define ISI_PIXCLK_POL_OFFSET4
 +#define ISI_PIXCLK_POL_SIZE  1
 +#define ISI_EMB_SYNC_OFFSET  6
 +#define ISI_EMB_SYNC_SIZE1
 +#define ISI_CRC_SYNC_OFFSET  7
 +#define ISI_CRC_SYNC_SIZE1
 +#define ISI_FRATE_OFFSET 8
 +#define ISI_FRATE_SIZE   3
 +#define ISI_FULL_OFFSET  12
 +#define ISI_FULL_SIZE1
 +#define ISI_THMASK_OFFSET13
 +#define ISI_THMASK_SIZE  

Re: [PATCH] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Ryan Mallon
On 05/13/2011 12:14 AM, Guennadi Liakhovetski wrote:
 On Thu, 12 May 2011, Jean-Christophe PLAGNIOL-VILLARD wrote:
 
 [snip]
 
 +   if (0 == *nbuffers)
 please invert the test
 
 Don't think this is required by CodingStyle or anything like that. If it 
 were, you'd have to revamp half of the kernel.

It should at least be consistent within a file, which it is not true in
this case. I think the preferred style is to have the variable on the left.

~Ryan

-- 
Bluewater Systems Ltd - ARM Technology Solution Centre

Ryan Mallon 5 Amuri Park, 404 Barbadoes St
r...@bluewatersys.com   PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com New Zealand
Phone: +64 3 3779127Freecall: Australia 1800 148 751
Fax:   +64 3 3779135  USA 1800 261 2934
--
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: ngene CI problems

2011-05-12 Thread Oliver Endriss
On Thursday 12 May 2011 22:28:52 Issa Gorissen wrote:
 On 11/05/11 20:59, Oliver Endriss wrote:
 
  I reworked the driver to strip those null packets. Please try
  http://linuxtv.org/hg/~endriss/ngene-octopus-test/raw-rev/f0dc4237ad08
 
 Tried your patch, but FFs have been replaced by 6Fs in null packets.
 Other than that, no improvement for me.

Please double check that the patch applied cleanly.
The 0x6F NULL packets should never be passed to userspace.

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: [PATCH 0/6] DVB-T2 API updates, documentation and accompanying small fixes

2011-05-12 Thread Antti Palosaari

Hello all,

Rémi informed he have added this new API and DVB-T2 support for VLC 
media player Git tree [1]. I didn't test it yet, mostly due to lack of 
time :i I will test that sooner or later, feel free to test!


[1] http://git.videolan.org/?p=vlc.git


regards
Antti



On 05/08/2011 06:51 PM, Steve Kerrison wrote:

Hi Mauro, Antti, Andreas,

I hope this patch set is formed appropriately - it is my first patch
submission direct to the linux-media group.

Following the pull of Antti's work on support for the cxd2820r and PCTV
nanoStick T2 290e, this patch set implements Andreas' modifications to the API
to give provisional DVB-T2 support and the removal of a workaround for this
in the cxd2820r module.

In addition, there are some minor fixes to compiler warnings as a result
of the expanded enums. I cannot test these myself but they treat unrecognized
values as *_AUTO and I can't see where a problem would be created.

I have updated the documentation a little. If I've done the right thing then
I guess there is incentive there for me continue to expand DVB related
elements of the API docs.

This patch set has been tested by me on two systems, with one running a MythTV
backend utilising a long-supported DVB tuner. MythTV works fine with the old
tuner and the nanoStick T2 290e works in VLC. I've yet to test the 290e in
MythTV - I was more intent on making sure the patches hadn't broken userland
or older devices.

Feedback, testing  and discussion of where to go next is welcomed!

Regards,
Steve Kerrison.




--
http://palosaari.fi/
--
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


[ANNOUNCE] New OMAP4 V4L2 Camera Project started

2011-05-12 Thread Aguirre, Sergio
Hi all,

Just to let you know that I've just officially registered for a new
project in the Pandaboard.org portal for OMAP4 v4l2 camera support.

You can find it here:

http://omiio.org/content/omap4-v4l2-camera

And also, you can find the actual Gitorious project with the code here:

https://www.gitorious.org/omap4-v4l2-camera

If anyone is interested in contributing for this project, please let
me know, so I can add you as a contributor to the project.

Regards,
Sergio
--
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: IR remote control autorepeat / evdev

2011-05-12 Thread Anssi Hannula
On 12.05.2011 04:36, Mauro Carvalho Chehab wrote:
 Em 12-05-2011 03:10, Mauro Carvalho Chehab escreveu:
 Em 12-05-2011 02:37, Anssi Hannula escreveu:
 
 I don't see any other places:
 $ git grep 'REP_PERIOD' .
 dvb/dvb-usb/dvb-usb-remote.c:   input_dev-rep[REP_PERIOD] =
 d-props.rc.legacy.rc_interval;

 Indeed, the REP_PERIOD is not adjusted on other drivers. I agree that we
 should change it to something like 125ms, for example, as 33ms is too 
 short, as it takes up to 114ms for a repeat event to arrive.

 IMO, the enclosed patch should do a better job with repeat events, without
 needing to change rc-core/input/event logic.

It will indeed reduce the amount of ghost events so it brings us in the
right direction.

I'd still like to get rid of the ghost repeats entirely, or at least
some way for users to do it if we don't do it by default.

Maybe we could replace the kernel softrepeat with native repeats (for
those protocols/drivers that have them), while making sure that repeat
events before REP_DELAY are ignored and repeat events less than
REP_PERIOD since the previous event are ignored, so the users can still
configure them as they like?

Or maybe just a module option that causes rc-core to use native repeat
events, for those of us that want accurate repeat events without ghosting?


 -
 
 Subject: Use a more consistent value for RC repeat period
 From: Mauro Carvalho Chehab mche...@redhat.com
 
 The default REP_PERIOD is 33 ms. This doesn't make sense for IR's,
 as, in general, an IR repeat scancode is provided at every 110/115ms,
 depending on the RC protocol. So, increase its default, to do a
 better job avoiding ghost repeat events.
 
 Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com
 
 diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
 index f53f9c6..ee67169 100644
 --- a/drivers/media/rc/rc-main.c
 +++ b/drivers/media/rc/rc-main.c
 @@ -1044,6 +1044,13 @@ int rc_register_device(struct rc_dev *dev)
*/
   dev-input_dev-rep[REP_DELAY] = 500;
  
 + /*
 +  * As a repeat event on protocols like RC-5 and NEC take as long as
 +  * 110/114ms, using 33ms as a repeat period is not the right thing
 +  * to do.
 +  */
 + dev-input_dev-rep[REP_PERIOD] = 125;
 +
   path = kobject_get_path(dev-dev.kobj, GFP_KERNEL);
   printk(KERN_INFO %s: %s as %s\n,
   dev_name(dev-dev),
 


-- 
Anssi Hannula
--
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] [media] at91: add Atmel Image Sensor Interface (ISI) support

2011-05-12 Thread Jean-Christophe PLAGNIOL-VILLARD
  +
  +/* Constants for RGB_CFG(ISI_V2) */
  +#define ISI_V2_RGB_CFG_DEFAULT 0
  +#define ISI_V2_RGB_CFG_MODE_1  1
  +#define ISI_V2_RGB_CFG_MODE_2  2
  +#define ISI_V2_RGB_CFG_MODE_3  3
  +
  +/* Bit manipulation macros */
  +#define ISI_BIT(name)  \
  +   (1  ISI_##name##_OFFSET)
  +#define ISI_BF(name, value)\
  +   (((value)  ((1  ISI_##name##_SIZE) - 1)) \
  + ISI_##name##_OFFSET)
  +#define ISI_BFEXT(name, value) \
  +   (((value)  ISI_##name##_OFFSET)   \
  + ((1  ISI_##name##_SIZE) - 1))
  +#define ISI_BFINS(name, value, old)\
  +   (((old)  ~(((1  ISI_##name##_SIZE) - 1)  \
  +ISI_##name##_OFFSET))\
  +| ISI_BF(name, value))
 
 I really dislike this kind of register access magic. Not sure how others
 feel about it. These macros are really ugly.
 
  +/* Register access macros */
  +#define isi_readl(port, reg)   \
  +   __raw_readl((port)-regs + ISI_##reg)
  +#define isi_writel(port, reg, value)   \
  +   __raw_writel((value), (port)-regs + ISI_##reg)
 
 If the token pasting stuff gets dropped then these can be static inline
 functions which is preferred.
Sorry this make the C code much readable
and this can not be done as a inline

so please keep it as is
 
  +
  +#define ATMEL_V4L2_VID_FLAGS (V4L2_CAP_VIDEO_OUTPUT)
  +
  +struct atmel_isi;
  +
  +enum atmel_isi_pixfmt {
  +   ATMEL_ISI_PIXFMT_GREY,  /* Greyscale */

  +   dev_info(pdev-dev,
  +   No config available using default values\n);
  +   pdata = isi_default_data;
  +   }
  +
  +   isi-pdata = pdata;
  +   isi-platform_flags = pdata-flags;
  +   if (isi-platform_flags == 0)
  +   isi-platform_flags = ISI_DATAWIDTH_8;
 
 We could be mean here an require that people get the flags correct, e.g.
 
   if (!((isi-platform_flags  ISI_DATA_WIDTH_8) ||
 (isi-platform_flags  ISI_DATA_WIDTH_8))) {
   dev_err(pdev-dev, No data width specified\n);
   err = -ENOMEM;
   goto fail;
   }
 
 Which discourages sloppy coding in the board files.
if this means default configuration so not need to have all board to set it
 
  +
  +   isi_writel(isi, V2_CTRL, ISI_BIT(V2_DIS));
  +   /* Check if module disable */
  +   while (isi_readl(isi, V2_STATUS)  ISI_BIT(V2_DIS))
  +   cpu_relax();
  +
  +   irq = platform_get_irq(pdev, 0);

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


[PATCH 1/4] Modifications to the driver mb86a20s

2011-05-12 Thread Manoel PN

Hi to all,

I added some modifications to the driver mb86a20s and would appreciate your 
comments.


 File: drivers/media/dvb/frontends/mb86a20s.c

 -static int debug = 1;
 +static int debug = 0;
 module_param(debug, int, 0644);
 MODULE_PARM_DESC(debug, Activates frontend debugging (default:0));

 
How is in the description by default debug is off.


 -#define rc(args...)  do {
 +#define printk_rc(args...)  do {


For clarity, only rc is somewhat vague.


 +static int mb86a20s_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) 
 

Adds the i2c_gate_ctrl to mb86a20s driver.


The mb86a20s has an i2c bus which controls the flow of data to the tuner. When 
enabled, the data stream flowing normally through the i2c bus, when disabled 
the data stream to the tuner is cut and the i2c bus between mb86a20s and the 
tuner goes to tri-state. The data flow between the mb86a20s and its controller 
(CPU, USB), is not affected.

In hybrid systems with analog and digital TV, the i2c bus control can be done 
in the analog demodulator.


 -    if (fe-ops.i2c_gate_ctrl)
-        fe-ops.i2c_gate_ctrl(fe, 0);
     val = mb86a20s_readreg(state, 0x0a)  0xf;
 -    if (fe-ops.i2c_gate_ctrl)
 -        fe-ops.i2c_gate_ctrl(fe, 1);


The i2c_gate_ctrl controls the i2c bus of the tuner so does not need to enable 
it or disable it here.



 +    for (i = 0; i  20; i++) {
 +        if (mb86a20s_readreg(state, 0x0a) = 8) break;
 +        msleep(100);
 +    }


Waits for the stabilization of the demodulator.


 +static int mb86a20s_get_algo(struct dvb_frontend *fe)
 +{
 +    return DVBFE_ALGO_HW;
 +}


Because the mb86a20s_tune function was implemented.

Thanks, best regards,

Manoel.


Signed-off-by: Manoel Pinheiro pinus...@hotmail.com



  

i2c_gate_ctrl.patch
Description: Binary data


[PATCH 2/4] Modifications to the driver mb86a20s

2011-05-12 Thread Manoel PN

This patch implements mb86a20s_read_snr and adds mb86a20s_read_ber and 
mb86a20s_read_ucblocks both without practical utility but that programs as 
dvbsnoop need.


Signed-off-by: Manoel Pinheiro pinus...@hotmail.com


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


[PATCH 2/4] Modifications to the driver mb86a20s

2011-05-12 Thread Manoel PN

This patch implements mb86a20s_read_snr and adds mb86a20s_read_ber and 
mb86a20s_read_ucblocks both without practical utility but that programs as 
dvbsnoop need.


Signed-off-by: Manoel Pinheiro pinus...@hotmail.com



  

read_snr.patch
Description: Binary data


[PATCH 3/4] Modifications to the driver mb86a20s‏

2011-05-12 Thread Manoel PN

This patch implements some modifications in the function

This patch implements some modifications in the initialization function of the 
mb86a20s.

Explanation:

Several registers of mb86a20s can be programmed and to simplify this task and 
due to lack of technical literature to elaborate the necessary calculations was 
opted by the sending of values already ready for the registers, eliminating the 
process of calculations.
The technique is quite simple: to each register that can be modified an 
identification (REG_IDCFG) was attributed and those that do not need 
modification was attributed REG_IDCFG_NONE.

The device that uses the demodulator mb86a20s simply informs the registers to 
be modified through the configuration parameter of the function frontend_attach.

Like in the example:

static struct mb86a20s_config_regs_val mb86a20s_config_regs[] = {
    { REG2820_IDCFG, 0x33ddcd },
    { REG50D5_IDCFG, 0x00 },    /* use output TS parallel */
    { REG50D6_IDCFG, 0x17 }
};

static struct mb86a20s_config mb86a20s_cfg = {
    .demod_address = DEMOD_I2C_ADDR,
    .config_regs_size = ARRAY_SIZE(mb86a20s_config_regs),
    .config_regs = mb86a20s_config_regs,
};

If there are no registers to be modified to do just this:

static struct mb86a20s_config mb86a20s_cfg = {
    .demod_address = DEMOD_I2C_ADDR,
};

static int tbs_dtb08_frontend_attach(struct dvb_usb_adapter *adap)
{
    adap-fe = dvb_attach(mb86a20s_attach, mb86a20s_cfg, adap-dev-i2c_adap);
    if (adap-fe) {
        frontend_tuner_attach(adap);
    }
}



Signed-off-by: Manoel Pinheiro pinus...@hotmail.com



  

regs_init.patch
Description: Binary data


[PATCH 4/4] Modifications to the driver mb86a20s‏‏

2011-05-12 Thread Manoel PN


This patch implement changes to the function mb86a20s_read_signal_strength.

The original function, binary search, does not work with device dtb08.

I would like to know if this function works.


Signed-off-by: Manoel Pinheiro pinus...@hotmail.com


  

signal_strength.patch
Description: Binary data


adding dvb-t scan files for New Zealand

2011-05-12 Thread Jodi the Tigger
Hello all,

I want to add dvb-t scan files for New Zealand, as there only seems to
be one (For Waiatarua, Auckland, NZ).
However I have no idea how to actually get the files I created added
to the linux tv project.

So if someone could either:
1) point me to a faq / wiki / web site explaining how I can update
dvb-t scan files.
or
2) Kindly add the files for me.

I would be most grateful.

I have pasted the contents of the files below (each comment block is a
new file).

-Richard Maxwell

# Waiatarua, Auckland NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 53800 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 57000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 66600 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Pinehill, Remuera, Sky Tower, Auckland Infill, Auckland NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 53000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 56200 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 62600 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Te Aroha, Waikato NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 67400 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 69000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 70600 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Hamilton Infill, Waikato NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 69800 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 71400 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 68200 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Kopukairua, Tauranga NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 69800 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 71400 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 64200 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Mt. Erin, Hawkes Bay NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 52200 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 55400 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 65000 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Napier Infill, Hawkes Bay NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 69000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 70600 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 77800 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Wharite, Manawatu NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 69000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 70600 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 77800 8MHz 3/4 NONE QAM64 8k 1/16 NONE


# Kaukau, Wellington NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 69000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 70600 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 77800 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Fitzherbert, Baxters Knob, Wellington infill, Wellington NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 71400 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 73000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 76200 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Ngarara, Wellington NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 66600 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 73000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 76200 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Sugarloaf, Christchurch NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 68200 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 69800 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 70600 8MHz 3/4 NONE QAM64 8k 1/16 NONE

# Mt Cargill, Dunedin NZ
#
# Channel allocation details for NZ can be found at
# http://en.wikipedia.org/wiki/Freeview_(New_Zealand)
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 65000 8MHz 3/4 NONE QAM64 8k 1/16 NONE
T 66600 8MHz 3/4 NONE 

RE: [PATCH] [media] at91: add Atmel Image Sensor Interface (ISI)support

2011-05-12 Thread Wu, Josh
On Thursday, May 12, 2011 5:35 PM, Russell King wrote:

 A few more points...

 +static int __init atmel_isi_probe(struct platform_device *pdev)

 Should be __devinit otherwise you'll have section errors.
Ok, will be fixed in V2 patch.
 +{
 +unsigned int irq;
 +struct atmel_isi *isi;
 +struct clk *pclk;
 +struct resource *regs;
 +int ret;
 +struct device *dev = pdev-dev;
 +struct isi_platform_data *pdata;
 +struct soc_camera_host *soc_host;
 +
 +regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 +if (!regs)
 +return -ENXIO;
 +
 +pclk = clk_get(pdev-dev, isi_clk);
 +if (IS_ERR(pclk))
 +return PTR_ERR(pclk);
 +
 +clk_enable(pclk);

 Return value of clk_enable() should be checked.
Yes. I will add code to check the return value in V2 patch. 
 +
 +isi = kzalloc(sizeof(struct atmel_isi), GFP_KERNEL);
 +if (!isi) {
 +ret = -ENOMEM;
 [...]
 +isi_writel(isi, V2_CTRL, ISI_BIT(V2_DIS));
 +/* Check if module disable */
 +while (isi_readl(isi, V2_STATUS)  ISI_BIT(V2_DIS))
 +cpu_relax();
 +
 +irq = platform_get_irq(pdev, 0);

 This should also be checked.
Ditto, thank you.
--
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