Re: Make menuconfig doesn't work anymore

2012-07-12 Thread Martin Herrman
2012/7/12 VDR User user@gmail.com:

 No, the drivers I need were already there but I just checked my
 menuconfig and I see:
 Multimedia support - Customize TV tuners - NXP TDA18212 silicon tuner

 Is that what you're looking for? If so, all you need, I think, is DVB
 for Linux and Customize analog and hybrid tuner modules to build to
 get the Customize TV tuners option.

Thanks for the input, but that's not the driver I need. I need the
ddbridge compatible (?) driver, NXP TDA18212 DD

[*] DVB/ATSC adapters
M Digital Devices bridge support
[*] Customse the frontend modules to build
Customize DVB Frontends →
STV 0367 (DD)
NXP TDA18212 silicon tuner (DD)
--
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: Media system Summit

2012-07-12 Thread Sylwester Nawrocki
Hi Mauro,

On 07/12/2012 05:18 AM, Mauro Carvalho Chehab wrote:
 Em 11-07-2012 05:09, James Bottomley escreveu:
 Hi All,

 We have set aside the second day of the kernel summit (Tuesday 28
 August) as mini-summit day.  So far we have only the PCI mini summit on
 this day
 
 Not sure what happened (or maybe my proposal were not clear enough), but
 I've submitted a proposal to have a media system summit on KS/2011.
 Last year was very productive for media developers, so we'd like to do
 it again ;)
 
 
 Message-ID:4fec74ab.6070...@redhat.com
 Date: Thu, 28 Jun 2012 12:13:47 -0300
 From: Mauro Carvalho Chehabmche...@redhat.com
 
 [Ksummit-2012-discuss] [ATTEND] media subsystem
 
 I'd like to have media subsystem discussions this year's at kernel summit.
 The media subsystem is one of the most active driver subsystem, and there are 
 lots of
 things there that require face-to-face discussions, not only between 
 subsystem developers,
 but also with other maintainers. In special, during KS/2011, it was 
 identified the need
 of interacting with video and audio system people, in order to solve some 
 common issues,
 like HDMI CEC and audio/video synchronization.
 
 The increasing complexity of SoC designs used by media devices requires API
 extensions at the media APIs in order to proper expose and control all 
 hardware
 functionality on a standard way. A new API to better allow negotiating 
 userspace
 and Kernelspace capabilities seem to be required.
 
 More discussions with regards to shared resources locking is needed, on 
 devices that
 implement multiple API's, but not a the same time.
 
 The incompatibility between udev-182 and the existing drivers will also 
 require lots
 of discussions, as that affects 64 media drivers, and changing them to comply 
 with
 the current requirement of using request_firmware_nowait() won't work on 
 several
 drivers. So, a solution (or a set of solutions) needs to be found, in order 
 to fix
 such incompatibility.

I'd like to add a Common device tree bindings for media devices topic to
the agenda for consideration.

There were some activities on creating device tree bindings for Samsung and
SH Mobile SoCs but this didn't really kick off yet and a face to face 
discussions
could help to bring device tree support in media subsystem to the level many
other subsystems already have.

--

Thanks,
Sylwester
--
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: mx2_camera: Add YUYV output format.

2012-07-12 Thread Javier Martin
Add explicit conversions from UYVY and YUYV to YUYV so that
csicr1 configuration can be set properly for each format.

Signed-off-by: Javier Martin javier.mar...@vista-silicon.com
---
 drivers/media/video/mx2_camera.c |   40 ++
 1 file changed, 40 insertions(+)

diff --git a/drivers/media/video/mx2_camera.c b/drivers/media/video/mx2_camera.c
index 0f01e7b..2a33bcb 100644
--- a/drivers/media/video/mx2_camera.c
+++ b/drivers/media/video/mx2_camera.c
@@ -337,6 +337,34 @@ static struct mx2_fmt_cfg mx27_emma_prp_table[] = {
}
},
{
+   .in_fmt = V4L2_MBUS_FMT_UYVY8_2X8,
+   .out_fmt= V4L2_PIX_FMT_YUYV,
+   .cfg= {
+   .channel= 1,
+   .in_fmt = PRP_CNTL_DATA_IN_YUV422,
+   .out_fmt= PRP_CNTL_CH1_OUT_YUV422,
+   .src_pixel  = 0x22000888, /* YUV422 (YUYV) */
+   .ch1_pixel  = 0x62000888, /* YUV422 (YUYV) */
+   .irq_flags  = PRP_INTR_RDERR | PRP_INTR_CH1WERR |
+   PRP_INTR_CH1FC | PRP_INTR_LBOVF,
+   .csicr1 = CSICR1_SWAP16_EN,
+   }
+   },
+   {
+   .in_fmt = V4L2_MBUS_FMT_YUYV8_2X8,
+   .out_fmt= V4L2_PIX_FMT_YUYV,
+   .cfg= {
+   .channel= 1,
+   .in_fmt = PRP_CNTL_DATA_IN_YUV422,
+   .out_fmt= PRP_CNTL_CH1_OUT_YUV422,
+   .src_pixel  = 0x22000888, /* YUV422 (YUYV) */
+   .ch1_pixel  = 0x62000888, /* YUV422 (YUYV) */
+   .irq_flags  = PRP_INTR_RDERR | PRP_INTR_CH1WERR |
+   PRP_INTR_CH1FC | PRP_INTR_LBOVF,
+   .csicr1 = CSICR1_PACK_DIR,
+   }
+   },
+   {
.in_fmt = V4L2_MBUS_FMT_YUYV8_2X8,
.out_fmt= V4L2_PIX_FMT_YUV420,
.cfg= {
@@ -1146,6 +1174,18 @@ static int mx2_camera_get_formats(struct 
soc_camera_device *icd,
}
}
 
+   if (code == V4L2_MBUS_FMT_UYVY8_2X8) {
+   formats++;
+   if (xlate) {
+   xlate-host_fmt =
+   soc_mbus_get_fmtdesc(V4L2_MBUS_FMT_YUYV8_2X8);
+   xlate-code = code;
+   dev_dbg(dev, Providing host format %s for sensor code 
%d\n,
+   xlate-host_fmt-name, code);
+   xlate++;
+   }
+   }
+
/* Generic pass-trough */
formats++;
if (xlate) {
-- 
1.7.9.5

--
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: mx2_camera: Remove MX2_CAMERA_SWAP16 and MX2_CAMERA_PACK_DIR_MSB flags.

2012-07-12 Thread Javier Martin
These flags are not used any longer and can be safely removed
since the following patch:
http://www.spinics.net/lists/linux-media/msg50165.html

Signed-off-by: Javier Martin javier.mar...@vista-silicon.com
---
 arch/arm/plat-mxc/include/mach/mx2_cam.h |2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/plat-mxc/include/mach/mx2_cam.h 
b/arch/arm/plat-mxc/include/mach/mx2_cam.h
index 3c080a3..7ded6f1 100644
--- a/arch/arm/plat-mxc/include/mach/mx2_cam.h
+++ b/arch/arm/plat-mxc/include/mach/mx2_cam.h
@@ -23,7 +23,6 @@
 #ifndef __MACH_MX2_CAM_H_
 #define __MACH_MX2_CAM_H_
 
-#define MX2_CAMERA_SWAP16  (1  0)
 #define MX2_CAMERA_EXT_VSYNC   (1  1)
 #define MX2_CAMERA_CCIR(1  2)
 #define MX2_CAMERA_CCIR_INTERLACE  (1  3)
@@ -31,7 +30,6 @@
 #define MX2_CAMERA_GATED_CLOCK (1  5)
 #define MX2_CAMERA_INV_DATA(1  6)
 #define MX2_CAMERA_PCLK_SAMPLE_RISING  (1  7)
-#define MX2_CAMERA_PACK_DIR_MSB(1  8)
 
 /**
  * struct mx2_camera_platform_data - optional platform data for mx2_camera
-- 
1.7.9.5

--
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 1/5] v4l2: Add rangelow and rangehigh fields to the v4l2_hw_freq_seek struct

2012-07-12 Thread Hans Verkuil
On Wed 11 July 2012 20:37:14 Hans de Goede wrote:
 Hi Hans,
 
 On 07/11/2012 08:01 PM, Hans Verkuil wrote:
  Hi Hans,
 
  Thanks for the patch.
 
  I've CC-ed Halli as well.
 
  On Wed July 11 2012 17:47:34 Hans de Goede wrote:
  To allow apps to limit a hw-freq-seek to a specific band, for further
  info see the documentation this patch adds for these new fields.
 
  Signed-off-by: Hans de Goede hdego...@redhat.com
  ---
.../DocBook/media/v4l/vidioc-s-hw-freq-seek.xml|   44 
  
include/linux/videodev2.h  |5 ++-
2 files changed, 40 insertions(+), 9 deletions(-)
 
  diff --git a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml 
  b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
  index f4db44d..50dc9f8 100644
  --- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
  +++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
  @@ -52,11 +52,21 @@
paraStart a hardware frequency seek from the current frequency.
To do this applications initialize the structfieldtuner/structfield,
structfieldtype/structfield, structfieldseek_upward/structfield,
  -structfieldspacing/structfield and
  -structfieldwrap_around/structfield fields, and zero out the
  -structfieldreserved/structfield array of a v4l2-hw-freq-seek; and
  -call the constantVIDIOC_S_HW_FREQ_SEEK/constant ioctl with a pointer
  -to this structure./para
  +structfieldwrap_around/structfield, 
  structfieldspacing/structfield,
  +structfieldrangelow/structfield and 
  structfieldrangehigh/structfield
  +fields, and zero out the structfieldreserved/structfield array of a
  +v4l2-hw-freq-seek; and call the 
  constantVIDIOC_S_HW_FREQ_SEEK/constant
  +ioctl with a pointer to this structure./para
  +
  +paraThe structfieldrangelow/structfield and
  +structfieldrangehigh/structfield fields can be set to a non-zero 
  value to
  +tell the driver to search a specific band. If the v4l2-tuner;
  +structfieldcapability/structfield field has the
  +constantV4L2_TUNER_CAP_HWSEEK_PROG_LIM/constant flag set, these values
  +must fall within one of the bands returned by VIDIOC-ENUM-FREQ-BANDS;. If
  +the constantV4L2_TUNER_CAP_HWSEEK_PROG_LIM/constant flag is not set,
  +then these values must exactly match those of one of the bands returned by
  +VIDIOC-ENUM-FREQ-BANDS;./para
 
  OK, I have some questions here:
 
  1) If you have a multiband tuner, what should happen if both low and high 
  are
  zero? Currently it is undefined, other than that the seek should start from
  the current frequency until it reaches some limit.
 
 That would be driver specific, we could add the same If rangelow/high is zero
 a reasonable default value is used. language as used for the spacing. For
 example for the si470x if both are zero I simply switch to the Japan wide
 band which covers all frequencies handled by the other bands, but if there
 is no such covers all ranges band, then the logical thing todo would just keep
 the band as is (so as determined by the last s_freq).
 
  Halli, what does your hardware do? In particular, is the hwseek limited by 
  the
  US/Europe or Japan band range or can it do the full range? If I'm not 
  mistaken
  it is the former, right?
 
  If it is the former, then you need to explicitly set low + high to ensure 
  that
  the hwseek uses the correct range because the driver can't guess which of 
  the
  overlapping bands to use.
 
  2) What happens if the current frequency is outside the low/high range? The
  hwseek spec says that the seek starts from the current frequency, so that 
  might
  mean that hwseek returns -ERANGE in this case.
 
 What the si470x code currently does is just clamp the frequency to the new
 range before seeking, but -ERANGE works for me too.

Clamping is a better idea IMHO as long as it is documented.

Regards,

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


[PATCH 1/2 v2] media: Add mem2mem deinterlacing driver.

2012-07-12 Thread Javier Martin
Some video decoders such as tvp5150 provide separate
video fields (V4L2_FIELD_SEQ_TB/BT). This driver uses
dmaengine to convert this format to V4L2_FIELD_INTERLACED_TB/BT
(weaving) or V4L2_FIELD_NONE (line doubling) so that the
image can be displayed or processed.

Of course there will be combing effect in the image but this
can be accepted for some low quality applications.

Currently YUV420 and YUYV formats are supported but
can be extended later.

Signed-off-by: Javier Martin javier.mar...@vista-silicon.com
---
Changes since v1:
 - Added support for V4L2_FIELD_SEQ_BT to V4L2_FIELD_INTERLACED_BT
 and V4L2_FIELD_NONE.

---
 drivers/media/video/Kconfig   |8 +
 drivers/media/video/Makefile  |2 +
 drivers/media/video/m2m-deinterlace.c | 1131 +
 3 files changed, 1141 insertions(+)
 create mode 100644 drivers/media/video/m2m-deinterlace.c

diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
index 9cebf7b..c0b9233 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
@@ -1188,6 +1188,14 @@ config VIDEO_CODA
   Coda is a range of video codec IPs that supports
   H.264, MPEG-4, and other video formats.
 
+config VIDEO_MEM2MEM_DEINTERLACE
+   tristate Deinterlace support
+   depends on VIDEO_DEV  VIDEO_V4L2  DMA_ENGINE
+   select VIDEOBUF2_DMA_CONTIG
+   select V4L2_MEM2MEM_DEV
+   help
+   Generic deinterlacing V4L2 driver.
+
 config VIDEO_SAMSUNG_S5P_G2D
tristate Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver
depends on VIDEO_DEV  VIDEO_V4L2  PLAT_S5P
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index a04c307..b6a01b1 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -189,6 +189,8 @@ obj-$(CONFIG_VIDEO_ATMEL_ISI)   += atmel-isi.o
 obj-$(CONFIG_VIDEO_MX2_EMMAPRP)+= mx2_emmaprp.o
 obj-$(CONFIG_VIDEO_CODA)   += coda.o
 
+obj-$(CONFIG_VIDEO_MEM2MEM_DEINTERLACE)+= m2m-deinterlace.o
+
 obj-$(CONFIG_VIDEO_SAMSUNG_S5P_FIMC)   += s5p-fimc/
 obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG)   += s5p-jpeg/
 obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC)+= s5p-mfc/
diff --git a/drivers/media/video/m2m-deinterlace.c 
b/drivers/media/video/m2m-deinterlace.c
new file mode 100644
index 000..4187c80
--- /dev/null
+++ b/drivers/media/video/m2m-deinterlace.c
@@ -0,0 +1,1131 @@
+/*
+ * V4L2 deinterlacing support.
+ *
+ * Copyright (c) 2012 Vista Silicon S.L.
+ * Javier Martin javier.mar...@vista-silicon.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version
+ */
+
+#include linux/module.h
+#include linux/slab.h
+#include linux/interrupt.h
+#include linux/dmaengine.h
+#include linux/platform_device.h
+
+#include media/v4l2-mem2mem.h
+#include media/v4l2-device.h
+#include media/v4l2-ioctl.h
+#include media/videobuf2-dma-contig.h
+
+#define MEM2MEM_TEST_MODULE_NAME mem2mem-deinterlace
+
+MODULE_DESCRIPTION(mem2mem device which supports deinterlacing using 
dmaengine);
+MODULE_AUTHOR(Javier Martin javier.mar...@vista-silicon.com);
+MODULE_LICENSE(GPL);
+MODULE_VERSION(0.0.1);
+
+static bool debug = true;
+module_param(debug, bool, 0644);
+
+/* Flags that indicate a format can be used for capture/output */
+#define MEM2MEM_CAPTURE(1  0)
+#define MEM2MEM_OUTPUT (1  1)
+
+#define MEM2MEM_NAME   m2m-deinterlace
+
+#define dprintk(dev, fmt, arg...) \
+   v4l2_dbg(1, debug, dev-v4l2_dev, %s:  fmt, __func__, ## arg)
+
+struct deinterlace_fmt {
+   char*name;
+   u32 fourcc;
+   enum v4l2_field field;
+   /* Types the format can be used for */
+   u32 types;
+};
+
+static struct deinterlace_fmt formats[] = {
+   {
+   .name   = YUV 4:2:0 Planar (weaving),
+   .fourcc = V4L2_PIX_FMT_YUV420,
+   .field  = V4L2_FIELD_INTERLACED_TB,
+   .types  = MEM2MEM_CAPTURE,
+   },
+   {
+   .name   = YUV 4:2:0 Planar (weaving),
+   .fourcc = V4L2_PIX_FMT_YUV420,
+   .field  = V4L2_FIELD_INTERLACED_BT,
+   .types  = MEM2MEM_CAPTURE,
+   },
+   {
+   .name   = YUV 4:2:0 Planar (line doubling),
+   .fourcc = V4L2_PIX_FMT_YUV420,
+   /* Line doubling, top field */
+   .field  = V4L2_FIELD_NONE,
+   .types  = MEM2MEM_CAPTURE,
+   },
+   {
+   .name   = YUYV 4:2:2 (weaving),
+   .fourcc = V4L2_PIX_FMT_YUYV,
+   .field  = V4L2_FIELD_INTERLACED_TB,
+   .types  = MEM2MEM_CAPTURE,
+   },
+   {
+   .name   = YUYV 4:2:2 (weaving),
+   .fourcc = V4L2_PIX_FMT_YUYV,
+   .field  = 

[PATCH 2/2 v2] i.MX27: Visstrim_M10: Add support for deinterlacing driver.

2012-07-12 Thread Javier Martin
Visstrim_M10 have a tvp5150 whose video output must be deinterlaced.
The new mem2mem deinterlacing driver is very useful for that purpose.

Signed-off-by: Javier Martin javier.mar...@vista-silicon.com
---
Changes since v1:
 - Removed commented out code.

---
 arch/arm/mach-imx/mach-imx27_visstrim_m10.c |   27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c 
b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
index 214e4ff..dbef59d 100644
--- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
+++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
@@ -232,7 +232,7 @@ static void __init visstrim_camera_init(void)
 static void __init visstrim_reserve(void)
 {
/* reserve 4 MiB for mx2-camera */
-   mx2_camera_base = arm_memblock_steal(2 * MX2_CAMERA_BUF_SIZE,
+   mx2_camera_base = arm_memblock_steal(3 * MX2_CAMERA_BUF_SIZE,
MX2_CAMERA_BUF_SIZE);
 }
 
@@ -419,6 +419,30 @@ static void __init visstrim_coda_init(void)
return;
 }
 
+/* DMA deinterlace */
+static struct platform_device visstrim_deinterlace = {
+   .name = m2m-deinterlace,
+   .id = 0,
+};
+
+static void __init visstrim_deinterlace_init(void)
+{
+   int ret = -ENOMEM;
+   struct platform_device *pdev = visstrim_deinterlace;
+   int dma;
+
+   ret = platform_device_register(pdev);
+
+   dma = dma_declare_coherent_memory(pdev-dev,
+ mx2_camera_base + 2 * 
MX2_CAMERA_BUF_SIZE,
+ mx2_camera_base + 2 * 
MX2_CAMERA_BUF_SIZE,
+ MX2_CAMERA_BUF_SIZE,
+ DMA_MEMORY_MAP | 
DMA_MEMORY_EXCLUSIVE);
+   if (!(dma  DMA_MEMORY_MAP))
+   return;
+}
+
+
 static void __init visstrim_m10_revision(void)
 {
int exp_version = 0;
@@ -481,6 +505,7 @@ static void __init visstrim_m10_board_init(void)
platform_device_register_resndata(NULL, soc-camera-pdrv, 0, NULL, 0,
  iclink_tvp5150, sizeof(iclink_tvp5150));
gpio_led_register_device(0, visstrim_m10_led_data);
+   visstrim_deinterlace_init();
visstrim_camera_init();
visstrim_coda_init();
 }
-- 
1.7.9.5

--
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] videobuf-dma-contig: Use NULL instead of plain integer

2012-07-12 Thread Sachin Kamat
Fixes the following sparse warning:
drivers/media/video/videobuf-dma-contig.c:59:46:
warning: Using plain integer as NULL pointer

Signed-off-by: Sachin Kamat sachin.ka...@linaro.org
---
 drivers/media/video/videobuf-dma-contig.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/videobuf-dma-contig.c 
b/drivers/media/video/videobuf-dma-contig.c
index 9b9a06f..a5af8b4 100644
--- a/drivers/media/video/videobuf-dma-contig.c
+++ b/drivers/media/video/videobuf-dma-contig.c
@@ -56,7 +56,7 @@ static int __videobuf_dc_alloc(struct device *dev,
dev_err(dev, dma_map_single failed\n);
 
free_pages_exact(mem-vaddr, mem-size);
-   mem-vaddr = 0;
+   mem-vaddr = NULL;
return err;
}
}
-- 
1.7.4.1

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


Re: [PATCH v2 2/2] [media] s5p-mfc: update MFC v4l2 driver to support MFC6.x

2012-07-12 Thread Arun Kumar K
Hi Kyungmin Park,

Thank you for the review.
Please find my comments inline.

On Fri, Jul 6, 2012 at 7:51 PM, Kyungmin Park kmp...@infradead.org wrote:
 Hi,

 On Fri, Jul 6, 2012 at 11:00 PM, Arun Kumar K arun...@samsung.com wrote:
 From: Jeongtae Park jtp.p...@samsung.com

 Multi Format Codec 6.x is a hardware video coding acceleration
 module fount in new Exynos5 SoC series.
 It is capable of handling a range of video codecs and this driver
 provides a V4L2 interface for video decoding and encoding.

 Signed-off-by: Jeongtae Park jtp.p...@samsung.com
 Singed-off-by: Janghyuck Kim janghyuck@samsung.com
 Singed-off-by: Jaeryul Oh jaeryul...@samsung.com
 Signed-off-by: Naveen Krishna Chatradhi ch.nav...@samsung.com
 Signed-off-by: Arun Kumar K arun...@samsung.com
 Cc: Marek Szyprowski m.szyprow...@samsung.com
 Cc: Kamil Debski k.deb...@samsung.com
 ---
  drivers/media/video/Kconfig  |   16 +-
  drivers/media/video/s5p-mfc/Makefile |7 +-
  drivers/media/video/s5p-mfc/regs-mfc-v6.h|  676 ++
  drivers/media/video/s5p-mfc/regs-mfc.h   |   29 +
  drivers/media/video/s5p-mfc/s5p_mfc.c|  163 ++-
  drivers/media/video/s5p-mfc/s5p_mfc_cmd.c|6 +-
  drivers/media/video/s5p-mfc/s5p_mfc_cmd.h|3 +
  drivers/media/video/s5p-mfc/s5p_mfc_cmd_v6.c |   96 ++
  drivers/media/video/s5p-mfc/s5p_mfc_common.h |  123 ++-
  drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c   |  160 ++-
  drivers/media/video/s5p-mfc/s5p_mfc_ctrl.h   |1 +
  drivers/media/video/s5p-mfc/s5p_mfc_dec.c|  210 +++-
  drivers/media/video/s5p-mfc/s5p_mfc_dec.h|1 +
  drivers/media/video/s5p-mfc/s5p_mfc_enc.c|  191 ++--
  drivers/media/video/s5p-mfc/s5p_mfc_enc.h|1 +
  drivers/media/video/s5p-mfc/s5p_mfc_intr.c   |1 -
  drivers/media/video/s5p-mfc/s5p_mfc_opr.c|  278 +++--
  drivers/media/video/s5p-mfc/s5p_mfc_opr.h|   25 +-
  drivers/media/video/s5p-mfc/s5p_mfc_opr_v6.c | 1697 
 ++
  drivers/media/video/s5p-mfc/s5p_mfc_opr_v6.h |  140 +++
  drivers/media/video/s5p-mfc/s5p_mfc_pm.c |6 +-
  drivers/media/video/s5p-mfc/s5p_mfc_shm.c|   28 +-
  drivers/media/video/s5p-mfc/s5p_mfc_shm.h|   13 +-
  drivers/media/video/v4l2-ctrls.c |1 -
  24 files changed, 3476 insertions(+), 396 deletions(-)

 Doesn't it too big for one patch? Can you split it into several patches?


Ok. I will split it in the next patch.

  create mode 100644 drivers/media/video/s5p-mfc/regs-mfc-v6.h
  create mode 100644 drivers/media/video/s5p-mfc/s5p_mfc_cmd_v6.c
  create mode 100644 drivers/media/video/s5p-mfc/s5p_mfc_opr_v6.c
  create mode 100644 drivers/media/video/s5p-mfc/s5p_mfc_opr_v6.h

 diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
 index 99937c9..0d7fe77 100644
 --- a/drivers/media/video/Kconfig
 +++ b/drivers/media/video/Kconfig
 @@ -1198,13 +1198,27 @@ config VIDEO_SAMSUNG_S5P_JPEG
   This is a v4l2 driver for Samsung S5P and EXYNOS4 JPEG codec

  config VIDEO_SAMSUNG_S5P_MFC
 +   bool
 +
 +config VIDEO_SAMSUNG_S5P_MFC_V5
 tristate Samsung S5P MFC 5.1 Video Codec
 -   depends on VIDEO_DEV  VIDEO_V4L2  PLAT_S5P
 +   depends on VIDEO_DEV  VIDEO_V4L2  ARCH_EXYNOS4
 +   select VIDEO_SAMSUNG_S5P_MFC
 select VIDEOBUF2_DMA_CONTIG
 default n
 help
 MFC 5.1 driver for V4L2.

 +config VIDEO_SAMSUNG_S5P_MFC_V6

 Yes, I know it's exynos5 series features. however, it's not good idea
 to add new config.
 It already handled platform device with proper name.
 e.g., s5p-mfc-v5, s5p-mfc-v6 and handle it with platform data.


Ok. Code changes are required for compiling both v5 and v6 together.
Will incorporate in next patch.

[snip]

 -#define MFC_CLKNAMEsclk_mfc
 +#if defined(CONFIG_VIDEO_SAMSUNG_S5P_MFC_V5)
 +#define MFC_CLKNAMEsclk_mfc
 +#elif defined(CONFIG_VIDEO_SAMSUNG_S5P_MFC_V6)
 +#define MFC_CLKNAMEaclk_333
 I think it can handle clkname without new config.


Yes I will change it.

Regards
Arun

RE: [PATCH v2 2/2] [media] s5p-mfc: update MFC v4l2 driver to support MFC6.x

2012-07-12 Thread Arun Kumar K
Hi Kamil,

Thank you for the review. Please find my comments inline.

On Tue, Jul 10, 2012 at 8:40 PM, Kamil Debski k.deb...@samsung.com wrote:

 Hi Arun,

 Please find some additional comments below.

  From: Arun Kumar K [mailto:arun...@samsung.com]
  Sent: 06 July 2012 16:00

 [snip]


  diff --git a/drivers/media/video/s5p-mfc/Makefile
  b/drivers/media/video/s5p-mfc/Makefile
  index d066340..0308d74 100644
  --- a/drivers/media/video/s5p-mfc/Makefile
  +++ b/drivers/media/video/s5p-mfc/Makefile
  @@ -1,5 +1,6 @@
   obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC) := s5p-mfc.o
  -s5p-mfc-y += s5p_mfc.o s5p_mfc_intr.o s5p_mfc_opr.o
  +s5p-mfc-y += s5p_mfc.o s5p_mfc_intr.o
   s5p-mfc-y += s5p_mfc_dec.o s5p_mfc_enc.o
  -s5p-mfc-y += s5p_mfc_ctrl.o s5p_mfc_cmd.o
  -s5p-mfc-y += s5p_mfc_pm.o s5p_mfc_shm.o
  +s5p-mfc-y += s5p_mfc_ctrl.o s5p_mfc_pm.o
  +obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC_V5) += s5p_mfc_opr.o s5p_mfc_cmd.o
  s5p_mfc_shm.o
  +obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC_V6) += s5p_mfc_opr_v6.o
  s5p_mfc_cmd_v6.o
  diff --git a/drivers/media/video/s5p-mfc/regs-mfc-v6.h
  b/drivers/media/video/s5p-mfc/regs-mfc-v6.h
  new file mode 100644
  index 000..f22a159

 This Makefile does not work when compiling the driver as a module.
 (I also wrote about this in my previous email)


Yes. I will fix it.

 [snip]

 
   #endif /* _REGS_FIMV_H */
  diff --git a/drivers/media/video/s5p-mfc/s5p_mfc.c
  b/drivers/media/video/s5p-mfc/s5p_mfc.c
  index 9bb68e7..bec94bc 100644
  --- a/drivers/media/video/s5p-mfc/s5p_mfc.c
  +++ b/drivers/media/video/s5p-mfc/s5p_mfc.c

 [snip]

  @@ -285,12 +276,13 @@ static void s5p_mfc_handle_frame(struct
  s5p_mfc_ctx
  *ctx,
 
dst_frame_status = s5p_mfc_get_dspl_status()

  S5P_FIMV_DEC_STATUS_DECODING_STATUS_MASK;
  - res_change = s5p_mfc_get_dspl_status()
  -  S5P_FIMV_DEC_STATUS_RESOLUTION_MASK;
  + res_change = (s5p_mfc_get_dspl_status()
  +  S5P_FIMV_DEC_STATUS_RESOLUTION_MASK)
  +  S5P_FIMV_DEC_STATUS_RESOLUTION_SHIFT;
mfc_debug(2, Frame Status: %x\n, dst_frame_status);
if (ctx-state == MFCINST_RES_CHANGE_INIT)
ctx-state = MFCINST_RES_CHANGE_FLUSH;
  - if (res_change) {
  + if (res_change  res_change != 3) {

 Maybe
 If (res_change == 1 || res_change == 2) {
 would be better, at least it would be more clear.


Sure I will change it that way.

 [snip]


  diff --git a/drivers/media/video/s5p-mfc/s5p_mfc_common.h
  b/drivers/media/video/s5p-mfc/s5p_mfc_common.h
  index bd5706a..8c646f4 100644
  --- a/drivers/media/video/s5p-mfc/s5p_mfc_common.h
  +++ b/drivers/media/video/s5p-mfc/s5p_mfc_common.h

 [snip]

  @@ -499,37 +563,42 @@ struct s5p_mfc_ctx {
int display_delay;
int display_delay_enable;
int after_packed_pb;
  + int sei_fp_parse;
 
int dpb_count;
int total_dpb_count;
 
/* Buffers */
  - void *ctx_buf;
  - size_t ctx_phys;
  - size_t ctx_ofs;
  - size_t ctx_size;
  -
  - void *desc_buf;
  - size_t desc_phys;
  -
  -
  - void *shm_alloc;
  - void *shm;
  - size_t shm_ofs;
  + unsigned int ctx_size;
  + struct s5p_mfc_priv_buf ctx;
  + struct s5p_mfc_priv_buf dsc;
  + struct s5p_mfc_priv_buf shm;

 I think that ctx_size could be integrated in struct s5p_mfc_priv_buf.
 Also - why unsigned int, where in other places you use size_t for size?
 I think it should be consistent. I would choose size_t.


Yes. size_t is better. I will change it.

 
struct s5p_mfc_enc_params enc_params;
 
size_t enc_dst_buf_size;
  + size_t luma_dpb_size;
  + size_t chroma_dpb_size;
  + size_t me_buffer_size;
  + size_t tmv_buffer_size;
 

 ^^ You use size_t here.

 [snip]

  diff --git a/drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
  b/drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
  index 08a5cfe..65ff15d 100644
  --- a/drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
  +++ b/drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
  @@ -15,7 +15,6 @@
   #include linux/firmware.h
   #include linux/jiffies.h
   #include linux/sched.h
  -#include regs-mfc.h
   #include s5p_mfc_cmd.h
   #include s5p_mfc_common.h
   #include s5p_mfc_debug.h
  @@ -38,12 +37,12 @@ int s5p_mfc_alloc_and_load_firmware(struct
  s5p_mfc_dev *dev)
 * into kernel. */
mfc_debug_enter();
err = request_firmware((const struct firmware **)fw_blob,
  -  s5p-mfc.fw, dev-v4l2_dev.dev);
  +  mfc_fw.bin, dev-v4l2_dev.dev);

 Another name change? This is getting ridiculous. Nein, nein, nein ! ;)
 If you _*really*_ need such a change then go ahead and try to convince
 me, but I tell you - it's going to be hard.


Ok. I will retain the old name :)
And as discussed will add new name s5p-mfc-v6.fw for V6.


if (err != 0) {
mfc_err(Firmware is not present in the 

[media] tvp5150: signedness bug in tvp5150_selmux()

2012-07-12 Thread Dan Carpenter
tvp5150_read() returns negative error codes so this needs to be an int
for the error handling to work.

Signed-off-by: Dan Carpenter dan.carpen...@oracle.com

diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c
index 0d897cb..a751b6c 100644
--- a/drivers/media/video/tvp5150.c
+++ b/drivers/media/video/tvp5150.c
@@ -257,7 +257,7 @@ static inline void tvp5150_selmux(struct v4l2_subdev *sd)
int opmode = 0;
struct tvp5150 *decoder = to_tvp5150(sd);
int input = 0;
-   unsigned char val;
+   int val;
 
if ((decoder-output  TVP5150_BLACK_SCREEN) || !decoder-enable)
input = 8;
--
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


Vacation hansg July 13th - July 20th

2012-07-12 Thread Hans de Goede

Hi All,

I'm going on vacation for a week starting tomorrow, and I will *not*
be reading email, etc. during that time.

Regards,

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


Re: linux-next: Tree for July 12 (v4l2-ioctl.c)

2012-07-12 Thread Randy Dunlap
On 07/11/2012 11:03 PM, Stephen Rothwell wrote:

 Hi all,
 
 Changes since 20120710:



on i386 and/or x86_64, drivers/media/video/v4l2-ioctl.c has too many
errors to be listed here.  This is the beginning few lines of the errors:


drivers/media/video/v4l2-ioctl.c:1848:2: error: unknown field 'func' specified 
in initializer
drivers/media/video/v4l2-ioctl.c:1848:2: warning: missing braces around 
initializer
drivers/media/video/v4l2-ioctl.c:1848:2: warning: (near initialization for 
'v4l2_ioctls[0].anonymous')
drivers/media/video/v4l2-ioctl.c:1848:2: warning: initialization makes integer 
from pointer without a cast
drivers/media/video/v4l2-ioctl.c:1848:2: error: initializer element is not 
computable at load time
drivers/media/video/v4l2-ioctl.c:1848:2: error: (near initialization for 
'v4l2_ioctls[0].anonymous.offset')
drivers/media/video/v4l2-ioctl.c:1849:2: error: unknown field 'func' specified 
in initializer
drivers/media/video/v4l2-ioctl.c:1849:2: warning: initialization makes integer 
from pointer without a cast
drivers/media/video/v4l2-ioctl.c:1849:2: error: initializer element is not 
computable at load time
drivers/media/video/v4l2-ioctl.c:1849:2: error: (near initialization for 
'v4l2_ioctls[2].anonymous.offset')
drivers/media/video/v4l2-ioctl.c:1850:2: error: unknown field 'func' specified 
in initializer
drivers/media/video/v4l2-ioctl.c:1850:2: warning: initialization makes integer 
from pointer without a cast
drivers/media/video/v4l2-ioctl.c:1850:2: error: initializer element is not 
computable at load time
drivers/media/video/v4l2-ioctl.c:1850:2: error: (near initialization for 
'v4l2_ioctls[4].anonymous.offset')
drivers/media/video/v4l2-ioctl.c:1851:2: error: unknown field 'func' specified 
in initializer
drivers/media/video/v4l2-ioctl.c:1851:2: warning: initialization makes integer 
from pointer without a cast
drivers/media/video/v4l2-ioctl.c:1851:2: error: initializer element is not 
computable at load time
drivers/media/video/v4l2-ioctl.c:1851:2: error: (near initialization for 
'v4l2_ioctls[5].anonymous.offset')
drivers/media/video/v4l2-ioctl.c:1852:2: error: unknown field 'func' specified 
in initializer
drivers/media/video/v4l2-ioctl.c:1852:2: warning: initialization makes integer 
from pointer without a cast
drivers/media/video/v4l2-ioctl.c:1852:2: error: initializer element is not 
computable at load time
drivers/media/video/v4l2-ioctl.c:1852:2: error: (near initialization for 
'v4l2_ioctls[8].anonymous.offset')
drivers/media/video/v4l2-ioctl.c:1853:2: error: unknown field 'func' specified 
in initializer



-- 

~Randy
--
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 1/5] v4l2: Add rangelow and rangehigh fields to the v4l2_hw_freq_seek struct

2012-07-12 Thread Hans de Goede

Hi,

On 07/11/2012 08:37 PM, halli manjunatha wrote:

On Wed, Jul 11, 2012 at 1:01 PM, Hans Verkuil hverk...@xs4all.nl wrote:

Hi Hans,

Thanks for the patch.

I've CC-ed Halli as well.

On Wed July 11 2012 17:47:34 Hans de Goede wrote:

To allow apps to limit a hw-freq-seek to a specific band, for further
info see the documentation this patch adds for these new fields.

Signed-off-by: Hans de Goede hdego...@redhat.com
---
  .../DocBook/media/v4l/vidioc-s-hw-freq-seek.xml|   44 
  include/linux/videodev2.h  |5 ++-
  2 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml 
b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
index f4db44d..50dc9f8 100644
--- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
@@ -52,11 +52,21 @@
  paraStart a hardware frequency seek from the current frequency.
  To do this applications initialize the structfieldtuner/structfield,
  structfieldtype/structfield, structfieldseek_upward/structfield,
-structfieldspacing/structfield and
-structfieldwrap_around/structfield fields, and zero out the
-structfieldreserved/structfield array of a v4l2-hw-freq-seek; and
-call the constantVIDIOC_S_HW_FREQ_SEEK/constant ioctl with a pointer
-to this structure./para
+structfieldwrap_around/structfield, structfieldspacing/structfield,
+structfieldrangelow/structfield and structfieldrangehigh/structfield
+fields, and zero out the structfieldreserved/structfield array of a
+v4l2-hw-freq-seek; and call the constantVIDIOC_S_HW_FREQ_SEEK/constant
+ioctl with a pointer to this structure./para
+
+paraThe structfieldrangelow/structfield and
+structfieldrangehigh/structfield fields can be set to a non-zero value to
+tell the driver to search a specific band. If the v4l2-tuner;
+structfieldcapability/structfield field has the
+constantV4L2_TUNER_CAP_HWSEEK_PROG_LIM/constant flag set, these values
+must fall within one of the bands returned by VIDIOC-ENUM-FREQ-BANDS;. If
+the constantV4L2_TUNER_CAP_HWSEEK_PROG_LIM/constant flag is not set,
+then these values must exactly match those of one of the bands returned by
+VIDIOC-ENUM-FREQ-BANDS;./para


OK, I have some questions here:

1) If you have a multiband tuner, what should happen if both low and high are
zero? Currently it is undefined, other than that the seek should start from
the current frequency until it reaches some limit.

Halli, what does your hardware do? In particular, is the hwseek limited by the
US/Europe or Japan band range or can it do the full range? If I'm not mistaken
it is the former, right?


You are right... my hardware seek is limited by the japan/US band range


If it is the former, then you need to explicitly set low + high to ensure that
the hwseek uses the correct range because the driver can't guess which of the
overlapping bands to use.


Yes in my driver I will take care of this :)


I think you misunderstood Hans here, not the driver but userspace will need
to fill in the rangelow / rangehigh fields of struct v4l2_hw_freq_seek, because 
if
the current freq is in the overlapping area of the bands, the driver cannot know
which band to seek, so it will just have to guess, I think it is best to just 
leave
the band at its current setting in that case.

The way the new API works (which was done this way to preserve backward compat)
is that the bands returned from ENUM_BANDS are there as information only. 
userspace
never explicitly sets a band, so an old app will just see the entire 76-108 MHZ 
range
in the tuner struct and may do a S_FREQUENCY for any of those frequencies, and 
the
driver must automatically switch bands when necessary.

With S_HW_FREQ_SEEK we've the 2 new fields to indicate the band to seek for new 
apps,
but with old apps these fields will be 0, and the driver needs to just pick a 
band
to search on a best effort basis, for the si470x IE, if no band is specified
in struct v4l2_hw_freq_seek,  I simply always switch to the Japan wide band
of 76-108 Mhz as that includes all other bands supported by the si470x.

Regards,

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


[PATCH] Use a named union in struct v4l2_ioctl_info

2012-07-12 Thread Hans Verkuil
Hi Mauro,

struct v4l2_ioctl_info uses an anonymous union, which is initialized
in the v4l2_ioctls table.

Unfortunately gcc  4.6 uses a non-standard syntax for that, so trying to
compile v4l2-ioctl.c with an older gcc will fail.

It is possible to work around this by testing the gcc version, but in this
case it is easier to make the union named since it is used in only a few
places.

Randy, Stephen, this patch should solve the v4l2-ioctl.c compilation problem
in linux-next. Since Mauro is still on holiday you'll have to apply it manually.

Regards,

Hans

Signed-off-by: Hans Verkuil hans.verk...@cisco.com

diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c
index 70e0efb..812beb0 100644
--- a/drivers/media/video/v4l2-ioctl.c
+++ b/drivers/media/video/v4l2-ioctl.c
@@ -1806,7 +1806,7 @@ struct v4l2_ioctl_info {
u32 offset;
int (*func)(const struct v4l2_ioctl_ops *ops,
struct file *file, void *fh, void *p);
-   };
+   } u;
void (*debug)(const void *arg, bool write_only);
 };
 
@@ -1831,7 +1831,7 @@ struct v4l2_ioctl_info {
.ioctl = _ioctl,\
.flags = _flags | INFO_FL_STD,  \
.name = #_ioctl,\
-   .offset = offsetof(struct v4l2_ioctl_ops, _vidioc), \
+   .u.offset = offsetof(struct v4l2_ioctl_ops, _vidioc),   \
.debug = _debug,\
}
 
@@ -1840,7 +1840,7 @@ struct v4l2_ioctl_info {
.ioctl = _ioctl,\
.flags = _flags | INFO_FL_FUNC, \
.name = #_ioctl,\
-   .func = _func,  \
+   .u.func = _func,\
.debug = _debug,\
}
 
@@ -2038,11 +2038,11 @@ static long __video_do_ioctl(struct file *file,
if (info-flags  INFO_FL_STD) {
typedef int (*vidioc_op)(struct file *file, void *fh, void *p);
const void *p = vfd-ioctl_ops;
-   const vidioc_op *vidioc = p + info-offset;
+   const vidioc_op *vidioc = p + info-u.offset;
 
ret = (*vidioc)(file, fh, arg);
} else if (info-flags  INFO_FL_FUNC) {
-   ret = info-func(ops, file, fh, arg);
+   ret = info-u.func(ops, file, fh, arg);
} else if (!ops-vidioc_default) {
ret = -ENOTTY;
} else {

--
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 for 3.6] v4l: DocBook: fix version number typo

2012-07-12 Thread Nicolas THERY
Signed-off-by: Nicolas Thery nicolas.th...@st.com
---
 Documentation/DocBook/media/v4l/compat.xml |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/DocBook/media/v4l/compat.xml 
b/Documentation/DocBook/media/v4l/compat.xml
index 97b8951..e519ce6 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2460,7 +2460,7 @@ that used it. It was originally scheduled for removal in 
2.6.35.
 /section
  section
-  titleV4L2 in Linux 3.5/title
+  titleV4L2 in Linux 3.6/title
   orderedlist
listitem
  paraReplaced structfieldinput/structfield in
--
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: [Ksummit-2012-discuss] Media system Summit

2012-07-12 Thread Mark Brown
On Thu, Jul 12, 2012 at 10:08:04AM +0200, Sylwester Nawrocki wrote:

 I'd like to add a Common device tree bindings for media devices topic to
 the agenda for consideration.

It'd be nice to get this to join up with ASoC...
--
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] Use a named union in struct v4l2_ioctl_info

2012-07-12 Thread Randy Dunlap
On 07/12/2012 09:06 AM, Hans Verkuil wrote:

 Hi Mauro,
 
 struct v4l2_ioctl_info uses an anonymous union, which is initialized
 in the v4l2_ioctls table.
 
 Unfortunately gcc  4.6 uses a non-standard syntax for that, so trying to
 compile v4l2-ioctl.c with an older gcc will fail.
 
 It is possible to work around this by testing the gcc version, but in this
 case it is easier to make the union named since it is used in only a few
 places.
 
 Randy, Stephen, this patch should solve the v4l2-ioctl.c compilation problem
 in linux-next. Since Mauro is still on holiday you'll have to apply it 
 manually.
 
 Regards,
 
   Hans
 
 Signed-off-by: Hans Verkuil hans.verk...@cisco.com


Reported-by: Randy Dunlap rdun...@xenotime.net
Acked-by: Randy Dunlap rdun...@xenotime.net

Thanks.


 
 diff --git a/drivers/media/video/v4l2-ioctl.c 
 b/drivers/media/video/v4l2-ioctl.c
 index 70e0efb..812beb0 100644
 --- a/drivers/media/video/v4l2-ioctl.c
 +++ b/drivers/media/video/v4l2-ioctl.c
 @@ -1806,7 +1806,7 @@ struct v4l2_ioctl_info {
   u32 offset;
   int (*func)(const struct v4l2_ioctl_ops *ops,
   struct file *file, void *fh, void *p);
 - };
 + } u;
   void (*debug)(const void *arg, bool write_only);
  };
  
 @@ -1831,7 +1831,7 @@ struct v4l2_ioctl_info {
   .ioctl = _ioctl,\
   .flags = _flags | INFO_FL_STD,  \
   .name = #_ioctl,\
 - .offset = offsetof(struct v4l2_ioctl_ops, _vidioc), \
 + .u.offset = offsetof(struct v4l2_ioctl_ops, _vidioc),   \
   .debug = _debug,\
   }
  
 @@ -1840,7 +1840,7 @@ struct v4l2_ioctl_info {
   .ioctl = _ioctl,\
   .flags = _flags | INFO_FL_FUNC, \
   .name = #_ioctl,\
 - .func = _func,  \
 + .u.func = _func,\
   .debug = _debug,\
   }
  
 @@ -2038,11 +2038,11 @@ static long __video_do_ioctl(struct file *file,
   if (info-flags  INFO_FL_STD) {
   typedef int (*vidioc_op)(struct file *file, void *fh, void *p);
   const void *p = vfd-ioctl_ops;
 - const vidioc_op *vidioc = p + info-offset;
 + const vidioc_op *vidioc = p + info-u.offset;
  
   ret = (*vidioc)(file, fh, arg);
   } else if (info-flags  INFO_FL_FUNC) {
 - ret = info-func(ops, file, fh, arg);
 + ret = info-u.func(ops, file, fh, arg);
   } else if (!ops-vidioc_default) {
   ret = -ENOTTY;
   } else {
   
 --



-- 
~Randy
--
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: [Ksummit-2012-discuss] Media system Summit

2012-07-12 Thread Olof Johansson
On Thu, Jul 12, 2012 at 9:18 AM, Mark Brown
broo...@opensource.wolfsonmicro.com wrote:
 On Thu, Jul 12, 2012 at 10:08:04AM +0200, Sylwester Nawrocki wrote:

 I'd like to add a Common device tree bindings for media devices topic to
 the agenda for consideration.

 It'd be nice to get this to join up with ASoC...


There's a handful of various subsystems that have similar topics,
maybe slice it the other way and do a device-tree/ACPI breakout that
cuts across the various areas instead?

Communication really needs to be two-way: Crafting good bindings for a
complex piece of hardware isn't trivial and having someone know both
the subsystem and device tree principles is rare. At least getting all
those people into the same room would be good.

There's obvious overlap with ARM here as well, since it's one of the
current big pushers of DT use, but I think it would be better to hold
this as a separate breakout from that.


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


RFC: Add support for limiting hw freq seeks to a certain band (v2)

2012-07-12 Thread Hans de Goede
This patchset, which builds on top of hverkuil's bands2 branch, which
adds the VIDIOC_ENUM_FREQ_BANDS API, add support for limiting
hw freq seeks to one of the bands from VIDIOC_ENUM_FREQ_BANDS, or a subset
there of.

The first patch introduces the new API and documents its, the other
patches are patches to the si470x radio driver, implementing the new API,
and removing the band module parameter as this is no longer needed
with this new API.

A git tree with all hverkuils patches included is here:
http://git.linuxtv.org/hgoede/gspca.git/shortlog/refs/heads/media-for_v3.6-wip

A git tree of xawtv3 with its radio app modified to support the new
API is here:
http://git.linuxtv.org/hgoede/xawtv3.git/shortlog/refs/heads/band-support

Changes in v2:
-improve / clarify the documentation on how the rangelow and rangehigh
 fields of the v4l2_hw_freq_seek struct are used

Regards,

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


[PATCH 1/5] v4l2 spec: add VIDIOC_ENUM_FREQ_BANDS documentation.

2012-07-12 Thread Hans de Goede
From: Hans Verkuil hans.verk...@cisco.com

Signed-off-by: Hans Verkuil hans.verk...@cisco.com
---
 Documentation/DocBook/media/v4l/compat.xml |   12 ++
 Documentation/DocBook/media/v4l/v4l2.xml   |6 +
 .../DocBook/media/v4l/vidioc-enum-freq-bands.xml   |  179 
 .../DocBook/media/v4l/vidioc-g-frequency.xml   |7 +-
 Documentation/DocBook/media/v4l/vidioc-g-tuner.xml |   26 ++-
 5 files changed, 221 insertions(+), 9 deletions(-)
 create mode 100644 Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml

diff --git a/Documentation/DocBook/media/v4l/compat.xml 
b/Documentation/DocBook/media/v4l/compat.xml
index 97b8951..aa28015 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2471,6 +2471,15 @@ that used it. It was originally scheduled for removal in 
2.6.35.
   /orderedlist
 /section
 
+section
+  titleV4L2 in Linux 3.6/title
+  orderedlist
+listitem
+ paraAdded support for frequency band enumerations: 
VIDIOC-ENUM-FREQ-BANDS;./para
+/listitem
+  /orderedlist
+/section
+
 section id=other
   titleRelation of V4L2 to other Linux multimedia APIs/title
 
@@ -2600,6 +2609,9 @@ ioctls./para
  paralink linkend=v4l2-auto-focus-areaconstant
  V4L2_CID_AUTO_FOCUS_AREA/constant/link control./para
 /listitem
+listitem
+ paraSupport for frequency band enumeration: 
VIDIOC-ENUM-FREQ-BANDS; ioctl./para
+/listitem
   /itemizedlist
 /section
 
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml 
b/Documentation/DocBook/media/v4l/v4l2.xml
index 36bafc4..eee6908 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -140,6 +140,11 @@ structs, ioctls) must be noted in more detail in the 
history chapter
 applications. --
 
   revision
+   revnumber3.6/revnumber
+   date2012-07-02/date
+   authorinitialshv/authorinitials
+   revremarkAdded VIDIOC_ENUM_FREQ_BANDS.
+   /revremark
revnumber3.5/revnumber
date2012-05-07/date
authorinitialssa, sn/authorinitials
@@ -534,6 +539,7 @@ and discussions on the V4L mailing list./revremark
 sub-enum-fmt;
 sub-enum-framesizes;
 sub-enum-frameintervals;
+sub-enum-freq-bands;
 sub-enuminput;
 sub-enumoutput;
 sub-enumstd;
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml 
b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml
new file mode 100644
index 000..6541ba0
--- /dev/null
+++ b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml
@@ -0,0 +1,179 @@
+refentry id=vidioc-enum-freq-bands
+  refmeta
+refentrytitleioctl VIDIOC_ENUM_FREQ_BANDS/refentrytitle
+manvol;
+  /refmeta
+
+  refnamediv
+refnameVIDIOC_ENUM_FREQ_BANDS/refname
+refpurposeEnumerate supported frequency bands/refpurpose
+  /refnamediv
+
+  refsynopsisdiv
+funcsynopsis
+  funcprototype
+   funcdefint functionioctl/function/funcdef
+   paramdefint parameterfd/parameter/paramdef
+   paramdefint parameterrequest/parameter/paramdef
+   paramdefstruct v4l2_frequency_band
+*parameterargp/parameter/paramdef
+  /funcprototype
+/funcsynopsis
+  /refsynopsisdiv
+
+  refsect1
+titleArguments/title
+
+variablelist
+  varlistentry
+   termparameterfd/parameter/term
+   listitem
+ parafd;/para
+   /listitem
+  /varlistentry
+  varlistentry
+   termparameterrequest/parameter/term
+   listitem
+ paraVIDIOC_ENUM_FREQ_BANDS/para
+   /listitem
+  /varlistentry
+  varlistentry
+   termparameterargp/parameter/term
+   listitem
+ para/para
+   /listitem
+  /varlistentry
+/variablelist
+  /refsect1
+
+  refsect1
+titleDescription/title
+
+note
+  titleExperimental/title
+  paraThis is an link linkend=experimental experimental /link
+  interface and may change in the future./para
+/note
+
+paraEnumerates the frequency bands that a tuner or modulator supports.
+To do this applications initialize the structfieldtuner/structfield,
+structfieldtype/structfield and structfieldindex/structfield fields,
+and zero out the structfieldreserved/structfield array of a 
v4l2-frequency-band; and
+call the constantVIDIOC_ENUM_FREQ_BANDS/constant ioctl with a pointer
+to this structure./para
+
+paraThis ioctl is supported if the 
constantV4L2_TUNER_CAP_FREQ_BANDS/constant capability
+of the corresponding tuner/modulator is set./para
+
+table pgwide=1 frame=none id=v4l2-frequency-band
+  titlestruct structnamev4l2_frequency_band/structname/title
+  tgroup cols=3
+   cs-str;
+   tbody valign=top
+ row
+   entry__u32/entry
+   entrystructfieldtuner/structfield/entry
+   entryThe tuner or modulator index number. This is the
+same value as in the v4l2-input; 

[PATCH 2/5] v4l2: Add rangelow and rangehigh fields to the v4l2_hw_freq_seek struct

2012-07-12 Thread Hans de Goede
To allow apps to limit a hw-freq-seek to a specific band, for further
info see the documentation this patch adds for these new fields.

Signed-off-by: Hans de Goede hdego...@redhat.com
---
 .../DocBook/media/v4l/vidioc-s-hw-freq-seek.xml|   50 
 include/linux/videodev2.h  |5 +-
 2 files changed, 46 insertions(+), 9 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml 
b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
index f4db44d..3dd1bec 100644
--- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
@@ -52,11 +52,23 @@
 paraStart a hardware frequency seek from the current frequency.
 To do this applications initialize the structfieldtuner/structfield,
 structfieldtype/structfield, structfieldseek_upward/structfield,
-structfieldspacing/structfield and
-structfieldwrap_around/structfield fields, and zero out the
-structfieldreserved/structfield array of a v4l2-hw-freq-seek; and
-call the constantVIDIOC_S_HW_FREQ_SEEK/constant ioctl with a pointer
-to this structure./para
+structfieldwrap_around/structfield, structfieldspacing/structfield,
+structfieldrangelow/structfield and structfieldrangehigh/structfield
+fields, and zero out the structfieldreserved/structfield array of a
+v4l2-hw-freq-seek; and call the constantVIDIOC_S_HW_FREQ_SEEK/constant
+ioctl with a pointer to this structure./para
+
+paraThe structfieldrangelow/structfield and
+structfieldrangehigh/structfield fields can be set to a non-zero value to
+tell the driver to search a specific band. If the v4l2-tuner;
+structfieldcapability/structfield field has the
+constantV4L2_TUNER_CAP_HWSEEK_PROG_LIM/constant flag set, these values
+must fall within one of the bands returned by VIDIOC-ENUM-FREQ-BANDS;. If
+the constantV4L2_TUNER_CAP_HWSEEK_PROG_LIM/constant flag is not set,
+then these values must exactly match those of one of the bands returned by
+VIDIOC-ENUM-FREQ-BANDS;. If the current frequency of the tuner does not fall
+within the selected band it will be clamped to fit in the band before the
+seek is started./para
 
 paraIf an error is returned, then the original frequency will
 be restored./para
@@ -102,7 +114,27 @@ field and the v4l2-tuner; 
structfieldindex/structfield field./entry
  /row
  row
entry__u32/entry
-   entrystructfieldreserved/structfield[7]/entry
+   entrystructfieldrangelow/structfield/entry
+   entryIf non-zero, the lowest tunable frequency of the band to
+search in units of 62.5 kHz, or if the v4l2-tuner;
+structfieldcapability/structfield field has the
+constantV4L2_TUNER_CAP_LOW/constant flag set, in units of 62.5 Hz.
+If structfieldrangelow/structfield is zero a reasonable default value
+is used./entry
+ /row
+ row
+   entry__u32/entry
+   entrystructfieldrangehigh/structfield/entry
+   entryIf non-zero, the highest tunable frequency of the band to
+search in units of 62.5 kHz, or if the v4l2-tuner;
+structfieldcapability/structfield field has the
+constantV4L2_TUNER_CAP_LOW/constant flag set, in units of 62.5 Hz.
+If structfieldrangehigh/structfield is zero a reasonable default value
+is used./entry
+ /row
+ row
+   entry__u32/entry
+   entrystructfieldreserved/structfield[5]/entry
entryReserved for future extensions. Applications
must set the array to zero./entry
  /row
@@ -119,8 +151,10 @@ field and the v4l2-tuner; 
structfieldindex/structfield field./entry
termerrorcodeEINVAL/errorcode/term
listitem
  paraThe structfieldtuner/structfield index is out of
-bounds, the wrap_around value is not supported or the value in the 
structfieldtype/structfield field is
-wrong./para
+bounds, the structfieldwrap_around/structfield value is not supported or
+one of the values in the structfieldtype/structfield,
+structfieldrangelow/structfield or structfieldrangehigh/structfield
+fields is wrong./para
/listitem
   /varlistentry
   varlistentry
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 9fa822a..1c6aa63 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -2029,6 +2029,7 @@ struct v4l2_modulator {
 #define V4L2_TUNER_CAP_RDS_BLOCK_IO0x0100
 #define V4L2_TUNER_CAP_RDS_CONTROLS0x0200
 #define V4L2_TUNER_CAP_FREQ_BANDS  0x0400
+#define V4L2_TUNER_CAP_HWSEEK_PROG_LIM 0x0800
 
 /*  Flags for the 'rxsubchans' field */
 #define V4L2_TUNER_SUB_MONO0x0001
@@ -2074,7 +2075,9 @@ struct v4l2_hw_freq_seek {
__u32   seek_upward;
__u32   wrap_around;
__u32   spacing;
-   __u32   reserved[7];
+   __u32   rangelow;
+   __u32   rangehigh;
+   __u32   reserved[5];
 };
 
 /*
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-media in

[PATCH 4/5] radio-si470x: Fix band selection

2012-07-12 Thread Hans de Goede
The mask was wrong resulting in band 0 and 1 always ending up as band 0
in the register.

Signed-off-by: Hans de Goede hdego...@redhat.com
---
 drivers/media/radio/si470x/radio-si470x.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/radio/si470x/radio-si470x.h 
b/drivers/media/radio/si470x/radio-si470x.h
index b3b612f..11f14b6 100644
--- a/drivers/media/radio/si470x/radio-si470x.h
+++ b/drivers/media/radio/si470x/radio-si470x.h
@@ -87,7 +87,7 @@
 
 #define SYSCONFIG2 5   /* System Configuration 2 */
 #define SYSCONFIG2_SEEKTH  0xff00  /* bits 15..08: RSSI Seek Threshold */
-#define SYSCONFIG2_BAND0x0080  /* bits 07..06: Band Select */
+#define SYSCONFIG2_BAND0x00c0  /* bits 07..06: Band Select */
 #define SYSCONFIG2_SPACE   0x0030  /* bits 05..04: Channel Spacing */
 #define SYSCONFIG2_VOLUME  0x000f  /* bits 03..00: Volume */
 
-- 
1.7.10.4

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


[PATCH 3/5] radio-si470x: restore ctrl settings after suspend/resume

2012-07-12 Thread Hans de Goede
Signed-off-by: Hans de Goede hdego...@redhat.com
---
 drivers/media/radio/si470x/radio-si470x-usb.c |7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/media/radio/si470x/radio-si470x-usb.c 
b/drivers/media/radio/si470x/radio-si470x-usb.c
index 40b963c..0204cf4 100644
--- a/drivers/media/radio/si470x/radio-si470x-usb.c
+++ b/drivers/media/radio/si470x/radio-si470x-usb.c
@@ -792,11 +792,16 @@ static int si470x_usb_driver_suspend(struct usb_interface 
*intf,
 static int si470x_usb_driver_resume(struct usb_interface *intf)
 {
struct si470x_device *radio = usb_get_intfdata(intf);
+   int ret;
 
dev_info(intf-dev, resuming now...\n);
 
/* start radio */
-   return si470x_start_usb(radio);
+   ret = si470x_start_usb(radio);
+   if (ret == 0)
+   v4l2_ctrl_handler_setup(radio-hdl);
+
+   return ret;
 }
 
 
-- 
1.7.10.4

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


[PATCH 5/5] radio-si470x: Add support for the new band APIs

2012-07-12 Thread Hans de Goede
Signed-off-by: Hans de Goede hdego...@redhat.com
---
 drivers/media/radio/si470x/radio-si470x-common.c |  215 +-
 drivers/media/radio/si470x/radio-si470x-i2c.c|1 +
 drivers/media/radio/si470x/radio-si470x-usb.c|1 +
 drivers/media/radio/si470x/radio-si470x.h|1 +
 4 files changed, 126 insertions(+), 92 deletions(-)

diff --git a/drivers/media/radio/si470x/radio-si470x-common.c 
b/drivers/media/radio/si470x/radio-si470x-common.c
index 84ab3d57..9e38132 100644
--- a/drivers/media/radio/si470x/radio-si470x-common.c
+++ b/drivers/media/radio/si470x/radio-si470x-common.c
@@ -4,6 +4,7 @@
  *  Driver for radios with Silicon Labs Si470x FM Radio Receivers
  *
  *  Copyright (c) 2009 Tobias Lorenz tobias.lor...@gmx.net
+ *  Copyright (c) 2012 Hans de Goede hdego...@redhat.com
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -127,14 +128,6 @@ static unsigned short space = 2;
 module_param(space, ushort, 0444);
 MODULE_PARM_DESC(space, Spacing: 0=200kHz 1=100kHz *2=50kHz*);
 
-/* Bottom of Band (MHz) */
-/* 0: 87.5 - 108 MHz (USA, Europe)*/
-/* 1: 76   - 108 MHz (Japan wide band) */
-/* 2: 76   -  90 MHz (Japan) */
-static unsigned short band = 1;
-module_param(band, ushort, 0444);
-MODULE_PARM_DESC(band, Band: 0=87.5..108MHz *1=76..108MHz* 2=76..90MHz);
-
 /* De-emphasis */
 /* 0: 75 us (USA) */
 /* 1: 50 us (Europe, Australia, Japan) */
@@ -152,13 +145,61 @@ static unsigned int seek_timeout = 5000;
 module_param(seek_timeout, uint, 0644);
 MODULE_PARM_DESC(seek_timeout, Seek timeout: *5000*);
 
-
+static const struct v4l2_frequency_band bands[] = {
+   {
+   .type = V4L2_TUNER_RADIO,
+   .index = 0,
+   .capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO |
+   V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO |
+   V4L2_TUNER_CAP_HWSEEK_BOUNDED |
+   V4L2_TUNER_CAP_HWSEEK_WRAP,
+   .rangelow   =  87500 * 16,
+   .rangehigh  = 108000 * 16,
+   .modulation = V4L2_BAND_MODULATION_FM,
+   },
+   {
+   .type = V4L2_TUNER_RADIO,
+   .index = 1,
+   .capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO |
+   V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO |
+   V4L2_TUNER_CAP_HWSEEK_BOUNDED |
+   V4L2_TUNER_CAP_HWSEEK_WRAP,
+   .rangelow   =  76000 * 16,
+   .rangehigh  = 108000 * 16,
+   .modulation = V4L2_BAND_MODULATION_FM,
+   },
+   {
+   .type = V4L2_TUNER_RADIO,
+   .index = 2,
+   .capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO |
+   V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO |
+   V4L2_TUNER_CAP_HWSEEK_BOUNDED |
+   V4L2_TUNER_CAP_HWSEEK_WRAP,
+   .rangelow   =  76000 * 16,
+   .rangehigh  =  9 * 16,
+   .modulation = V4L2_BAND_MODULATION_FM,
+   },
+};
 
 /**
  * Generic Functions
  **/
 
 /*
+ * si470x_set_band - set the band
+ */
+static int si470x_set_band(struct si470x_device *radio, int band)
+{
+   if (radio-band == band)
+   return 0;
+
+   radio-band = band;
+   radio-registers[SYSCONFIG2] = ~SYSCONFIG2_BAND;
+   radio-registers[SYSCONFIG2] |= radio-band  6;
+   return si470x_set_register(radio, SYSCONFIG2);
+}
+
+/*
  * si470x_set_chan - set the channel
  */
 static int si470x_set_chan(struct si470x_device *radio, unsigned short chan)
@@ -194,48 +235,39 @@ done:
return retval;
 }
 
-
 /*
- * si470x_get_freq - get the frequency
+ * si470x_get_step - get channel spacing
  */
-static int si470x_get_freq(struct si470x_device *radio, unsigned int *freq)
+static unsigned int si470x_get_step(struct si470x_device *radio)
 {
-   unsigned int spacing, band_bottom;
-   unsigned short chan;
-   int retval;
-
/* Spacing (kHz) */
switch ((radio-registers[SYSCONFIG2]  SYSCONFIG2_SPACE)  4) {
/* 0: 200 kHz (USA, Australia) */
case 0:
-   spacing = 0.200 * FREQ_MUL; break;
+   return 200 * 16;
/* 1: 100 kHz (Europe, Japan) */
case 1:
-   spacing = 0.100 * FREQ_MUL; break;
+   return 100 * 16;
/* 2:  50 kHz */
default:
-   spacing = 0.050 * FREQ_MUL; break;
+   return 50 * 16;
};
+}
 
-   /* Bottom of Band (MHz) */
-   switch ((radio-registers[SYSCONFIG2]  SYSCONFIG2_BAND)  6) {
-   /* 0: 87.5 - 108 MHz (USA, Europe) */
-   case 0:
-   

Re: [Ksummit-2012-discuss] Media system Summit

2012-07-12 Thread Guennadi Liakhovetski
On Thu, 12 Jul 2012, Hans Verkuil wrote:

 On Thu July 12 2012 18:48:23 Olof Johansson wrote:
  On Thu, Jul 12, 2012 at 9:18 AM, Mark Brown
  broo...@opensource.wolfsonmicro.com wrote:
   On Thu, Jul 12, 2012 at 10:08:04AM +0200, Sylwester Nawrocki wrote:
  
   I'd like to add a Common device tree bindings for media devices topic 
   to
   the agenda for consideration.
  
   It'd be nice to get this to join up with ASoC...
  
  
  There's a handful of various subsystems that have similar topics,
  maybe slice it the other way and do a device-tree/ACPI breakout that
  cuts across the various areas instead?
  
  Communication really needs to be two-way: Crafting good bindings for a
  complex piece of hardware isn't trivial and having someone know both
  the subsystem and device tree principles is rare. At least getting all
  those people into the same room would be good.
 
 I'm not so sure: I think that most decisions that need to be made are
 quite subsystem specific. Trying to figure out how to implement DT for
 multiple subsystems in one workshop seems unlikely to succeed, simply
 because of lack of time. I also don't think there is much overlap between
 subsystems in this respect, so while the DT implementation for one subsystem
 is discussed, the representatives of other subsystems are twiddling their
 thumbs.
 
 It might be more productive to have one or two DT experts around who
 rotate over the various workshops that have to deal with the DT and can
 offer advice.

I'm sure everyone has seen this, but just to have it mentioned here:

a 
href=http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/50755;
shameless self-advertisement/a

I'm not sure whether the overlap with other subsystems is large or not, 
but there definitely is some, also with video (fbdev / drm), e.g., 
http://thread.gmane.org/gmane.linux.drivers.devicetree/17495

As for whether or not discuss DT for various subsystems together - why not 
do both? First short sessions in each subsystems, of course, this would 
only work if proposals have been prepared beforehand and at least 
preliminary discussions on the MLs have taken place, and then another 
(also short) combined session? Of course, it also depends on how much time 
we can and want to dedicate to this.

Thanks
Guennadi

 Regards,
 
   Hans
 
  
  There's obvious overlap with ARM here as well, since it's one of the
  current big pushers of DT use, but I think it would be better to hold
  this as a separate breakout from that.
  
  
  -Olof
  --
  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
 

---
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: GPIO interface between DVB sub-drivers (bridge, demod, tuner)

2012-07-12 Thread Steven Toth
Resend in plaintext, it got bounced from vger.

On Thu, Jul 12, 2012 at 4:49 PM, Steven Toth st...@kernellabs.com wrote:

 Is there anyone who could say straight now what is best approach and
 where to look example?


 I don't have an answer but the topic does interest me. :)

 Nobody understands the relationship between the bridge and the
 sub-component as well as the bridge driver. The current interfaces are
 limiting in many ways. We solve that today with rather ugly 'attach'
 structures that are inflexible, for example to set gpios to a default state.
 Then, once that interface is attached, the bridge effectively loses most of
 the control to the tuner and/or demod. The result is a large disconnect
 between the bridge and subcomponents.

 Why limit any interface extension to GPIOs? Why not make something a
 little more flexible so we can pass custom messages around?

 get(int parm, *value) and set(int parm, value)

 Bridges and demods can define whatever parmid's they like in their attach
 headers. (Like we do for callbacks currently).

 For example, some tuners have temperature sensors, I have no ability to
 read that today from the bridge, other than via I2C - then I'm pulling i2c
 device specific logic into the bridge. :(

 It would be nice to be able to demod/tunerptr-get(XC5000_PARAM_TEMP,
 value), for example.

 Get/Set I/F is a bit of a classic, between tuners and video decoders. This
 (at least a while ago) was poorly handled, or not at all. Only the bridge
 really knows how to deal with odd component configurations like this, yet it
 has little or no control.

 I'd want to see a list of 4 or 5 good get/set use cases though, with some
 unusual parms, before I'd really believe a generic get/set is more
 appropriate than a strongly typed set of additional function pointers.

 What did you ever decide about the enable/disable of the LNA? And, how
 would the bridge do that in your proposed solution? Via the proposed GPIO
 interface?

 Regards,

 --
 Steven Toth - Kernel Labs
 http://www.kernellabs.com
 +1.646.355.8490
--
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 v4] media: Add stk1160 new driver

2012-07-12 Thread Ezequiel Garcia
Hans,

On Tue, Jul 10, 2012 at 3:39 AM, Hans Verkuil hverk...@xs4all.nl wrote:

 Take a look at the latest videobuf2-core.h: I've added helper functions
 that check the owner. You can probably simplify the driver code quite a bit
 by using those helpers.


Indeed, using latest vb2_xxx_fop and vb2_ioctl_xxx the driver can be
heavily reduced.
(Great work, by the way)

Almost every function looks like a direct replacement, except for mmap.

If you look at current stk1160, I'm taking the lock for mmap:

mutex_lock(dev-v4l_lock);
rc = vb2_mmap(dev-vb_vidq, vma);
mutex_unlock(dev-v4l_lock);


However, vb2_fop_mmap does no locking. I'm having a hard time understanding
why this is not needed, perhaps you could clarify this a bit?

Thanks,
Ezequiel.
--
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: GPIO interface between DVB sub-drivers (bridge, demod, tuner)

2012-07-12 Thread Antti Palosaari

On 07/13/2012 12:07 AM, Steven Toth wrote:

Resend in plaintext, it got bounced from vger.

On Thu, Jul 12, 2012 at 4:49 PM, Steven Toth st...@kernellabs.com wrote:


Is there anyone who could say straight now what is best approach and
where to look example?



I don't have an answer but the topic does interest me. :)

Nobody understands the relationship between the bridge and the
sub-component as well as the bridge driver. The current interfaces are
limiting in many ways. We solve that today with rather ugly 'attach'
structures that are inflexible, for example to set gpios to a default state.
Then, once that interface is attached, the bridge effectively loses most of
the control to the tuner and/or demod. The result is a large disconnect
between the bridge and subcomponents.


I agree that mostly. For example that GPIO. It fits very poorly for 
interfaces that are highly given hardware design dependent like GPIOs. 
You can code logic like GPIO0 is LED, GPIO0 is tuner reset, GPIO0 is LNA 
and then set that logic in attach(). Due to that I am looking for better 
alternative.



Why limit any interface extension to GPIOs? Why not make something a
little more flexible so we can pass custom messages around?

get(int parm, *value) and set(int parm, value)

Bridges and demods can define whatever parmid's they like in their attach
headers. (Like we do for callbacks currently).

For example, some tuners have temperature sensors, I have no ability to
read that today from the bridge, other than via I2C - then I'm pulling i2c
device specific logic into the bridge. :(


Yes! indeed, it is only possibly just like you said. Fortunately this 
kind of properties are not very common. Temperature is offered by many 
tuners, but there is no much need for that info in bridge. Maybe force 
sleep or switch powers totally off by using GPIO to prevent overheat.



It would be nice to be able to demod/tunerptr-get(XC5000_PARAM_TEMP,
value), for example.

Get/Set I/F is a bit of a classic, between tuners and video decoders. This
(at least a while ago) was poorly handled, or not at all. Only the bridge
really knows how to deal with odd component configurations like this, yet it
has little or no control.


IF information is now set tuner on attach() and then tuner delivers that 
info to demodulator via .get_if_frequency() which is member of tuner 
ops. Technically that solution works. If hardware design based IFs are 
not given as parameter on tuner attach() tuner should use tuner default 
IFs which are likely quite correct.



I'd want to see a list of 4 or 5 good get/set use cases though, with some
unusual parms, before I'd really believe a generic get/set is more
appropriate than a strongly typed set of additional function pointers.


Generally speaking for that set/get, I sent mail about ~same issue 
yesterday.

http://www.spinics.net/lists/linux-media/msg50202.html

There is set_property() and get_property() callbacks defined for FE 
already. But those are not used. My opinion is that those callbacks 
should be changed to deliver data for demodulator and for tuner too 
instead of current method - which is common huge properties cache 
structure shared between all sub-drivers. I don't like it all as it is 
stupid to add stuff that common structure for every standard we has. 
Lets take example device that supports DVB-C and other device supports 
ISDB-T. How many common parameters we has? I think only one - frequency. 
All the others are just waste.


What I think I am going to make new RFC which changes that so every 
parameter from userspace is passed to the demodulator driver (using 
set_property() - change it current functionality) and not cached to the 
common cache at all. Shortly: change current common cache based 
parameter transmission to happen set parameter to demodulator one by one.



What did you ever decide about the enable/disable of the LNA? And, how
would the bridge do that in your proposed solution? Via the proposed GPIO
interface?


I sent PATCH RFC for DVB API to add LNA support yesterday. It is new API 
parameter. User could select ON/OFF/AUTO and on AUTO mode driver should 
make decision, likely taking signal measurements etc.
New callback is added for frontend. If bridge likes to handle LNA it 
sets that callback in order to get user requests. When bridge gets that 
set_lna() callback it examines what user request and likely sets GPIOs.


regards
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


Device-tree cross-subsystem binding workshop [was Media system Summit]

2012-07-12 Thread Olof Johansson
On Thu, Jul 12, 2012 at 12:03 PM, Hans Verkuil hverk...@xs4all.nl wrote:
 On Thu July 12 2012 18:48:23 Olof Johansson wrote:
 On Thu, Jul 12, 2012 at 9:18 AM, Mark Brown
 broo...@opensource.wolfsonmicro.com wrote:
  On Thu, Jul 12, 2012 at 10:08:04AM +0200, Sylwester Nawrocki wrote:
 
  I'd like to add a Common device tree bindings for media devices topic to
  the agenda for consideration.
 
  It'd be nice to get this to join up with ASoC...


 There's a handful of various subsystems that have similar topics,
 maybe slice it the other way and do a device-tree/ACPI breakout that
 cuts across the various areas instead?

 Communication really needs to be two-way: Crafting good bindings for a
 complex piece of hardware isn't trivial and having someone know both
 the subsystem and device tree principles is rare. At least getting all
 those people into the same room would be good.

 I'm not so sure: I think that most decisions that need to be made are
 quite subsystem specific. Trying to figure out how to implement DT for
 multiple subsystems in one workshop seems unlikely to succeed, simply
 because of lack of time. I also don't think there is much overlap between
 subsystems in this respect, so while the DT implementation for one subsystem
 is discussed, the representatives of other subsystems are twiddling their
 thumbs.

 It might be more productive to have one or two DT experts around who
 rotate over the various workshops that have to deal with the DT and can
 offer advice.

One of the real problems right now is the lack of DT reviewers and
general reviewer fatigue. In particular, many of the proposed bindings
tend to have the same issues (focusing too much on how the
platform_data is structured today and not on what the hardware
actually is), and a few other similar things.

Based on that I don't think it's a better solution to have the same
few people walk from room to room to cover the same thing multiple
times. No one has to sit there the whole day and listen on it all, but
for those who are genuinely interested in how other subsystems will
handle these bindings, I think it would be very useful to learn from
how they made their decisions. Don't work in a vacuum, etc.

So, I'd like to formally propose this as a mini-summit or workshop or
whatever you might want to call it. I can help organize it together
with Rob and Grant if needed (especially since Grant has a lot of
other things going on at the moment).

If there's insufficent interest to do this as a separate event we can
try to accomodate for it as part of the ARM mini-summit, but squeezing
all of that in with the rest of the ARM activities in one day will be
hard.


-Olof
--
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] Use a named union in struct v4l2_ioctl_info

2012-07-12 Thread Stephen Rothwell
Hi Hans,

On Thu, 12 Jul 2012 18:06:24 +0200 Hans Verkuil hverk...@xs4all.nl wrote:

 struct v4l2_ioctl_info uses an anonymous union, which is initialized
 in the v4l2_ioctls table.
 
 Unfortunately gcc  4.6 uses a non-standard syntax for that, so trying to
 compile v4l2-ioctl.c with an older gcc will fail.
 
 It is possible to work around this by testing the gcc version, but in this
 case it is easier to make the union named since it is used in only a few
 places.
 
 Randy, Stephen, this patch should solve the v4l2-ioctl.c compilation problem
 in linux-next. Since Mauro is still on holiday you'll have to apply it 
 manually.

I have added this as a merge fix for today.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au


pgpSuVrtLAYNM.pgp
Description: PGP signature


Re: [Ksummit-2012-discuss] Media system Summit

2012-07-12 Thread Olof Johansson
On Thu, Jul 12, 2012 at 2:05 PM, Guennadi Liakhovetski
g.liakhovet...@gmx.de wrote:
 On Thu, 12 Jul 2012, Hans Verkuil wrote:

 On Thu July 12 2012 18:48:23 Olof Johansson wrote:
  On Thu, Jul 12, 2012 at 9:18 AM, Mark Brown
  broo...@opensource.wolfsonmicro.com wrote:
   On Thu, Jul 12, 2012 at 10:08:04AM +0200, Sylwester Nawrocki wrote:
  
   I'd like to add a Common device tree bindings for media devices topic 
   to
   the agenda for consideration.
  
   It'd be nice to get this to join up with ASoC...
 
 
  There's a handful of various subsystems that have similar topics,
  maybe slice it the other way and do a device-tree/ACPI breakout that
  cuts across the various areas instead?
 
  Communication really needs to be two-way: Crafting good bindings for a
  complex piece of hardware isn't trivial and having someone know both
  the subsystem and device tree principles is rare. At least getting all
  those people into the same room would be good.

 I'm not so sure: I think that most decisions that need to be made are
 quite subsystem specific. Trying to figure out how to implement DT for
 multiple subsystems in one workshop seems unlikely to succeed, simply
 because of lack of time. I also don't think there is much overlap between
 subsystems in this respect, so while the DT implementation for one subsystem
 is discussed, the representatives of other subsystems are twiddling their
 thumbs.

 It might be more productive to have one or two DT experts around who
 rotate over the various workshops that have to deal with the DT and can
 offer advice.

 I'm sure everyone has seen this, but just to have it mentioned here:

 a
 href=http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/50755;
 shameless self-advertisement/a

I hadn't seen it, since you didn't cc devicetree-discuss. Well, I'm
also generally behind on list email right now since I am travelling
but I couldn't find it in any list folder I subscribe to.

 As for whether or not discuss DT for various subsystems together - why not
 do both? First short sessions in each subsystems, of course, this would
 only work if proposals have been prepared beforehand and at least
 preliminary discussions on the MLs have taken place, and then another
 (also short) combined session? Of course, it also depends on how much time
 we can and want to dedicate to this.

The agenda for such a day should probably be partially broken down per
subsystem, yes, and it would make sense for people from the various
areas to describe the kind of setup that they need to be able to
define, similar to how you did in your writeup above.

In some cases it would be a matter of in-person
review/discussion/arguments of already proposed bindings, in other
cases it would probably be a seeding discussion for upcoming bindings
instead. Having the latter piggy-back on hearing what's discussed with
the former category would likely be a good idea.


-Olof
--
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: OMAP4 support

2012-07-12 Thread Sergio Aguirre
Hi Gary,

On Tue, Jul 10, 2012 at 2:31 PM, Gary Thomas g...@mlbassoc.com wrote:
 On 2012-07-10 11:05, Chris Lalancette wrote:

 On Tue, Jul 10, 2012 at 9:41 AM, Gary Thomas g...@mlbassoc.com wrote:

 I'm looking for video support on OMAP4 platforms.  I've found the
 PandaBoard camera project
 (http://www.omappedia.org/wiki/PandaBoard_Camera_Support)
 and this is starting to work.  That said, I'm having some
 issues with setting up the pipeline, etc.

 Can this list help out?


 I'm not sure exactly what kind of cameras you want to get working, but
 if you are looking to get CSI2 cameras going through the ISS, Sergio
 Aguirre has been working on support.  He also works on the media-ctl
 tool, which is used for configuring the media framework pipeline.  The
 latest versions that I am aware of are here:

 git://gitorious.org/omap4-v4l2-camera/omap4-v4l2-camera.git


 Yes, this is the tree I've been working with (pointed to by the page I
 mentioned).

 My kernel can see the camera OV5650 and set up the pipeline.  I am able to
 grab
 the raw SGRBG10 data but I'd like to get the ISS to convert this to a more
 usable
 UYVY format.  Here's what I tried:
   media-ctl -r
   media-ctl -l 'OMAP4 ISS CSI2a:1 - OMAP4 ISS ISP IPIPEIF:0 [1]'
   media-ctl -l 'OMAP4 ISS ISP IPIPEIF:1 - OMAP4 ISS ISP IPIPEIF
 output:0 [1]'
   media-ctl -f 'ov5650 3-0036:0 [SGRBG10 2592x1944]'
   media-ctl -f 'OMAP4 ISS CSI2a:0 [SGRBG10 2592x1944]'
   media-ctl -f 'OMAP4 ISS ISP IPIPEIF:0 [SGRBG10 2592x1944]','OMAP4 ISS
 ISP IPIPEIF:1 [UYVY 2592x1944]'

 Sadly, I can't get the IPIPEIF element to take SGRGB10 in and put UYVY out
 (my reading
 of the manual implies that this _should_ be possible).  I always see this
 pipeline setup:
 - entity 5: OMAP4 ISS ISP IPIPEIF (3 pads, 4 links)
 type V4L2 subdev subtype Unknown
 device node name /dev/v4l-subdev2
 pad0: Input [SGRBG10 2592x1944]
 - 'OMAP4 ISS CSI2a':pad1 [ACTIVE]
 - 'OMAP4 ISS CSI2b':pad1 []
 pad1: Output [SGRBG10 2592x1944]
 - 'OMAP4 ISS ISP IPIPEIF output':pad0 [ACTIVE]
 pad2: Output [SGRBG10 2592x1944]
 - 'OMAP4 ISS ISP resizer':pad0 []

 Am I missing something?  How can I make this conversion in the ISS?

The core problem is that, i haven't published any support for
RAW10-YUV conversion,
which is part of the IPIPE module (not the IPIPEIF, like you mention). I had
some patches, but sadly it is unfinished work. :/

Now, there's a main non-technical problem... I no longer work at TI
since end of June
this year, and I don't have the right HW setup available anymore.
Those sensors were
company's asset, and I couldn't keep any.

Now, we can make this work with cooperation of someone who has the right setup,
and me sharing my patches and some advice on my experience.

What do you think?


 Note: if this is not the appropriate place to ask these questions, please
 redirect me (hopefully to a useful list :-)

As I'm the main person who has been actively developing this, I'm your
guy to ask questions :).

By the way, this development has been my initiative the whole time,
and not an official
TI objective, so, to be honest, asking TI for official support won't
help much right now.

Regards,
Sergio



 Thanks

 --
 
 Gary Thomas |  Consulting for the
 MLB Associates  |Embedded world
 


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


Getting a webcam to work

2012-07-12 Thread Alex King

It's labelled V-Gear TalkCamPro

from lsusb:

Bus 001 Device 012: ID eb1a:2711 eMPIA Technology, Inc.

and:

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/5p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/7p, 480M
|__ Port 1: Dev 12, If 0, Class=vend., Driver=, 480M
|__ Port 1: Dev 12, If 1, Class=audio, Driver=snd-usb-audio, 480M
|__ Port 1: Dev 12, If 2, Class=audio, Driver=snd-usb-audio, 480M

It looks like the audio part is recognised, but the video not.

I see in 
http://lxr.linux.no/linux+*/drivers/media/video/em28xx/em28xx-cards.c 
that product ids 2710, 2750 and 2751 are recognised by the driver, but 
not 2711.


I'm tempted to add it as a  EM2800_BOARD_UNKNOWN and see if it works.

Is there some methodology I should follow to get a new webcam to work?

Thanks,
Alex

PS. I'm not subscribed.
--
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: Device-tree cross-subsystem binding workshop [was Media system Summit]

2012-07-12 Thread Rob Herring
On 07/12/2012 08:20 PM, Olof Johansson wrote:
 On Thu, Jul 12, 2012 at 12:03 PM, Hans Verkuil hverk...@xs4all.nl wrote:
 On Thu July 12 2012 18:48:23 Olof Johansson wrote:
 On Thu, Jul 12, 2012 at 9:18 AM, Mark Brown
 broo...@opensource.wolfsonmicro.com wrote:
 On Thu, Jul 12, 2012 at 10:08:04AM +0200, Sylwester Nawrocki wrote:

 I'd like to add a Common device tree bindings for media devices topic to
 the agenda for consideration.

 It'd be nice to get this to join up with ASoC...


 There's a handful of various subsystems that have similar topics,
 maybe slice it the other way and do a device-tree/ACPI breakout that
 cuts across the various areas instead?

 Communication really needs to be two-way: Crafting good bindings for a
 complex piece of hardware isn't trivial and having someone know both
 the subsystem and device tree principles is rare. At least getting all
 those people into the same room would be good.

 I'm not so sure: I think that most decisions that need to be made are
 quite subsystem specific. Trying to figure out how to implement DT for
 multiple subsystems in one workshop seems unlikely to succeed, simply
 because of lack of time. I also don't think there is much overlap between
 subsystems in this respect, so while the DT implementation for one subsystem
 is discussed, the representatives of other subsystems are twiddling their
 thumbs.

 It might be more productive to have one or two DT experts around who
 rotate over the various workshops that have to deal with the DT and can
 offer advice.
 
 One of the real problems right now is the lack of DT reviewers and
 general reviewer fatigue. In particular, many of the proposed bindings
 tend to have the same issues (focusing too much on how the
 platform_data is structured today and not on what the hardware
 actually is), and a few other similar things.

Agreed. It's hard to review things spanning across all subsystems and
define something which works well across platforms. Often within a
single subsystem we repeat things as platforms one by one convert to DT.
On the other hand, I guess re-occurring review issues is a common
problem across the kernel.

Perhaps part of the issue is we're trying to put too much into DT?

It's unfortunate that other than the recovering PPC developers now
working on ARM, there has not been a lot of review from folks that have
worked with DT for a bit longer.

 Based on that I don't think it's a better solution to have the same
 few people walk from room to room to cover the same thing multiple
 times. No one has to sit there the whole day and listen on it all, but
 for those who are genuinely interested in how other subsystems will
 handle these bindings, I think it would be very useful to learn from
 how they made their decisions. Don't work in a vacuum, etc.
 
 So, I'd like to formally propose this as a mini-summit or workshop or
 whatever you might want to call it. I can help organize it together
 with Rob and Grant if needed (especially since Grant has a lot of
 other things going on at the moment).
 
 If there's insufficent interest to do this as a separate event we can
 try to accomodate for it as part of the ARM mini-summit, but squeezing
 all of that in with the rest of the ARM activities in one day will be
 hard.

I happy to help organize it. I think keeping it separate from ARM
mini-summit is better otherwise we may end up with somewhat the same
group of ARM developers as past DT discussions.

Rob

 
 -Olof
 

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