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 s.kilving...@eris.qinetiq.com
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 suchitagu...@yahoo.com 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


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: [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: [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 sakari.ai...@maxwell.research.nokia.com
  
  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 sakari.ai...@maxwell.research.nokia.com
  Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
  Signed-off-by: Stanimir Varbanov svarba...@mm-sol.com
  ---
  
   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 application does not need to use the Media controller interface
 to get this functionality.

That's correct. The subdev s_power operation is 

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 laurent.pinch...@ideasonboard.com
  Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com
  ---
  
   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;
  
   }
   EXPORT_SYMBOL_GPL(v4l2_device_register_subdev);
   
   void v4l2_device_unregister_subdev(struct v4l2_subdev *sd)
   {
  
  +   struct v4l2_device *v4l2_dev;
  +
  
  /* return if it isn't registered */
  if (sd == NULL || 

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 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 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: [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 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 sakari.ai...@maxwell.research.nokia.com

 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 sakari.ai...@maxwell.research.nokia.com
 Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
 Signed-off-by: Stanimir Varbanov svarba...@mm-sol.com
 ---

  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 application does not need to use the Media controller interface
 to get this functionality.
 
 That's correct. The subdev s_power operation is still there and can be called 
 directly by 

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: [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:
 
 skip some false positives in drivers/gpu
 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
   adv7170: remove obsolete v4l2-i2c-drv.h header
   ks0127: remove obsolete 

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: [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 sakari.ai...@maxwell.research.nokia.com
  
  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 sakari.ai...@maxwell.research.nokia.com
  Signed-off-by: Laurent Pinchart laurent.pinch...@ideasonboard.com
  Signed-off-by: Stanimir Varbanov svarba...@mm-sol.com
  ---
  
   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.

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=n 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=n 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 Systems, Inc.
CX23885 PCI Video 

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 da...@hardeman.nu

 - 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


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: [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:
 
 skip some false positives in drivers/gpu
 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 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 da...@hardeman.nu
 
  - 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: [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 da...@hardeman.nu
 
  - 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 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 da...@hardeman.nu
  
   - 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


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  

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


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


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: Hauppauge WinTV-HVR1800 dual tuner help needed

2010-09-16 Thread Devin Heitmueller
On Thu, Sep 16, 2010 at 10:23 AM, Jack Snodgrass
jacksnodgr...@mylinuxguy.net 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 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 j...@suse.cz
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: [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:

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


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


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


[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 m...@redhat.com
---
 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: [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


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


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


Re: Remaining BKL users, what to do

2010-09-16 Thread David Miller
From: Samuel Ortiz sam...@sortiz.org
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: Remaining BKL users, what to do

2010-09-16 Thread David Miller
From: Alan Cox a...@lxorguk.ukuu.org.uk
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: [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: 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: 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 aia21 at cam.ac.uk (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


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: 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 mche...@redhat.com:
 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


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 m...@redhat.com

Acked-by: Laurent Pinchart laurent.pinch...@ideasonboard.com

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


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: [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:
 
 URL: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


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