summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-10-21[media] saa7164: add guard bytes around critical buffers to detect failureSteven Toth
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>
2010-10-21[media] saa7164: measure via histograms various irq and queue latenciesSteven Toth
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>
2010-10-21[media] saa7164: allow the number of encoder buffers to be user configurableSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: patches to monitor TS payload for inconsistenciesSteven Toth
... 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>
2010-10-21[media] saa7164: allow variable length GOP sizes and switch encoder default ↵Steven Toth
to CBR Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: allow encoder output format to be user configurableSteven Toth
Allow PS and TS. Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: implement encoder peak bitrate featureSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: allow the IBP reference distance to be configurableSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: add support for encoder CBR and VBR optionallySteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: generate a fixed kernel warning if the irq is 'late'Steven Toth
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>
2010-10-21[media] saa7164: allow the encoder GOP structure to be configuredSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: command dequeue fixup to clean the bus after errorSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: Implement encoder irq handling in a deferred work queueSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: add various encoder message functionsSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: convert buffering structs to be more genericSteven Toth
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>
2010-10-21[media] saa7164: Add some encoder firmwares message types and structsSteven Toth
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7164: basic definitions for -encoder.cSteven Toth
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>
2010-10-21[media] drivers/media/IR/ene_ir.c: fix NULL dereferenceJiri Slaby
When 'dev' allocation fails in ene_probe we jump to error label where we dereference the 'dev'. Fix it by jumping few lines below. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] drivers/media/dvb/ttpci/av7110_av.c: Add missing error handling codeJulia Lawall
Extend the error handling code with operations found in other nearby error handling code. A simplified version of the sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ @r@ statement S1,S2,S3; constant C1,C2,C3; @@ *if (...) {... S1 return -C1;} ... *if (...) {... when != S1 return -C2;} ... *if (...) {... S1 return -C3;} // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gp8psk: Add support for the Genpix Skywalker-2Derek Kelly
gp8psk: Add support for the Genpix Skywalker-2 per user requests. Patched against git. Signed-off-by: Derek Kelly <user.vdr@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] i2c: Stop using I2C_CLASS_TV_DIGITALJean Delvare
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>
2010-10-21[media] i2c: Stop using I2C_CLASS_TV_ANALOGJean Delvare
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>
2010-10-21[media] tvp5150: COMPOSITE0 input should not force-enable TV modePaul Walmsley
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>
2010-10-21[media] IR: ene_ir: few bugfixesMaxim Levitsky
This is a result of last round of debug with Sami R <maesesami@gmail.com>. Thank you Sami very much! The biggest bug I fixed is that, I was clobbering the CIRCFG register after it is setup That wasn't a good idea really And some small refactoring, etc. Tested-by: Sami R <maesesami@gmail.com> Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR: extend and sort the MCE keymapMaxim Levitsky
Add new keys, found on: Toshiba Qosmio F50-10q. Toshiba Qosmio X300 Toshiba A500-141 Also sort the keytable by scancode number as that makes sense and alows easily to add new keycodes. Thanks to: Sami R <maesesami@gmail.com> Alexander Skiba <ghostlyrics@gmail.com> Jordi Pelegrin <pelegrin.jordi@gmail.com> For reports and testing. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/nuvoton: address all checkpatch.pl issuesJarod Wilson
The driver was missing KERN_ facilities on a number of printks. The register dump functions have been updated to use KERN_INFO, so that the register dump gets logged in syslog (they only run on driver load, and only when debug is enabled). The buffer dump routine now uses KERN_DEBUG, as that spew will happen quite frequently (several times every IR signal), and shouldn't need to be logged. Also split up the small handful of lines that were just over 80 characaters, and fixed the ioctl.h include. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7134: add test after for loopDan Carpenter
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>
2010-10-21[media] vivi: Don't depend on FONTSBen Hutchings
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>
2010-10-21[media] drivers/media/video/cx23885/cx23885-core.c: fix ↵Andrew Morton
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>
2010-10-21[media] IR: ene_ir: updatesMaxim Levitsky
* Add support for newer firmware version that uses different buffer format. Makes hardware work for many users. * Register name updates * Lot of refactoring * Lots of fixes as a result of full testing * Idle mode is done now by resetting the device, and this eliminates the ugly sample_period = 75 hack. Every feature of the driver is now well tested. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] ir: properly handle an error at input_registerMauro Carvalho Chehab
Be sure to rollback all init if input register fails. Cc: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR: make sure we register the input device when it is safe to do soMaxim Levitsky
As soon as input device is registered, it might be accessed (and it is) This can trigger a hardware interrupt that can access not yet initialized ir->raw, (by sending a sample) This can be reproduced by holding down a remote button and reloading the module. And this always crashes the systems where hardware decides to send an interrupt right at the moment it is enabled. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR: plug races in IR raw threadMaxim Levitsky
Unfortunelly (my fault) the kernel thread that now handles IR processing has classical races in regard to wakeup and stop. This patch hopefully closes them all. Tested with module reload running in a loop, while receiver is blasted with IR data for 10 minutes. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] Add a todo file for staging/tm6000Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] saa7134: port Asus P7131 Hybrid to use the new rc-coreMauro Carvalho Chehab
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>
2010-10-21[media] firedtv: support for PSK8 for S2 devices. To watch HDTommy Jonsson
Add support for tuning with PSK8 modulation, pilot and rolloff with the S2 versions of firedtv. Signed-off-by: Tommy Jonsson <quazzie2@gmail.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (trivial simplification) Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] ir: avoid race conditions at device disconnectMauro Carvalho Chehab
It is possible that, while ir_unregister_class() is handling, some application could try to access the sysfs nodes, causing an OOPS. Reviewed-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/streamzap: fix usec to nsec conversionDan Carpenter
There is an integer overflow here because 0x03000000 * 1000 is too large for 31 bits. rawir.duration should be in terms of nsecs. IR_MAX_DURATION and 0x03000000 are already in terms of nsecs. STREAMZAP_TIMEOUT and STREAMZAP_RESOLUTION are 255 and 256 respectively and are in terms of usecs. The original code had a deadline of 1.005 seconds and the new code has a deadline of .065 seconds. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/streamzap: shorten up some define names for readabilityJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] lirc_dev: fixup error messages w/missing newlinesJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] lirc: wire up .compat_ioctl to main ioctl handlerJarod Wilson
As pointed out (and tested) by Joris van Rantwijk, we do actually need to wire up .compat_ioctl for 32-bit lirc userspace to work with 64-bit lirc kernelspace. Do it. And add a check to make sure we get a valid irctl in the ioctl handler. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] staging/lirc: ioctl portability fixupsJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/lirc: further ioctl portability fixupsJarod Wilson
>From Joris van Rantwijk <jorispubl@xs4all.nl>: I tested lirc_serial and found that it works fine. Except the LIRC ioctls do not work in my 64-bit-kernel/32-bit-user setup. I added compat_ioctl entries in the drivers to fix this. While doing so, I noticed inconsistencies in the argument type of the LIRC ioctls. All ioctls are declared in lirc.h as having argument type __u32, however there are a few places where the driver calls get_user/put_user with an unsigned long argument. The patch below changes lirc_dev and lirc_serial to use __u32 for all ioctl arguments, and adds compat_ioctl entries. It should probably also be done in the other low-level drivers, but I don't have hardware to test those. I've dropped the .compat_ioctl addition from Joris' original patch, as I swear the non-compat definition should now work for both 32-bit and 64-bit userspace. Technically, I think we still need/want a in getting a reply to you). Reported-by: Joris van Rantwijk <jorispubl@xs4all.nl> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR/Kconfig: sort hardware entries alphabeticallyJarod Wilson
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] nuvoton-cir: add proper rx fifo overrun handlingJarod Wilson
Per discussion with Andy Walls on irc, rx fifo overruns are not all that uncommon on a busy system, and the initial posting of the nuvoton-cir driver doesn't handle them well enough. With this addition, we'll drain the hw fifo, attempt to process any ir pulse trains completed with that flush, then we'll issue a hw rx fifo clear and reset the raw ir sample kfifo and start over collecting raw ir data. Also slightly refactors the cir interrupt enabling so that we always get consistent flags set and only have to modify them in one place, should they need to be altered. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] IR: add driver for Nuvoton w836x7hg integrated CIRJarod Wilson
This is a new ir-core pnp driver for the Nuvoton w836x7hg integrated CIR function. The chip is found on at least the ASRock ION 330HT boxes and apparently, on a number of Intel DP55-series motherboards: http://www.asrock.com/nettop/overview.asp?Model=ION%20330HT http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17685&lang=eng This driver was made possible by a hardware donation from Nuvoton, along with sample code (in the form of an lirc driver) and datasheet, so huge thanks to them for supporting this effort. Note that this driver constitutes a massive rewrite, porting from the lirc interfaces to the ir-core interfaces, and restructuring the driver to look more like Maxim Levitsky's ene_ir driver (as well as generally making it look more like kernel code). There's some work left to be done on this driver, to fully support the range of functionality possible, but receive and IR power-on/wake are both functional (may require setting wake key under another OS atm). The hardware I've got (one of the ASRock boxes) only supports RX, so TX is completely untested as of yet. Certain RX parameters, like sample resolution and RX IRQ sample length trigger level could possibly stand to be made tweakable via modparams or sysfs nodes, but the current values work well enough for me w/an MCE RC6A remote. The original lirc driver carried support for the Windows MCE IR keyboard/mouse device, which I plan to add back generically, in a way that should be usable by any raw IR receiver (or at least by this driver and the mceusb driver). Suspend and resume have also been tested, the power button on my remote can be used to wake the machine, and CIR functionality resumes just fine. Module unload/reload has also been tested, though not extensively or repetitively. Also tested to work with the lirc bridge plugin for userspace decoding. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - sonixj: Use the new video control mechanismJean-François Moine
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - ov519: Use the new video control mechanismJean-François Moine
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - stk014: Use the new video control mechanismJean-François Moine
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21[media] gspca - main: New video control mechanismJean-François Moine
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>