summaryrefslogtreecommitdiffstats
path: root/drivers/media/video
Commit message (Collapse)AuthorAgeFilesLines
* V4L/DVB (6712): ivtv: ivtv yuv stream handling changeIan Armstrong2008-01-254-16/+50
| | | | | | | | | | | | | | | | | | | | | | Currently the yuv output stream buffer is divided into blocks whose size depend on the broadcast standard selected during the driver init phase. However, the standard can be changed after the init phase. This effectively breaks the yuv output stream handler, since it relies on the different yuv planes being block aligned. This patch changes the setup, so that the block size is always the same. The decoder dma function has been modified to cope with the fact that the second yuv plane may no longer be block aligned. The start of the yuv frame must still be at the beginning of a block, so the stream write function has also been modified to ensure this is always true. Also, the stream write function will now initiate a yuv dma transfer as soon as a full frame is ready. It will not wait until the current write request has completed, or the stream buffer becomes full. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6710): pvrusb2: Recognize ATSC video standard bit valuesMike Isely2008-01-251-0/+7
| | | | | Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6709): pvrusb2: minor rework for default video standard handlingMike Isely2008-01-251-5/+13
| | | | | | | | | pvrusb2: When a per-device-type default video standard is declared, handle it in such a way that it can be correctly and unambiguously reported in the system log. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6708): pvrusb2: Expand comment in device attributes descriptionMike Isely2008-01-251-1/+7
| | | | | Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6707): pvrusb2: Remove use of volatile in pipeline control state ↵Mike Isely2008-01-251-8/+8
| | | | | | | | | | | | | machine pvrusb2: Eliminate use of volatile in pipeline control state variables. These were all cases of paranoia; upon further review the overall mechanism employed here should not require use of volatile. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6706): pvrusb2: Remove use of volatile in command sequencerMike Isely2008-01-251-3/+3
| | | | | | | | | | | pvrusb2: Remove use of volatile for command sequencer; these variables are set by interrupt-context code and we check their state in such a manner that there should be no race conditions. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6705): pvrusb2: Implement default standard selection based on ↵Mike Isely2008-01-253-3/+13
| | | | | | | | | | | device type This adds a default video standard setting to the pvr2_device_desc structure for describing device types. With this change it is possible to set a reasonable default standard based on device type. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6703): pvrusb2: Change division to bit-or for tveeprom standardsRoel Kluin2008-01-251-1/+1
| | | | | | Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6702): pvrusb2: fix typo in commentsMichael Krufky2008-01-251-1/+1
| | | | | | | Firmware file name(s) for 24xxx devices Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6701): pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardwareMike Isely2008-01-253-0/+45
| | | | | | | | | | This changeset allows the pvrusb2 driver to operate a new device type ("GOTVIEW USB2.0 DVD2"). Changes amount to defining a new routing scheme for the device and adding appropriate table entries into pvrusb2-devattr.c. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6700): pvrusb2: Soften the crashed encoder warning messageMike Isely2008-01-251-2/+1
| | | | | | | | | | | | The pvrusb2 driver has been successfully recovering from a crashed encoder now for over 2 years. I think it's time to reduce the perceived severity of the warning message. While I'd still very much like to stop these crashes, the recovery logic is solid enough that the problem is effectively benign. No point in panicing the users over it. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6699): pvrusb2: Use of virtual IR chip is a device-specific attributeMike Isely2008-01-253-1/+6
| | | | | | | | | | | | For Hauppauge 24xxx devices, the IR receiver is a custom piece of logic that is very specific to the device. The pvrusb2 driver can virtualize this to make it look like a more normal IR receiver found in other Hauppauge devices. The decision of whether or not to enable this virtualization however is a device-specific attribute, thus this changeset. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6698): pvrusb2: Implement signal routing schemesMike Isely2008-01-255-53/+140
| | | | | | | | | | | | | | | | The exact routing of video and audio signals within a device is a device-specific attribute. Hauppauge devices do it one way; other types of device may route things differently. Unfortunately it is rather impractical to define chip-specific routing at the device attribute level, so instead what happens here is that "schemes" are defined. Each chip level interface implements its part of a given scheme and the scheme as a whole is made into a device specific attribute controlled via a table entry in pvrusb2-devattr.c. The only scheme defined here is for Hauppauge devices, but clearly this opens the door for other possibilities to follow. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6697): pvrusb2: Existence of Hauppauge ROM is a device-specific ↵Mike Isely2008-01-253-9/+25
| | | | | | | | | | | | | attribute Arrange so that the pvrusb2 driver can optionally work without a Hauppauge ROM being present - which is fairly important for devices that happen to not come from Hauppauge. The expected existence of a Hauppauge ROM is now a device attribute. The tuner type is now also a device attribute, which is consulted if there is no ROM. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6696): pvrusb2: Miscellaneous tweaks for controlling tuner type and ↵Mike Isely2008-01-252-3/+8
| | | | | | | | | | video standard Correctly mark when a tuner type is set. Report more faithfully information about known supported device video standards. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6695): pvrusb2: Implement functions to pass descriptive hardware infoMike Isely2008-01-254-0/+79
| | | | | | | | | | | | | Implement additional pvrusb2 device info table entries for a device identifier and a device description. Export this information via the driver's internal API. Make this information available via the sysfs driver interface. Also propagate this information into the v4l2 capability structure. An app can now retrieve and report a descriptive string about the particular type of hardware device it is operating. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6694): pvrusb2: Remove obsolete global hardware type enumerationMike Isely2008-01-252-3/+2
| | | | | | | | | | Device-specific driver behavior is now defined by generic device characteristics rather than by specific device model information. With this change, the hardware type field can go away, thus this change. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6693): pvrusb2: Add pvrusb2-devattr.o to driver buildMike Isely2008-01-251-1/+1
| | | | | Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6692): pvrusb2: Centralize device specific attributes into a single ↵Mike Isely2008-01-258-94/+219
| | | | | | | | | | | | | | | | place The pvrusb2 driver currently supports two variants of the Hauppauge PVR USB2. However there are other hardware types potentially supportable, but the driver at the moment is not structured to make it easy to describe these minor variations. This changeset is the first set of changes to make such additional device support possible. Device attributes are held in several tables all contained within pvrusb2-devattr.c; all other device-specific driver behavior now derives from these tables. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6691): pvrusb2: Rework pipeline state controlMike Isely2008-01-2513-741/+944
| | | | | | | | | | | | | | | | | | | | | This is a new implementation for video pipeline control within the pvrusb2 driver. Actual start/stop of the pipeline is moved to the driver's kernel thread. Pipeline stages are controlled autonomously based on surrounding pipeline or application control state. Kernel thread management is also cleaned up and moved into the internal control structure of the driver, solving a set up / tear down race along the way. Better failure recovery is implemented with this new control strategy. Also with this change comes better control of the cx23416 encoder, building on additional information learned about the peculiarities of controlling this part (this information was the original trigger for this rework). With this change, overall encoder stability should be considerably improved. Yes, this is a large change for this driver, but due to the nature of the feature being worked on, the changes are fairly pervasive and would be difficult to break into smaller pieces with any semblence of step-wise stability. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6688): V4L: fix copy and paste error in dprintk for videobuf-vmalloc.cBrandon Philips2008-01-251-1/+1
| | | | | Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6687): saa7134: add mute support for radio/analog-in on MD9717 and ↵Hermann Pitton2008-01-251-0/+8
| | | | | | | | | | | | | | | | | | MD7134 Currently the saa7134 chips only have mute support for the TV input. Cards with mute from external audio muxes are already fine on the other inputs and some recent tuners mute at least the radio on exit. But these mostly hybrid tuners are not fully backward compatible, since they must power down and mute regardless. For some included above, the MD7134 knows several, to switch on mute/automute to the TV input is functional and backward compatible for the applications, except that the tuners with tda9887 always mute on exit. Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6683): Fix DVB compatibilityMauro Carvalho Chehab2008-01-251-2/+7
| | | | | | | | | | DVB-S is not supported. Also, there are some QAM6 firmwares for xc3028, but it is reported that this doesn't work fine. Thanks to Manu Abraham, Michael Krufky and Patrick Boettcher for their insights. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6679): tda8290: force tuner init after attachMichael Krufky2008-01-251-6/+6
| | | | | | | Force tuner init after attach, then sleep until use. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6677): Fix xc2028 driver for non OFDMMauro Carvalho Chehab2008-01-251-2/+0
| | | | | | | | | A previous patch implemented support for non-OFDM digital TV. However, the previous bandwidth ofdm parameter were left at the code by mistake. Thanks to Michael Krufky and Patrick Boettcher for noticing this mistake. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6676): Improve s-code supportMauro Carvalho Chehab2008-01-253-51/+66
| | | | | | | | | | | | | s-code tables are related to IF frequency used for video demodulation. The s-codes for analog are automatically loaded, according with video standard. However, for digital, they will depend on the IF of the demoduler chip. IF of the demoduler. Before this patch, only a few IF's where possible to use. This patch allows selecting any IF defined at firmware file. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6675): Allow selecting the proper SCode table for DTVMauro Carvalho Chehab2008-01-252-0/+33
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6674): Add support for other DTV typesMauro Carvalho Chehab2008-01-251-15/+27
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6672): Add support for radioMauro Carvalho Chehab2008-01-252-2/+11
| | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6671): Avoids checking digital/analog at check_firmwareMauro Carvalho Chehab2008-01-251-56/+50
| | | | | | | | | | | Since check_firmware is called via analog or digital set freq routines, move type selection to those routines. This avoids having several if's at the code, and simplifies the source code. A sideback effect is that implementing radio and other dvb types will become simpler. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6670): V4L: saa7134: tvaudio cleanupsMaxim Levitsky2008-01-253-40/+41
| | | | | | | | move some tv-audio initialization code out of tvaudio thread, and call it on resume too. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6669): Add few missing bits of code to saa7134_resumeMaxim Levitsky2008-01-251-0/+3
| | | | | | | | | | | | | | First the saa7134_initdev waits between saa7134_hwinit1 and saa7134_hwinit2 , thus it is probably wise to do the same in saa7134_resume some hardware probably needs this. Call saa7134_irq_video_signalchange in .resume like in saa7134_resume to make saa7134_resume mirror perfectly the saa7134_initdev although this call isn't strictly necessary in the saa7134_initdev, but it won't harm anyway. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6668): Fix theoretical races between IRQ handler and .suspend/resumeMaxim Levitsky2008-01-251-1/+7
| | | | | | | | | | | *dev->insuspend = 1 should be set before synchronize_irq *ACK interrupts after synchronize_irq, to make sure there aren't pending interrupts. *Add barrier before we restart interrupts so the handler will 100% see the dev->insuspend Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6667): Fix access to configuration space while in D3Maxim Levitsky2008-01-251-3/+3
| | | | | | | | pci_save_state should be called before pci_set_power_state and pci_restore_state after pci_set_power_state Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6665a): finish the VID_HARDWARE_* removalAdrian Bunk2008-01-251-4/+0
| | | | | | | | This patch removes a few remainders of the VID_HARDWARE_* removal. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> 643d01fb38b6f376cced035549f4e193018776e7
* V4L/DVB (6665): Fix CodingStyleMauro Carvalho Chehab2008-01-251-90/+113
| | | | | | thanks to checkpatch.pl Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6662): Fix standard selection for PALMauro Carvalho Chehab2008-01-251-0/+3
| | | | | | Not all 8MHz firmware are marked with F8MHz. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6661): Remove firmware reload hack for analogMauro Carvalho Chehab2008-01-251-5/+10
| | | | | | | | | | | | On some cases, xc2028/xc3028 wents into "turn off" mode. It seems that this happens when very weak signals are tuned. To solve this, specific standard reaload were done previously. Christopher patches changed this behavior to a complete firmware reload. This patch removes the hack. A much cleaner solution for this trouble is just to sent a xc2028/3028 software reset. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attachMauro Carvalho Chehab2008-01-252-1/+5
| | | | | | | | | | xc3028 can be used on some DTV only designs (for example, DVB-S boards). Before this patch, a DTV only board would need to call set_tuner_config callback. This patch allows to optionally pass a xc3028_ctrl parameter, via xc3028_config struct, fully initializing the driver for DTV. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6659): Convert MTS to bitfieldMauro Carvalho Chehab2008-01-254-11/+6
| | | | | | | | | | | | | | | Xc2028.3028 has two type of firmwares: audio-standard specific ones and baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares. It seems that the option to use MTS or a standard-specific audio decoding depends on the way xc2028/3028 is connected. Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS firmware, this patch converts it to a bitfield that can be shared with other proprieties of xc2028/3028. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6658): Sets a default std, if not specifiedMauro Carvalho Chehab2008-01-251-1/+5
| | | | | | | Some drivers call set_frequency before selecting the video standard. Before this patch, an invalid standard ID could be assumed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSCMauro Carvalho Chehab2008-01-251-2/+8
| | | | | | Those standards use 6 MHz firmware. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6652): xc2028: try non-8MHZ init1 firmwareChris Pascoe2008-01-251-0/+3
| | | | | | | | When loading init1 firmware, there may not be an 8MHz specific version. Load the non-8MHz version if it exists. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6651): xc2028: mask off type correctly when searching for ↵Chris Pascoe2008-01-252-1/+5
| | | | | | | | | | | standard-specific types When searching for standard-specific analog firmware, only certain type bits are valid, much like for DTV. Mask them off when finding the firmware to load. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6650): xc2028: base firmwares should have std0Chris Pascoe2008-01-251-2/+5
| | | | | | | When loading BASE firmware, we must use std = 0. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6648): xc2028: add sleep hookChris Pascoe2008-01-251-0/+23
| | | | | | | 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>
* V4L/DVB (6647): xc2028: retry firmware load if tuner does not respondChris Pascoe2008-01-251-3/+34
| | | | | | | | | | 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>
* V4L/DVB (6646): xc2028: rework firmware (re)loading processChris Pascoe2008-01-253-97/+124
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* V4L/DVB (6645): xc2028: allow selection of D2633 firmwareChris Pascoe2008-01-252-3/+5
| | | | | | | | 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>
* V4L/DVB (6644): xc2028: use correct offset into scode firmwareChris Pascoe2008-01-251-2/+10
| | | | | | | | 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>
OpenPOWER on IntegriCloud