summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
2007-11-20xc2028: add sleep hookChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add sleep method to enable putting the tuner into standby mode. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: retry firmware load if tuner does not respondChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> In practice, the tuner occasionally fails to respond correctly after a firmware load. Retry the firmware load if the firmware/hardware version we read back from the tuner after programming does not match what we expect. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20xc2028: rework firmware (re)loading processChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Define a list of valid "firmware types" for each combination of BASE, DTV and SCODEs. By masking the appropriate firmware bits off we can just use one "type" for the firmware searching and also flag when we are looking for a BASE, DTV or SCODE type firmware. This makes it much easier to track if we need to change device modes or flash an individual firmware part. Add a structure to remember what firmware properties we have. This contains the currently loaded/wanted base firmware (type), video std (id), video std requested (std_req), scode file and number in use. Incorporate said structure into the tuner private data. When checking whether the current firmware needs to be reloaded, first figure out exactly what "type" of firmware we want (base, std and scode), and then proceed to load the appropriate matching base, std-specific and scode records iff there are any changes required. This removes guesswork from the process because we no longer need to individually code a check for every tuning parameter's interactions. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: allow selection of D2633 firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can be enabled via .set_config. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: use correct offset into scode firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> When validating and loading SCODE firmware we need to take into account the two-byte size header before each entry. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: use best match instead of first partial match during firmware selectionChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Rather than picking the first video standard firmware that supports any of the standards that the user has requested, try to select one that supports as many of them as possible. This improves the likelihood that the firmware we select will support the user's desired TV standard. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: don't duplicate max_len in privChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> There is no need to duplicate the max_len field from the ctrl structure in the private data. If we use it directly from priv->ctrl, we can memcpy the structure (apart from strings) to reduce maintenance as it grows. Enforce a minimum max_len length of 8 data bytes (+ 1 address byte) as seems to be required by the tuner. Also, use kstrdup instead of open coding the string duplication. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: correct tuner offset for 7MHz DTVChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> 7MHz bandwidth DVB-T needs an adjusted offset at the PLL to ensure the IF output is correctly centered. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: correctly select 8MHz firmwareChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> We were using priv->bandwidth to select the base firmware to load, not the requested bandwidth value, oops. Also, 7MHz Digital TV needs 8MHz base firmware loaded. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: correct divisor lengthChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> The frequency divisor should only be four bytes long. Also, display the frequency and divisor correctly in the debug output. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: firmware loading cleanupChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Hold the private lock over set_config and set priv->firm_size to 0 after a failed firmware load to prevent firmware accidentally being freed on us. Clean up the firmware load/error messages somewhat and rename priv->version to priv->firm_version to make it clear which "version" it is. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: add missing breakChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Add break to stop us from following the default failure path even upon success. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: protect device listChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Protect refcount changes and modifications to xc2028_list with a mutex. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: v4l2_std_id needs to be long long to display completelyChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Cast v4l2_std_id variables to unsigned long long so they will printk properly. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: error messages missing whitespaceChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Fix some missing spaces in errors that may be emitted during attach failure. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: make register reads atomicChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Issuing register reads as a separate address write and data read transactions means that other I2C activity could occur in between and state could get out of sync. Issue both the write and read in a single transaction so that the i2c layer can prevent other users accessing the bus until we are complete. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: fix inverted logic in audio standard checkChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> strcasecmp returns 0 on match, not true. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-19xc2028: eliminate i2c macro side-effectsChris Pascoe
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> The I2C macros have side effects and send_seq could cause a return from a function with a mutex held. Change them to behave like real functions. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-21 remove saa7134-ossMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> The saa7134-oss is deprecated for quite some time, it's the only remaining OSS user outside of sound/oss/, and considering how few and what kind of soundcards are left supported by OSS I hardly see any use cases left. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-22kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROMMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The ability to read Hauppauge eeprom's was recently added to saa7134, so we must build the tveeprom module. Thanks to Matthias Schwarzott for pointing this out. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-11-20Use MTS firmware for the HVR-900Mauro Carvalho Chehab
From: Aidan Thornton <makosoft@googlemail.com> The HVR-900 requires the MTS version of the xc3028 firmware in order to get any sound. The below patch selects this firmware variant on HVR-900 cards, as well as splitting the HVR-950 into its own entry (since I don't know if it uses the MTS variant and it will have to be split off eventually anyway). Signed-off-by: Aidan Thornton <makosoft@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-20drivers/media/video: Add missing "space"Mauro Carvalho Chehab
From: Joe Perches <joe@perches.com> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Fix driver for i386 architecturesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Also, fixed backporting up to 2.6.20 Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Fix: add a missing continue statementMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Allow RESET_CLK callback and avoids unneeded loadingMauro Carvalho Chehab
From: Michel Ludwig <michel.ludwig@gmail.com> TM5600/TM6000 needs clock reset during firmware load. This patch adds the capability of caling a callback method for this. Also, avoids uneeded firmware loads. Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Change xc2028_attach method to make easier for DVBMauro Carvalho Chehab
From: Michel Ludwig <michel.ludwig@gmail.com> Removes uneeded parameters and adds an structure for passing the parameters This patch is co-authored by Mauro Carvalho Chehab. Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Fix a wrong typecastMauro Carvalho Chehab
From: Michel Ludwig <michel.ludwig@gmail.com> Signed-off-by: Michel Ludwig <michel.ludwig@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Re-adds lock safe videobuf_read_startMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> videobuf_dvb needs videobuf_read_start. The EXPORT_SYMBOL_GPL() were removed by a previous patch. However, videobuf_dvb needs this. This patch re-adds videobuf_read_start, doing the proper lock. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15merge: http://linuxtv.org/hg/~mkrufky/oxford2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15Add a modprobe option to manually select audio standardMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> While there's no public API to define audio standard, adds a hack option for select them. This is needed only for NICAM and A2 firmwares, since AM, BTSC and EAIJ are already properly handled, on firmware version 2.7. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15merge: http://ifup.org/hg/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15Fix standard nameMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15saa7134: add support for reading Hauppauge eepromMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Increased size of dev->eedata from 128 to 256, since the Hauppauge data begins at byte 128. This has been tested on boards with smaller eeproms, and caused no problems. Added comments to distinguish between the various versions of the HVR1110. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-11-15saa7134: add autodetection support for alternate subids of Hauppauge HVR1110Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-11-15Corrects printk linesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Make the driver less verbose by default. It adds a debug parameter to make the driver more verbose. Also, error messages were using KERN_ERR level, instead of KERN_INFO. A few printk messages were reviewed to make them more clear. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15Add tuner_err macroMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Some tuners, like xc3028, need to print error messages. Instead of declaring local macros, create a tuner global macro for printing tuner errors. To preserve CodingStyle on all tuner_macros, a few CodingStyle violations were fixed at the other macros: - lines with more than 80 columns - two statements at the same line The patch also removes the CodingStyle violation of having emacs declarations inside de source code (CodingStyle chapter 18). Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-15Fix scode table loadingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Xceive 2028/3028 has a concept of scode/dcode. Scode is a table of 16 values (each with 12 bytes i2c sequence). Dcode is the entry of Scode table that should be used, given a certain frequency. The idea is that, depending on what frequency is selected, and according with a country-based (or standard-based?) table, the Xceive should be "hacked" to fine-tune that specific frequency. By default, Scode=0 is used, for undefined frequencies. Also, Scode=0 seems to be the most used value. This patch adds the capability of selecting a scode. However, extra work will be needed to allow auto-selecting the proper scode, for a given set of frequencies. I'm not sure what would be the proper way for implementing the dcode selection. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-14Add the capability to work with more complete firmwaresMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Firmware version 2.7 has other firmware types. This patch adds the capability for the driver to work with those newer types. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-12Adds support for MT9V111 on sn9c102Mauro Carvalho Chehab
From: Luca Risolia <luca.risolia@studio.unibo.it> Adds a new image sensor to the sn9c102 driver. Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-11Cleanup at tv norm selectionMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> With the conversion to the vidio_ioctl2, tvnorms array is not required anymore. Also, removed some code from V4L1 time (VIDEO_MODE_foo), specied at the non-used video_decoder.h. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-11Remove some dead code and make drive fully V4L2 compatibleMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> There were some vestiges of an old V4L1 I2C driver that were called by em28xx. This patch removes this dead code, and replaces videodev.h to videodev2.h Now, this driver doesn't require V4L1 anymore. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-11Convert em28xx to video_ioctl2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Uses the newer ioctl handler at videodev. This patch also cleans up some bad logic at the driver and do CodingStyle and other cleanups at the resulting driver. Also, since VIDIOCMBUF were not working, the V4L1 compat code were removed. The compat code will eventually be re-inserted, if we find a clean way for implementing compatibility with the old API. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-11Fix read() methodMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Backport read() fixes from Markus Reichberger. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-11Fix em28xx read stream lockingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On some situations, closing an streaming application and re-opening were returning -EBUSY. Uses the same locking schema also present on cx88. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-10Fix em28xx to allow multiple openMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Allows shared access support for em28xx. Just one userspace application is allowed to get stream. The other(s) application(s) can change V4L2 controls, set video standards, etc. This patch were splited from Markus Rechberger's tree and backported to 2.6.17 by Pádraig Brady. The original patch were ported to the latest em28xx version and had CodingStyle corrected to solve the issues pointed by scripts/checkpatch.pl. Thanks to Pádraig Brady <P@draigBrady.com> for pointing this. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-10Fix: avoids negative vma usage countMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-13V4L: Convert videobuf drivers to videobuf_stopBrandon Philips
Drivers were using cookie cutter code for stopping the read/stream. Use the new videobuf_stop function which is lock safe. Signed-off-by: Brandon Philips <bphilips@suse.de>
2007-11-13V4L: videobuf-core locking fixes and commentsBrandon Philips
- Add comments to functions that require that caller hold q->lock - Add __videobuf_mmap_free that doesn't hold q->lock for use within videobuf - Add locking to videobuf_mmap_free - Fix linux/drivers/media/common/saa7146_video.c which was holding lock around videobuf_read_stop - Add locking to functions that operate on a queue - Add videobuf_stop to take care of stopping in both the read and stream case TODO: bttv still has an unsafe call to videobuf_queue_is_busy Signed-off-by: Brandon Philips <bphilips@suse.de>
2007-11-06V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_Brandon Philips
s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g s/STATE_PREPARED/VIDEOBUF_PREPARED/g s/STATE_QUEUED/VIDEOBUF_QUEUED/g s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g s/STATE_DONE/VIDEOBUF_DONE/g s/STATE_ERROR/VIDEOBUF_ERROR/g s/STATE_IDLE/VIDEOBUF_IDLE/g Signed-off-by: Brandon Philips <bphilips@suse.de>
2007-11-06backport commit 87ae9afdcada236d0a1b38ce2c465a65916961dcMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Author: Adrian Bunk <bunk@kernel.org> Date: Tue Oct 30 10:35:04 2007 +0100 cleanup asm/scatterlist.h includes Not architecture specific code should not #include <asm/scatterlist.h>. This patch therefore either replaces them with #include <linux/scatterlist.h> or simply removes them if they were unused. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>