Re: Upgrading from FC4 to current Linux

2009-10-02 Thread Devin Heitmueller
On Fri, Oct 2, 2009 at 11:24 PM, Jarod Wilson  wrote:
>> (Non-emulated) OSS was ditched by the linux kernel folks long ago.  And
>> I thought xawtv and tvtime were abandon-ware.
>
> Yeah, seems that way. Though Devin's been talking about maybe starting up a
> new tvtime maintenance tree, which Fedora would be happy to contribute to
> and track... (nudge, nudge, Devin ;)

Yeah, I started working on it when I was at the Plumbers Conference,
but haven't wanted to commit to it publicly until I had something
working, mainly because it's a project I'm working on in the
background (and I've already got three or four such projects).  And
like most stuff I'm working on, progress can always be sped up
considerably if a commercial party comes along and decides its worth
sponsoring (but the converse applies as well - progress slows down on
background items when I'm working on other sponsored work).

In the worst case, tvtime is my target use case for the part of the
Media Controller framework that allows you to associate video streams
with ALSA and VBI devices, so it *will* get done eventually.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: saa716x compiling problem

2009-10-02 Thread VDR User
On Fri, Oct 2, 2009 at 1:11 PM, Beepo / Vanguard  wrote:
> Hi,
>
> You could try http://mercurial.intuxication.org/hg/s2-liplianin

To my knowledge there is no working saa716x driver and I certainly
wouldn't expect one from that s2-liplianin tree if jusst.de doesn't
have a proper one yet since that's the real dev tree.
--
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] i2c_board_info can be local

2009-10-02 Thread Jarod Wilson

On Oct 2, 2009, at 4:47 AM, Jean Delvare  wrote:


Recent fixes to the em28xx and saa7134 drivers have been overzealous.
While the ir-kbd-i2c platform data indeed needs to be persistent, the
struct i2c_board_info doesn't, as it is only used by i2c_new_device().

So revert a part of the original fixes, to save some memory.

Signed-off-by: Jean Delvare 
Cc: Mauro Carvalho Chehab 


Yeah, good call.

Acked-by: Jarod Wilson 

--
Jarod Wilson
ja...@wilsonet.com

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


Re: Upgrading from FC4 to current Linux

2009-10-02 Thread Jarod Wilson

On Oct 2, 2009, at 4:14 PM, Andy Walls wrote:

Video used to be easy, plug in the capture device, install xawtv  
via rpm, and
use. However, recent versions of Fedora simply don't work, even on  
the same
hardware, due to /dev/dsp no longer being created and the  
applications like

xawtv or tvtime still looking for it.


(Non-emulated) OSS was ditched by the linux kernel folks long ago.   
And

I thought xawtv and tvtime were abandon-ware.


Yeah, seems that way. Though Devin's been talking about maybe starting  
up a new tvtime maintenance tree, which Fedora would be happy to  
contribute to and track... (nudge, nudge, Devin ;)


The people who will be using this are looking for hardware which is  
still made
and sold new, and software which can be installed by a support  
person who can

plug in cards (PCI preferred) or USB devices, and install rpms.


rpmfusion, ATrpms, and I even think Fedora have MythTV available now.
mplayer is probably also available from 2 of those 3 resources.


MythTV and mplayer are both only in RPM Fusion and ATrpms. Both rely  
on ffmpeg, which is no-go for Fedora itself.



For any open source software that implements video and audio decoders,
you will need to investigate if you must pay someone licensing fees to
use the decoders you need to meet your usage requirements.  Fedora  
has a

mechanism in place by which you can pay for the non-free codecs, IIRC.


Sort of. If you're using something gstreamer-based (like totem).  
Fedora used to have codeina (formerly codec-buddy) that would point  
you at Fluendo's site for some gstreamer codec plugins you  could buy.  
The current world order is PackageKit with a codec plugin that tries  
to find a plugin that provides the codec in your configured yum repos.  
Can't recall if it points at Fluendo if nothing is found...



--
Jarod Wilson
ja...@wilsonet.com




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


Re: IR device at I2C address 0x7a

2009-10-02 Thread Jarod Wilson

On Oct 2, 2009, at 4:20 PM, hermann pitton wrote:


Am Freitag, den 02.10.2009, 13:47 +0200 schrieb Jean Delvare:



...
While investigating another issue, I have noticed the following  
message

in the kernel logs of a saa7134 user:

i2c-adapter i2c-0: Invalid 7-bit address 0x7a

The address in question is attempted by an IR device probe, and is  
only
probed on SAA7134 adapters. The problem with this address is that  
it is

reserved by the I2C specification for 10-bit addressing, and is thus
not a valid 7-bit address. Before the conversion of ir-kbd-i2c to the
new-style i2c device driver binding model, device probing was done by
ir-kbd-i2c itself so no check was done by i2c-core for address
validity. But since kernel 2.6.31, probing at address 0x7a will be
denied by i2c-core.

So, SAA7134 adapters with an IR device at 0x7a are currently broken.
Do we know how many devices use this address for IR and which they
are? Tracking the changes in the source code, this address was added
in kernel 2.6.8 by Gerd Knorr:
 
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=581f0d1a0ded3e3d4408e5bb7f81b9ee221f6b7a
So this would be used by the "Upmost Purple TV" adapter. Question is,
are there other?


Yes, currently 0x7a is only used by the Upmost Purple TV (Yuan  
Tun800).


Here are some more details.
http://archives.devshed.com/forums/linux-97/troubles-with-yuan-tun900-board-detected-as-upmost-purple-tv-1283673.html

Support for the card and the i2c remote was added by Wang-Chan Chen.

For testers it is useful to know that the card is still not fully
supported.

It has a NEC D64083GF video enhancer converting TV baseband video from
tuner to S-Video and shares the vmux = 7 with the S-Video input.

By default it comes up in external S-Video input mode.
There is a Pericom videomux on it and we don't know how to switch it.

Chen used to boot at first windows, switched there to tuner input and
rebooted to GNU/Linux ...


Some web research has pointed me to the Yuan TUN-900:
 http://www.linuxtv.org/pipermail/linux-dvb/2008-January/023405.html
but it isn't clear to me whether the device at 0x7a on this adapter  
is

the same as the one on the Purple TV. And saa7134-cards says of the
TUN-900: "Remote control not yet implemented" so maybe we can just
ignore it for now.


Yes, that card has a device at 0xf4/0x7a too.
I asked to test the remote with the Upmost Purple TV entry, but never
got a reply. As we know these days, radio amux is wrong too on Yuan
TUN900 card=66.

Last contact to Chen was four years back, but he confirmed that both
cards have the same PCI subsystem. Some bytes in the eeprom, meaning
unknown, are different, though.


If we have to, I could make i2c-core more permissive, but I am rather
reluctant to letting invalid addressed being probed, because you  
never
know how complying chips on the I2C bus will react. I am OK  
supporting
invalid addresses if they really exist out there, but the impact  
should

be limited to the hardware in question.

If we only have to care about the Upmost Purple TV, then the  
following

patch should solve the problem:


For what is known so far.

Acked-by: hermann pitton 


Seems like a sane thing to do to me too, and I've not seen nor heard  
of any other devices that use 0x7a. (Hell, I wasn't even aware of  
these ones 'til now).


Acked-by: Jarod Wilson 


--
Jarod Wilson
ja...@wilsonet.com




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


Re: Skipping commercials?

2009-10-02 Thread Jarod Wilson

On Oct 2, 2009, at 9:44 PM, Mikhail Ramendik wrote:


Hello,

I would like to skip commercials in my dvb recordings.

I know mythtv has some methods but I don't really want the hassle of
mythtv setup and use. It is relatively early stage software


Um. If you say so. Been happily using it for over six years now...


and
besides, I prefer to have a normal window-based UI. I use kaffeine and
except for absence of commercial skipping, like it.

Ideally I would want a program to run on an already existing
recording, to mark or cut out ads.

A Windows program, comskip, exists. It is closed source and its
configuration seems opaque. I will still try it under wine, but
perhaps there is a better way?


MythTV is open-source. Look at the code specific to the mythcommflag  
binary. Adapt it for stand-alone use. It wouldn't even have to do the  
actual cutting, just output a cutlist something like gopchop, avidemux  
or similar could use to set cut points.


--
Jarod Wilson
ja...@wilsonet.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


Skipping commercials?

2009-10-02 Thread Mikhail Ramendik
Hello,

I would like to skip commercials in my dvb recordings.

I know mythtv has some methods but I don't really want the hassle of
mythtv setup and use. It is relatively early stage software and
besides, I prefer to have a normal window-based UI. I use kaffeine and
except for absence of commercial skipping, like it.

Ideally I would want a program to run on an already existing
recording, to mark or cut out ads.

A Windows program, comskip, exists. It is closed source and its
configuration seems opaque. I will still try it under wine, but
perhaps there is a better way?

-- 
Yours, Mikhail Ramendik
--
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: pxa_camera + mt9m1111: Failed to configure for format 50323234

2009-10-02 Thread Guennadi Liakhovetski
On Fri, 2 Oct 2009, Antonio Ospite wrote:

> Hi,
> 
> after updating to 2.6.32-rc2 I can't capture anymore with the setup in the
> subject.

Indeed:-( Please, verify, that this patch fixes your problem (completely 
untested), if it does, I'll push it for 2.6.32:

pxa_camera: fix camera pixel format configuration

A typo prevents correct picel format negotiation with client drivers.

Signed-off-by: Guennadi Liakhovetski 
---
diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c
index 6952e96..aa831d5 100644
--- a/drivers/media/video/pxa_camera.c
+++ b/drivers/media/video/pxa_camera.c
@@ -1432,7 +1432,9 @@ static int pxa_camera_set_fmt(struct soc_camera_device 
*icd,
icd->sense = &sense;
 
cam_f.fmt.pix.pixelformat = cam_fmt->fourcc;
-   ret = v4l2_subdev_call(sd, video, s_fmt, f);
+   ret = v4l2_subdev_call(sd, video, s_fmt, &cam_f);
+   cam_f.fmt.pix.pixelformat = pix->pixelformat;
+   *pix = cam_f.fmt.pix;
 
icd->sense = NULL;
 

Thanks
Guennadi


> 
> Here's the message from userspace:
>   # ./capture-example 
>   Cannot open '/dev/video0': 22, Invalid argument
> which is from the very first open() call.
> 
> Here's the relevant snippet from dmesg with debug enabled:
> [   15.613749] i2c /dev entries driver
> [   15.626308] Linux video capture interface: v2.00
> [   15.640834] pxa27x-camera pxa27x-camera.0: Limiting master clock to 
> 2600
> [   15.648696] pxa27x-camera pxa27x-camera.0: LCD clock 10400Hz, target 
> freq 2600Hz, divisor 1
> [   15.656494] pxa27x-camera pxa27x-camera.0: got DMA channel 1
> [   15.665398] pxa27x-camera pxa27x-camera.0: got DMA channel (U) 2
> [   15.673461] pxa27x-camera pxa27x-camera.0: got DMA channel (V) 3
> [   15.686771] camera 0-0: Probing 0-0
> [   15.707545] pxa27x-camera pxa27x-camera.0: Registered platform device at 
> cc889380 data c03a1e98
> [   15.715265] pxa27x-camera pxa27x-camera.0: pxa_camera_activate: Init gpios
> [   15.723488] pxa27x-camera pxa27x-camera.0: PXA Camera driver attached to 
> camera 0
> [   15.739092] mt9m111 0-005d: read  reg.00d -> 0008
> [   15.743812] mt9m111 0-005d: write reg.00d = 0008 -> 0
> [   15.748702] mt9m111 0-005d: read  reg.00d -> 0008
> [   15.753237] mt9m111 0-005d: write reg.00d = 0009 -> 0
> [   15.757864] mt9m111 0-005d: read  reg.00d -> 0009
> [   15.762386] mt9m111 0-005d: write reg.00d = 0029 -> 0
> [   15.766938] mt9m111 0-005d: read  reg.00d -> 0029
> [   15.771670] mt9m111 0-005d: write reg.00d = 0008 -> 0
> [   15.776136] mt9m111 0-005d: write reg.0c8 = 970b -> 0
> [   15.781325] mt9m111 0-005d: read  reg.106 -> 700e
> [   15.785695] mt9m111 0-005d: write reg.106 = 700e -> 0
> [   15.792896] mt9m111 0-005d: read  reg.000 -> 143a
> [   15.796790] mt9m111 0-005d: Detected a MT9M11x chip ID 143a
> [   15.805505] pxa27x-camera pxa27x-camera.0: Providing format Planar YUV422 
> 16 bit using CbYCrY 16 bit
> [   15.813285] pxa27x-camera pxa27x-camera.0: Providing format CbYCrY 16 bit 
> packed
> [   15.820729] pxa27x-camera pxa27x-camera.0: Providing format CrYCbY 16 bit 
> packed
> [   15.828221] pxa27x-camera pxa27x-camera.0: Providing format YCbYCr 16 bit 
> packed
> [   15.835484] pxa27x-camera pxa27x-camera.0: Providing format YCrYCb 16 bit 
> packed
> [   15.842888] pxa27x-camera pxa27x-camera.0: Providing format RGB 565 packed
> [   15.850455] pxa27x-camera pxa27x-camera.0: Providing format RGB 555 packed
> [   15.858077] pxa27x-camera pxa27x-camera.0: Providing format Bayer (sRGB) 8 
> bit in pass-through mode
> [   15.872455] pxa27x-camera pxa27x-camera.0: PXA Camera driver detached from 
> camera 0
> ...
> [   70.377781] pxa27x-camera pxa27x-camera.0: Registered platform device at 
> cc889380 data c03a1e98
> [   70.377866] pxa27x-camera pxa27x-camera.0: pxa_camera_activate: Init gpios
> [   70.378259] pxa27x-camera pxa27x-camera.0: PXA Camera driver attached to 
> camera 0
> [   70.378336] mt9m111 0-005d: mt9m111_s_fmt fmt=50323234 left=24, top=8, 
> width=1280, height=1024
> [   70.379630] mt9m111 0-005d: write reg.002 = 0018 -> 0
> [   70.380589] mt9m111 0-005d: write reg.001 = 0008 -> 0
> [   70.382382] mt9m111 0-005d: write reg.1a0 = 0500 -> 0
> [   70.383347] mt9m111 0-005d: write reg.1a3 = 0400 -> 0
> [   70.384312] mt9m111 0-005d: write reg.1a1 = 0500 -> 0
> [   70.385267] mt9m111 0-005d: write reg.1a4 = 0400 -> 0
> [   70.386227] mt9m111 0-005d: write reg.1a6 = 0500 -> 0
> [   70.387188] mt9m111 0-005d: write reg.1a9 = 0400 -> 0
> [   70.393180] mt9m111 0-005d: write reg.1a7 = 0500 -> 0
> [   70.394155] mt9m111 0-005d: write reg.1aa = 0400 -> 0
> [   70.394224] mt9m111 0-005d: Pixel format not handled : 50323234
> [   70.394265] pxa27x-camera pxa27x-camera.0: Failed to configure for format 
> 50323234
> [   70.394310] pxa27x-camera pxa27x-camera.0: PXA Camera driver detached from 
> camera 0
> 
> Format 50323234 is 422P, it looks like pxa-camera is trying to force
> its native format to the sensor, but I am still inve

Re: mt9t031-VPFE integration issues...

2009-10-02 Thread Guennadi Liakhovetski
Hi Murali

On Fri, 2 Oct 2009, Karicheri, Muralidharan wrote:

> I am currently integrating latest MT9T031 driver to vpfe_capture driver 
> and see following issues:-
> 
> 1) Currently MT9T031 Kconfig configuration variable has a dependency on 
> SOC_CAMERA. We need to remove this dependency since this sensor can be 
> used on other platforms like DM6446/DM355/DM365. This is trivial and I 
> can send a patch to remove the dependency.
> 
> 2) The code still has reference to soc_camera_device and associated 
> changes. I think this should be removed so that it can be used on other 
> platforms as well. I am expecting these will go away once the bus 
> parameter as well data format related RFCs are approved. If this is 
> true, I can wait until the same is approved. If not, we need to work 
> together so that this driver can be integrated with vpfe capture driver.

You're certainly right - soc-camera based drivers, including mt9t031, 
still depend on the soc-camera core, although most of the API has been 
converted to v4l2-subdev. Yes, the two biggest issues are bus-parameter 
and data-format negotiation. Also, we'll have to find a way to supply the 
data to the drivers, that is currently set in platform code. So, ideally, 
yes, we have to wait until the respective RFCs get implemented and until 
soc-camera gets completely converted, but if this is something urgent - 
maybe it would be acceptable to start modifying some drivers for "dual 
operation" - either with soc-camera API or in pure v4l2-subdev mode. This 
would be a bit of an extra work, and I don't know what others think about 
this. So, if you can wait, perhaps, this would be the best.

Thanks
Guennadi
---
Guennadi Liakhovetski
--
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: [RFC] Global video buffers pool

2009-10-02 Thread Robert Tivy
Laurent Pinchart  ideasonboard.com> writes:

> 
> Hi Stefan,
> 
> On Monday 28 September 2009 16:04:58 Stefan.Kost  nokia.com wrote:
> > hi,
> > 
> > >-Original Message-
> > >From: ext Laurent Pinchart [mailto:laurent.pinchart  ideasonboard.com]
> > >Sent: 16 September, 2009 18:47
> > >To: linux-media  vger.kernel.org; Hans Verkuil; Sakari Ailus;
> > >Cohen David.A (Nokia-D/Helsinki); Koskipaa Antti
> > >(Nokia-D/Helsinki); Zutshi Vimarsh (Nokia-D/Helsinki); Kost
> > >Stefan (Nokia-D/Helsinki)
> > >Subject: [RFC] Global video buffers pool
> > >
> > > Hi everybody,
> > >
> > > I didn't want to miss this year's pretty flourishing RFC
> > > season, so here's another one about a global video buffers pool.
> > 
> > Sorry for ther very late reply.
> 
> No worries, better late than never.
> 
> > I have been thinking about the problem on a bit broader scale and see the
> > need for something more kernel wide. E.g. there is some work done from 
intel
> > for graphics:
> > http://keithp.com/blogs/gem_update/
> > 
> > and this is not so much embedded even. If there buffer pools are
> > v4l2specific then we need to make all those other subsystems like xvideo,
> > opengl, dsp-bridges become v4l2 media controllers.
> 
> The global video buffers pool topic has been discussed during the v4l2 mini-
> summit at Portland last week, and we all agreed that it needs more research.
> 
> The idea of having pools at the media controller level has been dropped in 
> favor of a kernel-wide video buffers pool. Whether we can make the buffers 
> pool not v4l2-specific still needs to be tested. As you have pointed out, we 
> currently have a GPU memory manager in the kernel, and being able to 
interact 
> with it would be very interesting if we want to DMA video data to OpenGL 
> texture buffers for instance. I'm not sure if that would be possible though, 
> as the GPU and the video acquisition hardware might have different memory 
> requirements, at least in the general case. I will contact the GEM guys at 
> Intel to discuss the topic.
> 
> If we can't share the buffers between the GPU and the rest of the system, we 
> could at least create a V4L2 wrapper on top of the DSP bridge core (which 
will 
> require a major cleanup/restructuring), making it possible to share video 
> buffers between the ISP and the DSP.
> 


TI has been providing this sort of contiguous buffer support for quite a few 
years now.  TI provides a SW package named LinuxUtils, and it contains a 
module named CMEM (stand for Contiguous MEMory manager).

Latest LinuxUtils release, contains cdocs of CMEM:
http://software-
dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/2_24_03/exports/l
inuxutils_2_24_03.tar.gz

And the background/usage article here:
http://tiexpressdsp.com/index.php/CMEM_Overview

CMEM solves lots of the same sorts of things that the driver described in this 
thread does.  However, it doesn't integrate into other drivers, and it's 
accessed through the CMEM user interface.  Also, CMEM alleviates some of the 
issues raised in this thread since it uses memory not known to the kernel 
(user "carves out" a chunk by reducing kernel memory through u-boot mem= 
param), which IMO can be both good and bad (good - alleviates 
locking/unavailable memory issues, bad - doesn't cooperate with the kernel in 
getting memory, requiring user intervention).

Regards,

Robert Tivy
MGTS
Systems Software
Texas Instruments, Santa Barbara



--
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] Any PCIe DVB-T Dual Tuner cards yet working under Linux?

2009-10-02 Thread Devin Heitmueller
On Fri, Oct 2, 2009 at 6:27 PM, Christophe Boyanique
 wrote:
> On Fri, Oct 02, 2009 at 01:48:17PM -0400, Devin Heitmueller wrote:
>
>> > I am also looking for a device (PCIe preferred, or PCI or at worst USB
>> > stick) with a dual HD tuner which is buyable from France or Europe...
>
>> Have you looked at the HVR-2200 (PCIe, dual DVB-T)?
>
> This card sounds great but it does not seem to be HD :(
>
> Christophe.

Yes, it does HD.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Any PCIe DVB-T Dual Tuner cards yet working under Linux?

2009-10-02 Thread Christophe Boyanique
On Fri, Oct 02, 2009 at 01:48:17PM -0400, Devin Heitmueller wrote:

> > I am also looking for a device (PCIe preferred, or PCI or at worst USB
> > stick) with a dual HD tuner which is buyable from France or Europe...

> Have you looked at the HVR-2200 (PCIe, dual DVB-T)?

This card sounds great but it does not seem to be HD :(

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


AVerTV MCE 116 Plus remote

2009-10-02 Thread Aleksandr V. Piskunov
Preliminary version of patch adding support for AVerTV MCE 116 Plus remote.
This board has an IR sensor is connected to EM78P153S, general purpose 8-bit
microcontroller with a 1024 × 13 bits of OTP-ROM. According to i2cdetect, it is
sitting on address 0x40.

Patch allows ir-kbd-i2c to probe cx2341x boards for this address. Manually
loading ir-kbd-i2c now detects remote, every key is working as expected.

As I understand, current I2C/probing code is being redesigned/refactored. Sheer
amount of #ifdefs for every second kernel version is making my eyes bleed, so
please somebody involved check if patch is ok. 

Should I also add the 0x40 address to addr_list[] in ivtv-i2c.c? How to point
ivtv to this remote and autoload ir-kbd-i2c?

diff --git a/linux/drivers/media/video/ir-kbd-i2c.c 
b/linux/drivers/media/video/ir-kbd-i2c.c
--- a/linux/drivers/media/video/ir-kbd-i2c.c
+++ b/linux/drivers/media/video/ir-kbd-i2c.c
@@ -461,7 +461,7 @@
}
break;
case 0x40:
-   name= "AVerMedia Cardbus remote";
+   name= "AVerMedia RM-FP/RM-KH remote";
ir->get_key = get_key_avermedia_cardbus;
ir_type = IR_TYPE_OTHER;
ir_codes= &ir_codes_avermedia_cardbus_table;
@@ -706,8 +706,12 @@
ir_attach(adap, msg.addr, 0, 0);
}
 
-   /* Special case for AVerMedia Cardbus remote */
-   if (adap->id == I2C_HW_SAA7134) {
+   /* Special case for AVerMedia remotes:
+  * AVerTV Hybrid+FM Cardbus
+  * AVerTV MCE 116 Plus
+  * probably others with RM-FP, RM-KH remotes and microcontroller
+chip @ 0x40 */
+   if ((adap->id == I2C_HW_SAA7134) || (adap->id == I2C_HW_B_CX2341X)) {
unsigned char subaddr, data;
struct i2c_msg msg[] = { { .addr = 0x40, .flags = 0,
   .buf = &subaddr, .len = 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: [Bulk] V4L-DVB Summit Day 3

2009-10-02 Thread Markus Rechberger
On Fri, Oct 2, 2009 at 7:56 PM, CityK  wrote:
> Hans Verkuil wrote:
>> I made the following list:
>>
>> - We created a new mc mailinglist: linux...@googlegroups.com
>>
>> This is a temporary mailinglist where we can post and review patches during
>> prototyping of the mc API. We don't want to flood the linux-media list with
>> those patches since that is already quite high-volume.
>>
>> The mailinglist should be active, although I couldn't find it yet from
>> www.googlegroups.com. I'm not sure if it hasn't shown up yet, or if I did
>> something wrong.
>>
>
> I'm scratching my head on this one.  Seems the last thing that is needed
> is YET another mailing list.  Further, it
> - fractures the development community.

this is what I think too. I'm mainly interested in keeping up
compatibility with that framework
The traffic on this mailinglist is rather small and it should be ok to
mix up developer mails
with a few support mails (whereas people usually use to CC anyone who
might be involved anyway).

> - persons unaware of the decision, and whom might be interested, would
> never find it . i.e. alienation

if you try to send an email as adviced to that googlemail mailinglist
you'll just get an email back that it doesn't work :-)

nothing else to write about it I totally agree.

One question I have though, what is the impact to the existing API,
will they start to require that MC interface?
TI hardware is rather specialized and most other devices will not need
any of those changes, I don't see the benefit
of bloating up the API for devices which already work fine, for simple
devices it should better remain simple.
(This question is mainly because we also maintain our own player which
supports the v4l2/dvbV(3/5) API, but the
driver should still support legacy applications in the future)

Best Regards,
Markus
--
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 device at I2C address 0x7a

2009-10-02 Thread hermann pitton
Hi,

Am Freitag, den 02.10.2009, 13:47 +0200 schrieb Jean Delvare:
> Hi all,
> 
> [Executive summary: Upmost Purple TV adapter testers wanted!]

unlikely that anybody with such a card is on the new list currently or
any. I add some old known owners, but mail might bounce.

> While investigating another issue, I have noticed the following message
> in the kernel logs of a saa7134 user:
> 
> i2c-adapter i2c-0: Invalid 7-bit address 0x7a
> 
> The address in question is attempted by an IR device probe, and is only
> probed on SAA7134 adapters. The problem with this address is that it is
> reserved by the I2C specification for 10-bit addressing, and is thus
> not a valid 7-bit address. Before the conversion of ir-kbd-i2c to the
> new-style i2c device driver binding model, device probing was done by
> ir-kbd-i2c itself so no check was done by i2c-core for address
> validity. But since kernel 2.6.31, probing at address 0x7a will be
> denied by i2c-core.
> 
> So, SAA7134 adapters with an IR device at 0x7a are currently broken.
> Do we know how many devices use this address for IR and which they
> are? Tracking the changes in the source code, this address was added
> in kernel 2.6.8 by Gerd Knorr:
>   
> http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=581f0d1a0ded3e3d4408e5bb7f81b9ee221f6b7a
> So this would be used by the "Upmost Purple TV" adapter. Question is,
> are there other?

Yes, currently 0x7a is only used by the Upmost Purple TV (Yuan Tun800).

Here are some more details.
http://archives.devshed.com/forums/linux-97/troubles-with-yuan-tun900-board-detected-as-upmost-purple-tv-1283673.html

Support for the card and the i2c remote was added by Wang-Chan Chen.

For testers it is useful to know that the card is still not fully
supported.

It has a NEC D64083GF video enhancer converting TV baseband video from
tuner to S-Video and shares the vmux = 7 with the S-Video input.

By default it comes up in external S-Video input mode.
There is a Pericom videomux on it and we don't know how to switch it.

Chen used to boot at first windows, switched there to tuner input and
rebooted to GNU/Linux ...

> Some web research has pointed me to the Yuan TUN-900:
>   http://www.linuxtv.org/pipermail/linux-dvb/2008-January/023405.html
> but it isn't clear to me whether the device at 0x7a on this adapter is
> the same as the one on the Purple TV. And saa7134-cards says of the
> TUN-900: "Remote control not yet implemented" so maybe we can just
> ignore it for now.

Yes, that card has a device at 0xf4/0x7a too.
I asked to test the remote with the Upmost Purple TV entry, but never
got a reply. As we know these days, radio amux is wrong too on Yuan
TUN900 card=66.

Last contact to Chen was four years back, but he confirmed that both
cards have the same PCI subsystem. Some bytes in the eeprom, meaning
unknown, are different, though.

> If we have to, I could make i2c-core more permissive, but I am rather
> reluctant to letting invalid addressed being probed, because you never
> know how complying chips on the I2C bus will react. I am OK supporting
> invalid addresses if they really exist out there, but the impact should
> be limited to the hardware in question.
> 
> If we only have to care about the Upmost Purple TV, then the following
> patch should solve the problem:

For what is known so far.

Acked-by: hermann pitton 

Cheers,
Hermann

> * * * * *
> 
> From: Jean Delvare 
> Subject: saa7134: Fix IR support for Purple TV
> 
> The i2c core prevents us from probing I2C address 0x7a because it's
> not a valid 7-bit address (reserved for 10-bit addressing.) So we must
> stop probing this address, and explicitly list all adapters which use
> it. Under the assumption that only the Upmost Purple TV adapter uses
> this invalid address, this fix should do the trick.
> 
> Signed-off-by: Jean Delvare 
> ---
>  linux/drivers/media/video/saa7134/saa7134-input.c |3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- v4l-dvb.orig/linux/drivers/media/video/saa7134/saa7134-input.c
> 2009-10-02 13:26:39.0 +0200
> +++ v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c 2009-10-02 
> 13:26:49.0 +0200
> @@ -746,7 +746,7 @@ void saa7134_probe_i2c_ir(struct saa7134
>  {
>  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
>   const unsigned short addr_list[] = {
> - 0x7a, 0x47, 0x71, 0x2d,
> + 0x47, 0x71, 0x2d,
>   I2C_CLIENT_END
>   };
>  
> @@ -813,6 +813,7 @@ void saa7134_probe_i2c_ir(struct saa7134
>   dev->init_data.name = "Purple TV";
>   dev->init_data.get_key = get_key_purpletv;
>   dev->init_data.ir_codes = &ir_codes_purpletv_table;
> + info.addr = 0x7a;
>  #endif
>   break;
>   case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:
> 
> 

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

Re: saa716x compiling problem

2009-10-02 Thread Beepo / Vanguard
Hi,

You could try http://mercurial.intuxication.org/hg/s2-liplianin

I think the jusst.de version is outdated regarding the newer kernels.

BR:
  Beepo

- Original Message -
From: "Jonathan" 
To: linux-media@vger.kernel.org
Sent: Friday, October 2, 2009 9:44:05 PM GMT +02:00 Athens, Beirut, Bucharest, 
Istanbul
Subject: saa716x compiling problem

Hello,

I'm trying to compile saa716x module for kernel 2.6.30 but I'm getting some 
errors. It seems that sources need to be adapted to latest kernel versions to 
work. I'm using code located at http://www.jusst.de/hg/saa716x/ (last change 
was three months ago).

Is there any patch to solve this problem?

Jonathan
--
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: Upgrading from FC4 to current Linux

2009-10-02 Thread Andy Walls
Bill,

On Fri, 2009-10-02 at 09:04 -0400, Bill Davidsen wrote:
> I am looking for a video solution which works on recent Linux, like Fedora-11.

The video4linux ML is just about dead.  You should post to
linux-media@vger.kernel.org 


> Video used to be easy, plug in the capture device, install xawtv via rpm, and 
> use. However, recent versions of Fedora simply don't work, even on the same 
> hardware, due to /dev/dsp no longer being created and the applications like 
> xawtv or tvtime still looking for it.

(Non-emulated) OSS was ditched by the linux kernel folks long ago.  And
I thought xawtv and tvtime were abandon-ware.


> The people who will be using this are looking for hardware which is still 
> made 
> and sold new, and software which can be installed by a support person who can 
> plug in cards (PCI preferred) or USB devices, and install rpms.

rpmfusion, ATrpms, and I even think Fedora have MythTV available now.
mplayer is probably also available from 2 of those 3 resources.

For any open source software that implements video and audio decoders,
you will need to investigate if you must pay someone licensing fees to
use the decoders you need to meet your usage requirements.  Fedora has a
mechanism in place by which you can pay for the non-free codecs, IIRC.


>  I maintain the 
> servers on Linux there, desktop support is unpaid (meaning I want a solution 
> they can use themselves).
> 
> We looked at vlc, which seems to want channel frequencies in kHz rather than 
> channels, mythtv, which requires a database their tech isn't able (or 
> willing) 
> to support, etc.

After vlc or mplayer has started capturing, just use ivtv-tune to change
analog channels by channel numbers (using your applicable channel table
built into ivtv-tune).  You can even set the channel before starting the
capture, if you can supress vlc from trying to change the channel.


> It seems that video has gone from "easy as Windows" 3-4 years ago to 
> "insanely 
> complex" according to to one person in that group who wanted an upgrade on 
> his 
> laptop.

Most people perceive large number of "options", and the control afforded
to the user by those options, as "complexity".  I'd say that Linux is
all about giving the user options and control.  I wouldn't expect that
to go away any time soon.

If your user wants someone else to put in the effort for him, he either
has to give up control (e.g. buy Windows) or incentivize someone to
manage the options and flexibility (a.k.a. complexity) he does not wish
to manage.



> There is some pressure from Windows users to mandate Win7 as the 
> desktop, which Linux users are rejecting.

And if the Linux users value their freedoms and control over their own
destiny, you think they'd be willing to put in the effort to maintain
it.

The price of freedom is eternal vigilance.


As far as mandates go, those are usually short-sighted one-size-fits-all
solution attempts, often backed by flawed reasoning along the lines of:

"Keeping track of all these different things (computers and OSen, and
software apps) is complex.  My life would be simpler, if I reduced the
complexity by standardizing on what I think is right; regardless of all
the domain or department specific subtlties and requirements that I'm
choosing to ignore."

Mandates are easy to push back on once you debunk the cost equation the
person is using to justify the mandate.  They often haven't considered
everthing.



> The local cable is a mix of analog channels (for old TVs) and clear qam. The 
> capture feeds from the monitor system are either S-video or three wire 
> composite 
> plus L-R audio. Any reasonable combination of cards (PCI best, PCIe 
> acceptable), 


An HVR-1600 is a PCI board based on the CX23418, that can capture analog
(NTSC for RF, Worldwide for CVBS or SVideo) and digital (ATSC or QAM) TV
simultaneously.

The Leadtek WinFast DVR 3100 H board, based on the CX23418, can accept Y
Pr Pb inputs as analog baseband.  I would need to fix the cx18 driver
under Linux to actually support that input (so far no one has asked for
it and I don't have test hardware).  Simultaneous analog and digital
capture are possible as long as they both aren't trying to use the
XCeive tuner (which can only do one thing at any one time).

But PCI is rapidly disappearly from modern motherboards.  I assume
within 5 years, most PCI-only motherboards will be failing due to old
age.



> USB device, and application which can monitor/record would be fine, but the 
> users are not going to type in kHz values, create channel tables, etc.

Honestly, a separate analog tuning app is something one can easily write
to meet the exact requirements of one's demanding userbase.  Of course
ivtv-tune is good enough for mostly everyone I've heard express a need.

With DVB under linux, you have no choice but to build a channels.conf
file.  Whether that's MythTV, mplayer, or something else.  You could
build a single file for all your users and install it for the

pxa_camera + mt9m1111: Failed to configure for format 50323234

2009-10-02 Thread Antonio Ospite
Hi,

after updating to 2.6.32-rc2 I can't capture anymore with the setup in the
subject.

Here's the message from userspace:
  # ./capture-example 
  Cannot open '/dev/video0': 22, Invalid argument
which is from the very first open() call.

Here's the relevant snippet from dmesg with debug enabled:
[   15.613749] i2c /dev entries driver
[   15.626308] Linux video capture interface: v2.00
[   15.640834] pxa27x-camera pxa27x-camera.0: Limiting master clock to 2600
[   15.648696] pxa27x-camera pxa27x-camera.0: LCD clock 10400Hz, target 
freq 2600Hz, divisor 1
[   15.656494] pxa27x-camera pxa27x-camera.0: got DMA channel 1
[   15.665398] pxa27x-camera pxa27x-camera.0: got DMA channel (U) 2
[   15.673461] pxa27x-camera pxa27x-camera.0: got DMA channel (V) 3
[   15.686771] camera 0-0: Probing 0-0
[   15.707545] pxa27x-camera pxa27x-camera.0: Registered platform device at 
cc889380 data c03a1e98
[   15.715265] pxa27x-camera pxa27x-camera.0: pxa_camera_activate: Init gpios
[   15.723488] pxa27x-camera pxa27x-camera.0: PXA Camera driver attached to 
camera 0
[   15.739092] mt9m111 0-005d: read  reg.00d -> 0008
[   15.743812] mt9m111 0-005d: write reg.00d = 0008 -> 0
[   15.748702] mt9m111 0-005d: read  reg.00d -> 0008
[   15.753237] mt9m111 0-005d: write reg.00d = 0009 -> 0
[   15.757864] mt9m111 0-005d: read  reg.00d -> 0009
[   15.762386] mt9m111 0-005d: write reg.00d = 0029 -> 0
[   15.766938] mt9m111 0-005d: read  reg.00d -> 0029
[   15.771670] mt9m111 0-005d: write reg.00d = 0008 -> 0
[   15.776136] mt9m111 0-005d: write reg.0c8 = 970b -> 0
[   15.781325] mt9m111 0-005d: read  reg.106 -> 700e
[   15.785695] mt9m111 0-005d: write reg.106 = 700e -> 0
[   15.792896] mt9m111 0-005d: read  reg.000 -> 143a
[   15.796790] mt9m111 0-005d: Detected a MT9M11x chip ID 143a
[   15.805505] pxa27x-camera pxa27x-camera.0: Providing format Planar YUV422 16 
bit using CbYCrY 16 bit
[   15.813285] pxa27x-camera pxa27x-camera.0: Providing format CbYCrY 16 bit 
packed
[   15.820729] pxa27x-camera pxa27x-camera.0: Providing format CrYCbY 16 bit 
packed
[   15.828221] pxa27x-camera pxa27x-camera.0: Providing format YCbYCr 16 bit 
packed
[   15.835484] pxa27x-camera pxa27x-camera.0: Providing format YCrYCb 16 bit 
packed
[   15.842888] pxa27x-camera pxa27x-camera.0: Providing format RGB 565 packed
[   15.850455] pxa27x-camera pxa27x-camera.0: Providing format RGB 555 packed
[   15.858077] pxa27x-camera pxa27x-camera.0: Providing format Bayer (sRGB) 8 
bit in pass-through mode
[   15.872455] pxa27x-camera pxa27x-camera.0: PXA Camera driver detached from 
camera 0
...
[   70.377781] pxa27x-camera pxa27x-camera.0: Registered platform device at 
cc889380 data c03a1e98
[   70.377866] pxa27x-camera pxa27x-camera.0: pxa_camera_activate: Init gpios
[   70.378259] pxa27x-camera pxa27x-camera.0: PXA Camera driver attached to 
camera 0
[   70.378336] mt9m111 0-005d: mt9m111_s_fmt fmt=50323234 left=24, top=8, 
width=1280, height=1024
[   70.379630] mt9m111 0-005d: write reg.002 = 0018 -> 0
[   70.380589] mt9m111 0-005d: write reg.001 = 0008 -> 0
[   70.382382] mt9m111 0-005d: write reg.1a0 = 0500 -> 0
[   70.383347] mt9m111 0-005d: write reg.1a3 = 0400 -> 0
[   70.384312] mt9m111 0-005d: write reg.1a1 = 0500 -> 0
[   70.385267] mt9m111 0-005d: write reg.1a4 = 0400 -> 0
[   70.386227] mt9m111 0-005d: write reg.1a6 = 0500 -> 0
[   70.387188] mt9m111 0-005d: write reg.1a9 = 0400 -> 0
[   70.393180] mt9m111 0-005d: write reg.1a7 = 0500 -> 0
[   70.394155] mt9m111 0-005d: write reg.1aa = 0400 -> 0
[   70.394224] mt9m111 0-005d: Pixel format not handled : 50323234
[   70.394265] pxa27x-camera pxa27x-camera.0: Failed to configure for format 
50323234
[   70.394310] pxa27x-camera pxa27x-camera.0: PXA Camera driver detached from 
camera 0

Format 50323234 is 422P, it looks like pxa-camera is trying to force
its native format to the sensor, but I am still investigating; I'll come
back when I find more or if I come up with a solution.

Thanks,
   Antonio

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?


pgpUHc7QdHfnE.pgp
Description: PGP signature


saa716x compiling problem

2009-10-02 Thread Jonathan
Hello,

I'm trying to compile saa716x module for kernel 2.6.30 but I'm getting some 
errors. It seems that sources need to be adapted to latest kernel versions to 
work. I'm using code located at http://www.jusst.de/hg/saa716x/ (last change 
was three months ago).

Is there any patch to solve this problem?

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


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

2009-10-02 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:Fri Oct  2 19:00:03 CEST 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   13044:6b7617d4a0be
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

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

Detailed results are available here:

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

Full logs are available here:

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

The V4L2 specification failed to build, but the last compiled spec is here:

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

The DVB API specification from this daily build is here:

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

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


Re: [Bulk] V4L-DVB Summit Day 3

2009-10-02 Thread CityK
Hans Verkuil wrote:
> I made the following list:
>
> - We created a new mc mailinglist: linux...@googlegroups.com
>
> This is a temporary mailinglist where we can post and review patches during 
> prototyping of the mc API. We don't want to flood the linux-media list with 
> those patches since that is already quite high-volume.
>
> The mailinglist should be active, although I couldn't find it yet from 
> www.googlegroups.com. I'm not sure if it hasn't shown up yet, or if I did 
> something wrong.
>   

I'm scratching my head on this one.  Seems the last thing that is needed
is YET another mailing list.  Further, it
- fractures the development community. 
- persons unaware of the decision, and whom might be interested, would
never find it . i.e. alienation
- disinterested parties can simply hit the delete key and not bother
with the message
- blah blah blah ..

PS.  In regards to yesterday's business announcements, I hope your new
forthcoming overlords are as kind to you as your last
--
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] Any PCIe DVB-T Dual Tuner cards yet working under Linux?

2009-10-02 Thread Devin Heitmueller
On Fri, Oct 2, 2009 at 1:23 PM, Christophe Boyanique
 wrote:
>
> Hello,,
>
>> Is anyone on the list currently using a DVB-T card that has DUAL
>> tuners (i.e. I'm looking to replace Hauppage 500's which work great).
>
> That is an excellent question and I am looking forward to here people
> about success stories.
>
> I am also looking for a device (PCIe preferred, or PCI or at worst USB
> stick) with a dual HD tuner which is buyable from France or Europe...
>
> I found this models which seem to be NOT supported:
> - TerraTec Cinergy 2400i DT (not supported from wiki)
> - TerraTec T5 Stick (no information found)
> - PCTV Stick Dual DVB-T Diversity (2001e) (not supported from wiki)
> - AVerMedia AVerTV Duo Hybrid PCI-E A188H (no information found)
>
> I found this card which seems to be supported:
> - Dvico FusionHDTV DVB-T Dual Express
> but I do not find any reseller in Europe.
>
> I found an online reseller in the USA here:
> http://www.cyberestore.com/hdtv-tv-tuner-cards/dvico-fusionhdtv-dvb-t-dual-express.html
>
> But I am not sure that a card sold in the USA will work in Europe as USA
> uses NTSC and ATSC (instead of PAL and DVB in Europe).
>
> Christophe.

Have you looked at the HVR-2200 (PCIe, dual DVB-T)?

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] Any PCIe DVB-T Dual Tuner cards yet working under Linux?

2009-10-02 Thread CityK
Christophe Boyanique wrote:
> Hello,,
>
>   
>> Is anyone on the list currently using a DVB-T card that has DUAL
>> tuners (i.e. I'm looking to replace Hauppage 500's which work great).
>> 
>
> That is an excellent question 

Which has actually been posed a couple of times in the recent months.
Try a search on:

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

using "dual" you'll find one of them quickly enough at least
--
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: Mem2Mem V4L2 devices [RFC]

2009-10-02 Thread Ivan T. Ivanov

Hi Marek, 


On Fri, 2009-10-02 at 13:45 +0200, Marek Szyprowski wrote:
> Hello,
> 
> During the V4L2 mini-summit and the Media Controller RFC discussion on 
> Linux Plumbers 2009 Conference a mem2mem video device has been mentioned 
> a few times (usually in a context of a 'resizer device' which might be a 
> part of Camera interface pipeline or work as a standalone device). We 
> are doing a research how our custom video/multimedia drivers can fit 
> into the V4L2 framework. Most of our multimedia devices work in mem2mem 
> mode. 
> 
> I did a quick research and I found that currently in the V4L2 framework 
> there is no device that processes video data in a memory-to-memory 
> model. In terms of V4L2 framework such device would be both video sink 
> and source at the same time. The main problem is how the video nodes 
> (/dev/videoX) should be assigned to such a device. 
> 
> The simplest way of implementing mem2mem device in v4l2 framework would 
> use two video nodes (one for input and one for output). Such an idea has 
> been already suggested on V4L2 mini-summit. Each DMA engine (either 
> input or output) that is available in the hardware should get its own 
> video node. In this approach an application can write() source image to 
> for example /dev/video0 and then read the processed output from for 
> example /dev/video1. Source and destination format/params/other custom 
> settings also can be easily set for either source or destination node. 
> Besides a single image, user applications can also process video streams 
> by calling stream_on(), qbuf() + dqbuf(), stream_off() simultaneously on 
> both video nodes. 
> 
> This approach has a limitation however. As user applications would have 
> to open 2 different file descriptors to perform the processing of a 
> single image, the v4l2 driver would need to match read() calls done on 
> one file descriptor with write() calls from the another. The same thing 
> would happen with buffers enqueued with qbuf(). In practice, this would 
> result in a driver that allows only one instance of /dev/video0 as well 
> as /dev/video1 opened. Otherwise, it would not be possible to track 
> which opened /dev/video0 instance matches which /dev/video1 one. 
> 
> The real limitation of this approach is the fact, that it is hardly 
> possible to implement multi-instance support and application 
> multiplexing on a video device. In a typical embedded system, in 
> contrast to most video-source-only or video-sink-only devices, a mem2mem 
> device is very often used by more than one application at a time. Be it 
> either simple one-shot single video frame processing or stream 
> processing. Just consider that the 'resizer' module might be used in 
> many applications for scaling bitmaps (xserver video subsystem, 
> gstreamer, jpeglib, etc) only. 
> 
> At the first glance one might think that implementing multi-instance 
> support should be done in a userspace daemon instead of mem2mem drivers. 
> However I have run into problems designing such a user space daemon. 
> Usually, video buffers are passed to v4l2 device as a user pointer or 
> are mmaped directly from the device. The main issue that cannot be 
> easily resolved is passing video buffers from the client application to 
> the daemon. The daemon would queue a request on the device and return 
> results back to the client application after a transaction is finished. 
> Passing userspace pointers between an application and the daemon cannot 
> be done, as they are two different processes. Mmap-type buffers are 
> similar in this aspect - at least 2 buffer copy operations are required 
> (from client application to device input buffers mmaped in daemon's 
> memory and then from device output buffers to client application). 
> Buffer copying and process context switches add both latency and 
> additional cpu workload. In our custom drivers for mem2mem multimedia 
> devices we implemented a queue shared between all instances of an opened 
> mem2mem device. Each instance is assigned to an open device file 
> descriptor. The queue is serviced in the device context, thus maximizing 
> the device throughput. This is achieved by scheduling the next 
> transaction in the driver (kernel) context. This may not even require a 
> context switch at all. 
> 
> Do you have any ideas how would this solution fit into the current v4l2 
> design? 
> 
> Another solution that came into my mind that would not suffer from this 
> limitation is to use the same video node for both writing input buffers 
> and reading output buffers (or queuing both input and output buffers). 
> Such a design causes more problems with the current v4l2 design however: 
> 
> 1. How to set different color space or size for input and output buffer 
> each? It could be solved by adding a set of ioctls to get/set source 
> image format and size, while the existing v4l2 ioctls would only refer 
> to the output buffer. Frankly speaking, we don't like this idea. 

Re: Global Video Buffers Pool - PMM and UPBuffer reference drivers [RFC]

2009-10-02 Thread David F. Carlson

I am not a fan of the large and static driver based bootmem allocations in the 
samsung-ap-2.6 git.  This work at least addresses that issue.  Thanks.

Below are some comments.  Perhaps I am not "getting it".

According to Marek Szyprowski:
> 
> algorithm itself would typically be changed to fit a usage pattern.
> 
> In our solution all memory buffers are all allocated by user-space
> applications, because only user applications have enough information
> which devices will be used in the video processing pipeline. For
> example:
> 
> MFC video decoder -> Post Processor (scaler and color space converter)
>  -> Frame Buffer memory.
> 
> If such a translation succeeds the
> physical memory region will be properly locked and is guaranteed to be
> in the memory till the end of transaction. Each transaction must be
> closed by the multimedia device driver explicitly.

Since this is a *physical* memory manager, I would never expect the memory
to not be in memory... 

> 
> 
> Technical details
> -
> 
> 1. Physical memory allocation
> 
> PMM reserves the contiguous physical memory with bootmem kernel
> allocator. A boot parameter is used to provide information how much
> memory should be allocated, for example: adding a 'pmm=32M' parameter
> would reserve 32MiB of system memory on system boot.
> 
> 2. Allocating a buffer from userspace
> 
> PMM provides a /dev/pmm special device. Each time the application wants
> to allocate a buffer it opens the /dev/pmm special file, calls
> IOCTL_PMM_ALLOC ioctl and the mmaps it into its virtual memory. The
> struct pmm_area_info parameter for IOCTL_PMM_ALLOC ioctl describes the
> memory requirements for the buffer (please refer to
> include/linux/s3c/pmm.h) - like buffer size, memory alignment, memory
> type (PMM supports different memory types, although currently only one
> is used) and cpu cache coherency rules (memory can be mapped as
> cacheable or non-cacheable). The buffer is freed when the file
> descriptor reference count reaches zero (so the file is closed, is
> unmmaped from applications memory and released from multimedia devices).

I prefer using mmap semantics with a driver than messes with *my* address
space.  Ioctls that mess with my address space gives me hives.  

mmap is the call a user makes to map a memory/file object into its space.
ioctl is for things that don't fit read/write/mmap.  :-)

1.  memory alignment will be page size 4k (no?).  Or are you suggesting
larger alignment requirements?  Are any of the target devices 24 bit dma
clients?  (Crossing a 16MB boundary would then not work...)

2. Since these buffers will be dma sources/targets, cache will be off (no?)

Many CPUs ldr/stm memcpy do burst access to DDR so non-cached is still pretty 
zipping for non-bit banging apps.  Forcing non-cached makes much of the "sync" 
semantic you have "go away".

Is there a use-case for cached graphics controller memory that I am missing?


> 3. Buffer locking
> 
> If user application performed a mmap call on some special device and a
> driver mapped some physical memory into user address space (usually with
> remap_pfn_range function), this will create a vm_area structure with
> VM_PFNMAP flag set in user address space map. UPBuffer layer can easily
> perform a reverse mapping (virtual address to physical memory address)
> by simply reading the PTE values and checking if it is contiguous in
> physical memory. The only problem is how to guarantee the security of
> this solution. VM_PFNMAP-type areas do not have associated page
> structures so that memory pages cannot be locked directly in page cache.
> However such memory area would not be freed until the special file that
> is behind it is still in use. We found that is can be correctly locked
> by increasing reference counter of that special file (vm_area->vm_file).
> This would lock the mapping from being freed if user would accidently do
> something really nasty like unmapping that area.

I am still missing it.  Your /dev/pmm is allocating *physical memory* -- which
it (the pmm) owns for all time (bootmem).  If the user unmaps it, it is still 
pmm's physical memory.  

Now, returning the allocated memory to the pmm freelist
requires both the source and target to relinquish.  That implies both drivers 
"know" to relinquish on last-close.  Otherwise, you leak like a sieve.

Returning the pmm memory to the freelist when the user unmaps means that 
dma registers in HW still reference that memory.  Only the driver knows 
when it is "done".

Drivers "own" the PMM lifecycle.  Users get transient mappings.


> 7. SYSV SHM integration
> 
SysV shm is a nice touch.  Good job.

Re: configuration
There are quite a few CONFIG variables.  Forcing s3c-mm drivers to use PMM
would knock quite a few of them out.

You have presented a very flexible, general purpose bootmem allocator/mapper.
(cache/uncached, bounce/pmm, etc.)

The problem you were trying to solve is a means to generalize multiple 
compile-time fixed b

Re: [PATCH] Fix wrong sizeof

2009-10-02 Thread Steven Toth



  linux/drivers/media/video/saa7164/saa7164-cmd.c |2 +-


Acked-By: Steven Toth 

--
Steven Toth - Kernel Labs
http://www.kernellabs.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


Programming sensor through firmware files bc of NDA

2009-10-02 Thread Aguirre Rodriguez, Sergio Alberto
Hi all,

I'm currently interested in knowing what is the stand on having a
v4l2_subdev driver that uses some kind of binary for programming
registers in a image sensor driver.

NOTE: I must confess I currently don't know how to do it
(Any pointers/samples for doing it on a proper way?)

The only reason for doing this is to avoid potential violation of
NDA with sensor manufacturer by exposing all register details.

Please comment.

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


mt9t031-VPFE integration issues...

2009-10-02 Thread Karicheri, Muralidharan
Hi Guennadi,

I am currently integrating latest MT9T031 driver to vpfe_capture driver and see 
following issues:-

1) Currently MT9T031 Kconfig configuration variable has a dependency on 
SOC_CAMERA. We need to remove this dependency since this sensor can be used on 
other platforms like DM6446/DM355/DM365. This is trivial and I can send a patch 
to remove the dependency.

2) The code still has reference to soc_camera_device and associated changes. I 
think this should be removed so that it can be used on other platforms as well. 
I am expecting these will go away once the bus parameter as well data format 
related RFCs are approved. If this is true, I can wait until the same is 
approved. If not, we need to work together so that this driver can be 
integrated with vpfe capture driver.

Please let me know what you think on this.

Regards,
Murali Karicheri
Software Design Engineer
Texas Instruments Inc.
Germantown, MD 20874
email: m-kariche...@ti.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] ir-kbd-i2c: Don't reject unknown I2C addresses

2009-10-02 Thread Jean Delvare
I do not think it makes sense any longer for ir-kbd-i2c to reject
devices at unknown I2C addresses. The caller can provide all the
details about how the device should be handled. Having to add new
addresses to ir-kbd-i2c so that they aren't rejected is a pain we
don't need. Unsupported devices will be spotted a few lines later
anyway.

This already lets us unlist 2 addresses (0x7a and 0x2d) for which
handling details are always provided by the caller (saa7134-input).
Hopefully we can remove more in the future.

Signed-off-by: Jean Delvare 
---
 linux/drivers/media/video/ir-kbd-i2c.c |   10 ++
 1 file changed, 2 insertions(+), 8 deletions(-)

--- v4l-dvb.orig/linux/drivers/media/video/ir-kbd-i2c.c 2009-10-02 
14:52:33.0 +0200
+++ v4l-dvb/linux/drivers/media/video/ir-kbd-i2c.c  2009-10-02 
14:58:33.0 +0200
@@ -373,7 +373,7 @@ static int ir_probe(struct i2c_client *c
 {
struct ir_scancode_table *ir_codes = NULL;
const char *name = NULL;
-   int ir_type;
+   int ir_type = 0;
struct IR_i2c *ir;
struct input_dev *input_dev;
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
@@ -438,10 +438,8 @@ static int ir_probe(struct i2c_client *c
ir_type = IR_TYPE_RC5;
ir_codes= &ir_codes_fusionhdtv_mce_table;
break;
-   case 0x7a:
case 0x47:
case 0x71:
-   case 0x2d:
if (adap->id == I2C_HW_B_CX2388x ||
adap->id == I2C_HW_B_CX2341X) {
/* Handled by cx88-input */
@@ -466,10 +464,6 @@ static int ir_probe(struct i2c_client *c
ir_type = IR_TYPE_OTHER;
ir_codes= &ir_codes_avermedia_cardbus_table;
break;
-   default:
-   dprintk(1, DEVNAME ": Unsupported i2c address 0x%02x\n", addr);
-   err = -ENODEV;
-   goto err_out_free;
}
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
@@ -513,7 +507,7 @@ static int ir_probe(struct i2c_client *c
}
 
/* Make sure we are all setup before going on */
-   if (!name || !ir->get_key || !ir_codes) {
+   if (!name || !ir->get_key || !ir_type || !ir_codes) {
dprintk(1, DEVNAME ": Unsupported device at address 0x%02x\n",
addr);
err = -ENODEV;

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


[PULL] http://kernellabs.com/hg/~mkrufky/tda18271

2009-10-02 Thread Michael Krufky
Mauro,

We have discovered some major bugs in the tda18271 driver.  With these
changes, reception using this tuner has improved drastically.  The
fixes for these problems were relatively simple, but I need these
merged into Linus' tree as soon as possible so that I can generate
patches to be backported into the -stable series.  Please merge these
and send to Linus ASAP.

Please pull from:

http://kernellabs.com/hg/~mkrufky/tda18271

for the following:

- tda18271: fix overflow in FM radio frequency calculation
- tda8290: enable deemphasis_50 module parameter
- tda18271: fix signedness issue in tda18271_rf_tracking_filters_init
- tda18271: use temporary variables in tda18271_rf_tracking_filters_init
- tda18271: more signedness fixes
- tda18271: display some state information in debug output

 tda18271-fe.c   |   44 +++-
 tda18271-maps.c |1
 tda18271-priv.h |   43 ++-
 tda8290.c   |1
 4 files changed, 53 insertions(+), 36 deletions(-)

Regards,

Mike
--
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: [PULL] http://kernellabs.com/hg/~mkrufky/v4l-dvb

2009-10-02 Thread Michael Krufky
On Mon, Sep 28, 2009 at 12:24 AM, Michael Krufky  wrote:
> Mauro,
>
> Included in this pull request are some important fixes to the tda18271
> tuner driver.  Please include these patches in your next pull request
> to Linus.


Please disregard this pull request -- we found a problem in the Zolid
AGC control patch -- I will resubmit this as two separate pull
requests -- 1) tda* changes  2) Zolid tweaks.

Thanks,

Mike



> Please pull from:
>
> http://kernellabs.com/hg/~mkrufky/v4l-dvb
>
> for the following:
>
> - tda18271: fix overflow in FM radio frequency calculation
> - tda8290: enable deemphasis_50 module parameter
> - tda18271: fix signedness issue in tda18271_rf_tracking_filters_init
> - tda18271: use temporary variables in tda18271_rf_tracking_filters_init
> - tda18271: more signedness fixes
> - merge: ~mkrufky/tda18271
> - saa7134: add AGC control for Zolid Hybrid PCI card
>
>  common/tuners/tda18271-fe.c   |   84 --
>  common/tuners/tda18271-priv.h |   22 +++--
>  common/tuners/tda8290.c       |    2
>  video/saa7134/saa7134-cards.c |   25 ++
>  video/saa7134/saa7134-dvb.c   |    9 ++
>  5 files changed, 94 insertions(+), 48 deletions(-)
>
> Cheers,
>
> Mike
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] Zolid Hybrid PCI card add AGC control

2009-10-02 Thread Michael Krufky
On Fri, Oct 2, 2009 at 5:12 AM,   wrote:
> On Thu, Sep 24, 2009 at 02:55:42PM -0400, Michael Krufky wrote:
>> On Tue, Sep 22, 2009 at 5:09 PM,   wrote:
>> >
>> > Switches IF AGC control via GPIO 21 of the saa7134. Improves DTV reception 
>> > and
>> > FM radio reception.
>> >
>> > Signed-off-by: henk.vergo...@gmail.com
>>
>> Reviewed-by: Michael Krufky 
>>
>> Henk,
>>
>> This is *very* interesting...  Have you taken a scope to the board to
>> measure AGC interference?   This seems to be *very* similar to
>> Hauppauge's design for the HVR1120 and HVR1150 boards, which are
>> actually *not* based on any reference design.
>>
>> I have no problems with this patch, but I would be interested to hear
>> that you can prove it is actually needed by using a scope.  If you
>> don't have a scope, I understand  but this certainly peaks my
>> interest.
>>
>> Do you have schematics of that board?
>>
>> Regards,
>>
>> Mike Krufky
>>
>
> One note: I have tested the tda18271 signedness fixes in the debug
> repository. This is a big improvement in reception.
>
> Based on the latest testing with all the fixes I would say that
> switching the AGC line via gpio is not needed and leaving it at 0 gives
> the best results.
> (This is purely based on SNR and BER readings from tzap)
>
> So I would recomend: leaving config at zero.
>
>  static struct tda18271_config zolid_tda18271_config = {
>        .std_map = &zolid_tda18271_std_map,
>        .gate    = TDA18271_GATE_ANALOG,
> -       .config  = 3,
> +//     .config  = 3,
>        .output_opt = TDA18271_OUTPUT_LT_OFF,
>  };
>

I removed the patch from my tree awaiting merge, "saa7134: add AGC
control for Zolid Hybrid PCI card".

It wasn't as simple as changing the 3 to a 0, since the function,
"saa7134_tda18271_zolid_toggle_agc" becomes a no-op.

Also, you've been sending the sign-off's in the wrong format in your
previous submissions.

Please send in the "FM reception via RF_IN" as a separate patch, and
include your sign-off using the actual format:

Signed-off-by: Your Name 

Regards,

Mike
--
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] saa7134: Complete the IR address list

2009-10-02 Thread Jean Delvare
Google is pretty clear that the HVR 1110 IR chip is always at address
0x71 and the BeholdTV IR chip is always at address 0x2d. This
completes the list of IR device addresses for the SAA7134-based
adapters, and we no longer need to probe any of them.

Signed-off-by: Jean Delvare 
---
Note: this goes on top of the other saa7134 patches I've sent earlier
today.

 linux/drivers/media/video/saa7134/saa7134-input.c |   25 ++---
 1 file changed, 8 insertions(+), 17 deletions(-)

--- v4l-dvb.orig/linux/drivers/media/video/saa7134/saa7134-input.c  
2009-10-02 13:50:12.0 +0200
+++ v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c   2009-10-02 
14:29:07.0 +0200
@@ -746,10 +746,6 @@ void saa7134_probe_i2c_ir(struct saa7134
 {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
struct i2c_board_info info;
-   const unsigned short addr_list[] = {
-   0x47, 0x71, 0x2d,
-   I2C_CLIENT_END
-   };
 
struct i2c_msg msg_msi = {
.addr = 0x50,
@@ -846,6 +842,7 @@ void saa7134_probe_i2c_ir(struct saa7134
dev->init_data.name = "HVR 1110";
dev->init_data.get_key = get_key_hvr1110;
dev->init_data.ir_codes = &ir_codes_hauppauge_new_table;
+   info.addr = 0x71;
 #endif
break;
case SAA7134_BOARD_BEHOLD_607FM_MK3:
@@ -869,30 +866,24 @@ void saa7134_probe_i2c_ir(struct saa7134
dev->init_data.name = "BeholdTV";
dev->init_data.get_key = get_key_beholdm6xx;
dev->init_data.ir_codes = &ir_codes_behold_table;
+   info.addr = 0x2d;
 #endif
break;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30)
-   default:
-   dprintk("Shouldn't get here: Unknown board %x for I2C 
IR?\n",dev->board);
-#else
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
info.addr = 0x40;
-#endif
break;
+#endif
+   default:
+   dprintk("No I2C IR support for board %x\n", dev->board);
+   return;
}
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
if (dev->init_data.name)
info.platform_data = &dev->init_data;
-   /* No need to probe if address is known */
-   if (info.addr) {
-   i2c_new_device(&dev->i2c_adap, &info);
-   return;
-   }
-
-   /* Address not known, fallback to probing */
-   i2c_new_probed_device(&dev->i2c_adap, &info, addr_list);
+   i2c_new_device(&dev->i2c_adap, &info);
 #endif
 }
 

-- 
Jean Delvare
--
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: dqbuf in blocking mode

2009-10-02 Thread Sakari Ailus

Laurent Pinchart wrote:
[clip]
If I'm not mistaken videobuf_dqbuf() only returns -EIO if the buffer state is 
VIDEOBUF_ERROR. This is the direct result of either


- videobuf_queue_cancel() being called, or
- the device driver marking the buffer as erroneous because of a (possibly 
transient) device error


In the first case VIDIOC_DQBUF should in my opinion return with an error. In 
the second case things are not that clear. A transient error could be hidden 
from the application, or, if returned to the application through -EIO, 
shouldn't be treated as a fatal error. Non-transient errors should result in 
the application stopping video streaming.


Unfortunately there V4L2 API doesn't offer a way to find out if the error is 
transient or fatal:


"EIO		VIDIOC_DQBUF failed due to an internal error. Can also indicate 
temporary problems like signal loss. Note the driver might dequeue an (empty) 
buffer despite returning an error, or even stop capturing."


-EIO can mean many different things that need to be handled differently by 
applications. I especially hate the "the driver might dequeue an (empty) 
buffer despite returning an error".


Drivers should always or never dequeue a buffer when an error occurs, not 
sometimes. The problem is for the application to recognize the difference 
between a transient and a fatal error in a backward-compatible way.


The errors in this case are transient and for blocking mode IMO the 
safest way is to return the buffer only when there's one available. 
Which is what the driver is doing now.


What I'd probably change, however, is to move the handling to the ISP 
driver instead.


Regards,

--
Sakari Ailus
sakari.ai...@maxwell.research.nokia.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: cx23885 audio

2009-10-02 Thread David T. L. Wong

Steven Toth wrote:

On 10/1/09 11:52 PM, David T.L. Wong wrote:

Hi all,

It there any cx23885 audio support on current v4l-dvb tree, Or any
development tree for cx23885 audio?


http://www.kernellabs.com/blog/?p=788

I'm about to start on this.



Cool, Let's work on that together.

David
--
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: cx23885 audio

2009-10-02 Thread Steven Toth

On 10/1/09 11:52 PM, David T.L. Wong wrote:

Hi all,

It there any cx23885 audio support on current v4l-dvb tree, Or any
development tree for cx23885 audio?


http://www.kernellabs.com/blog/?p=788

I'm about to start on this.

--
Steven Toth - Kernel Labs
http://www.kernellabs.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


IR device at I2C address 0x7a

2009-10-02 Thread Jean Delvare
Hi all,

[Executive summary: Upmost Purple TV adapter testers wanted!]

While investigating another issue, I have noticed the following message
in the kernel logs of a saa7134 user:

i2c-adapter i2c-0: Invalid 7-bit address 0x7a

The address in question is attempted by an IR device probe, and is only
probed on SAA7134 adapters. The problem with this address is that it is
reserved by the I2C specification for 10-bit addressing, and is thus
not a valid 7-bit address. Before the conversion of ir-kbd-i2c to the
new-style i2c device driver binding model, device probing was done by
ir-kbd-i2c itself so no check was done by i2c-core for address
validity. But since kernel 2.6.31, probing at address 0x7a will be
denied by i2c-core.

So, SAA7134 adapters with an IR device at 0x7a are currently broken.
Do we know how many devices use this address for IR and which they
are? Tracking the changes in the source code, this address was added
in kernel 2.6.8 by Gerd Knorr:
  
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=581f0d1a0ded3e3d4408e5bb7f81b9ee221f6b7a
So this would be used by the "Upmost Purple TV" adapter. Question is,
are there other?

Some web research has pointed me to the Yuan TUN-900:
  http://www.linuxtv.org/pipermail/linux-dvb/2008-January/023405.html
but it isn't clear to me whether the device at 0x7a on this adapter is
the same as the one on the Purple TV. And saa7134-cards says of the
TUN-900: "Remote control not yet implemented" so maybe we can just
ignore it for now.

If we have to, I could make i2c-core more permissive, but I am rather
reluctant to letting invalid addressed being probed, because you never
know how complying chips on the I2C bus will react. I am OK supporting
invalid addresses if they really exist out there, but the impact should
be limited to the hardware in question.

If we only have to care about the Upmost Purple TV, then the following
patch should solve the problem:

* * * * *

From: Jean Delvare 
Subject: saa7134: Fix IR support for Purple TV

The i2c core prevents us from probing I2C address 0x7a because it's
not a valid 7-bit address (reserved for 10-bit addressing.) So we must
stop probing this address, and explicitly list all adapters which use
it. Under the assumption that only the Upmost Purple TV adapter uses
this invalid address, this fix should do the trick.

Signed-off-by: Jean Delvare 
---
 linux/drivers/media/video/saa7134/saa7134-input.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- v4l-dvb.orig/linux/drivers/media/video/saa7134/saa7134-input.c  
2009-10-02 13:26:39.0 +0200
+++ v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c   2009-10-02 
13:26:49.0 +0200
@@ -746,7 +746,7 @@ void saa7134_probe_i2c_ir(struct saa7134
 {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
const unsigned short addr_list[] = {
-   0x7a, 0x47, 0x71, 0x2d,
+   0x47, 0x71, 0x2d,
I2C_CLIENT_END
};
 
@@ -813,6 +813,7 @@ void saa7134_probe_i2c_ir(struct saa7134
dev->init_data.name = "Purple TV";
dev->init_data.get_key = get_key_purpletv;
dev->init_data.ir_codes = &ir_codes_purpletv_table;
+   info.addr = 0x7a;
 #endif
break;
case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:


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


Mem2Mem V4L2 devices [RFC]

2009-10-02 Thread Marek Szyprowski
Hello,

During the V4L2 mini-summit and the Media Controller RFC discussion on 
Linux Plumbers 2009 Conference a mem2mem video device has been mentioned 
a few times (usually in a context of a 'resizer device' which might be a 
part of Camera interface pipeline or work as a standalone device). We 
are doing a research how our custom video/multimedia drivers can fit 
into the V4L2 framework. Most of our multimedia devices work in mem2mem 
mode. 

I did a quick research and I found that currently in the V4L2 framework 
there is no device that processes video data in a memory-to-memory 
model. In terms of V4L2 framework such device would be both video sink 
and source at the same time. The main problem is how the video nodes 
(/dev/videoX) should be assigned to such a device. 

The simplest way of implementing mem2mem device in v4l2 framework would 
use two video nodes (one for input and one for output). Such an idea has 
been already suggested on V4L2 mini-summit. Each DMA engine (either 
input or output) that is available in the hardware should get its own 
video node. In this approach an application can write() source image to 
for example /dev/video0 and then read the processed output from for 
example /dev/video1. Source and destination format/params/other custom 
settings also can be easily set for either source or destination node. 
Besides a single image, user applications can also process video streams 
by calling stream_on(), qbuf() + dqbuf(), stream_off() simultaneously on 
both video nodes. 

This approach has a limitation however. As user applications would have 
to open 2 different file descriptors to perform the processing of a 
single image, the v4l2 driver would need to match read() calls done on 
one file descriptor with write() calls from the another. The same thing 
would happen with buffers enqueued with qbuf(). In practice, this would 
result in a driver that allows only one instance of /dev/video0 as well 
as /dev/video1 opened. Otherwise, it would not be possible to track 
which opened /dev/video0 instance matches which /dev/video1 one. 

The real limitation of this approach is the fact, that it is hardly 
possible to implement multi-instance support and application 
multiplexing on a video device. In a typical embedded system, in 
contrast to most video-source-only or video-sink-only devices, a mem2mem 
device is very often used by more than one application at a time. Be it 
either simple one-shot single video frame processing or stream 
processing. Just consider that the 'resizer' module might be used in 
many applications for scaling bitmaps (xserver video subsystem, 
gstreamer, jpeglib, etc) only. 

At the first glance one might think that implementing multi-instance 
support should be done in a userspace daemon instead of mem2mem drivers. 
However I have run into problems designing such a user space daemon. 
Usually, video buffers are passed to v4l2 device as a user pointer or 
are mmaped directly from the device. The main issue that cannot be 
easily resolved is passing video buffers from the client application to 
the daemon. The daemon would queue a request on the device and return 
results back to the client application after a transaction is finished. 
Passing userspace pointers between an application and the daemon cannot 
be done, as they are two different processes. Mmap-type buffers are 
similar in this aspect - at least 2 buffer copy operations are required 
(from client application to device input buffers mmaped in daemon's 
memory and then from device output buffers to client application). 
Buffer copying and process context switches add both latency and 
additional cpu workload. In our custom drivers for mem2mem multimedia 
devices we implemented a queue shared between all instances of an opened 
mem2mem device. Each instance is assigned to an open device file 
descriptor. The queue is serviced in the device context, thus maximizing 
the device throughput. This is achieved by scheduling the next 
transaction in the driver (kernel) context. This may not even require a 
context switch at all. 

Do you have any ideas how would this solution fit into the current v4l2 
design? 

Another solution that came into my mind that would not suffer from this 
limitation is to use the same video node for both writing input buffers 
and reading output buffers (or queuing both input and output buffers). 
Such a design causes more problems with the current v4l2 design however: 

1. How to set different color space or size for input and output buffer 
each? It could be solved by adding a set of ioctls to get/set source 
image format and size, while the existing v4l2 ioctls would only refer 
to the output buffer. Frankly speaking, we don't like this idea. 

2. Input and output in the same video node would not be compatible with 
the upcoming media controller, with which we will get an ability to 
arrange devices into a custom pipeline. Piping together two separate 
input-output nodes to 

Re: What is the status of the driver TT CT-3650

2009-10-02 Thread James Peters
On Fri, Oct 2, 2009 at 9:20 AM, Hasse Hagen Johansen
 wrote:
> Hi
>
> I have recently bought such a card and tried to get it working. Does
> anyone know if it is possible. I have compiled the dvb drivers from
> s2-liplianin
>
> And tried to use the scan program from the dvb-apps mercurial tarball. I
> also compile scan-s2 and tried that, but I always get "tuning failed"
>
> Anyone know how to get this working or this card is in a working state
> under linux. Because if it not working yet I will stop wasting my time
> :-)
>

it didn't work for me either, so I returned it and stick with my old
DVB-T device again..

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


What is the status of the driver TT CT-3650

2009-10-02 Thread Hasse Hagen Johansen
Hi

I have recently bought such a card and tried to get it working. Does
anyone know if it is possible. I have compiled the dvb drivers from
s2-liplianin

And tried to use the scan program from the dvb-apps mercurial tarball. I
also compile scan-s2 and tried that, but I always get "tuning failed"

Anyone know how to get this working or this card is in a working state
under linux. Because if it not working yet I will stop wasting my time
:-)

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


Re: [PATCH 4/4] Zolid Hybrid PCI card add AGC control

2009-10-02 Thread spam
On Thu, Sep 24, 2009 at 02:55:42PM -0400, Michael Krufky wrote:
> On Tue, Sep 22, 2009 at 5:09 PM,   wrote:
> >
> > Switches IF AGC control via GPIO 21 of the saa7134. Improves DTV reception 
> > and
> > FM radio reception.
> >
> > Signed-off-by: henk.vergo...@gmail.com
> 
> Reviewed-by: Michael Krufky 
> 
> Henk,
> 
> This is *very* interesting...  Have you taken a scope to the board to
> measure AGC interference?   This seems to be *very* similar to
> Hauppauge's design for the HVR1120 and HVR1150 boards, which are
> actually *not* based on any reference design.
> 
> I have no problems with this patch, but I would be interested to hear
> that you can prove it is actually needed by using a scope.  If you
> don't have a scope, I understand  but this certainly peaks my
> interest.
> 
> Do you have schematics of that board?
> 
> Regards,
> 
> Mike Krufky
> 

One note: I have tested the tda18271 signedness fixes in the debug
repository. This is a big improvement in reception.

Based on the latest testing with all the fixes I would say that
switching the AGC line via gpio is not needed and leaving it at 0 gives
the best results.
(This is purely based on SNR and BER readings from tzap)

So I would recomend: leaving config at zero.

 static struct tda18271_config zolid_tda18271_config = {
.std_map = &zolid_tda18271_std_map,
.gate= TDA18271_GATE_ANALOG,
-   .config  = 3,
+// .config  = 3,
.output_opt = TDA18271_OUTPUT_LT_OFF,
 };

Regards,
Henk
--
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] Fix wrong sizeof

2009-10-02 Thread Jean Delvare
Which is why I have always preferred sizeof(struct foo) over
sizeof(var).

Signed-off-by: Jean Delvare 
---
 linux/drivers/media/dvb/dvb-usb/ce6230.c|2 +-
 linux/drivers/media/video/saa7164/saa7164-cmd.c |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- v4l-dvb.orig/linux/drivers/media/dvb/dvb-usb/ce6230.c   2009-09-26 
13:10:08.0 +0200
+++ v4l-dvb/linux/drivers/media/dvb/dvb-usb/ce6230.c2009-10-02 
11:03:17.0 +0200
@@ -105,7 +105,7 @@ static int ce6230_i2c_xfer(struct i2c_ad
int i = 0;
struct req_t req;
int ret = 0;
-   memset(&req, 0, sizeof(&req));
+   memset(&req, 0, sizeof(req));
 
if (num > 2)
return -EINVAL;
--- v4l-dvb.orig/linux/drivers/media/video/saa7164/saa7164-cmd.c
2009-09-26 13:10:09.0 +0200
+++ v4l-dvb/linux/drivers/media/video/saa7164/saa7164-cmd.c 2009-10-02 
11:03:21.0 +0200
@@ -347,7 +347,7 @@ int saa7164_cmd_send(struct saa7164_dev
 
/* Prepare some basic command/response structures */
memset(&command_t, 0, sizeof(command_t));
-   memset(&response_t, 0, sizeof(&response_t));
+   memset(&response_t, 0, sizeof(response_t));
pcommand_t = &command_t;
presponse_t = &response_t;
command_t.id = id;

-- 
Jean Delvare
--
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] i2c_board_info can be local

2009-10-02 Thread Jean Delvare
Recent fixes to the em28xx and saa7134 drivers have been overzealous.
While the ir-kbd-i2c platform data indeed needs to be persistent, the
struct i2c_board_info doesn't, as it is only used by i2c_new_device().

So revert a part of the original fixes, to save some memory. 

Signed-off-by: Jean Delvare 
Cc: Mauro Carvalho Chehab 
---
 linux/drivers/media/video/em28xx/em28xx-cards.c   |9 +
 linux/drivers/media/video/em28xx/em28xx.h |1 -
 linux/drivers/media/video/saa7134/saa7134-input.c |   21 +++--
 linux/drivers/media/video/saa7134/saa7134.h   |1 -
 4 files changed, 16 insertions(+), 16 deletions(-)

--- v4l-dvb.orig/linux/drivers/media/video/em28xx/em28xx-cards.c
2009-09-26 13:10:08.0 +0200
+++ v4l-dvb/linux/drivers/media/video/em28xx/em28xx-cards.c 2009-10-02 
10:05:47.0 +0200
@@ -2306,6 +2306,7 @@ void em28xx_register_i2c_ir(struct em28x
return;
}
 #else
+   struct i2c_board_info info;
const unsigned short addr_list[] = {
 0x30, 0x47, I2C_CLIENT_END
};
@@ -2313,9 +2314,9 @@ void em28xx_register_i2c_ir(struct em28x
if (disable_ir)
return;
 
-   memset(&dev->info, 0, sizeof(&dev->info));
+   memset(&info, 0, sizeof(struct i2c_board_info));
memset(&dev->init_data, 0, sizeof(dev->init_data));
-   strlcpy(dev->info.type, "ir_video", I2C_NAME_SIZE);
+   strlcpy(info.type, "ir_video", I2C_NAME_SIZE);
 #endif
 
/* detect & configure */
@@ -2361,8 +2362,8 @@ void em28xx_register_i2c_ir(struct em28x
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
 
if (dev->init_data.name)
-   dev->info.platform_data = &dev->init_data;
-   i2c_new_probed_device(&dev->i2c_adap, &dev->info, addr_list);
+   info.platform_data = &dev->init_data;
+   i2c_new_probed_device(&dev->i2c_adap, &info, addr_list);
 #endif
 }
 
--- v4l-dvb.orig/linux/drivers/media/video/em28xx/em28xx.h  2009-09-26 
13:10:09.0 +0200
+++ v4l-dvb/linux/drivers/media/video/em28xx/em28xx.h   2009-10-02 
10:13:10.0 +0200
@@ -625,7 +625,6 @@ struct em28xx {
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
/* I2C keyboard data */
-   struct i2c_board_info info;
struct IR_i2c_init_data init_data;
 #endif
 };
--- v4l-dvb.orig/linux/drivers/media/video/saa7134/saa7134-input.c  
2009-09-26 13:10:09.0 +0200
+++ v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c   2009-10-02 
10:15:04.0 +0200
@@ -745,6 +745,7 @@ void saa7134_probe_i2c_ir(struct saa7134
 #endif
 {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
+   struct i2c_board_info info;
const unsigned short addr_list[] = {
0x7a, 0x47, 0x71, 0x2d,
I2C_CLIENT_END
@@ -771,9 +772,9 @@ void saa7134_probe_i2c_ir(struct saa7134
}
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
-   memset(&dev->info, 0, sizeof(dev->info));
+   memset(&info, 0, sizeof(struct i2c_board_info));
memset(&dev->init_data, 0, sizeof(dev->init_data));
-   strlcpy(dev->info.type, "ir_video", I2C_NAME_SIZE);
+   strlcpy(info.type, "ir_video", I2C_NAME_SIZE);
 
 #endif
switch (dev->board) {
@@ -791,7 +792,7 @@ void saa7134_probe_i2c_ir(struct saa7134
 #else
dev->init_data.get_key = get_key_pinnacle_color;
dev->init_data.ir_codes = 
&ir_codes_pinnacle_color_table;
-   dev->info.addr = 0x47;
+   info.addr = 0x47;
 #endif
} else {
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30)
@@ -800,7 +801,7 @@ void saa7134_probe_i2c_ir(struct saa7134
 #else
dev->init_data.get_key = get_key_pinnacle_grey;
dev->init_data.ir_codes = &ir_codes_pinnacle_grey_table;
-   dev->info.addr = 0x47;
+   info.addr = 0x47;
 #endif
}
break;
@@ -824,7 +825,7 @@ void saa7134_probe_i2c_ir(struct saa7134
dev->init_data.name = "MSI t...@nywhere Plus";
dev->init_data.get_key = get_key_msi_tvanywhere_plus;
dev->init_data.ir_codes = &ir_codes_msi_tvanywhere_plus_table;
-   dev->info.addr = 0x30;
+   info.addr = 0x30;
/* MSI t...@nywhere Plus controller doesn't seem to
   respond to probes unless we read something from
   an existing device. Weird...
@@ -875,22 +876,22 @@ void saa7134_probe_i2c_ir(struct saa7134
 #else
case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
-   dev->info.addr = 0x40;
+   info.addr = 0x40;
 #endif
break;
}
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
if (dev->init_data.name)
-   dev->info.platform_data = &dev-