summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* [media] omap3isp: Prevent pipelines that contain a crashed entity from startingLaurent Pinchart2012-05-08
| | | | | | | | | | | | | | | | | | | | | The OMAP3 ISP preview engine will violate the L4 bus protocol if we try to write some of its internal registers after it failed to stop properly. This generates an external abort on non-linefetch fault, triggering a fatal kernel oops. We can't always prevent preview engine stop failures (they can for instance be caused by a sensor crash), but we can improve the system reliability by refusing to start streaming on a pipeline that contains the preview engine if it failed to stop. The driver will then eventually reset the ISP (when all applications will have closed their file handles related to OMAP3 ISP device nodes), making the ISP usable again. Fixes: NB#291334 - camera: Recover gracefully from ISP crash instead of oopsing Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com> Reviewed-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Use videobuf2 .get_unmapped_area() implementationLaurent Pinchart2012-05-08
| | | | | | | | The get_unmapped_area() operation was forgotten during conversion to videobuf2. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] MAINTAINERS: Update UVC driver's mailing list addressLaurent Pinchart2012-05-08
| | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Fix ENUMINPUT handlingLaurent Pinchart2012-05-08
| | | | | | | | | | Properly validate the user-supplied index against the number of inputs. The code used the pin local variable instead of the index by mistake. Reported-by: Jozef Vesely <vesely@gjh.sk> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: For querystd, start with list of hardware-supported standardsMike Isely2012-05-07
| | | | | | | | | | | | | | The V4L querystd implementation appears to want to narrow down the list of available standards by starting with a hardware-supported list and then attempting to detect which among those are actually available. Prior to this change in the pvrusb2 driver we started with all possible standards. With this change in place we instead narrow to just the standards that we know the hardware can actually support. For example, this removes the ATSC standards from the list if we aren't dealing with a hybrid device... Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Get rid of obsolete code for video standard enumerationMike Isely2012-05-07
| | | | | | | | | Get rid of pvrusb2-local implementation for enumeration of video standards - with video_ioctl2 this happens automatically now in the v4l core. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Trivial tweak to get rid of some redundant dereferencesMike Isely2012-05-07
| | | | | Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Base available video standards on what hardware supportsMike Isely2012-05-07
| | | | | | | | | | | | | With the transition to ioctl2, the pvrusb2 driver's own standards enumeration is no longer used. Instead a generic algorithm internal to v4l is used (which is a great idea - since the pvrusb2 implementation itself was generic anyway). This change ensures that the v4l algorithm works with the correct set of hardware supported standards. This resolves a FIXME left behind from the videodev_ioctl2 transition. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media][trival] pvrusb2: Fix truncated video standard namesMike Isely2012-05-07
| | | | | Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Transform video standard detection result into read-only ↵Mike Isely2012-05-07
| | | | | | | | | | | | | control ID Other aspects of the pvrusb2 driver - including in particular those dealing with video standards - all use internal control IDs for uniform access by the interfaces. By exporting the querystd result as another control ID, uniform access to it becomes available through the sysfs interface. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Implement querystd for videodev_ioctl2Mike Isely2012-05-07
| | | | | Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Clean up pvr2_hdw_get_detected_std()Mike Isely2012-05-07
| | | | | | | | Move full implementation of pvr2_hdw_get_detected_std() actually include pvr2_hdw_get_detected_std(). Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: convert to video_ioctl2Hans Verkuil2012-05-07
| | | | | | | | | | | Note: there is one FIXME remaining: the tvnorms field of struct video_device should be set up correctly. I have used V4L2_STD_ALL for now, but I'm sure this can be improved. This field is used by video_ioctl2 to implement ENUMSTD. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] pvrusb2: Stop statically initializing reserved struct fields to zeroMike Isely2012-05-07
| | | | | | | | | | | | | | In any statically initialized data structure, the compiler is going to zero any part which is not already explicitly initialized. While we can take that knowledge overboard and simply avoid initializing anything that needs to be zero, it's at least a good idea not to bother zeroing parts that we don't otherwise care about - like "reserved" fields which may change in the future. Avoiding initialization of those fields now also avoids possible conflict down the road. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Drop unused ctrl member from struct uvc_control_mappingHans de Goede2012-05-07
| | | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Send control change events for slave ctrls when the master ↵Hans de Goede2012-05-07
| | | | | | | | | | | | | | changes This allows v4l2 control UI-s to update the inactive state (ie grey-ing out of controls) for slave controls when the master control changes. [Use __uvc_find_control() to find slave controls, as they're always located in the same entity as the corresponding master control] Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Properly report the inactive flag for inactive controlsHans de Goede2012-05-07
| | | | | | | | | | Note the unused in this patch slave_ids addition to the mappings will get used in a follow up patch to generate control change events for the slave ctrls when their flags change due to the master control changing value. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Add support for control eventsHans de Goede2012-05-07
| | | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Move __uvc_ctrl_get() upHans de Goede2012-05-07
| | | | | | | | | | | | This avoids the need for doing a forward declaration of __uvc_ctrl_get (which is a static function) in later patches in this series. Note to reviewers this patch does not change a single line of code, it just moves the function up in uvc_ctrl.c a bit. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Refactor uvc_ctrl_get and queryHans de Goede2012-05-07
| | | | | | | | This is a preparation patch for adding ctrl event support. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Fix a "ignoring return value of ‘__clear_user’" warningHans de Goede2012-05-07
| | | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] v4l2-ctrls: Use v4l2_subscribed_event_opsHans de Goede2012-05-07
| | | | | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> [hans.verkuil@cisco.com: Fix a locking bug] Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] v4l2-event: Add v4l2_subscribed_event_opsHans de Goede2012-05-07
| | | | | | | | | | | | Just like with ctrl events, drivers may want to get called back on listener add / remove for other event types too. Rather then special casing all of this in subscribe / unsubscribe event it is better to use ops for this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] media/radio: use v4l2_ctrl_subscribe_event where possibleHans de Goede2012-05-07
| | | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cpia2: major overhaul to get it in a working state againHans Verkuil2012-05-07
| | | | | | | | | | | | | | This driver was severely broken. This patch makes it work again, and updates it to the latest V4L2 frameworks (except for videobuf2). It passes the v4l2-compliance tests and it now handles suspend/resume correctly. Several custom controls are replaced by new standard controls, only the USB_ALTERNATE control remains. Tested with the Hanse HVS-CM500PC USB microscope. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] media/video/et61x251: Remove this deprecated driverHans de Goede2012-05-07
| | | | | | | | | The et61x251 has been deprecated for a couple of releases now, as all devices it supports are also supported by gspca_etoms, and it has not seen any maintenance in years. So now it is time to remove it. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7302: Improve the gain controlHans de Goede2012-05-07
| | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7302: Document some more registersHans de Goede2012-05-07
| | | | | | | | Note like all info on the pac73xx chips, this info was found by trial and error, so it is not necessarily 100% correct. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7302: Convert multi-line comments to standard kernel styleHans de Goede2012-05-07
| | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7311: Properly set the compression balanceHans de Goede2012-05-07
| | | | | | | | Before this patch sometimes the camera would run out of bandwidth when running at 640x480@30. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7311: Convert multi-line comments to standard kernel styleHans de Goede2012-05-07
| | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7311: Switch to coarse expo autogain algorithmHans de Goede2012-05-07
| | | | | | | | | We can only control the clockdivider to control exposure on the pac7311, making our expo control coarse, switch to an autogain algorithm optimized for this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7311: Switch to new gspca control mechanismHans de Goede2012-05-07
| | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7311: Adjust control scales to match registersHans de Goede2012-05-07
| | | | | | | | | Now that the pac7302 and pac7311 drivers are split, they no longer share there control settings, so there is no need to scale the controls to register values, instead make them reflect the registers directly. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac7311: Make sure exposure changes get applied immediatelyHans de Goede2012-05-07
| | | | | | | | | It turns out that the flush to sensor command needs to be done per register bank. We were missing one such flush in set_exposure, causing exposure changes to only show up when another setting in the same bank also got changed. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca_pac73xx: Remove comments from before the 7302 / 7311 separationHans de Goede2012-05-07
| | | | | | | | | | | The pac7302 and pac7311 driver still contains some comments from before they were separated, such as marking certain functions 7302 or 7311 only, with the new split drivers these make no sense, remove them. Also removed the empty/unused sd_stop0 function from pac7311.c Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca/autogain_functions.h: Allow users to declare what they wantHans de Goede2012-05-07
| | | | | | | | | Allow users of gspca/autogain_functions.h to declare which of the autogain algoritms they are going to use. This allows us to remove the hacks from drivers which don't use coarse_grained_expo_autogain. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] stk-webcam: Don't flip the image by defaultHans de Goede2012-05-07
| | | | | | | | | | | | | | Prior to this patch the stk-webcam driver was enabling the vflip and mirror bits in the sensor by default. Which only is the right thing to do if the sensor is actually mounted upside down, which it usually is not. Actually we've received upside down reports for both usb-ids which this driver supports, one for an "ASUSTeK Computer Inc." "A3H" laptop with a build in 174f:a311 webcam, and one for an "To Be Filled By O.E.M." "Z96FM" laptop with a build in 05e1:0501 webcam. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] radio-mr800: add hardware seek supportHans Verkuil2012-05-07
| | | | | | | | | Added hardware seek support based on information gleaned from the GPLv2 driver available here: http://sourceforge.net/projects/av-usbradio/ Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] radio-mr800: add support for stereo and signal detectionHans Verkuil2012-05-07
| | | | | | | | | Thanks to an older driver by Faidon Liambotis <paravoid@debian.org> (as noted in the radio-mr800 comment block at the start) for figuring out how to get the signal/stereo state. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] radio-mr800: cleanup and have it comply to the V4L2 APIHans Verkuil2012-05-07
| | | | | | | | | | Implement the control framework and update to the latest V4L2 framework. The v4l2-compliance tool now runs without errors. Fixed bad g/s_tuner handling with respect to mono/stereo. Support control events. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] radio-isa: fix memory leakHans Verkuil2012-05-07
| | | | | | | | If there is an error when creating controls the v4l2_ctrl_handler_free function must be called. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] radio-keene: support suspend/resumeHans Verkuil2012-05-07
| | | | | Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] ivtv: set max/step to 0 for PTS and FRAME controlsHans Verkuil2012-05-04
| | | | | | | | When creating 64 bit integer controls make sure the max and step values are 0 (as 64 bit controls do not have ranges). Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dsbr100: clean up and update to the latest v4l2 frameworkHans Verkuil2012-05-04
| | | | | | | | | | This driver now complies with the v4l2-compliance tests and uses the v4l2 frameworks correctly. It has been tested with the radio-keene FM transmitter as well. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - sn9c20x: Change the exposure setting of Omnivision sensorsJean-François Moine2012-05-03
| | | | | | | | | The exposure of Omnivision sensors is defined by the registers 07, 10 and 04. This patch updates the registers 10 and 04 before using the registers 2d and 2e (dummy lines). Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - sn9c20x: Don't do sensor update before the capture is startedJean-François Moine2012-05-03
| | | | | | | | Telling the bridge to update the sensor when setting the exposure or the gain is not needed when the image transfer is not started. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - sn9c20x: Set the i2c interface speedJean-François Moine2012-05-03
| | | | | | | | The i2c interface speed was set to 400 Kb/s while it is 100 Kb/s for most sensors. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - sn9c20x: Define more tables as constantJean-François Moine2012-05-03
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - sn9c20x: Add the sensor mt9vprb to the sensor ident tableJean-François Moine2012-05-03
| | | | | | | The table did not contain the sensor mt9vprb. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>