aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
Commit message (Collapse)AuthorAgeFilesLines
* [media] saa7164: rename a structure for readabilitySteven Toth2010-10-212-23/+23
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: Avoid spurious error after firmware startsSteven Toth2010-10-211-3/+10
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: New firmware changes, new size, new filenameSteven Toth2010-10-211-2/+2
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: allow DMA engine buffers to vary in size between analog and ↵Steven Toth2010-10-214-122/+220
| | | | | | | digital Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: code cleanupSteven Toth2010-10-214-55/+1
| | | | | | | | Removed some previous debugging code, whitespace cleanup and spurious comments. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: irqhandler cleanup and helper function addedSteven Toth2010-10-212-176/+80
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: mundane buffer debugging changes to track issuesSteven Toth2010-10-214-16/+29
| | | | | | | Code is removed in future patches in this set. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: Implement resolution control firmware commandSteven Toth2010-10-213-1/+14
| | | | | | | .. also fix a minor line 80 wrapping coding style issue. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: adjust the PS pack size handling to fill buffers 100%Steven Toth2010-10-214-29/+46
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: buffer crc checks and ensure we use the memcpy funcSteven Toth2010-10-215-40/+191
| | | | | | | Buffer crc checks and ensure we use the correct PCIe IO memcpy func Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: add guard bytes around critical buffers to detect failureSteven Toth2010-10-212-6/+37
| | | | | | | If the guard bytes are trampled then we have a memory related problem. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: measure via histograms various irq and queue latenciesSteven Toth2010-10-213-4/+59
| | | | | | | | | saa7164: measure via histograms various irq and queue latencies Attempting to determine where buffering issues under high load are due to highly latent irq or work queue handling. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: allow the number of encoder buffers to be user configurableSteven Toth2010-10-213-5/+15
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: patches to monitor TS payload for inconsistenciesSteven Toth2010-10-213-1/+82
| | | | | | | | ... and report errors to console. (Debugging a DMA buffering issue). These are made optional in later patches. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: allow variable length GOP sizes and switch encoder default ↵Steven Toth2010-10-213-4/+12
| | | | | | | to CBR Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: allow encoder output format to be user configurableSteven Toth2010-10-212-4/+10
| | | | | | | Allow PS and TS. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: implement encoder peak bitrate featureSteven Toth2010-10-213-1/+19
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: allow the IBP reference distance to be configurableSteven Toth2010-10-213-1/+18
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: add support for encoder CBR and VBR optionallySteven Toth2010-10-214-1/+25
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: generate a fixed kernel warning if the irq is 'late'Steven Toth2010-10-211-1/+6
| | | | | | | | | | Now we start to see a number of patches applied that are related to debugging the driver. This patch is removed in the coming patches as you start to see the irq handler evolve as I worked through the DMA data corruption issues. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: allow the encoder GOP structure to be configuredSteven Toth2010-10-213-1/+35
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: command dequeue fixup to clean the bus after errorSteven Toth2010-10-211-2/+17
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: Implement encoder irq handling in a deferred work queueSteven Toth2010-10-212-29/+217
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: add various encoder message functionsSteven Toth2010-10-216-38/+2348
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: convert buffering structs to be more genericSteven Toth2010-10-215-116/+178
| | | | | | | | | Current structs assume transport, making a number of changes to switch to generic functions allowing a smoother integration for the analog encoder. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: Add some encoder firmwares message types and structsSteven Toth2010-10-212-1/+160
| | | | | Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7164: basic definitions for -encoder.cSteven Toth2010-10-2114-15/+39
| | | | | | | Add the skeleton file, update the build environment, copyrights. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] i2c: Stop using I2C_CLASS_TV_DIGITALJean Delvare2010-10-211-2/+0
| | | | | | | | | | Detection class I2C_CLASS_TV_DIGITAL is set by many adapters but no I2C device driver is setting it anymore, which means it can be dropped. I2C devices on digital TV adapters are instantiated explicitly these days, which is much better. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] i2c: Stop using I2C_CLASS_TV_ANALOGJean Delvare2010-10-213-3/+0
| | | | | | | | | | Detection class I2C_CLASS_TV_ANALOG is set by a few adapters but no I2C device driver is setting it anymore, which means it can be dropped. I2C devices on analog TV adapters are instantiated explicitly these days, which is much better. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] tvp5150: COMPOSITE0 input should not force-enable TV modePaul Walmsley2010-10-211-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When digitizing composite video from a analog videotape source using the TVP5150's first composite input channel, the captured stream exhibits tearing and synchronization problems[1]. It turns out that commit c0477ad9feca01bd8eff95d7482c33753d05c700 caused "TV mode" (as opposed to "VCR mode" or "auto-detect") to be forcibly enabled for both composite inputs. According to the chip documentation[2], "TV mode" disables a "chrominance trap" input filter, which appears to be necessary for high-quality video capture from an analog videotape source. [ Commit c7c0b34c27bbf0671807e902fbfea6270c8f138d subsequently restricted the problem to the first composite input, apparently inadvertently. ] Since any type of composite signal source can be connected to the TVP5150's first composite input, unconditionally forcing "TV mode" isn't correct. There doesn't appear to be a good way for applications to tell the driver what is connected. Fortunately, the TVP5150 has an operating mode auto-detection feature, which, when enabled, should cause the TVP5150 to auto-detect whether it should use "VCR mode" or "TV mode". Enabling operating mode auto-detection improved video capture quality significantly[3]. Therefore, fix this bug by using operating mode auto-detection. (Also, while here, fix a CodingStyle issue.) For those users who may find this patch via a mailing list archive but who are not able to upgrade to a kernel with a fixed driver: the TVP5150's S-Video and second composite input sources have auto-detection enabled, so you may wish to try using those -- if available on your device -- until this fix makes it a downstream distribution near you. 1. Pre-patch tvtime snapshot using a Pinnacle PCTV HD Pro as the capture device and a Sony EV-S2000 as a video source: http://www.booyaka.com/~paul/tvp5150/1a.png 2. Section 3.21.3, "Operation Mode Control Register", _TVP5150AM1 Ultralow-Power NTSC/PAL/SECAM Video Decoder (Rev. D)_ [SLES209D], downloaded 8 October 2010, available via http://focus.ti.com/lit/ds/symlink/tvp5150am1.pdf 3. Post-patch tvtime snapshot (same signal chain as #1, above): http://www.booyaka.com/~paul/tvp5150/1b.png Signed-off-by: Paul Walmsley <paul@booyaka.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7134: add test after for loopDan Carpenter2010-10-211-2/+8
| | | | | | | | Add a check after the for loops to see if we found what we were looking for or if we reached the end of the list. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] vivi: Don't depend on FONTSBen Hutchings2010-10-211-1/+1
| | | | | | | | CONFIG_FONTS has nothing to do with whether find_font() is defined. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] drivers/media/video/cx23885/cx23885-core.c: fix ↵Andrew Morton2010-10-211-0/+1
| | | | | | | | | | | | | cx23885_dev_checkrevision() It was missing the `break'. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=18672 Reported-by: Igor <i2g2r2@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] saa7134: port Asus P7131 Hybrid to use the new rc-coreMauro Carvalho Chehab2010-10-211-2/+4
| | | | | | | | The rc map table were corrected thanks to Giorgio input and tests. Reported-by: Giorgio Vazzana <mywing81@gmail.com> Tested-by: Giorgio Vazzana <mywing81@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - sonixj: Use the new video control mechanismJean-François Moine2010-10-211-411/+172
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - ov519: Use the new video control mechanismJean-François Moine2010-10-212-242/+76
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - stk014: Use the new video control mechanismJean-François Moine2010-10-211-117/+37
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] gspca - main: New video control mechanismJean-François Moine2010-10-212-33/+110
| | | | | | | | The new control mechanism uses dynamic control values in the subdriver descriptor. It simplifies standard control handling. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Fix uvc_query_v4l2_ctrl() and uvc_xu_ctrl_query() lockingLaurent Pinchart2010-10-212-26/+39
| | | | | | | | Take the ctrl_mutex mutex before touching control information in those functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Fix bogus XU controls informationLaurent Pinchart2010-10-211-0/+41
| | | | | | | | | | | | | | | | | XU control information is supposed to be entirely discoverable using standard UVC queries. As some devices report bogus information (such as reporting a read-only control as being read-write), add a fixup table for XU controls. This table can also be used to selectively disable requests supposed to be supported by all XU controls (GET_MIN, GET_MAX, GET_DEF, GET_RES) but not correctly (or at all) supported by the device. The table currently disables GET_CUR on the Logitech motor control XU pan/tilt controls. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Delay initialization of XU controlsLaurent Pinchart2010-10-211-87/+107
| | | | | | | | | | XU controls initialization requires querying the device for control information. As some buggy UVC devices will crash when queried repeatedly in a tight loop, delay XU controls initialization until first use. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Embed uvc_control_info inside struct uvc_controlLaurent Pinchart2010-10-212-73/+68
| | | | | | | | | Now that control information structures are not shared between control instances, embed a uvc_control_info instance inside the uvc_control structure instead of storing a pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Remove sysadmin requirements for UVCIOC_CTRL_MAPMartin Rubli2010-10-214-6/+19
| | | | | | | | | | | | | This patch removes the sysadmin requirements for UVCIOC_CTRL_MAP (and the stub implementation of UVCIOC_CTRL_ADD). This requirement no longer makes sense with the new XU control access mechanisms since XU controls can be accessed without adding control mappings first. A maximum number (currently 1024) of control mappings per device is enforced to avoid excess memory consumption caused by careless user space applications. Signed-off-by: Martin Rubli <martin_rubli@logitech.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Hardcode the index/selector relationship for XU controlsLaurent Pinchart2010-10-214-270/+240
| | | | | | | | | | | | | | | | | | | | | | | | Devices advertise XU controls using a bitmask, in which each bit corresponds to a control. The control selector, used to query the control, isn't available in the USB descriptors. All known UVC devices use control selectors equal to the control bit index plus one. Hardcode that relationship in the driver, making the UVCIOC_CTRL_ADD ioctl obsolete. All necessary information about XU controls can be obtained by the driver at enumeration time. The UVCIOC_CTRL_ADD ioctl is still supported for compatibility reasons, but now always returns -EEXIST. Finally, control mappings are now on a per-device basis and no longer global. As this changes the userspace interface, bump the driver version number to 1.0.0 (it was about time). Signed-off-by: Martin Rubli <martin_rubli@logitech.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Generate discontinuous sequence numbers when frames are lostLaurent Pinchart2010-10-213-7/+11
| | | | | | | | | Increase the sequence number of the v4l2_buffer structure regardless of any buffer states, so that discontinuous sequence numbers allow applications to detect lost video frames. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Set bandwidth to at least 1024 with the FIX_BANDWIDTH quirkLaurent Pinchart2010-10-211-0/+9
| | | | | | | | | | | | The bandwidth estimate computed with the FIX_BANDIWDTH quirk is too low for many cameras. Don't use maximum packet sizes lower than 1024 bytes to try and work around the problem. According to measurements done on two different camera models, the value is high enough to get most resolutions working while not preventing two simultaneous VGA streams at 15 fps. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Update e-mail address and copyright noticesLaurent Pinchart2010-10-217-14/+15
| | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Print query name in uvc_query_ctrl()Laurent Pinchart2010-10-211-3/+27
| | | | | | | | Instead of printing the query hex value in error messages, print its name to make the messages more readable. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Constify the uvc_entity_match_guid argumentsLaurent Pinchart2010-10-211-1/+2
| | | | | | | They're not modified by the function, make them const. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] uvcvideo: Blacklist more controls for Hercules Dualpix ExchangeLaurent Pinchart2010-10-211-8/+28
| | | | | | | | The Hercules Dualpix Exchange (06f8:3005) camera expose an absolute zoom that is not implemented. Blacklist it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>