aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
Commit message (Collapse)AuthorAge
* [media] cx231xx: fixup video grabber board profileDevin Heitmueller2010-10-20
| | | | | | | | The video grabber reference design (Veyron) does not have a tuner input, so do not have it defined in the board profile. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: make output mode configurable via the board profileDevin Heitmueller2010-10-20
| | | | | | | | | Extend the board profile structure to allow configuration of the output mode. Right now they are all doing VIP 1.1 format, but we have a board that needs ITU656 format (which hasn't been checked in yet). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Add initial support for Hauppauge USB-Live2Devin Heitmueller2010-10-20
| | | | | | | | | | Add initial support for the Hauppauge USBLive 2 (2040:c200). Note that I had to copy a bunch of the case statements used for the Conexant video grabber reference design (which also doesn't have a tuner). This will likely need to be refactored out into the board profile. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: set correct i2c port for Exeter tunerDevin Heitmueller2010-10-20
| | | | | | | | | The tuner is on i2c port 3 just like all the reference designs. Having it improperly set to port #1 causes the tuner initialization to fail when enabling the device. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: set standard tune to last known frequency when switching inputsDevin Heitmueller2010-10-20
| | | | | | | | | If switching to a tuner input, reset the standard and tune to the last known frequency. We need to do this in particular for this bridge since the tuner gets powered down when captuing on the composite or s-video inputs. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Remove hack which puts device into bulk modeDevin Heitmueller2010-10-20
| | | | | | | | | | Remove a hack which was jammed into s_input to force the device into bulk mode at runtime (an abuse of the API). If this sort of functionality is actually needed (aside from the existing "transfer_mode" modprobe variable), a patch can be submitted which makes use of a private control. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Set the power mode instead of using the digital mux GPIOsDevin Heitmueller2010-10-20
| | | | | | | | | | | | | The Exeter hardware design does not use GPIOs to manage whether its in digital mode or analog mode, but we need to setup the power control properly. For that board, setup power control and remove the mux select call. It is highly likely that this change could be used by other boards as well, which would make power management cleaner (fixing known issues transitioning between analog and digital mode). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: do not call video_mux as part of isoc setupDevin Heitmueller2010-10-20
| | | | | | | | | You cannot call the video_mux routine from within the isoc setup, because that code is shared with the digital isoc handler. This was causing the GPIOs and power control to be put into the wrong state when starting up digital mode. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Clear avmode bits before settingDevin Heitmueller2010-10-20
| | | | | | | | | | We need to clear out the field before setting individual bits, or else we end up with a union of whatever was there and what we are trying to set. For example, switching to digital mode ends up being 0x30 instead of 0x10 if we were previously in analog tv mode. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: make video scaler work properlyDevin Heitmueller2010-10-20
| | | | | | | | | | | | | | | | | Move the responsibility for setting up the horizontal and vertical scalers entirely to the cx25840 driver. The cx231xx-avcore was actually programming garbage into the HSCALE_CTRL and VSCALE_CTRL registers (because of differences in how the em28xx driver worked, which the cx231xx driver was derived from). The net effect is that the scaler now works properly (tested with both PAL and NTSC under mplayer and tvtime). This patch also gets rid of cx25840 errors showing up in dmesg which say "720x480 is not a valid size" (since we now properly setup the size of the active video area). Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: reduce log severity for some debug eventsDevin Heitmueller2010-10-20
| | | | | | | | Change the log level from info to debug for some log events that occur frequently and should never need to be seen in normal operation. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: remove board specific initializationDevin Heitmueller2010-10-20
| | | | | | | | | | There is no need for a switch statement here. Use the contents of the board profile to dictate the tuner driver and i2c address. Eventually if a board ever comes around which has a different i2c bus than #1, well that should be a field in the board profile as well. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Ensure VBI fields are sent in the correct orderDevin Heitmueller2010-10-20
| | | | | | | | | | | | | | | | The current code was sending one videobuf per field (despite having specified V4L2_FIELD_SEQ_TB during setup). As a result, application which used the read() interface would work, except they would sometimes have the fields reversed (depending on the luck of which field the device was on when the application started VBI capture). The net effect was that CC decoding would only work about 50% of the time. Restructure the VBI code a bit so that works like all the other drivers, such that both fields are delivered in a single videobuf buffer, which ensures that they are always received in a predictable order. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Fix VBI parameters for sampling rate and offsetDevin Heitmueller2010-10-20
| | | | | | | | | | The VBI sampling rate and offset were incorrectly specified, which resulted in CC data not being rendered under zvbi or tvtime. Set the fields correctly. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: fix format string warningDevin Heitmueller2010-10-20
| | | | | | | Change a %x to a %p since the variable is a pointer Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx-dvb: remove unused variableDevin Heitmueller2010-10-20
| | | | | | | Get rid of warning about unused variable Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] s5h1432: fix codingstyle issuesDevin Heitmueller2010-10-20
| | | | | | | | | Run Lindent and fix a few spacing issues. This patch makes no functional change to the driver. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] Use smaller i2c transaction size with 18271 tunerDevin Heitmueller2010-10-20
| | | | | | | | | | | | Configure the tda18271 to use a smaller transaction size by default, which works around some sort of i2c bug in the Polaris driver (which needs to be debugged). This should be safe for other boards (being in tuner-core means it will be enabled by default), although testing needs to be done. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: fix race condition in DVB initializationDevin Heitmueller2010-10-20
| | | | | | | | | Fix case where analog calls come in while the DVB side of the board is still initializing. This patch is actually just an exact port of the same patch made by Mauro to em28xx in hg rev 14762. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: add USB ID Hauppauge model 111301Devin Heitmueller2010-10-20
| | | | | | | Add a USB ID for model 111301. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: add support for Hauppauge EXETERMichael Krufky2010-10-20
| | | | | | | | | | Add support for various Hauppauge EXETER designs. Note by DJH: fixed a few minor 'make checkpatch' warnings before commit. Signed-off-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx231xx: Added support for Carraera, Shelby, RDx_253S and VIDEO_GRABBERPalash Bandyopadhyay2010-10-20
| | | | | | | | | | Added support for new cx231xx boards - Carraera, Shelby, RDx_253S and VIDEO_GRABBER. [mchehab@redhat.com: Fix a merge conflict with BKL removal patches] Signed-off-by: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com> Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] s5h1432: Add new s5h1432 driverPalash Bandyopadhyay2010-10-20
| | | | | | | | Introduce a new driver for the s5h1432 Signed-off-by: Palash Bandyopadhyay <palash.bandyopadhyay@conexant.com> Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cafe_ccic: Implement VIDIOC_ENUM_FRAMEINTERVALS and ENUM_FRAMESIZESDaniel Drake2010-10-20
| | | | | | | | | This allows GStreamer to pick appropriate framerates and resolutions based on desired capture parameters. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] ov7670: implement VIDIOC_ENUM_FRAMESIZESDaniel Drake2010-10-20
| | | | | | | | GStreamer uses this. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] ov7670: implement VIDIOC_ENUM_FRAMEINTERVALSJonathan Corbet2010-10-20
| | | | | | | | Inquiring minds (and gstreamer) want to know. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cafe_ccic: Fix hang in command write processingDaniel Drake2010-10-20
| | | | | | | | | | | | | | | | This patch, which basically reverts 6d77444ac, fixes an occasional on-boot or on-capture hang on the XO-1 laptop. It seems like the cafe hardware is flakier than we thought and that in some cases, the commands get executed but are never reported as completed (even if we substantially increase the delays before reading registers). Reintroduce the 1-second CAFE_SMBUS_TIMEOUT to catch and avoid this strange hardware bug. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] videobuf-dma-sg: Use min_t(size_t, PAGE_SIZE ..)Mauro Carvalho Chehab2010-10-20
| | | | | | | | | As pointed by Laurent: I think min_t(size_t, PAGE_SIZE, size) is the preferred way. Thanks-to: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: Fix a merge conflict that affects unlock_ioctlMauro Carvalho Chehab2010-10-20
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: saa7134-input can't be a module right nowMauro Carvalho Chehab2010-10-20
| | | | | | | | | There are some symbols at saa7134-input that are used on saa7134 and vice-versa. Due to that, module install fails. So, partially revert commit 9f495cf7d691c99bf7bdcec9f35fcfdad2cf9ae9. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: videobuf-dma-sg: Fix a warning due to the usage of min(PAGE_SIZE, arg)Mauro Carvalho Chehab2010-10-20
| | | | | | | | drivers/media/video/videobuf-dma-sg.c: In function ‘videobuf_pages_to_sg’: drivers/media/video/videobuf-dma-sg.c:119: warning: comparison of distinct pointer types lacks a cast drivers/media/video/videobuf-dma-sg.c:120: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - sonixj: Have 0c45:6130 handled by sonixj instead of sn9c102Jean-François Moine2010-10-20
| | | | | | | The driver sn9c102 does not know about the sensor mi0360b. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - sonixj: Bad detection of the end of imageJean-François Moine2010-10-20
| | | | | | | | | The 'end of image' block may be splitted between two ISOC packets. This case was not tested, so, some images could be lost and concatenated to previous one(s), raising 'frame overflow' errors. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - sonixj: Add sensor mi0360bJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - mr97310a: Declare static the constant tablesJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - many subdrivers: Handle the buttons when CONFIG_INPUT=mJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: radio-si4713: Release i2c adapter in driver cleanup pathsJarkko Nikula2010-10-20
| | | | | | | | | Call to i2c_put_adapter was missing in radio_si4713_pdriver_probe and radio_si4713_pdriver_remove. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: uvc: Enable USB autosuspend by default on uvcvideoMatthew Garrett2010-10-20
| | | | | | | | We've been doing this for a while in Fedora without any complaints. Signed-off-by: Matthew Garrett <mjg@redhat.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: tda18271: Add some hint about what tda18217 reg ID returnedMauro Carvalho Chehab2010-10-20
| | | | | | | | | | | | | | | | | | | | | | Instead of doing: [ 82.581639] tda18271 4-0060: creating new instance [ 82.588411] Unknown device detected @ 4-0060, device not supported. [ 82.594695] tda18271_attach: [4-0060|M] error -22 on line 1272 [ 82.600530] tda18271 4-0060: destroying instance Print: [ 468.740392] Unknown device (0) detected @ 4-0060, device not supported. for the error message, to help detecting what's going wrong with the device. This helps to detect when the driver is using the wrong I2C bus (or have the i2g gate switch pointing to the wrong place), on devices like cx231xx that just return 0 on reads to a non-existent i2c device. Reviewed-by: Michael Krufky <mkrufky@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: v4l2-common: Move v4l2_find_nearest_format from videodev2.h to ↵Hans Verkuil2010-10-20
| | | | | | | | | | v4l2-common.h This function is an internal API and belongs in v4l2-common.h, not videodev.h. The return pointer and probe argument should be const as well. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2)Hans Verkuil2010-10-20
| | | | | | | Missed a few init functions on non-Intel platforms the first time :-( Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - sonixj: Propagate USB errors to higher levelJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - spca505: Remove the eeprom write commands of NxUltraJean-François Moine2010-10-20
| | | | | | | | With a null request byte, these commands prevented the next commands to be executed. Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - cpia1: Fix compilation warning when gspca debug disabledJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - benq: Remove useless module load/unload messagesJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: gspca - benq: Display error messages when gspca debug disabledJean-François Moine2010-10-20
| | | | | Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: soc-camera: allow only one video queue per deviceGuennadi Liakhovetski2010-10-20
| | | | | | | | | Multiple user-space application instances can open the same video device, but it only makes sense for one of them to manage the videobuffer queue and set video format of the device. Restrict soc-camera respectively. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: V4L2: add a generic function to find the nearest discrete format to ↵Guennadi Liakhovetski2010-10-20
| | | | | | | | | | | | | the required one Many video drivers implement a fixed set of frame formats and thus face a task of finding the best match for a user-requested format. Implementing this in a generic function has also an advantage, that different drivers with similar supported format sets will select the same format for the user, which improves consistency across drivers. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: mx2_camera: add informative camera clock frequency printoutMichael Grzeschik2010-10-20
| | | | | | Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB: mx2_camera: implement forced termination of active buffer for mx25Baruch Siach2010-10-20
| | | | | | | | | This allows userspace to terminate a capture without waiting for the current frame to complete. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>