Re: RFC: Move ivtv utilities and ivtv X video extension to v4l-utils

2010-09-16 Thread Hans de Goede

Hi,

On 09/17/2010 12:58 AM, Andy Walls wrote:

Hi Hans and Hans,

I'd like to move the source code maintained here:

http://ivtvdriver.org/svn/

to someplace where it may be less likely to suffer bit rot.
I was hoping the v4l-utils git repo would be an appropriate place.

Do either of you have any opinions on this?



Moving this to v4l-utils.git is fine with me, assuming it
is ok with the owner of the code too (H. Verkuil I think ?).

Regards,

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


[GIT PATCHES FOR 2.6.36] Two small fixes for Conexant TV chip drivers

2010-09-16 Thread Andy Walls
Mauro,

Please pull the following two small changes for 2.6.36 and later
kernels.  Thanks go to Igor M. Liplianin for reporting the cx25840 bug
and Dan Rosenberg for fixing the possible information leak in the ivtvfb
driver.

The following changes since commit 67ac062a5138ed446a821051fddd798a01478f85:

  V4L/DVB: Fix regression for BeholdTV Columbus (2010-08-24 10:39:32 -0300)

are available in the git repository at:
  ssh://linuxtv.org/git/awalls/media_tree.git cx-fixes-36

Andy Walls (1):
  cx25840: Fix typo in volume control initialization: 65335 vs. 65535

Dan Rosenberg (1):
  ivtvfb: prevent reading uninitialized stack memory

 drivers/media/video/cx25840/cx25840-core.c |2 +-
 drivers/media/video/ivtv/ivtvfb.c  |2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)

Regards,
Andy

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


Re: [RFC/PATCH v4 07/11] media: Entities, pads and links enumeration

2010-09-16 Thread Laurent Pinchart
Hi Sakari,

On Thursday 16 September 2010 17:36:29 Sakari Ailus wrote:
> Laurent Pinchart wrote:
> > On Monday 06 September 2010 18:51:59 Hans Verkuil wrote:
> >> On Wednesday, September 01, 2010 16:05:10 Laurent Pinchart wrote:
> >>> On Saturday 28 August 2010 13:02:22 Hans Verkuil wrote:
>  On Friday, August 20, 2010 17:29:09 Laurent Pinchart wrote:
> ...
> 
> > +};
>  
>  Should this be a packed struct?
> >>> 
> >>> Why ? :-) Packed struct are most useful when they need to match
> >>> hardware structures or network protocols. Packing a structure can
> >>> generate unaligned fields, which are bad performance-wise.
> >> 
> >> I'm thinking about preventing a compat32 mess as we have for v4l.
> >> 
> >> It is my understanding that the only way to prevent different struct
> >> sizes between 32 and 64 bit is to use packed.
> > 
> > I don't think that's correct. Different struct sizes between 32bit and
> > 64bit are caused by variable-size fields, such as 'long' (32bit on 32bit
> > architectures, 64bit on 64bit architectures). I might be wrong though.
> 
> As far as I understand that's another reason for the structures not
> being exactly the same. Alignment of different data types in structures
> depends on ABI. I don't know the exact rules for all the architectures
> Linux supports if there are cases where the alignment would be different
> for 32-bit and 64-bit and smaller than the data type. On ARM there have
> been different alignments depending on ABI (EABI vs. GNU ABI) which is
> now practically history though.
> 
> I couldn't find a better reference than this:
> 
> http://developers.sun.com/solaris/articles/about_amd64_abi.html>
> 
> 64-bit integers are aligned differently on 32-bit and 64-bit x86 but the
> alignment is still smaller or equal to the size of the data type.

Thanks for the link.

> I'd also pack them to be sure. The structures should be constructed so
> that the alignment is sane even if they are packed. In that case there's
> no harm done by packing. It just prevents a failure (32-bit vs. 64-bit)
> if there's a problem with the definition.

Even if the structures were packed we would have a problem with 
media_user_links. The pads and links pointers will be 4-bytes long on 32-bit 
and 8-bytes long on 64-bit. There's no way around that. I could pad the 
structure to a fixed size with

struct media_links_enum {
__u32 entity;
/* Should have enough room for pads elements */
struct media_pad_desc __user *pads;
__u8 __pad1[8 - sizeof(void *)];
/* Should have enough room for links elements */
struct media_link_desc __user *links;
__u8 __pad2[8 - sizeof(void *)];
__u32 reserved[4];
};

or with

struct media_links_enum {
__u32 entity;
union {
struct {
/* Should have enough room for pads elements */
struct media_pad_desc __user *pads;
/* Should have enough room for links elements */
struct media_link_desc __user *links;
};
__u32 __pad[4];
};
__u32 reserved[4];
};

Is there any other way ?

-- 
Regards,

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


RFC: Move ivtv utilities and ivtv X video extension to v4l-utils

2010-09-16 Thread Andy Walls
Hi Hans and Hans,

I'd like to move the source code maintained here:

http://ivtvdriver.org/svn/

to someplace where it may be less likely to suffer bit rot.
I was hoping the v4l-utils git repo would be an appropriate place.

Do either of you have any opinions on this?

If you think it would be acceptable, do you have a preference on where
they would be placed in the v4l-utils directory structure?

Thanks.

Regards,
Andy

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


Re: HVR 1600 Distortion

2010-09-16 Thread Andy Walls
On Wed, 2010-09-15 at 22:54 -0400, Josh Borke wrote:
> I've recently noticed some distortion coming from my hvr1600 when
> viewing analog channels.  It happens to all analog channels with some
> slightly better than others.  I am running Fedora 12 linux with kernel
> version 2.6.32.21-166.


> I know I need to include more information but I'm not sure what to
> include.  Any help would be appreciated.

1. Would you say the distortion is something you would possibly
encounter on an analog television set, or does it look "uniquely
digital"?  On systems with a long uptime and lots of usage, MPEG encoder
firmware could wind up in a screwed up state giving weird output image.
Simple solution in this case is to reboot.

2. Have you ensured your cable plant isn't affecting signal integrity?
http://ivtvdriver.org/index.php/Howto:Improve_signal_quality


3. Does this happen with only the RF tuner or only CVBS or only SVideo
or more than one of them?  If the problem is only with RF, then it could
be an incoming signal distortion problem.  Do you have cable or an over
the air antenna for analog RF?

4. What does v4l2-ctl --log-status show as your analog tuner?

5. Do you have a kernel with the new concurrency managed workqueues?
On these kernels 'ps axf' will *not* show kernel threads with names like
[cx18-0-in], [cx18-0-out/0], [cx18-0-out/1].  This is a major kernel
change which could cause some MPEG buffers to be lost or reordered, if
the new workqueue implementation has bugs.

6. Have you recently installed new hardware in the subject computer?  Of
most interest are adapter cards with cables coming off of them and cards
very close to the HVR-1600.  EMI can be picked up by the HVR-1600's
board traces that are not shielded.

7. Does the distortion look like loss of horizontal line sync and happen
only near very bright parts of the image on the left edge?  If it does,
the baseband video signal level is too high.

8. Care to post a short image in a paste bin or email a small MPEG to
me?

Regards,
Andy


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


Re: [PATCH] uvc: Enable USB autosuspend by default on uvcvideo

2010-09-16 Thread Laurent Pinchart
Hi Matthew,

Thanks for the patch.

On Thursday 16 September 2010 20:00:04 Matthew Garrett wrote:
> We've been doing this for a while in Fedora without any complaints.

I'll trust you on that. If users start complaining I'll tell them who to blame 
;-)

> Signed-off-by: Matthew Garrett 

Acked-by: Laurent Pinchart 

(although, if you need to resubmit the patch for any reason, I'd rather like 
the usb_enable_autosuspend call to be before the uvc_trace call).

> ---
>  drivers/media/video/uvc/uvc_driver.c |1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/media/video/uvc/uvc_driver.c
> b/drivers/media/video/uvc/uvc_driver.c index 8bdd940..28ed5b4 100644
> --- a/drivers/media/video/uvc/uvc_driver.c
> +++ b/drivers/media/video/uvc/uvc_driver.c
> @@ -1814,6 +1814,7 @@ static int uvc_probe(struct usb_interface *intf,
>   }
> 
>   uvc_trace(UVC_TRACE_PROBE, "UVC device initialized.\n");
> + usb_enable_autosuspend(udev);
>   return 0;
> 
>  error:

-- 
Regards,

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


Re: Hello and question about firmwares

2010-09-16 Thread ✎Ʀafael Vieira♦
Hello Mauro,

Thanks for your help.
Found your patch:

http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/22814

You're right, a more careful research returned
--
   - Product: PixelView PlayTV USB Hybrid

   - Part Number: PV-B308U(FRTN)-F

   - TDA18271 (NXP Hybrid Tuner), 86A20S (Fujitsu ISDB-T demodulator),
   CX23102 (CNXT AV Decoder - 10bit), USB Bridge
--
   - Product: PixelView PlayTV USB SBTVD Full-Seg

   - Part Number: PV-D231U(RN)-F

   - Chipset: DIB8076
--
Even if they share the same ID(from lsusb), chipsets are different.
This is really troublesome :(
But, the driver for CX23102 does exist in kernel.So, I was
thinkingIs there a way to force kernel to recognize the device
PixelView PlayTV USB Hybrid as anyother who uses the same chipset,
like Conexant Hybrid TV - RDE250?

http://lxr.free-electrons.com/source/drivers/media/video/cx231xx/cx231xx-cards.c
http://www.datasheetarchive.com/Indexer/Datasheet-064/DSA00206835.html

Shouldn't it work? At least as a regular tv(analog)this way the
money I spent wouldn't be for nothing.

I don't know if this helps but I found this too(for fujitsu chipset,
his full name seems to be MB86A20S):

http://www.fujitsu.com/downloads/MICRO/fme/documentation/M17_MB86A20S_OFDM_Demodulator.pdf

Do you think it's possible?
Thank you again for your help and patch :)

Rafael Vieira

2010/9/16 Mauro Carvalho Chehab :
> Hi Rafael,
>
> Em 16-09-2010 13:56, ✎Ʀafael Vieira♦ escreveu:
>> I realize now that I was kind of fast foward :) So nice to meet you all.
>> I hope someday, I'm able to help you guys.
>> Let me give you some more data from the device, although is not
>> directly related to my questions.
>>
>> The two devices:
>>
>> http://www.pixelview.com.br/play_tv_usb_sbtvd_fullseg.asp (works already)
>>
>> http://www.pixelview.com.br/playtv_usb_hybrid.asp (I'm trying to get it to 
>> work)
>
> They are completely independent devices. One uses dib0700, while the other 
> uses cx23102,
> plus a Fujitsu frontend. The second one is not supported. I wrote a patch to 
> fix the
> auto-detection issues between them a few days ago on my -git tree. 
> Eventually, analog
> support for s-video/composite will work, but analog or digital TV won't work. 
> I need
> to get one of those in order to fix the analog TV. For digital, it is more 
> complicated,
> as we don't have any info about the Fujitsu chip yet.
>
> Abraços,
> Mauro.
>



-- 
Rafael Siqueira Telles Vieira
--
"Effective leadership is not about making speeches or being liked;
leadership is defined by results not attributes" - Peter F. Drucker
--
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


DVICO Dual Express Has Been Superseded

2010-09-16 Thread drappa

Hi All

I saw this post and made some enquiries: 
http://www.spinics.net/lists/linux-media/msg23091.html
I have confirmation  that the card is no longer available and has been 
replaced with Dvico FusionHDTV DVB-T Dual Express2.
Has anyone previously heard of it / done any development on it or have 
any thoughts on how to get it working?


Regards
Drappa
--
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: Remaining BKL users, what to do

2010-09-16 Thread Anton Altaparmakov
Hi,

On 16 Sep 2010, at 16:04, Jan Kara wrote:
> On Thu 16-09-10 16:32:59, Arnd Bergmann wrote:
>> The big kernel lock is gone from almost all code in linux-next, this is
>> the status of what I think will happen to the remaining users:
> ...
>> fs/ncpfs:
>>  Should be fixable if Petr still cares about it. Otherwise suggest
>>  moving to drivers/staging if there are no users left.
>  I think some people still use this...

Yes, indeed.  Netware is still alive (unfortunately!) and ncpfs is used in a 
lot of Universities here in the UK at least (we use it about a thousand 
workstations and servers here at Cambridge University!).

Best regards,

Anton
-- 
Anton Altaparmakov  (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

--
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: Hello and question about firmwares

2010-09-16 Thread Mauro Carvalho Chehab
Hi Rafael,

Em 16-09-2010 13:56, ✎Ʀafael Vieira♦ escreveu:
> I realize now that I was kind of fast foward :) So nice to meet you all.
> I hope someday, I'm able to help you guys.
> Let me give you some more data from the device, although is not
> directly related to my questions.
> 
> The two devices:
> 
> http://www.pixelview.com.br/play_tv_usb_sbtvd_fullseg.asp (works already)
> 
> http://www.pixelview.com.br/playtv_usb_hybrid.asp (I'm trying to get it to 
> work)

They are completely independent devices. One uses dib0700, while the other uses 
cx23102,
plus a Fujitsu frontend. The second one is not supported. I wrote a patch to 
fix the
auto-detection issues between them a few days ago on my -git tree. Eventually, 
analog
support for s-video/composite will work, but analog or digital TV won't work. I 
need
to get one of those in order to fix the analog TV. For digital, it is more 
complicated,
as we don't have any info about the Fujitsu chip yet.

Abraços,
Mauro.
--
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-media] How to handle independent CA devices

2010-09-16 Thread Klaus Schmidinger
On 09.09.2010 23:52, rjkm wrote:
> Hi,
> 
> cards like the Digital Devices DuoFlex S2, cineS2 and upcoming 
> hardware (octuple, network, etc.) have independent CA devices.
> This means that instead of having the stream routed from the frontend 
> through the CI and only then into memory a stream can be sent from
> memory through the CI and back. So, the current device model does not
> fit this hardware.
> 
> One could hide this fact inside the driver and send the stream from
> the frontend through the CI transparently to the API but this would
> prevent people from implementing new features like decoding a stream from 
> a different DVB card, decoding streams from hard disk or even decoding
> several sub-streams from different transponders.
> The latter works with the current Windows driver but I have not
> implemented it in Linux yet. It also has to be supported by the CI
> modules. Some can decode 12 streams (6 times video/audio) at once.
> 
> But decoding single streams already works fine. Currently, I am 
> registering a different adapter for the CI.
> On a CineS2 with CI attached at the IO port I then have
> 
> /dev/dvb/adapter[01] for the two DVB-S2 frontends and
> /dev/dvb/adapter2 just for the ca0 device.
> 
> I am abusing the unused sec0 to write/read data to/from the CI module.
> For testing I hacked zap from dvb-apps to tune on adapter0 but 
> use adapter2/ca0 to talk to the CI module.
> I then write the encrypted stream from adapter0/dvr0 into 
> adapter2/sec0 and read the decoded stream back from adapter2/sec0.
> The encrypted stream of course has to contain all the PIDs of the
> ca_pmt. 
> 
> So, I would like to hear your opinions about how to handle such CA devices 
> regarding device names/types, the DVB API and user libraries.

Here's my 2ct as viewed from VDR:

VDR already has mechanisms that allow independent handling of CAMs
and receiving devices. Out of the box this currently only works for
DVB devices that actually have a frontend and where the 'ca' device
is under the same 'adapter' as the frontend.
I could easily make it skip adapters that have no actual
'frontend' and set up separate cDvbCiAdapter objects for adapters that
only have a 'ca' device and no frontend.

However, VDR always assumes that the data to be recorded comes out of
the 'dvr' device that's under the same adapter as the 'frontend'.
So requiring that VDR would read from the frontend's 'dvr' device,
write to the ca-adapter's 'sec' (or whatever) device, and finally read
from that same 'sec' device again would be something I'd rather avoid.
Besides, what if some PIDs are encrypted, while others are not? Should
the unencrypted ones be read directly from 'dvr' and only the encrypted
ones from 'sec'? That might mess with the proper sequence of the packets.

As for decrypting data from several frontends through one CAM: I don't
see this happening in VDR. Pay tv channels repeat their stuff
often enough to find a slot where everything can be recorded. Others may,
of course, welcome this ability, but I'd like to keep things simple in VDR.
So I'm not against this, I just won't use it in VDR.

As for recording encrypted and decrypting later: that's also something
I don't see being used in VDR (again, mainly for KISS reasons).

So, the bottom line is: I would appreciate an implementation where,
given the configuration you described above, I could, e.g., tune using
/dev/dvb/adapter0/frontend0, read the data stream from /dev/dvb/adapter0/dvr0
as usual, communicate with the CAM through /dev/dvb/adapter2/ca0 and
(which is the tricky part, I guess) "tell" the driver or some library
function to "assign the CAM in /dev/dvb/adapter2/ca0 to the frontend|dvr
in /dev/dvb/adapter0/frontend0|dvr0).

Please forgive me if this sounds like a crazy request - I'm not a driver
developer ;-)

Klaus
--
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: Remaining BKL users, what to do

2010-09-16 Thread David Miller
From: Alan Cox 
Date: Thu, 16 Sep 2010 16:07:59 +0100

>> net/appletalk:
>> net/ipx/af_ipx.c:
>> net/irda/af_irda.c:
>>  Can probably be saved from retirement in drivers/staging if the
>>  maintainers still care.
> 
> IPX and Appletalk both have active users. They also look fairly fixable
> as the lock_kernel just maps to a stack private mutex, or in several
> cases can simply be dropped - its just a push down legacy.

I'll take a stab at IPX and Appletalk.
--
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: Remaining BKL users, what to do

2010-09-16 Thread David Miller
From: Samuel Ortiz 
Date: Thu, 16 Sep 2010 18:57:56 +0200

> On Thu, 2010-09-16 at 16:32 +0200, Arnd Bergmann wrote:
>> net/appletalk:
>> net/ipx/af_ipx.c:
>> net/irda/af_irda.c:
>>  Can probably be saved from retirement in drivers/staging if the
>>  maintainers still care.
> I'll take care of the IrDA part.

Thanks a lot Sam.
--
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] uvc: Enable USB autosuspend by default on uvcvideo

2010-09-16 Thread Greg KH
On Thu, Sep 16, 2010 at 07:53:18PM +0100, Matthew Garrett wrote:
> On Thu, Sep 16, 2010 at 11:45:30AM -0700, Greg KH wrote:
> > On Thu, Sep 16, 2010 at 02:00:04PM -0400, Matthew Garrett wrote:
> > > We've been doing this for a while in Fedora without any complaints.
> > 
> > No complaints probably, but does it actually do anything?  Last time I
> > measured, it didn't, but that was in the .31 kernel days.
> 
> It's necessary if you want to be able to do runtime PCI power management 
> on the HCD.

Ok, fair enough, no objection from me.

thanks,

greg k-h
--
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.26 and up: ERRORS

2010-09-16 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Thu Sep 16 19:00:07 CEST 2010
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   15160:60edc4bd92b7
git master:   3e6dce76d99b328716b43929b9195adfee1de00c
git media-master: 991403c594f666a2ed46297c592c60c3b9f4e1e2
gcc version:  i686-linux-gcc (GCC) 4.4.3
host hardware:x86_64
host os:  2.6.32.5

linux-2.6.32.6-armv5: WARNINGS
linux-2.6.33-armv5: OK
linux-2.6.34-armv5: WARNINGS
linux-2.6.35.3-armv5: WARNINGS
linux-2.6.36-rc2-armv5: ERRORS
linux-2.6.32.6-armv5-davinci: WARNINGS
linux-2.6.33-armv5-davinci: WARNINGS
linux-2.6.34-armv5-davinci: WARNINGS
linux-2.6.35.3-armv5-davinci: WARNINGS
linux-2.6.36-rc2-armv5-davinci: ERRORS
linux-2.6.32.6-armv5-ixp: WARNINGS
linux-2.6.33-armv5-ixp: WARNINGS
linux-2.6.34-armv5-ixp: WARNINGS
linux-2.6.35.3-armv5-ixp: WARNINGS
linux-2.6.36-rc2-armv5-ixp: ERRORS
linux-2.6.32.6-armv5-omap2: WARNINGS
linux-2.6.33-armv5-omap2: WARNINGS
linux-2.6.34-armv5-omap2: WARNINGS
linux-2.6.35.3-armv5-omap2: WARNINGS
linux-2.6.36-rc2-armv5-omap2: ERRORS
linux-2.6.26.8-i686: WARNINGS
linux-2.6.27.44-i686: WARNINGS
linux-2.6.28.10-i686: WARNINGS
linux-2.6.29.1-i686: WARNINGS
linux-2.6.30.10-i686: WARNINGS
linux-2.6.31.12-i686: WARNINGS
linux-2.6.32.6-i686: WARNINGS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-rc2-i686: ERRORS
linux-2.6.32.6-m32r: WARNINGS
linux-2.6.33-m32r: OK
linux-2.6.34-m32r: WARNINGS
linux-2.6.35.3-m32r: WARNINGS
linux-2.6.36-rc2-m32r: ERRORS
linux-2.6.32.6-mips: WARNINGS
linux-2.6.33-mips: WARNINGS
linux-2.6.34-mips: WARNINGS
linux-2.6.35.3-mips: WARNINGS
linux-2.6.36-rc2-mips: ERRORS
linux-2.6.32.6-powerpc64: WARNINGS
linux-2.6.33-powerpc64: WARNINGS
linux-2.6.34-powerpc64: WARNINGS
linux-2.6.35.3-powerpc64: WARNINGS
linux-2.6.36-rc2-powerpc64: ERRORS
linux-2.6.26.8-x86_64: WARNINGS
linux-2.6.27.44-x86_64: WARNINGS
linux-2.6.28.10-x86_64: WARNINGS
linux-2.6.29.1-x86_64: WARNINGS
linux-2.6.30.10-x86_64: WARNINGS
linux-2.6.31.12-x86_64: WARNINGS
linux-2.6.32.6-x86_64: WARNINGS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-rc2-x86_64: ERRORS
linux-git-Module.symvers: ERRORS
linux-git-armv5: ERRORS
linux-git-armv5-davinci: ERRORS
linux-git-armv5-ixp: ERRORS
linux-git-armv5-omap2: ERRORS
linux-git-i686: ERRORS
linux-git-m32r: ERRORS
linux-git-mips: ERRORS
linux-git-powerpc64: ERRORS
linux-git-x86_64: ERRORS
spec: ERRORS
spec-git: ERRORS
sparse: ERRORS

Detailed results are available here:

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

Full logs are available here:

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

The V4L-DVB specification failed to build, but the last compiled spec is here:

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


Re: [PATCH] uvc: Enable USB autosuspend by default on uvcvideo

2010-09-16 Thread Matthew Garrett
On Thu, Sep 16, 2010 at 11:45:30AM -0700, Greg KH wrote:
> On Thu, Sep 16, 2010 at 02:00:04PM -0400, Matthew Garrett wrote:
> > We've been doing this for a while in Fedora without any complaints.
> 
> No complaints probably, but does it actually do anything?  Last time I
> measured, it didn't, but that was in the .31 kernel days.

It's necessary if you want to be able to do runtime PCI power management 
on the HCD.

-- 
Matthew Garrett | mj...@srcf.ucam.org
--
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: Remaining BKL users, what to do

2010-09-16 Thread Jens Axboe
On 2010-09-16 16:49, Steven Rostedt wrote:
> On Thu, 2010-09-16 at 16:32 +0200, Arnd Bergmann wrote:
>> The big kernel lock is gone from almost all code in linux-next, this is
>> the status of what I think will happen to the remaining users:
> 
>> kernel/trace/blktrace.c:
>>  Should be easy. Ingo? Steven?
>>
> 
> Jens,
> 
> Git blame shows this to be your code (copied from block/blktrace.c from
> years past).
> 
> Is the lock_kernel() needed here? (although Arnd did add it in 62c2a7d9)

It isn't, it can be removed.

-- 
Jens Axboe


Confidentiality Notice: This e-mail message, its contents and any attachments 
to it are confidential to the intended recipient, and may contain information 
that is privileged and/or exempt from disclosure under applicable law. If you 
are not the intended recipient, please immediately notify the sender and 
destroy the original e-mail message and any attachments (and any copies that 
may have been made) from your system or otherwise. Any unauthorized use, 
copying, disclosure or distribution of this information is strictly prohibited.
--
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] uvc: Enable USB autosuspend by default on uvcvideo

2010-09-16 Thread Greg KH
On Thu, Sep 16, 2010 at 02:00:04PM -0400, Matthew Garrett wrote:
> We've been doing this for a while in Fedora without any complaints.

No complaints probably, but does it actually do anything?  Last time I
measured, it didn't, but that was in the .31 kernel days.

thanks,

greg k-h
--
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] uvc: Enable USB autosuspend by default on uvcvideo

2010-09-16 Thread Matthew Garrett
We've been doing this for a while in Fedora without any complaints.

Signed-off-by: Matthew Garrett 
---
 drivers/media/video/uvc/uvc_driver.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/uvc/uvc_driver.c 
b/drivers/media/video/uvc/uvc_driver.c
index 8bdd940..28ed5b4 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -1814,6 +1814,7 @@ static int uvc_probe(struct usb_interface *intf,
}
 
uvc_trace(UVC_TRACE_PROBE, "UVC device initialized.\n");
+   usb_enable_autosuspend(udev);
return 0;
 
 error:
-- 
1.7.2.3

--
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: Trouble building v4l-dvb

2010-09-16 Thread Jan Hoogenraad

Douglas;

Could you please check your last putback ?

the build is broken.

see:
http://www.xs4all.nl/~hverkuil/logs/Wednesday.log

and the mail
[cron job] v4l-dvb daily build 2.6.26 and up: ERRORS

Yours,
Jan

Ole W. Saastad wrote:

Trouble building v4l-dvb
Asus eee netbook, running EasyPeasy.

o...@ole-eee:~$ cat /etc/issue
Ubuntu 9.04 \n \l
o...@ole-eee:~$ uname -a
Linux ole-eee 2.6.30.5-ep0 #10 SMP PREEMPT Thu Aug 27 19:45:06 CEST 2009
i686 GNU/Linux

Rationale for building from source: 
I have bought a USB TV with mpg4 support from Sandberg, Mini DVB-T

dongle. I also received an archive with driver routines for this from
Sandberg. These should be copied into the v4l-dvd three and just rebuild
with make. 


I have installed the kernel headers:
apt-get install mercurial linux-headers-$(uname -r) build-essential

Then I have downloaded the v4l-dvb source (assuming this is a stable
release): hg clone http://linuxtv.org/hg/v4l-dvb


I wanted to try to build before applying the patch from Sandberg. 
Issuing make yield the following :


LIRC: Requires at least kernel 2.6.36
IR_LIRC_CODEC: Requires at least kernel 2.6.36
IR_IMON: Requires at least kernel 2.6.36
IR_MCEUSB: Requires at least kernel 2.6.36
VIDEOBUF_DMA_CONTIG: Requires at least kernel 2.6.31
V4L2_MEM2MEM_DEV: Requires at least kernel 2.6.33
and a few more lines

Ignoring these and just continuing :

  CC [M]  /home/ole/work/v4l-dvb/v4l/firedtv-dvb.o
  CC [M]  /home/ole/work/v4l-dvb/v4l/firedtv-fe.o
  CC [M]  /home/ole/work/v4l-dvb/v4l/firedtv-1394.o
/home/ole/work/v4l-dvb/v4l/firedtv-1394.c:22:17: error: dma.h: No such
file or directory
/home/ole/work/v4l-dvb/v4l/firedtv-1394.c:23:21: error: csr1212.h: No
such file or directory
/home/ole/work/v4l-dvb/v4l/firedtv-1394.c:24:23: error: highlevel.h: No
such file or directory
and many many more similar errors.

After some time the make bails out.


I assume this have some connection with the 9.04 being too old. 



Hints ?



Regards,
Ole W. Saastad




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




--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
--
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: Remaining BKL users, what to do

2010-09-16 Thread Samuel Ortiz
On Thu, 2010-09-16 at 16:32 +0200, Arnd Bergmann wrote:
> net/appletalk:
> net/ipx/af_ipx.c:
> net/irda/af_irda.c:
>   Can probably be saved from retirement in drivers/staging if the
>   maintainers still care.
I'll take care of the IrDA part.

Cheers,
Samuel.


--
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: Hello and question about firmwares

2010-09-16 Thread ✎Ʀafael Vieira♦
I realize now that I was kind of fast foward :) So nice to meet you all.
I hope someday, I'm able to help you guys.
Let me give you some more data from the device, although is not
directly related to my questions.

The two devices:

http://www.pixelview.com.br/play_tv_usb_sbtvd_fullseg.asp (works already)

http://www.pixelview.com.br/playtv_usb_hybrid.asp (I'm trying to get it to work)


The two boards even seems to be the same(lsusb output is the same from the two):

(from #lsusb)
Bus 001 Device 005: ID 1554:5010 Prolink Microsystems Corp.

(from dmesg)
[10994.296447] dvb-usb: found a 'Prolink Pixelview SBTVD' in cold
state, will try to load a firmware
[10994.296461] usb 1-3: firmware: requesting dvb-usb-dib0700-1.20.fw
[10994.354616] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[10994.354639] dib0700: firmware download failed at 7 with -22

So, the problem to me seems to be only the firmware.
I've upload the file (merlinD.rom) to here.

http://www.2shared.com/file/URb2IeUi/merlinD.html

If anyone care to take a look.

Best wishes and many thanks for any help,

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


Hello and question about firmwares

2010-09-16 Thread ✎Ʀafael Vieira♦
Hy there,
My name is Rafael Vieira. Sorry, if I say something stupid, but let me
share with you my point of view, and you can correct me at anytime.
I have a USB PixelView SBTVD Hybrid device and it seems to me that the
only thing that keeps it from working is its firmware. Since there is
a younger brother from this board
http://dougsland.livejournal.com/103169.html that works already. I
found a rom(merlinD.rom that I can send it to the list, if you want),
from the CD of the device, that I suspect is its firmware.
Yes, I've heard of usbsnoop, but my question is, if I have the
firmware(If I'm right), can't I just rename it? Or do some operation
directly on the firmware? Do I really need to use usbsnoop? (I didn't
wan't to install windows to do this, honestly)


Thanks,

Rafael Vieira - programmer and student.
--
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: Remaining BKL users, what to do

2010-09-16 Thread Anders Larsen
On 2010-09-16 16:32:59, Arnd Bergmann wrote:
> The big kernel lock is gone from almost all code in linux-next, this is
> the status of what I think will happen to the remaining users:

> fs/qnx4:
>   Should be easy to fix, there are only a few places in the code that
>   use the BKL. Anders?

Will do.

Cheers
Anders

--
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/PATCH v4 07/11] media: Entities, pads and links enumeration

2010-09-16 Thread Sakari Ailus
Hi Laurent and Hans,

Laurent Pinchart wrote:
> Hi Hans,
> 
> On Monday 06 September 2010 18:51:59 Hans Verkuil wrote:
>> On Wednesday, September 01, 2010 16:05:10 Laurent Pinchart wrote:
>>> On Saturday 28 August 2010 13:02:22 Hans Verkuil wrote:
 On Friday, August 20, 2010 17:29:09 Laurent Pinchart wrote:

...

> +};

 Should this be a packed struct?
>>>
>>> Why ? :-) Packed struct are most useful when they need to match hardware
>>> structures or network protocols. Packing a structure can generate
>>> unaligned fields, which are bad performance-wise.
>>
>> I'm thinking about preventing a compat32 mess as we have for v4l.
>>
>> It is my understanding that the only way to prevent different struct sizes
>> between 32 and 64 bit is to use packed.
> 
> I don't think that's correct. Different struct sizes between 32bit and 64bit 
> are caused by variable-size fields, such as 'long' (32bit on 32bit 
> architectures, 64bit on 64bit architectures). I might be wrong though.

As far as I understand that's another reason for the structures not
being exactly the same. Alignment of different data types in structures
depends on ABI. I don't know the exact rules for all the architectures
Linux supports if there are cases where the alignment would be different
for 32-bit and 64-bit and smaller than the data type. On ARM there have
been different alignments depending on ABI (EABI vs. GNU ABI) which is
now practically history though.

I couldn't find a better reference than this:

http://developers.sun.com/solaris/articles/about_amd64_abi.html>

64-bit integers are aligned differently on 32-bit and 64-bit x86 but the
alignment is still smaller or equal to the size of the data type.

I'd also pack them to be sure. The structures should be constructed so
that the alignment is sane even if they are packed. In that case there's
no harm done by packing. It just prevents a failure (32-bit vs. 64-bit)
if there's a problem with the definition.

Just my 2 cents worth. :)

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: Remaining BKL users, what to do

2010-09-16 Thread Jan Kara
On Thu 16-09-10 16:32:59, Arnd Bergmann wrote:
> The big kernel lock is gone from almost all code in linux-next, this is
> the status of what I think will happen to the remaining users:
...
> fs/ncpfs:
>   Should be fixable if Petr still cares about it. Otherwise suggest
>   moving to drivers/staging if there are no users left.
  I think some people still use this...

> fs/udf:
>   Not completely trivial, but probably necessary to fix. Project web
>   site is dead, I hope that Jan Kara can be motivated to fix it though.
  Yeah, I can have a look at it.

Honza

-- 
Jan Kara 
SUSE Labs, CR
--
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: Hauppauge WinTV-HVR1800 dual tuner help needed

2010-09-16 Thread Devin Heitmueller
On Thu, Sep 16, 2010 at 10:23 AM, Jack Snodgrass
 wrote:
> I can use  1 input on the card with mythtv
> using /dev/dvb/adapter0/frontend0
> but I can't figure out how to use the 2nd tuner I'm not sure if the
> 2nd tuner is getting
> detected correctly... or if the 2nd tuner is just an analog tuner and
> not a digital tuner
> or what exactly...

The HVR-1800 doesn't have two digital tuners.  It has an analog tuner
and a digital tuner.  If you need dual ClearQAM, you need a card like
the HVR-2250.

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: Remaining BKL users, what to do

2010-09-16 Thread Alan Cox
> net/appletalk:
> net/ipx/af_ipx.c:
> net/irda/af_irda.c:
>   Can probably be saved from retirement in drivers/staging if the
>   maintainers still care.

IPX and Appletalk both have active users. They also look fairly fixable
as the lock_kernel just maps to a stack private mutex, or in several
cases can simply be dropped - its just a push down legacy.

IRDA may well be a candidate for staging
--
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: Remaining BKL users, what to do

2010-09-16 Thread Steven Rostedt
On Thu, 2010-09-16 at 16:32 +0200, Arnd Bergmann wrote:
> The big kernel lock is gone from almost all code in linux-next, this is
> the status of what I think will happen to the remaining users:

> kernel/trace/blktrace.c:
>   Should be easy. Ingo? Steven?
> 

Jens,

Git blame shows this to be your code (copied from block/blktrace.c from
years past).

Is the lock_kernel() needed here? (although Arnd did add it in 62c2a7d9)

-- Steve


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


Remaining BKL users, what to do

2010-09-16 Thread Arnd Bergmann
The big kernel lock is gone from almost all code in linux-next, this is
the status of what I think will happen to the remaining users:

drivers/gpu/drm/i810/{i810,i830}_dma.c:
Fixable, but needs someone with the hardware to test. Can probably be
marked CONFIG_BROKEN_ON_SMP if nobody cares.

drivers/media/video (V4L):
Mauro is working on it, some drivers get moved to staging while the
others get fixed. An easy workaround would be possible by adding
per-driver mutexes, but Mauro wants to it properly by locking all
the right places.

fs/adfs:
Probably not hard to fix, but needs someone to test it.
adfs has only seen janitorial fixes for the last 5 years.
Do we know of any users?

fs/autofs:
Pretty much dead, replaced by autofs4. I'd suggest moving this
to drivers/staging in 2.6.37 and letting it die there.

fs/coda:
Coda seems to have an active community, but not all of their
code is actually part of linux (pioctl!), while the last official
release is missing many of the cleanups that were don in Linux.
Not sure what to do, if someone is interested, the best way might
be a fresh start with a merger of the mainline linux and the
coda.cs.cmu.edu codebase in drivers/staging.
Just removing the BKL without the Coda community seems like a heap
of pointless work.

fs/freevxfs:
Uses the BKL in readdir and lookup, should be easy to fix. Christoph?

fs/hpfs:
Looks fixable, if anyone cares. Maybe it's time for retirement in
drivers/staging though. The web page only has a Link to the
linux-2.2 version.

fs/lockd:
Trond writes that he has someone working on BKL removal here.

fs/locks.c:
Patch is under discussion, blocked by work on fs/lockd currently.

fs/ncpfs:
Should be fixable if Petr still cares about it. Otherwise suggest
moving to drivers/staging if there are no users left.

fs/qnx4:
Should be easy to fix, there are only a few places in the code that
use the BKL. Anders?

fs/smbfs:
Last I heard this was considered obsolete. Should be move it to
drivers/staging now?

fs/udf:
Not completely trivial, but probably necessary to fix. Project web
site is dead, I hope that Jan Kara can be motivated to fix it though.

fs/ufs:
Evgeniy Dushistov is maintaining this, I hope he can take care of
getting rid of the BKL in UFS.

kernel/trace/blktrace.c:
Should be easy. Ingo? Steven?

net/appletalk:
net/ipx/af_ipx.c:
net/irda/af_irda.c:
Can probably be saved from retirement in drivers/staging if the
maintainers still care.

net/x25:
Andrew Hendry has started working on it.

This is all that's left now. I still need to submit a few patches for
simple file system changes, but it seems we're getting closer to finally
killing it for good.

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


Hauppauge WinTV-HVR1800 dual tuner help needed

2010-09-16 Thread Jack Snodgrass
I bought a 
Hauppauge WinTV-HVR-1800 HDTV Tuner Capture Card PCI-e
off of ebay for $30 and need some help getting the 2nd tuner activated
( if it's even possible ) 

The card pictured in the auction looks exactly like the one I received,
but it doesn't look anything like the one listed on: 
http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-1800

The card I have has 2 antenna connectors ( no other connectors at
all )... a very basic looking card. 

I want to get both tuners tuning dvb ( digital ) qcam signals off of my
FIOS TV Cable cable. 
I have have gotten the qcam stuff working on a 
DViCO FusionHDTV 5 Lite
and a
Hauppauge WinTV-HVR1200 pcie 
board so I know that that part is ok. 

I can get a single tuner working on the WinTV-HVR-1800 card... dmesg,
lscpi, etc for the card are below... 

( I'm only trying to get the major networks ( abc, cbs, fox, etc ) that
are not encrypted... ) 

I'm running fedora 13, but I have compiled / installed the latest ( as
of a few days ago ) v4l-dvv drivers
from the v4l-dvb site 

dmesg reports:
Linux video capture interface: v2.00
cx23885 driver version 0.0.2 loaded
cx23885 :08:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
CORE cx23885[0]: subsystem: 0070:7809, board: Hauppauge WinTV-HVR1800
[card=2,autodetected]
tveeprom 1-0050: Hauppauge model 78631, rev C1E9, serial# 2876620
tveeprom 1-0050: MAC address is 00:0d:fe:2b:e4:cc
tveeprom 1-0050: tuner model is Philips 18271_8295 (idx 149, type 54)
tveeprom 1-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
tveeprom 1-0050: audio processor is CX23887 (idx 42)
tveeprom 1-0050: decoder processor is CX23887 (idx 37)
tveeprom 1-0050: has no radio
cx23885[0]: hauppauge eeprom: model=78631
cx25840 3-0044: cx23887 A/V decoder found @ 0x88 (cx23885[0])
cx25840 3-0044: firmware: requesting v4l-cx23885-avcore-01.fw
cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes)
tuner 2-0042: chip found @ 0x84 (cx23885[0])
tda829x 2-0042: could not clearly identify tuner address, defaulting to
60
tda18271 2-0060: creating new instance
TDA18271HD/C1 detected @ 2-0060
tda829x 2-0042: type set to tda8295+18271
cx23885[0]/0: registered device video0 [v4l2]
cx23885[0]: registered device video1 [mpeg]
cx23885_dvb_register() allocating 1 frontend(s)
cx23885[0]: cx23885 based dvb card
MT2131: successfully identified at address 0x61
DVB: registering new adapter (cx23885[0])
DVB: registering adapter 0 frontend 0 (Samsung S5H1409 QAM/8VSB
Frontend)...
cx23885_dev_checkrevision() Hardware revision = 0xb1
cx23885[0]/0: found at :08:00.0, rev: 15, irq: 19, latency: 0, mmio:
0xf2e0
cx23885 :08:00.0: setting latency timer to 64
IRQ 19/cx23885[0]: IRQF_DISABLED is not guaranteed on shared IRQs

lspci reports: 
08:00.0 Multimedia video controller: Conexant Systems, Inc. Hauppauge
Inc. HDPVR-1250 model 1196 (rev 0f)

find on /dev/dvb reports: 
/dev/dvb
/dev/dvb/adapter0
/dev/dvb/adapter0/net0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/demux0
/dev/dvb/adapter0/frontend0

I also have  /dev/video0 and /dev/video1 devices listed

lsmod | egrep "tuner|cx23885|dvb|vl4"
cx23885   102191  0 
tuner  15518  1 
cx2341x 9306  1 cx23885
v4l2_common13545  4 cx23885,tuner,cx25840,cx2341x
videodev   34211  4 cx23885,tuner,cx25840,v4l2_common
videobuf_dma_sg 7217  1 cx23885
videobuf_dvb4174  1 cx23885
dvb_core   71187  2 cx23885,videobuf_dvb
videobuf_core  13426  3 cx23885,videobuf_dma_sg,videobuf_dvb
ir_common   4056  1 cx23885
ir_core11377  8
cx23885,rc_hauppauge_new,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder,ir_common
btcx_risc   2978  1 cx23885
tveeprom9994  1 cx23885
i2c_core   19651  13
cx23885,s5h1411,mt2131,s5h1409,tda18271,tda8290,tuner,cx25840,nvidia,v4l2_common,videodev,i2c_i801,tveeprom


I can use  1 input on the card with mythtv
using /dev/dvb/adapter0/frontend0
but I can't figure out how to use the 2nd tuner I'm not sure if the
2nd tuner is getting 
detected correctly... or if the 2nd tuner is just an analog tuner and
not a digital tuner 
or what exactly... 

There is something in mythtv that says how many things an input can tune
at once, but setting it to 2 does
not let me record two things using this WinTV-HVR-1800 card. mythtv
treats it as one tuner... I think that 
I need to see 
/dev/dvb/adapter0/frontend0
and
/dev/dvb/adapter0/frontend1
to get to the 2nd tuner... 


Is there a modprobe cx23885 option that enables a 2nd tuner? 

Is one of the dmesg messages telling me that the 2nd tuner is analog
only? The can on the card doesn't look like any of the cans on my other
analog cards that I've had in the past

Thanks - jack 


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

Re: [PATCH 2/4] imon: split mouse events to a separate input dev

2010-09-16 Thread Jarod Wilson
On Thu, Sep 16, 2010 at 03:43:42PM +0200, David Härdeman wrote:
> On Thu, September 16, 2010 15:34, Jarod Wilson wrote:
> > On Thu, Sep 16, 2010 at 01:32:07PM +0200, David Härdeman wrote:
> >> On Thu, September 16, 2010 07:22, Jarod Wilson wrote:
> >> > This is a stab at separating the mouse (and front panel/knob) events
> >> > out to a separate input device. This is necessary in preparation for
> >> > the next patch which makes the rc-core input dev opaque to rc
> >> > drivers.
> >> >
> >> > I can't verify the correctness of the patch beyond the fact that it
> >> > compiles without warnings. The driver has resisted most of my
> >> > attempts at understanding it properly...for example, the double calls
> >> > to le64_to_cpu() and be64_to_cpu() which are applied in
> >> > imon_incoming_packet() and imon_panel_key_lookup() would amount
> >> > to a bswab64() call, irregardless of the cpu endianness, and I think
> >> > the code wouldn't have worked on a big-endian machine...
> >> >
> >> > Signed-off-by: David Härdeman 
> >> >
> >> > - Minor alterations to apply with minimal core IR changes
> >> > - Use timer for imon keys too, since its entirely possible for the
> >> >   receiver to miss release codes (either by way of another key being
> >> >   pressed while the first is held or by the remote pointing away from
> >> >   the recevier when the key is release. yes, I know, its ugly).
> >>
> >> Where's the additional timer usage exactly? I can't see any in the
> >> patch...
> >
> > For ktype == IMON_KEY_IMON in your original patch, keys were submitted
> > with ir_keydown_notimeout, and in this version, they're submitted with
> > plain old ir_keydown, which has a built-in timeout.
> 
> Oh, I see. But since you're not adding any timer to the driver code itself
> I do not consider the use of plain ir_keydown to be ugly at all (contrary
> to what your comment indicated).

Oh, sorry, that rant was about the receiver hardware, not the actual code
-- yes, the code gets much much cleaner here. :)

> Maybe a keyup hardware event is generated (handled via ir_keyup, good),
> maybe it isnt't (handled via ir-core timeout which calls ir_keyup
> eventually, good).

Yeah, its behaving much better for the specific cases Anssi mentioned in
the bug now. We also get the automatic release of a key that wasn't
released before pressing a second key, by way of the ir_keyup call in
ir_keydown.

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

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


Re: [PATCH 2/4] imon: split mouse events to a separate input dev

2010-09-16 Thread David Härdeman
On Thu, September 16, 2010 15:34, Jarod Wilson wrote:
> On Thu, Sep 16, 2010 at 01:32:07PM +0200, David Härdeman wrote:
>> On Thu, September 16, 2010 07:22, Jarod Wilson wrote:
>> > This is a stab at separating the mouse (and front panel/knob) events
>> > out to a separate input device. This is necessary in preparation for
>> > the next patch which makes the rc-core input dev opaque to rc
>> > drivers.
>> >
>> > I can't verify the correctness of the patch beyond the fact that it
>> > compiles without warnings. The driver has resisted most of my
>> > attempts at understanding it properly...for example, the double calls
>> > to le64_to_cpu() and be64_to_cpu() which are applied in
>> > imon_incoming_packet() and imon_panel_key_lookup() would amount
>> > to a bswab64() call, irregardless of the cpu endianness, and I think
>> > the code wouldn't have worked on a big-endian machine...
>> >
>> > Signed-off-by: David Härdeman 
>> >
>> > - Minor alterations to apply with minimal core IR changes
>> > - Use timer for imon keys too, since its entirely possible for the
>> >   receiver to miss release codes (either by way of another key being
>> >   pressed while the first is held or by the remote pointing away from
>> >   the recevier when the key is release. yes, I know, its ugly).
>>
>> Where's the additional timer usage exactly? I can't see any in the
>> patch...
>
> For ktype == IMON_KEY_IMON in your original patch, keys were submitted
> with ir_keydown_notimeout, and in this version, they're submitted with
> plain old ir_keydown, which has a built-in timeout.

Oh, I see. But since you're not adding any timer to the driver code itself
I do not consider the use of plain ir_keydown to be ugly at all (contrary
to what your comment indicated).

Maybe a keyup hardware event is generated (handled via ir_keyup, good),
maybe it isnt't (handled via ir-core timeout which calls ir_keyup
eventually, good).

-- 
David Härdeman

--
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 2/4] imon: split mouse events to a separate input dev

2010-09-16 Thread Jarod Wilson
On Thu, Sep 16, 2010 at 01:32:07PM +0200, David Härdeman wrote:
> On Thu, September 16, 2010 07:22, Jarod Wilson wrote:
> > This is a stab at separating the mouse (and front panel/knob) events
> > out to a separate input device. This is necessary in preparation for
> > the next patch which makes the rc-core input dev opaque to rc
> > drivers.
> >
> > I can't verify the correctness of the patch beyond the fact that it
> > compiles without warnings. The driver has resisted most of my
> > attempts at understanding it properly...for example, the double calls
> > to le64_to_cpu() and be64_to_cpu() which are applied in
> > imon_incoming_packet() and imon_panel_key_lookup() would amount
> > to a bswab64() call, irregardless of the cpu endianness, and I think
> > the code wouldn't have worked on a big-endian machine...
> >
> > Signed-off-by: David Härdeman 
> >
> > - Minor alterations to apply with minimal core IR changes
> > - Use timer for imon keys too, since its entirely possible for the
> >   receiver to miss release codes (either by way of another key being
> >   pressed while the first is held or by the remote pointing away from
> >   the recevier when the key is release. yes, I know, its ugly).
> 
> Where's the additional timer usage exactly? I can't see any in the patch...

For ktype == IMON_KEY_IMON in your original patch, keys were submitted
with ir_keydown_notimeout, and in this version, they're submitted with
plain old ir_keydown, which has a built-in timeout.

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

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


Re: [GIT PATCHES FOR 2.6.37] Remove v4l2-i2c-drv.h and most of i2c-id.h

2010-09-16 Thread Jean Delvare
Hi Hans,

On Wed, 15 Sep 2010 22:00:26 +0200, Hans Verkuil wrote:
> Mauro, Jean, Janne,
> 
> This patch series finally retires the hackish v4l2-i2c-drv.h. It served 
> honorably,
> but now that the hg repository no longer supports kernels <2.6.26 it is time 
> to
> remove it.
> 
> Note that this patch series builds on the vtx-removal patch series.
> 
> Several patches at the end remove unused i2c-id.h includes and remove bogus 
> uses
> of the I2C_HW_ defines (as found in i2c-id.h).
> 
> After applying this patch series I get the following if I grep for
> I2C_HW_ in the kernel sources:
> 
> 
> drivers/staging/lirc/lirc_i2c.c:if (adap->id == 
> I2C_HW_B_CX2388x)
> drivers/staging/lirc/lirc_i2c.c:if (adap->id == 
> I2C_HW_B_CX2388x) {
> drivers/staging/lirc/lirc_zilog.c:#ifdef I2C_HW_B_HDPVR
> drivers/staging/lirc/lirc_zilog.c:  if (ir->c_rx.adapter->id == 
> I2C_HW_B_HDPVR) {
> drivers/staging/lirc/lirc_zilog.c:#ifdef I2C_HW_B_HDPVR
> drivers/staging/lirc/lirc_zilog.c:  if (ir->c_rx.adapter->id == 
> I2C_HW_B_HDPVR)
> drivers/video/riva/rivafb-i2c.c:chan->adapter.id= 
> I2C_HW_B_RIVA;
> drivers/media/video/ir-kbd-i2c.c:   if (ir->c->adapter->id == 
> I2C_HW_SAA7134 && ir->c->addr == 0x30)
> drivers/media/video/ir-kbd-i2c.c:   if (adap->id == 
> I2C_HW_B_CX2388x) {
> drivers/media/video/saa7134/saa7134-i2c.c:  .id= 
> I2C_HW_SAA7134,
> drivers/media/video/cx88/cx88-i2c.c:core->i2c_adap.id = I2C_HW_B_CX2388x;
> drivers/media/video/cx88/cx88-vp3054-i2c.c: vp3054_i2c->adap.id = 
> I2C_HW_B_CX2388x;
> 
> Jean, I guess the one in rivafb-i2c.c can just be removed, right?

Correct. The last user for that one was the tvaudio driver and
apparently you just cleaned it up.

> Janne, the HDPVR checks in lirc no longer work since hdpvr never sets the
> adapter ID (nor should it). This lirc code should be checked. I haven't
> been following the IR changes, but there must be a better way of doing this.
> 
> The same is true for the CX2388x and SAA7134 checks. These all relate to the
> IR subsystem.
> 
> Once we fixed these remaining users of the i2c-id.h defines, then Jean can
> remove that header together with the adapter's 'id' field.

That would be very great. In all honesty I didn't expect it to happen
so fast, but if that happens, I'll be very happy! :) Thanks!

-- 
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: [PATCH 4/4] IR/imon: set up mce-only devices w/mce keytable

2010-09-16 Thread Jarod Wilson
On Thu, Sep 16, 2010 at 10:11:16AM +0200, Anders Eriksson wrote:
> 
> 
> 
> ja...@redhat.com said:
> 
> > +   /* iMON LCD, MCE IR */ 
> > +   case 0x9e: 
> > +   dev_info(ictx->dev, "0xffdc iMON VFD, MCE IR"); 
> > +   detected_display_type = IMON_DISPLAY_TYPE_VFD;
> > +   allowed_protos = IR_TYPE_RC6; + break; 
> > +   /* iMON LCD, MCE IR */ +case 0x9f:
> > 
> 
> That "LCD" in the comment should be VFD.

Ah, dammit, copy-paste fail. Will fix, thanks!

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

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


Re: [PATCH 2/4] imon: split mouse events to a separate input dev

2010-09-16 Thread David Härdeman
On Thu, September 16, 2010 07:22, Jarod Wilson wrote:
> This is a stab at separating the mouse (and front panel/knob) events
> out to a separate input device. This is necessary in preparation for
> the next patch which makes the rc-core input dev opaque to rc
> drivers.
>
> I can't verify the correctness of the patch beyond the fact that it
> compiles without warnings. The driver has resisted most of my
> attempts at understanding it properly...for example, the double calls
> to le64_to_cpu() and be64_to_cpu() which are applied in
> imon_incoming_packet() and imon_panel_key_lookup() would amount
> to a bswab64() call, irregardless of the cpu endianness, and I think
> the code wouldn't have worked on a big-endian machine...
>
> Signed-off-by: David Härdeman 
>
> - Minor alterations to apply with minimal core IR changes
> - Use timer for imon keys too, since its entirely possible for the
>   receiver to miss release codes (either by way of another key being
>   pressed while the first is held or by the remote pointing away from
>   the recevier when the key is release. yes, I know, its ugly).

Where's the additional timer usage exactly? I can't see any in the patch...

-- 
David Härdeman

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


Dvico Dual Express 2

2010-09-16 Thread Mark Hetherington
Hi,

I've recently obtained a Dvico FusionHDTV DVB-T Dual Express2, and
found it is not the same card as the Dual Express. There is a chance
I've done something particularly silly, but I've tried specifying card
types etc, and so far had no luck. I believe this is a new hardware
revision and currently unsupported. I've made a quick note on the
wiki, but I wasn't sure if I should create a new page separate from
the existing info page in the Dual Express. From memory the card looks
identical to the pictures at
http://www.linuxtv.org/wiki/index.php/DViCO_FusionHDTV_DVB-T_Dual_Express.

My dmesg looks like:
[   17.112114] cx23885 driver version 0.0.2 loaded
[   17.140399] cx23885 :02:00.0: PCI INT A -> Link[APC5] -> GSI 16
(level, low) -> IRQ 16
[   17.140405] cx23885[0]: Your board isn't known (yet) to the driver.
[   17.140406] cx23885[0]: Try to pick one of the existing card configs via
[   17.140408] cx23885[0]: card= insmod option.  Updating to the latest
[   17.140409] cx23885[0]: version might help as well.
[   17.140412] cx23885[0]: Here is a list of valid choices for the
card= insmod option:
[   17.140414] cx23885[0]:card=0 -> UNKNOWN/GENERIC
[   17.140416] cx23885[0]:card=1 -> Hauppauge WinTV-HVR1800lp
[   17.140419] cx23885[0]:card=2 -> Hauppauge WinTV-HVR1800
[   17.140421] cx23885[0]:card=3 -> Hauppauge WinTV-HVR1250
[   17.140423] cx23885[0]:card=4 -> DViCO FusionHDTV5 Express
[   17.140426] cx23885[0]:card=5 -> Hauppauge WinTV-HVR1500Q
[   17.140428] cx23885[0]:card=6 -> Hauppauge WinTV-HVR1500
[   17.140430] cx23885[0]:card=7 -> Hauppauge WinTV-HVR1200
[   17.140432] cx23885[0]:card=8 -> Hauppauge WinTV-HVR1700
[   17.140435] cx23885[0]:card=9 -> Hauppauge WinTV-HVR1400
[   17.140437] cx23885[0]:card=10 -> DViCO FusionHDTV7 Dual Express
[   17.140439] cx23885[0]:card=11 -> DViCO FusionHDTV DVB-T Dual Express
[   17.140442] cx23885[0]:card=12 -> Leadtek Winfast PxDVR3200 H
[   17.140444] cx23885[0]:card=13 -> Compro VideoMate E650F
[   17.140446] cx23885[0]:card=14 -> TurboSight TBS 6920
[   17.140448] cx23885[0]:card=15 -> TeVii S470
[   17.140451] cx23885[0]:card=16 -> DVBWorld DVB-S2 2005
[   17.140453] cx23885[0]:card=17 -> NetUP Dual DVB-S2 CI
[   17.140455] cx23885[0]:card=18 -> Hauppauge WinTV-HVR1270
[   17.140457] cx23885[0]:card=19 -> Hauppauge WinTV-HVR1275
[   17.140460] cx23885[0]:card=20 -> Hauppauge WinTV-HVR1255
[   17.140462] cx23885[0]:card=21 -> Hauppauge WinTV-HVR1210
[   17.140464] cx23885[0]:card=22 -> Mygica X8506 DMB-TH
[   17.140466] cx23885[0]:card=23 -> Magic-Pro ProHDTV Extreme 2
[   17.140469] cx23885[0]:card=24 -> Hauppauge WinTV-HVR1850
[   17.140471] cx23885[0]:card=25 -> Compro VideoMate E800
[   17.140473] cx23885[0]:card=26 -> Hauppauge WinTV-HVR1290
[   17.140476] cx23885[0]:card=27 -> Mygica X8558 PRO DMB-TH
[   17.140478] cx23885[0]:card=28 -> LEADTEK WinFast PxTV1200
[   17.140553] CORE cx23885[0]: subsystem: 18ac:db98, board:
UNKNOWN/GENERIC [card=0,autodetected]
[   17.355341] cx23885_dev_checkrevision() Hardware revision = 0xa5
[   17.355348] cx23885[0]/0: found at :02:00.0, rev: 4, irq: 16,
latency: 0, mmio: 0xf900
[   17.355354] cx23885 :02:00.0: setting latency timer to 64
[   17.355359] IRQ 16/cx23885[0]: IRQF_DISABLED is not guaranteed on shared IRQs
[  230.677212] cx23885 :02:00.0: PCI INT A disabled

Loading the module with card=11 (looks like the most obvious choice) shows:
[113131.257580] cx23885 driver version 0.0.2 loaded
[113131.276294] cx23885 :02:00.0: PCI INT A -> Link[APC5] -> GSI
16 (level, low) -> IRQ 16
[113131.276517] CORE cx23885[0]: subsystem: 18ac:db98, board: DViCO
FusionHDTV DVB-T Dual Express [card=11,insmod option]
[113131.512250] cx23885_dvb_register() allocating 1 frontend(s)
[113131.512257] cx23885[0]: cx23885 based dvb card
[113131.569079] cx23885[0]: frontend initialization failed
[113131.569086] cx23885_dvb_register() dvb_register failed err = -1
[113131.569089] cx23885_dev_setup() Failed to register dvb adapters on VID_B
[113131.569091] cx23885_dvb_register() allocating 1 frontend(s)
[113131.569096] cx23885[0]: cx23885 based dvb card
[113131.569492] cx23885[0]: frontend initialization failed
[113131.569494] cx23885_dvb_register() dvb_register failed err = -1
[113131.569497] cx23885_dev_setup() Failed to register dvb on VID_C
[113131.569501] cx23885_dev_checkrevision() Hardware revision = 0xa5
[113131.569508] cx23885[0]/0: found at :02:00.0, rev: 4, irq: 16,
latency: 0, mmio: 0xf900
[113131.569516] cx23885 :02:00.0: setting latency timer to 64
[113131.569521] IRQ 16/cx23885[0]: IRQF_DISABLED is not guaranteed on
shared IRQs

I've tried a few different card types to see the results, but nothing
much more promising than that.

Is anyone familiar with this board? Any chance anyone has been
tinkering with it?

#lspci -vnn
02:00.0 Multimedia video controller [0400]: Conexant Sy

Re: [RFC/PATCH v4 05/11] media: Reference count and power handling

2010-09-16 Thread Laurent Pinchart
Hi Mauro,

On Thursday 16 September 2010 12:35:45 Mauro Carvalho Chehab wrote:
> Em 16-09-2010 05:46, Laurent Pinchart escreveu:
> > On Saturday 11 September 2010 22:38:33 Sakari Ailus wrote:
> >> Mauro Carvalho Chehab wrote:
> >>> Em 20-08-2010 12:29, Laurent Pinchart escreveu:
>  From: Sakari Ailus 
>  
>  Basically these are the interface functions:
>  
>  media_entity_get() - acquire entity
>  media_entity_put() - release entity
>  
>   If the entity is of node type, the power change is distributed to
>   all connected entities. For non-nodes it only affects that very
>   node. A mutex is used to serialise access to the entity graph.
>  
>  In the background there's a depth-first search algorithm that
>  traverses the active links in the graph. All these functions parse
>  the graph to implement whatever they're to do.
>  
>  The module counters are increased/decreased in media_entity_get/put to
>  prevent module unloading when an entity is referenced.
>  
>  Signed-off-by: Sakari Ailus 
>  Signed-off-by: Laurent Pinchart 
>  Signed-off-by: Stanimir Varbanov 
>  ---
>  
>   Documentation/media-framework.txt |   37 +
>   drivers/media/media-device.c  |1 +
>   drivers/media/media-entity.c  |  146
>   + include/media/media-device.h
>   
>    |4 +
>   
>   include/media/media-entity.h  |   15 
>   5 files changed, 203 insertions(+), 0 deletions(-)
>  
>  diff --git a/Documentation/media-framework.txt
>  b/Documentation/media-framework.txt index a599824..59649e9 100644
>  --- a/Documentation/media-framework.txt
>  +++ b/Documentation/media-framework.txt
>  @@ -278,3 +278,40 @@ When the graph traversal is complete the function
>  will return NULL.
>  
>   Graph traversal can be interrupted at any moment. No cleanup function
>   call is required and the graph structure can be freed normally.
>  
>  +
>  +Reference counting and power handling
>  +-
>  +
>  +Before accessing type-specific entities operations (such as the V4L2
>  +sub-device operations), drivers must acquire a reference to the
>  entity. This +ensures that the entity will be powered on and ready to
>  accept requests. +Similarly, after being done with an entity, drivers
>  must release the +reference.
>  +
>  +media_entity_get(struct media_entity *entity)
>  +
>  +The function will increase the entity reference count. If the entity
>  is a node +(MEDIA_ENTITY_TYPE_NODE type), the reference count of all
>  entities it is +connected to, both directly or indirectly, through
>  active links is increased. +This ensures that the whole media
>  pipeline will be ready to process +
>  +Acquiring a reference to an entity increases the media device module
>  reference +count to prevent module unloading when an entity is being
>  used. +
>  +media_entity_get will return a pointer to the entity if successful,
>  or NULL +otherwise.
>  +
>  +media_entity_put(struct media_entity *entity)
>  +
>  +The function will decrease the entity reference count and, for node
>  entities, +like media_entity_get, the reference count of all connected
>  entities. Calling +media_entity_put with a NULL argument is valid and
>  will return immediately. +
>  +When the first reference to an entity is acquired, or the last
>  reference +released, the entity's set_power operation is called.
>  Entity drivers must +implement the operation if they need to perform
>  any power management task, +such as turning powers or clocks on or
>  off. If no power management is +required, drivers don't need to
>  provide a set_power operation. The operation +is allowed to fail when
>  turning power on, in which case the media_entity_get +function will
>  return NULL.
> >>> 
> >>> The idea of doing power management via media entity get/put doesn't
> >>> seem right. The mediabus interface and its usage should be optional,
> >>> and only specialized applications will likely implement it. If a
> >>> refcount 0 means power off, it ends that a device implementing the
> >>> media bus will not work with V4L2 applications.
> >> 
> >> The Media controller does handle the power through reference count but
> >> this does not limit to subdev entities. The reference count is also
> >> applied recursively to all entities which are connected through active
> >> links.
> >> 
> >> There are two cases:
> >> 
> >> 1. The user application opens a subdev node. The subdev entity use count
> >> will be incremented and the subdev will be powered up.
> >> 
> >> 2. The user application opens a video node. The reference count for all
> >> entities connected to the video node entity through ac

Re: [Query] Is there a spec to request video sensor information?

2010-09-16 Thread Laurent Pinchart
Hi Hans,

On Thursday 16 September 2010 12:36:34 Hans Verkuil wrote:
> > On Monday 13 September 2010 19:06:20 Hans Verkuil wrote:
> >> On Monday, September 13, 2010 17:27:52 Sakari Ailus wrote:

[snip]

> >> > What we currently have is this, not in upstream:
> >> > 
> >> > ---
> >> > /* SMIA-type sensor information */
> >> > #define V4L2_CID_MODE_CLASS_BASE (V4L2_CTRL_CLASS_MODE | 0x900)
> >> > #define V4L2_CID_MODE_CLASS  (V4L2_CTRL_CLASS_MODE | 1)
> >> > #define V4L2_CID_MODE_FRAME_WIDTH(V4L2_CID_MODE_CLASS_BASE+1)
> >> > #define V4L2_CID_MODE_FRAME_HEIGHT   (V4L2_CID_MODE_CLASS_BASE+2)
> >> > #define V4L2_CID_MODE_VISIBLE_WIDTH  (V4L2_CID_MODE_CLASS_BASE+3)
> >> > #define V4L2_CID_MODE_VISIBLE_HEIGHT (V4L2_CID_MODE_CLASS_BASE+4)
> >> > #define V4L2_CID_MODE_PIXELCLOCK (V4L2_CID_MODE_CLASS_BASE+5)
> >> > #define V4L2_CID_MODE_SENSITIVITY(V4L2_CID_MODE_CLASS_BASE+6)
> > 
> > ---
> > 
> >> > The pixel clock is read-only but some of the others should likely be
> >> > changeable.
> >> 
> >> It is very similar to the VIDIOC_G/S_DV_TIMINGS ioctls. I think we should
> >> look into adding an e.g. V4L2_DV_SMIA_SENSOR type or something along
> >> those lines.
> > 
> > I'm not sure if sensivity would fit in there. The rest probably would.
> > 
> >> I'm no sensor expert, so I don't know what sort of timing information is
> >> needed for the various sensor types. But I'm sure there are other people
> >> who have this knowledge. It would be useful if someone can list the
> >> information that you need from the various sensor types. Based on that
> >> we can see if this ioctl is a good fit.
> > 
> > Another possibility could be to report the information using the media
> > controller framework and an upcoming MEDIA_IOC_ENTITY_INFO ioctl.
> 
> Are you talking about timing information? That doesn't belong in the media
> framework. But I think I didn't quite understood what you meant here.

Driver need to report driver-specific entity information (such as extension 
unit GUIDs for the UVC driver for instance). The idea was to add a media 
controller ioctl for that. Sensor information could be reported using the same 
mechanism.

-- 
Regards,

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


Re: [GIT PATCHES FOR 2.6.37] Remove v4l2-i2c-drv.h and most of i2c-id.h

2010-09-16 Thread Janne Grunau
On Wed, Sep 15, 2010 at 10:00:26PM +0200, Hans Verkuil wrote:
> Mauro, Jean, Janne,
> 
> This patch series finally retires the hackish v4l2-i2c-drv.h. It served 
> honorably,
> but now that the hg repository no longer supports kernels <2.6.26 it is time 
> to
> remove it.
> 
> Note that this patch series builds on the vtx-removal patch series.
> 
> Several patches at the end remove unused i2c-id.h includes and remove bogus 
> uses
> of the I2C_HW_ defines (as found in i2c-id.h).
> 
> After applying this patch series I get the following if I grep for
> I2C_HW_ in the kernel sources:
> 
> 
> drivers/staging/lirc/lirc_i2c.c:if (adap->id == 
> I2C_HW_B_CX2388x)
> drivers/staging/lirc/lirc_i2c.c:if (adap->id == 
> I2C_HW_B_CX2388x) {
> drivers/staging/lirc/lirc_zilog.c:#ifdef I2C_HW_B_HDPVR
> drivers/staging/lirc/lirc_zilog.c:  if (ir->c_rx.adapter->id == 
> I2C_HW_B_HDPVR) {
> drivers/staging/lirc/lirc_zilog.c:#ifdef I2C_HW_B_HDPVR
> drivers/staging/lirc/lirc_zilog.c:  if (ir->c_rx.adapter->id == 
> I2C_HW_B_HDPVR)
> drivers/video/riva/rivafb-i2c.c:chan->adapter.id= 
> I2C_HW_B_RIVA;
> drivers/media/video/ir-kbd-i2c.c:   if (ir->c->adapter->id == 
> I2C_HW_SAA7134 && ir->c->addr == 0x30)
> drivers/media/video/ir-kbd-i2c.c:   if (adap->id == 
> I2C_HW_B_CX2388x) {
> drivers/media/video/saa7134/saa7134-i2c.c:  .id= 
> I2C_HW_SAA7134,
> drivers/media/video/cx88/cx88-i2c.c:core->i2c_adap.id = I2C_HW_B_CX2388x;
> drivers/media/video/cx88/cx88-vp3054-i2c.c: vp3054_i2c->adap.id = 
> I2C_HW_B_CX2388x;
> 
> Jean, I guess the one in rivafb-i2c.c can just be removed, right?
> 
> Janne, the HDPVR checks in lirc no longer work since hdpvr never sets the
> adapter ID (nor should it). This lirc code should be checked. I haven't
> been following the IR changes, but there must be a better way of doing this.

The staging/lirc drivers will only be merged after porting them to
ir/rc-core. CC-ed Jarod who will work on lirc_zilog.
> 
> The same is true for the CX2388x and SAA7134 checks. These all relate to the
> IR subsystem.
> 
> Once we fixed these remaining users of the i2c-id.h defines, then Jean can
> remove that header together with the adapter's 'id' field.
> 
> Regards,
> 
>   Hans
> 
> The following changes since commit 991403c594f666a2ed46297c592c60c3b9f4e1e2:
>   Mauro Carvalho Chehab (1):
> V4L/DVB: cx231xx: Avoid an OOPS when card is unknown (card=0)
> 
> are available in the git repository at:
> 
>   ssh://linuxtv.org/git/hverkuil/v4l-dvb.git i2c
> 
> Hans Verkuil (49):
>   saa5246a/saa5249: Remove obsolete teletext drivers
>   videotext: remove this obsolete API
>   Documentation: update now that the vtx/videotext API has been removed.
>   Merge branch 'vtx' into i2c
> 
> The patches above are the same as the vtx patch series posted before. This
> patch series requires that vtx is merged first as there is no point to convert
> i2c drivers that are going to be removed anyway!
> 
>   vp27smpx: remove obsolete v4l2-i2c-drv.h header
>   wm8739: remove obsolete v4l2-i2c-drv.h header
>   cs5345: remove obsolete v4l2-i2c-drv.h header
>   saa717x: remove obsolete v4l2-i2c-drv.h header
>   saa7115: remove obsolete v4l2-i2c-drv.h header.
>   tda9840: remove obsolete v4l2-i2c-drv.h header
>   ov7670: remove obsolete v4l2-i2c-drv.h header
>   mt9v011: remove obsolete v4l2-i2c-drv.h header
>   upd64031a: remove obsolete v4l2-i2c-drv.h header
>   saa6588: remove obsolete v4l2-i2c-drv.h header
>   saa6752hs: remove obsolete v4l2-i2c-drv.h header
>   bt819: remove obsolete v4l2-i2c-drv.h header
>   indycam: remove obsolete v4l2-i2c-drv.h header
>   m52790: remove obsolete v4l2-i2c-drv.h header
>   saa7185: remove obsolete v4l2-i2c-drv.h header
>   msp3400: remove obsolete v4l2-i2c-drv.h header
>   bt866: remove obsolete v4l2-i2c-drv.h header
>   tea6415c: remove obsolete v4l2-i2c-drv.h header
>   tvaudio: remove obsolete v4l2-i2c-drv.h header
>   wm8775: remove obsolete v4l2-i2c-drv.h header
>   adv7175: remove obsolete v4l2-i2c-drv.h header
>   saa7191: remove obsolete v4l2-i2c-drv.h header
>   bt856: remove obsolete v4l2-i2c-drv.h header
>   tlv320aic23b: remove obsolete v4l2-i2c-drv.h header
>   tuner: remove obsolete v4l2-i2c-drv.h header
>   tda9875: remove obsolete v4l2-i2c-drv.h header
>   saa7110: remove obsolete v4l2-i2c-drv.h header
>   tda7432: remove obsolete v4l2-i2c-drv.h header
>   tea6420: remove obsolete v4l2-i2c-drv.h header
>   cs53l32a: remove obsolete v4l2-i2c-drv.h header
>   vpx3220: remove obsolete v4l2-i2c-drv.h header
>   tvp5150: remove obsolete v4l2-i2c-drv.h header
>   upd64083: remove obsolete v4l2-i2c-drv.h header
>   saa7127: remove obsolete v4l2-i2c-drv.h header
>   cx25840: remove obsolete v4l2-i2c-drv.h header
>   adv7

Re: [Query] Is there a spec to request video sensor information?

2010-09-16 Thread Hans Verkuil

> Hi Hans,
>
> On Monday 13 September 2010 19:06:20 Hans Verkuil wrote:
>> On Monday, September 13, 2010 17:27:52 Sakari Ailus wrote:
>> > Aguirre, Sergio wrote:
>> > > I was wondering if there exists a current standard way to query a
>> > > Imaging sensor driver for knowing things like the signal vert/horz
>> > > blanking time.
>> > >
>> > > In an old TI custom driver, we used to have a private IOCTL in the
>> > > sensor Driver we interfaced with the omap3 ISP, which was basically
>> > > reporting:
>> > >
>> > > - Active resolution (Actual image size)
>> > > - Full resolution (Above size + dummy pixel columns/rows
>> representing
>> > > blanking times)
>> > >
>> > > However I resist to keep importing that custom interface, since I
>> think
>> > > its Something that could be already part of an standard API.
>> >
>> > The N900 sensor drivers currently use private controls for this
>> purpose.
>> > That is an issue which should be resolved. I agree there should be a
>> > uniform, standard way to access this information.
>> >
>> > What we currently have is this, not in upstream:
>> >
>> > ---
>> > /* SMIA-type sensor information */
>> > #define V4L2_CID_MODE_CLASS_BASE(V4L2_CTRL_CLASS_MODE |
>> 0x900)
>> > #define V4L2_CID_MODE_CLASS (V4L2_CTRL_CLASS_MODE | 1)
>> > #define V4L2_CID_MODE_FRAME_WIDTH
>> (V4L2_CID_MODE_CLASS_BASE+1)
>> > #define V4L2_CID_MODE_FRAME_HEIGHT
>> (V4L2_CID_MODE_CLASS_BASE+2)
>> > #define V4L2_CID_MODE_VISIBLE_WIDTH
>> (V4L2_CID_MODE_CLASS_BASE+3)
>> > #define V4L2_CID_MODE_VISIBLE_HEIGHT
>> (V4L2_CID_MODE_CLASS_BASE+4)
>> > #define V4L2_CID_MODE_PIXELCLOCK
>> (V4L2_CID_MODE_CLASS_BASE+5)
>> > #define V4L2_CID_MODE_SENSITIVITY
>> (V4L2_CID_MODE_CLASS_BASE+6)
> ---
>> >
>> > The pixel clock is read-only but some of the others should likely be
>> > changeable.
>>
>> It is very similar to the VIDIOC_G/S_DV_TIMINGS ioctls. I think we
>> should
>> look into adding an e.g. V4L2_DV_SMIA_SENSOR type or something along
>> those
>> lines.
>
> I'm not sure if sensivity would fit in there. The rest probably would.
>
>> I'm no sensor expert, so I don't know what sort of timing information is
>> needed for the various sensor types. But I'm sure there are other people
>> who have this knowledge. It would be useful if someone can list the
>> information that you need from the various sensor types. Based on that
>> we
>> can see if this ioctl is a good fit.
>
> Another possibility could be to report the information using the media
> controller framework and an upcoming MEDIA_IOC_ENTITY_INFO ioctl.

Are you talking about timing information? That doesn't belong in the media
framework. But I think I didn't quite understood what you meant here.

Regards,

 Hans

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


-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG, part of Cisco

--
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/PATCH v4 05/11] media: Reference count and power handling

2010-09-16 Thread Mauro Carvalho Chehab
Em 16-09-2010 05:46, Laurent Pinchart escreveu:
> Hi,
> 
> On Saturday 11 September 2010 22:38:33 Sakari Ailus wrote:
>> Mauro Carvalho Chehab wrote:
>>> Em 20-08-2010 12:29, Laurent Pinchart escreveu:
 From: Sakari Ailus 

 Basically these are the interface functions:

 media_entity_get() - acquire entity
 media_entity_put() - release entity

If the entity is of node type, the power change is distributed to
all connected entities. For non-nodes it only affects that very
node. A mutex is used to serialise access to the entity graph.

 In the background there's a depth-first search algorithm that traverses
 the active links in the graph. All these functions parse the graph to
 implement whatever they're to do.

 The module counters are increased/decreased in media_entity_get/put to
 prevent module unloading when an entity is referenced.

 Signed-off-by: Sakari Ailus 
 Signed-off-by: Laurent Pinchart 
 Signed-off-by: Stanimir Varbanov 
 ---

  Documentation/media-framework.txt |   37 +
  drivers/media/media-device.c  |1 +
  drivers/media/media-entity.c  |  146
  + include/media/media-device.h
   |4 +
  include/media/media-entity.h  |   15 
  5 files changed, 203 insertions(+), 0 deletions(-)

 diff --git a/Documentation/media-framework.txt
 b/Documentation/media-framework.txt index a599824..59649e9 100644
 --- a/Documentation/media-framework.txt
 +++ b/Documentation/media-framework.txt
 @@ -278,3 +278,40 @@ When the graph traversal is complete the function
 will return NULL.

  Graph traversal can be interrupted at any moment. No cleanup function
  call is required and the graph structure can be freed normally.

 +
 +Reference counting and power handling
 +-
 +
 +Before accessing type-specific entities operations (such as the V4L2
 +sub-device operations), drivers must acquire a reference to the entity.
 This +ensures that the entity will be powered on and ready to accept
 requests. +Similarly, after being done with an entity, drivers must
 release the +reference.
 +
 +  media_entity_get(struct media_entity *entity)
 +
 +The function will increase the entity reference count. If the entity is
 a node +(MEDIA_ENTITY_TYPE_NODE type), the reference count of all
 entities it is +connected to, both directly or indirectly, through
 active links is increased. +This ensures that the whole media pipeline
 will be ready to process +
 +Acquiring a reference to an entity increases the media device module
 reference +count to prevent module unloading when an entity is being
 used. +
 +media_entity_get will return a pointer to the entity if successful, or
 NULL +otherwise.
 +
 +  media_entity_put(struct media_entity *entity)
 +
 +The function will decrease the entity reference count and, for node
 entities, +like media_entity_get, the reference count of all connected
 entities. Calling +media_entity_put with a NULL argument is valid and
 will return immediately. +
 +When the first reference to an entity is acquired, or the last
 reference +released, the entity's set_power operation is called. Entity
 drivers must +implement the operation if they need to perform any power
 management task, +such as turning powers or clocks on or off. If no
 power management is +required, drivers don't need to provide a
 set_power operation. The operation +is allowed to fail when turning
 power on, in which case the media_entity_get +function will return
 NULL.
>>>
>>> The idea of doing power management via media entity get/put doesn't seem
>>> right. The mediabus interface and its usage should be optional, and only
>>> specialized applications will likely implement it. If a refcount 0 means
>>> power off, it ends that a device implementing the media bus will not
>>> work with V4L2 applications.
>>
>> The Media controller does handle the power through reference count but
>> this does not limit to subdev entities. The reference count is also
>> applied recursively to all entities which are connected through active
>> links.
>>
>> There are two cases:
>>
>> 1. The user application opens a subdev node. The subdev entity use count
>> will be incremented and the subdev will be powered up.
>>
>> 2. The user application opens a video node. The reference count for all
>> entities connected to the video node entity through active links will be
>> incremented. Subdevs will be powered up as well (if they are not already
>> because of (1) above). The same works if the entities connected through
>> a video node are connected to another entity and the link to that entity
>> is activated. In this case the use_counts of the entity se

Re: [PATCH] Illuminators and status LED controls

2010-09-16 Thread Laurent Pinchart
Hi Mauro,

On Monday 13 September 2010 16:38:03 Mauro Carvalho Chehab wrote:
> Em 13-09-2010 10:49, Andy Walls escreveu:
> > On Mon, 2010-09-13 at 08:45 -0300, Mauro Carvalho Chehab wrote:
> >> Em 13-09-2010 05:06, Hans Verkuil escreveu:
> >>> On Monday, September 13, 2010 09:04:18 Laurent Pinchart wrote:
>  On Thursday 09 September 2010 13:48:58 Hans de Goede wrote:
> > On 09/09/2010 03:29 PM, Hans Verkuil wrote:
> >>> On 09/09/2010 08:55 AM, Peter Korsgaard wrote:
>  "Hans" == Hans Verkuil   writes:
>  
>  I originally was in favor of controlling these through v4l as
>  well, but people made some good arguments against that. The main
>  one being: why would you want to show these as a control? What is
>  the end user supposed to do with them? It makes little sense.
>  
>  Status LEDs reflect in glasses, making annoying color dots on webcam
>  pictures. That's why Logitech allows to turn the status LED off on
>  its webcams.
> >>> 
> >>> That's a really good argument. I didn't think of that one.
> >> 
> >> There's one difference between illuminators and leds and anything else
> >> that we use currently via CTRL interface: all other controls affects
> >> just an internal hardware capability that are not visible to the user,
> >> nor can cause any kind of damage or annoyance.
> >> 
> >> On the other hand, a LED and an illuminator that an application may
> >> forget to turn off could be very annoying, and may eventually reduce
> >> the lifecycle or a device (in the case of non-LED illuminators, for
> >> example).
> > 
> > Yes, I can appreciate that.  On driver unload and suspend that should
> > certainly be the case for illuminators.
> > 
> > However, I don't think that's a good idea for final close on a file
> > descriptor though.  That's a departure from normal V4L2 behavior.
> 
> This doesn't seem to be a good reason. Keeping a LED after its usage is
> annoying to the user, can cause damage on devices (reduce lifetime) and
> can draw lots of power from the batteries (on battery-powered devices).
> 
> > For a USB connected device, turning off the illuminator after the fact
> > is simple, if the user has no other recourse: unplug the device. :)
> 
> Try to unplug the flash led on your cell phone ;)

Flash are much more complex than "simple" illuminators. They require pre-flash 
timing information and flash current for instance. The flash API will need a 
control to set the flash duration, and the driver (or hardware) should turn 
the flash off automatically after a security timeout (depending on the 
current, the hardware, ...).

> >> So, a special treatment seems to be required for both cases: if the
> >> application that changed the LED or illuminator to ON dies or closes,
> >> the LED/illuminator should be turned off by the driver.
> > 
> > That will break cases like these:
> > 
> > $ v4l2-ctl -d /dev/video0 -c illuminator_2=1
> > $ (command to run app that doesn't present all controls, e.g. cheese)
> 
> True, but it may have an alternative syntax for it, like:
> 
> v4l2-ctl -d /dev/video0 -c illuminator_2=1 --run cheese []
> 
> This way, if cheese or v4l2-ctl abends, the illuminator will be turned off.
> 
> Of course, we'll likely need to have a flag visible on userspace, to say
> that such control resets to an "off" state when the application dies, to
> avoid someone to use it like:
>   v4l2-ctl -d /dev/video0 -c illuminator_2=1

-- 
Regards,

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


Re: [Query] Is there a spec to request video sensor information?

2010-09-16 Thread Laurent Pinchart
Hi Hans,

On Monday 13 September 2010 19:06:20 Hans Verkuil wrote:
> On Monday, September 13, 2010 17:27:52 Sakari Ailus wrote:
> > Aguirre, Sergio wrote:
> > > I was wondering if there exists a current standard way to query a
> > > Imaging sensor driver for knowing things like the signal vert/horz
> > > blanking time.
> > > 
> > > In an old TI custom driver, we used to have a private IOCTL in the
> > > sensor Driver we interfaced with the omap3 ISP, which was basically
> > > reporting:
> > > 
> > > - Active resolution (Actual image size)
> > > - Full resolution (Above size + dummy pixel columns/rows representing
> > > blanking times)
> > > 
> > > However I resist to keep importing that custom interface, since I think
> > > its Something that could be already part of an standard API.
> > 
> > The N900 sensor drivers currently use private controls for this purpose.
> > That is an issue which should be resolved. I agree there should be a
> > uniform, standard way to access this information.
> > 
> > What we currently have is this, not in upstream:
> > 
> > ---
> > /* SMIA-type sensor information */
> > #define V4L2_CID_MODE_CLASS_BASE(V4L2_CTRL_CLASS_MODE | 0x900)
> > #define V4L2_CID_MODE_CLASS (V4L2_CTRL_CLASS_MODE | 1)
> > #define V4L2_CID_MODE_FRAME_WIDTH   (V4L2_CID_MODE_CLASS_BASE+1)
> > #define V4L2_CID_MODE_FRAME_HEIGHT  (V4L2_CID_MODE_CLASS_BASE+2)
> > #define V4L2_CID_MODE_VISIBLE_WIDTH (V4L2_CID_MODE_CLASS_BASE+3)
> > #define V4L2_CID_MODE_VISIBLE_HEIGHT(V4L2_CID_MODE_CLASS_BASE+4)
> > #define V4L2_CID_MODE_PIXELCLOCK(V4L2_CID_MODE_CLASS_BASE+5)
> > #define V4L2_CID_MODE_SENSITIVITY   (V4L2_CID_MODE_CLASS_BASE+6) 
---
> > 
> > The pixel clock is read-only but some of the others should likely be
> > changeable.
> 
> It is very similar to the VIDIOC_G/S_DV_TIMINGS ioctls. I think we should
> look into adding an e.g. V4L2_DV_SMIA_SENSOR type or something along those
> lines.

I'm not sure if sensivity would fit in there. The rest probably would.

> I'm no sensor expert, so I don't know what sort of timing information is
> needed for the various sensor types. But I'm sure there are other people
> who have this knowledge. It would be useful if someone can list the
> information that you need from the various sensor types. Based on that we
> can see if this ioctl is a good fit.

Another possibility could be to report the information using the media 
controller framework and an upcoming MEDIA_IOC_ENTITY_INFO ioctl.

-- 
Regards,

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


Re: [RFC/PATCH v4 07/11] media: Entities, pads and links enumeration

2010-09-16 Thread Laurent Pinchart
Hi Hans,

On Monday 06 September 2010 18:51:59 Hans Verkuil wrote:
> On Wednesday, September 01, 2010 16:05:10 Laurent Pinchart wrote:
> > On Saturday 28 August 2010 13:02:22 Hans Verkuil wrote:
> > > On Friday, August 20, 2010 17:29:09 Laurent Pinchart wrote:
> > [snip]
> > 
> > > > diff --git a/Documentation/media-framework.txt
> > > > b/Documentation/media-framework.txt index 66f7f6c..74a137d 100644
> > > > --- a/Documentation/media-framework.txt
> > > > +++ b/Documentation/media-framework.txt
> > 
> > [snip]
> > 
> > > > +The media_entity_desc structure is defined as
> > > > +
> > > > +- struct media_entity_desc
> > > > +
> > > > +__u32  id  Entity id, set by the application. When the id 
> > > > is
> > > > +   or'ed with MEDIA_ENTITY_ID_FLAG_NEXT, the driver
> > > > +   clears the flag and returns the first entity 
> > > > with a
> > > > +   larger id.
> > > > +char   name[32]Entity name. UTF-8 NULL-terminated string.
> > > 
> > > Why UTF-8 instead of ASCII?
> > 
> > Because vendor-specific names could include non-ASCII characters (same
> > reason for the model name in the media_device structure, if we decice to
> > make the model name ASCII I'll make the entity name ASCII as well).
> > 
> > [snip]
> > 
> > > > +struct media_entity_desc {
> > > > +   __u32 id;
> > > > +   char name[32];
> > > > +   __u32 type;
> > > > +   __u32 revision;
> > > > +   __u32 flags;
> > > > +   __u32 group_id;
> > > > +   __u16 pads;
> > > > +   __u16 links;
> > > > +
> > > > +   __u32 reserved[4];
> > > > +
> > > > +   union {
> > > > +   /* Node specifications */
> > > > +   struct {
> > > > +   __u32 major;
> > > > +   __u32 minor;
> > > > +   } v4l;
> > > > +   struct {
> > > > +   __u32 major;
> > > > +   __u32 minor;
> > > > +   } fb;
> > > > +   int alsa;
> > > > +   int dvb;
> > > > +
> > > > +   /* Sub-device specifications */
> > > > +   /* Nothing needed yet */
> > > > +   __u8 raw[64];
> > > > +   };
> > > > +};
> > > 
> > > Should this be a packed struct?
> > 
> > Why ? :-) Packed struct are most useful when they need to match hardware
> > structures or network protocols. Packing a structure can generate
> > unaligned fields, which are bad performance-wise.
> 
> I'm thinking about preventing a compat32 mess as we have for v4l.
> 
> It is my understanding that the only way to prevent different struct sizes
> between 32 and 64 bit is to use packed.

I don't think that's correct. Different struct sizes between 32bit and 64bit 
are caused by variable-size fields, such as 'long' (32bit on 32bit 
architectures, 64bit on 64bit architectures). I might be wrong though.

-- 
Regards,

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


Re: [RFC/PATCH v4 08/11] media: Links setup

2010-09-16 Thread Laurent Pinchart
Hi Mauro,

On Thursday 09 September 2010 03:14:44 Mauro Carvalho Chehab wrote:
> Em 20-08-2010 12:29, Laurent Pinchart escreveu:
> > Create the following ioctl and implement it at the media device level to
> > setup links.
> > 
> > - MEDIA_IOC_SETUP_LINK: Modify the properties of a given link
> > 
> > The only property that can currently be modified is the ACTIVE link flag
> > to activate/deactivate a link. Links marked with the IMMUTABLE link flag
> > can not be activated or deactivated.
> > 
> > Activating and deactivating a link has effects on entities' use count.
> > Those changes are automatically propagated through the graph.
> 
> You need to address here the release() call: if the userspace application
> dies or just exits, the device should be set into a sane state, e. g.
> devices powered on should be turned off,

That's already handled, as media_entity_put() is called in the vdev and subdev 
release() functions.

> and links activated by the application should be de-activated.

I don't think that's required. When an application exits with a video device 
node open, we don't reset all controls and formats. Power needs to be turned 
off and resources need to be released on exit, but configuration doesn't need 
to be reset.

-- 
Regards,

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


Re: [RFC/PATCH v4 08/11] media: Links setup

2010-09-16 Thread Laurent Pinchart
Hi Hans,

On Monday 06 September 2010 19:09:20 Hans Verkuil wrote:
> On Wednesday, September 01, 2010 16:08:29 Laurent Pinchart wrote:
> > On Saturday 28 August 2010 13:14:18 Hans Verkuil wrote:
> > > On Friday, August 20, 2010 17:29:10 Laurent Pinchart wrote:
> > [snip]
> > 
> > > > +/**
> > > > + * media_entity_remote_pad - Locate the pad at the remote end of a
> > > > link + * @entity: Local entity
> > > > + * @pad: Pad at the local end of the link
> > > > + *
> > > > + * Search for a remote pad connected to the given pad by iterating
> > > > over all
> > > > + * links originating or terminating at that pad until an active link
> > > > is found.
> > > > + *
> > > > + * Return a pointer to the pad at the remote end of the first found
> > > > active link,
> > > > + * or NULL if no active link has been found.
> > > > + */
> > > > +struct media_pad *media_entity_remote_pad(struct media_pad *pad)
> > > > +{
> > > > +   unsigned int i;
> > > > +
> > > > +   for (i = 0; i < pad->entity->num_links; i++) {
> > > > +   struct media_link *link = &pad->entity->links[i];
> > > > +
> > > > +   if (!(link->flags & MEDIA_LINK_FLAG_ACTIVE))
> > > > +   continue;
> > > > +
> > > > +   if (link->source == pad)
> > > > +   return link->sink;
> > > > +
> > > > +   if (link->sink == pad)
> > > > +   return link->source;
> > > > +   }
> > > > +
> > > > +   return NULL;
> > > > +
> > > > +}
> > > 
> > > Why is this needed? Esp. since there can be multiple active remote pads
> > > if you have multiple active outgoing links. Something this function
> > > doesn't deal with.
> > 
> > The function is meant to be used when only one of the links can be
> > active. It's most useful to find the entity connected to a given input
> > pad, as input pads can't be connected by multiple simultaneously active
> > links.
> 
> In that case I would rename it media_entity_remote_source to match the use
> case (and only look for remote sources).

OK, I'll rename the function.

> Alternatively you could add an index for the nth active link, then it would
> be truly generic.
> 
> Right now the function either does too much or too little :-)

-- 
Regards,

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


Re: [RFC/PATCH v4 11/11] v4l: Make v4l2_subdev inherit from media_entity

2010-09-16 Thread Laurent Pinchart
Hi Mauro,

On Thursday 09 September 2010 03:25:38 Mauro Carvalho Chehab wrote:
> Em 20-08-2010 12:29, Laurent Pinchart escreveu:
> > V4L2 subdevices are media entities. As such they need to inherit from
> > (include) the media_entity structure.
> > 
> > When registering/unregistering the subdevice, the media entity is
> > automatically registered/unregistered. The entity is acquired on device
> > open and released on device close.
> > 
> > Signed-off-by: Laurent Pinchart 
> > Signed-off-by: Sakari Ailus 
> > ---
> > 
> >  Documentation/video4linux/v4l2-framework.txt |   23 ++
> >  drivers/media/video/v4l2-device.c|   32
> >  +- drivers/media/video/v4l2-subdev.c   
> >  |   27 +- include/media/v4l2-subdev.h  
> > |7 +
> >  4 files changed, 82 insertions(+), 7 deletions(-)
> > 
> > diff --git a/Documentation/video4linux/v4l2-framework.txt
> > b/Documentation/video4linux/v4l2-framework.txt index 7ff4016..3416d93
> > 100644
> > --- a/Documentation/video4linux/v4l2-framework.txt
> > +++ b/Documentation/video4linux/v4l2-framework.txt
> > 
> > @@ -263,6 +263,26 @@ A sub-device driver initializes the v4l2_subdev 
struct using:
> >  Afterwards you need to initialize subdev->name with a unique name and
> >  set the module owner. This is done for you if you use the i2c helper
> >  functions.
> > 
> > +If integration with the media framework is needed, you must initialize
> > the +media_entity struct embedded in the v4l2_subdev struct (entity
> > field) by +calling media_entity_init():
> > +
> > +   struct media_pad *pads = &my_sd->pads;
> > +   int err;
> > +
> > +   err = media_entity_init(&sd->entity, npads, pads, 0);
> > +
> > +The pads array must have been previously initialized. There is no need
> > to +manually set the struct media_entity type and name fields, but the
> > revision +field must be initialized if needed.
> > +
> > +A reference to the entity will be automatically acquired/released when
> > the +subdev device node (if any) is opened/closed.
> > +
> > +Don't forget to cleanup the media entity before the sub-device is
> > destroyed: +
> > +   media_entity_cleanup(&sd->entity);
> > +
> > 
> >  A device (bridge) driver needs to register the v4l2_subdev with the
> > 
> >  v4l2_device:
> > @@ -272,6 +292,9 @@ This can fail if the subdev module disappeared before
> > it could be registered.
> > 
> >  After this function was called successfully the subdev->dev field points
> >  to the v4l2_device.
> > 
> > +If the v4l2_device parent device has a non-NULL mdev field, the
> > sub-device +entity will be automatically registered with the media
> > device.
> > +
> > 
> >  You can unregister a sub-device using:
> > v4l2_device_unregister_subdev(sd);
> > 
> > diff --git a/drivers/media/video/v4l2-device.c
> > b/drivers/media/video/v4l2-device.c index 91452cd..4f74d01 100644
> > --- a/drivers/media/video/v4l2-device.c
> > +++ b/drivers/media/video/v4l2-device.c
> > @@ -114,10 +114,11 @@ void v4l2_device_unregister(struct v4l2_device
> > *v4l2_dev)
> > 
> >  EXPORT_SYMBOL_GPL(v4l2_device_unregister);
> >  
> >  int v4l2_device_register_subdev(struct v4l2_device *v4l2_dev,
> > 
> > -   struct v4l2_subdev *sd)
> > +   struct v4l2_subdev *sd)
> > 
> >  {
> > 
> > +   struct media_entity *entity = &sd->entity;
> > 
> > struct video_device *vdev;
> > 
> > -   int ret = 0;
> > +   int ret;
> > 
> > /* Check for valid input */
> > if (v4l2_dev == NULL || sd == NULL || !sd->name[0])
> > 
> > @@ -129,6 +130,15 @@ int v4l2_device_register_subdev(struct v4l2_device
> > *v4l2_dev,
> > 
> > if (!try_module_get(sd->owner))
> > 
> > return -ENODEV;
> > 
> > +   /* Register the entity. */
> > +   if (v4l2_dev->mdev) {
> > +   ret = media_device_register_entity(v4l2_dev->mdev, entity);
> > +   if (ret < 0) {
> > +   module_put(sd->owner);
> > +   return ret;
> > +   }
> > +   }
> > +
> > 
> > sd->v4l2_dev = v4l2_dev;
> > spin_lock(&v4l2_dev->lock);
> > list_add_tail(&sd->list, &v4l2_dev->subdevs);
> > 
> > @@ -143,26 +153,36 @@ int v4l2_device_register_subdev(struct v4l2_device
> > *v4l2_dev,
> > 
> > if (sd->flags & V4L2_SUBDEV_FL_HAS_DEVNODE) {
> > 
> > ret = __video_register_device(vdev, VFL_TYPE_SUBDEV, -1, 1,
> > 
> >   sd->owner);
> > 
> > -   if (ret < 0)
> > +   if (ret < 0) {
> > 
> > v4l2_device_unregister_subdev(sd);
> > 
> > +   return ret;
> > +   }
> > 
> > }
> > 
> > -   return ret;
> > +   entity->v4l.major = VIDEO_MAJOR;
> > +   entity->v4l.minor = vdev->minor;
> 
> Hmm... it needs to check if entity is not null.

Entity is set to

struct media_entity *entity = &sd->entity;

It can't be NULL.

> > +   return 0;
> > 

Re: [RFC/PATCH v4 05/11] media: Reference count and power handling

2010-09-16 Thread Laurent Pinchart
Hi,

On Saturday 11 September 2010 22:38:33 Sakari Ailus wrote:
> Mauro Carvalho Chehab wrote:
> > Em 20-08-2010 12:29, Laurent Pinchart escreveu:
> >> From: Sakari Ailus 
> >> 
> >> Basically these are the interface functions:
> >> 
> >> media_entity_get() - acquire entity
> >> media_entity_put() - release entity
> >> 
> >>If the entity is of node type, the power change is distributed to
> >>all connected entities. For non-nodes it only affects that very
> >>node. A mutex is used to serialise access to the entity graph.
> >> 
> >> In the background there's a depth-first search algorithm that traverses
> >> the active links in the graph. All these functions parse the graph to
> >> implement whatever they're to do.
> >> 
> >> The module counters are increased/decreased in media_entity_get/put to
> >> prevent module unloading when an entity is referenced.
> >> 
> >> Signed-off-by: Sakari Ailus 
> >> Signed-off-by: Laurent Pinchart 
> >> Signed-off-by: Stanimir Varbanov 
> >> ---
> >> 
> >>  Documentation/media-framework.txt |   37 +
> >>  drivers/media/media-device.c  |1 +
> >>  drivers/media/media-entity.c  |  146
> >>  + include/media/media-device.h
> >>   |4 +
> >>  include/media/media-entity.h  |   15 
> >>  5 files changed, 203 insertions(+), 0 deletions(-)
> >> 
> >> diff --git a/Documentation/media-framework.txt
> >> b/Documentation/media-framework.txt index a599824..59649e9 100644
> >> --- a/Documentation/media-framework.txt
> >> +++ b/Documentation/media-framework.txt
> >> @@ -278,3 +278,40 @@ When the graph traversal is complete the function
> >> will return NULL.
> >> 
> >>  Graph traversal can be interrupted at any moment. No cleanup function
> >>  call is required and the graph structure can be freed normally.
> >> 
> >> +
> >> +Reference counting and power handling
> >> +-
> >> +
> >> +Before accessing type-specific entities operations (such as the V4L2
> >> +sub-device operations), drivers must acquire a reference to the entity.
> >> This +ensures that the entity will be powered on and ready to accept
> >> requests. +Similarly, after being done with an entity, drivers must
> >> release the +reference.
> >> +
> >> +  media_entity_get(struct media_entity *entity)
> >> +
> >> +The function will increase the entity reference count. If the entity is
> >> a node +(MEDIA_ENTITY_TYPE_NODE type), the reference count of all
> >> entities it is +connected to, both directly or indirectly, through
> >> active links is increased. +This ensures that the whole media pipeline
> >> will be ready to process +
> >> +Acquiring a reference to an entity increases the media device module
> >> reference +count to prevent module unloading when an entity is being
> >> used. +
> >> +media_entity_get will return a pointer to the entity if successful, or
> >> NULL +otherwise.
> >> +
> >> +  media_entity_put(struct media_entity *entity)
> >> +
> >> +The function will decrease the entity reference count and, for node
> >> entities, +like media_entity_get, the reference count of all connected
> >> entities. Calling +media_entity_put with a NULL argument is valid and
> >> will return immediately. +
> >> +When the first reference to an entity is acquired, or the last
> >> reference +released, the entity's set_power operation is called. Entity
> >> drivers must +implement the operation if they need to perform any power
> >> management task, +such as turning powers or clocks on or off. If no
> >> power management is +required, drivers don't need to provide a
> >> set_power operation. The operation +is allowed to fail when turning
> >> power on, in which case the media_entity_get +function will return
> >> NULL.
> > 
> > The idea of doing power management via media entity get/put doesn't seem
> > right. The mediabus interface and its usage should be optional, and only
> > specialized applications will likely implement it. If a refcount 0 means
> > power off, it ends that a device implementing the media bus will not
> > work with V4L2 applications.
> 
> The Media controller does handle the power through reference count but
> this does not limit to subdev entities. The reference count is also
> applied recursively to all entities which are connected through active
> links.
> 
> There are two cases:
> 
> 1. The user application opens a subdev node. The subdev entity use count
> will be incremented and the subdev will be powered up.
> 
> 2. The user application opens a video node. The reference count for all
> entities connected to the video node entity through active links will be
> incremented. Subdevs will be powered up as well (if they are not already
> because of (1) above). The same works if the entities connected through
> a video node are connected to another entity and the link to that entity
> is activated. In this case the use_counts of the entity sets are applied
> across the both sets.
> 
> The user appl

Re: [PATCH 4/4] IR/imon: set up mce-only devices w/mce keytable

2010-09-16 Thread Anders Eriksson



ja...@redhat.com said:

> + /* iMON LCD, MCE IR */ 
> + case 0x9e: 
> + dev_info(ictx->dev, "0xffdc iMON VFD, MCE IR"); 
> + detected_display_type = IMON_DISPLAY_TYPE_VFD;
> + allowed_protos = IR_TYPE_RC6; + break; 
> + /* iMON LCD, MCE IR */ +case 0x9f:
> 

That "LCD" in the comment should be VFD.

/Anders



--
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 v9 3/4] V4L2: WL1273 FM Radio: Controls for the FM radio.

2010-09-16 Thread Matti J. Aaltonen
Hi.

On Wed, 2010-09-08 at 21:09 +0200, ext Mauro Carvalho Chehab wrote:
> > +static int wl1273_fm_vidioc_s_tuner(struct file *file, void *priv,
> > +   struct v4l2_tuner *tuner)
> > +{
> > + struct wl1273_device *radio =
video_get_drvdata(video_devdata(file));
> > + struct wl1273_core *core = radio->core;
> > + int r = 0;
> > +
> > + dev_dbg(radio->dev, "%s\n", __func__);
> > + dev_dbg(radio->dev, "tuner->index: %d\n", tuner->index);
> > + dev_dbg(radio->dev, "tuner->name: %s\n", tuner->name);
> > + dev_dbg(radio->dev, "tuner->capability: 0x%04x\n",
tuner->capability);
> > + dev_dbg(radio->dev, "tuner->rxsubchans: 0x%04x\n",
tuner->rxsubchans);
> > + dev_dbg(radio->dev, "tuner->rangelow: %d\n", tuner->rangelow);
> > + dev_dbg(radio->dev, "tuner->rangehigh: %d\n",
tuner->rangehigh);
> 
> Ranges should be using tuner->rangelow/rangehigh to change band
limits.

I just want to make sure that I understand you correctly. So the idea is
that with the g_tuner the driver can tell the frequency range that's
supported by the chip in RX mode, which is 76MHz to 108 MHz. The lowest
part is in the Japan band and the highest is in the Europe/USA band, the
middle section can be either...

Then the application can choose any sub-range of the above by calling
s_tuner with any values rangelow > 76MHz and rangehigh < 108MHz? After
that the driver just deals with the given frequencies by changing the
band if necessary?

Cheers,
Matti


--
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] DSM-CC question

2010-09-16 Thread Suchita Gupta
Its a very good idea. I will look at it as soon as possible and may be come 
back 
to you for questions.
I have already done most of the implementation by storing blocks in memory and 
I 
have to finish it as soon as possible.
But later on I can use this idea, it to optimize memory utilization and 
performance of my code

Thanks.


- Original Message 
From: Simon Kilvington 
To: linux-media@vger.kernel.org
Cc: linux-...@linuxtv.org
Sent: Wed, 15 September, 2010 10:40:05
Subject: Re: [linux-dvb] DSM-CC question

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

also have a look at my rb-download code,

http://redbutton.sourceforge.net/

this gets around the problem of having to know the directory structure
before you download files by using symlinks - ie you download the files
as they arrive on the carousel, then when you get a directory you create
the directory but make all the file entries in it symlinks - if the
files have already arrived, then the links point to them, if the files
haven't arrived yet, you just have some dangling symlinks until they do

this means you don't have to worry about trying to cache files in memory
before you can write them to disc and so makes the whole thing a lot
simpler to implement

On 14/09/10 22:06, Marc Murphy wrote:
> Have a look at libdsmcc. It will write by default to /tmp/cache I have 
> modified 
>my test software to notify of a new file or updated file version. 
>
> 
> Hope this helps
> 
> Marc
> 
> Sent from my iPhone
> 
> On 14 Sep 2010, at 21:31, "Suchita Gupta"  wrote:
> 
>> Hi,
>>
>> First of all, I am new to this list, so I am not sire if this is right place 
>>for 
>>
>> this question.
>> If not, please forgive me and point me to right list.
>>
>> I am writing a DSMCC decoding implementation to persist it to local 
>filesystem.
>> I am unable to understand few thiings related to "srg"
>>
>> I know, it represents the top level directory. But how do I get the name of 
>>this 
>>
>> directory?
>> I can extract the names of subdirs and files using name components but where 
>> is 
>>
>> the name of top level directory?
>>
>> Also, as far as I understand it, I can't start writing to the local 
>> filesystem 
>
>> until I have acquired the whole carousel.
>>
>> Can, anyone please provide me some guidance.
>>
>> Thanks in Advance,
>> rs
>>
>>
>>
>>
>> ___
>> linux-dvb users mailing list
>> For V4L/DVB development, please use instead linux-media@vger.kernel.org
>> linux-...@linuxtv.org
>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>>
> 
> ___
> linux-dvb users mailing list
> For V4L/DVB development, please use instead linux-media@vger.kernel.org
> linux-...@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
> 
> 

- -- 
Simon Kilvington


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyQlHUACgkQmt9ZifioJSwN7QCffyS4wY25IMysdwFcJEUS/Aaw
JBEAoIGShJ/kxMvOT73o7vEqfXMNKr/r
=Jf4M
-END PGP SIGNATURE-

___
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@vger.kernel.org
linux-...@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb



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