summaryrefslogtreecommitdiff
path: root/linux/drivers/media/common
AgeCommit message (Collapse)Author
2003-06-14i2c fixes and build fixes. Must have been brain-amputated yesterday...Holger Waechtler
2003-06-03Here comes the "dvb-c analog module hack"Michael Hunold
- if the analog module is detected, the saa7113 is initialized and some more v4l2 ioctls are available. you can use "xawtv" now to switch between "dvb" and "analog" input. when you are one the "analog" input, you can tune in analog channels with the cursor keys via v4l2. currently, this is a big hack -- tuning is not mutually exclusive, so "szap" and v4l2 tuning can interfere with each other. the demodulator address is hardcoded to 0x09. Other changes: - changed the saa7146 ioctl parameters, give out the data of the current device open "fh" (=> "file handle"), not the pointer to the device structure "dev". It is "dev = fh->dev". Some stuff does not work: - analog audio does not work. does the msp3400 need to be reprogrammed? - one field is "missing", so the picture is very bad and capturing does not work neither. this needs to be investigated by looking at the programming the windows driver uses for the saa7146
2003-05-28I removed all "analog" drivers from the main CVS repository and moved themMichael Hunold
to a separate "analog-2.4" directory. Main reasons: - the drivers don't have anything to do with dvb 8-) - the drivers are already in the kernel (besides the "Hexium" driver) and don't change that much any more - the analog drivers rely on the i2c subsystem, which was heavily modified between 2.4 and 2.5. When making a new DVB patchset I have to work around these differences every time, which is very annoying
2003-05-19First try to use pci_consistent_dma() throughout the whole saa7146Michael Hunold
driver subsystem.
2003-05-06The irq handler subsystem in 2.5 has changed. Add some code to getMichael Hunold
it compile again under both 2.5 and 2.4.
2003-05-05Release clipping memory when device is closed.Michael Hunold
TODO: use scatter/gather DMA for clipping informations, too.
2003-04-28Compile fixes against 2.5.68.Michael Hunold
- add some ifdef magic into i2c drivers (mxb/analog drivers only) - shuffle around includes, so that "dvb_compat.h" is included after all other include files - fix a warning in saa7146 i2c code
2003-04-22- removed the compatibility crap around KBUILD_MODNAME from all drivers,Michael Hunold
use KBUILD_BASENAME for 2.4 instead ­ some changes to the i2c core to make it work with both 2.4 and late 2.5 kernels (not done yet -- only interesting for analog drivers) - add MODULE_DEVICE_TABLE to all drivers, so that pci "hotplug" can detect the devices automatically. Alan Cox says, that we should use this to load the firmware (not done yet) - fix the long standing "insmod/rmmod with multiple budget cards" bug -- it was a double kfree() call...
2003-03-28A whole bunch of small changes all over the place:Michael Hunold
makelinks: adjust the script for the upcoming kernel patches driver.mxb: prevent the tuner module from probing unnecessary i2c addresses getlinks: put symlinks for the header files to the right place(TM) videodev.c: add a verbose error message just for the case that a user has compiled the v4l module into the kernel media/Kconfig: the dpc driver does not the tuner module saa7146_hlp.c: honour the swapped field order for av7110 based cards in capture mode, too saa7146_video.c: add some verbose messages for the v4l2 controls mxb.c: hopefully fix the detection and initialization of the sound arena module
2003-03-20Small changes all over the place:Michael Hunold
- sync Kconfig and Makefiles with 2.5.65 - fix various things in saa7146 because of latest v4l changes in 2.5.65 - makelinks: removed the compat module from the 2.5.x build process - makelinks: removed the linkage of ttusb and bt8xx -- enable this again for the next patches, when ttusb is more stable and the bt8xx related patches have been applied by Gerd Knorr - dvb: removed the compat module from the 2.5.x build process, added #ifdefs around the inclusion of compat.h. this was necessary because having compat code in the newest 2.5.x kernel is awkward. - dvb: move around of dvb_usercopy again. because I removed the compat module from the 2.5.x build process, dvb_usercopy had to be moved to another file - dvb: change MOD_*_USE_COUNT to module_get/module_put in various files, but I'm not sure if I did this right. please review these changes. - dvb: removed the crc32 code from dvb_demux.c, because it's in compat.c, too. - dvb: removed some cruft from dvd_i2c.c, which is present in compat.h - all files: apply small fixes to reflect the new location of some header files
2003-03-20This is the beginning of some modifications to get the newMichael Hunold
"dvb-kernel" tree into shape for direct inclusion into the 2.5.x kernel.
2003-03-19set default value of saa7146_debug to 0 as stated in module param descriptionAndreas Oberritter
2003-03-19put #if 0, #endif around unused functionAndreas Oberritter
static void dump_registers(struct saa7146_dev* dev)
2003-03-19- optimize the i2c retry-address error problem by distinguishing betweenMichael Hunold
analog tv cards and dvb cards. (see source comments for further informations)
2003-03-19wait between i2c retries and don't bail out on adress errors,Holger Waechtler
patch conributed by Andrew de Quincey <adq_dvb@lidskialf.net>
2003-03-17- Fixed the build-2.4 tree to compile with 2.4.18 kernels.Michael Hunold
- Moved some generic stuff from budget-core.c to saa7146_core.c where it belongs ----------------------------------------------------------------------
2003-03-14saa7146: set default values for brightness/contrast/saturation on driver loadMichael Hunold
mxb: prevent helper modules to probe on unknown i2c-busses. (for example on a Matrox gfx card)
2003-03-06Removed some debug messages, verified that it works with "mp1e" andMichael Hunold
"nvrec"... (red/blue were swapped)
2003-03-06Added some planar yuv modes to the saa7146 driver core:Michael Hunold
- V4L2_PIX_FMT_YUV422P: YUV 4:2:2 planar (Y-Cb-Cr) - V4L2_PIX_FMT_YVU420: YVU 4:2:0 planar (Y-Cb-Cr) - V4L2_PIX_FMT_YUV420: YUV 4:2:0 planar (Y-Cb-Cr) Planar modes don't suffer from the saa7146 byte swap bug, so we can deliver the formats needed by various video encoders, like "mp1e" or "nvrec". Added some notes to the TODO file.
2003-03-04Remove function specifiers from probe/remove functions, otherwiseMichael Hunold
the modules will oops with 2.5.63.
2003-02-27- fix some bugs that appeared in system with both analog and digitalMichael Hunold
based saa7146 cards - change the initialization order to allow static builds of the mxb driver
2003-02-26- Compile fixes against 2.5.63 (daemonize() has been changed)Michael Hunold
- Fix various warnings against 2.5.63 (export-objs has been removed) - Fix Kconfig/Makefiles - add the "dpc7146" driver for the analog Philips reference design - Removed unnecessary "Config.in"
2003-01-23apply core patch by <emard@softhome.net>Holger Waechtler
2003-01-21set __devexit and __devexit_p() flagsHolger Waechtler
2003-01-16- extended the preprocessor magic to av7110.c, too, had to changeMichael Hunold
the other files again.
2003-01-13add a timeout to saa7146_i2c_writeout() to prevent endless loopJohannes Stezenbach
2003-01-10- Fix broken i2c irq transfer, due to Holger's changesMichael Hunold
- clean up the mxb driver and it's helper modules (rename the structures, add GPL license to the appropriate files, c99 initialisers) - fix 2.5.55 "module insertion causes bug in kobject.o" issue - fixed missing exported symbols in budget-core
2003-01-09return meaningful error valuesHolger Waechtler
2003-01-09Fixes for 2.5.55 all over the place:Michael Hunold
- removed the patches, they are not needed any more. you can now use a vanilla 2.5.55 kernel - created a new backport for video-buf and videodev from the 2.5.55 sources - necessary fixes to the saa7146 driver due to changes in 2.5.55 - the core budget functions are now provided by a module called "budget-core.o". (otherwise static compilation is not possible...) - removed #ifdef MODULE crap from all files Misc. - "xawtv" (using xv extension) resulted in wrong colors. the problem is within "xawtv". Gerd Knorr told me, that it'll be fixed in the next release. I tested this version with 2.4.20, 2.5.55 (modules) and 2.5.55 (static).
2003-01-08Removed the whole "device<=>extension" matching crap, the pci subsystemMichael Hunold
can do this much better. We now simply register one pci driver for every extension and are done with it -- if a device actually exists, the pci subsystem calls us back. That's it. Warning: this triggers a bug in the 2.5.x module subsystem -- you should *not* use the driver.av7110 script and modprobe the driver. You can a) build your kernel staticall b) insert the modules one by one with *insmod* I already filed a bug report to lkml. Fixed a bug in Kconfig which prevented the saa7146 modules from being build.
2003-01-07- Fixed all initializers to C99, expect av7110.cMichael Hunold
- removed unused variables - other code clenaups - corrected H_PIXELS_PAL to 720 (not used for DVB-cards)
2003-01-06Fixed the "gray bar on the left side of the video window afterMichael Hunold
startup" bug.
2003-01-05After all, using the i2c irq wasn't a good idea. After long hours ofMichael Hunold
testing why the !#+?§"1 TS stream stops and "debi oops" messages appear, I found out that this is caused by the i2c irq handler. Don't ask me why, but returning to the old code solved this mystery. Apparently, the additional i2c interrupts caused some timing problems or the saa7146 is simply too f*cked up. I left the code in however, it works for the analog MXB driver, so the extension should decide if it should be used. Removed some additional debug messages, which were commented out anyway.
2003-01-05Fixed a saa7146 driver flaw: after a read() call is satisfied,Michael Hunold
a previoulsy running overlay window should be re-enabled.
2003-01-04- Removed preinit() from saa7146 probe()/attach() logic, it's not usedMichael Hunold
at all - fixed most obvious flaws in budget.c, it's partially tested (ie. module loads/unloads ok) - added the "video part" to budget-av.c, it's partially tested (ie. module loads/unloads ok, xawtv can access the video inputs)
2003-01-04Some more changes... (but we're stabilizing...)Michael Hunold
2.5.x: - exchanged the Kconfig files for "ttpci" and "ttpci-budget" - removed the "SAA7146 based" from the card descriptions, but put it to the remark some lines above saa7146: - simplified the probe(), attach(), detach() logic, since all dvb devices can be identified by their subvendor/subdevice ids av7110: - added two wait_for_debi_done() calls in gpioirq(). (All other IER_ENABLE() calls are preceded by wait_for_debi_done()) budget: - budget.c has been split up into budget.c and budget-av.c. The latter is for budget cards with analog video (av) inputs. Definitions are now in budget.h. budget.c exports various functions that are used by budget-av.c, too. The av code is currently missing, though, and needs to be added. unsorted: - various c99 initializer cleanups
2003-01-03Compile fixes for 2.5.54.Michael Hunold
Thanks to Gregoire Favre <greg@ulima.unil.ch> for reporting this.
2002-12-30Next chunk of big splitup / cleanup:Michael Hunold
(tested on 2.4.18 and 2.5.53 -- the budget driver is untested, Holger will test it the next week) saa7146: - completely separated the saa7146 driver into a core-driver (saa7146.o) and a video/vbi part (saa7146_vv.o). this allows you to build the budget driver without av7110 and videodev bloat (see below) The following thinks have been approved by Holger Waechtler: av7110 (now ttpci): - for 2.5.x: removed the av7110 directory and put everything into ttpci. - removed all budget card support from this driver - compile and build fixes for the saa7146 changes ttpci-budget (new): - for 2.5.x: created a new ttpci-budget directory, added a new driver for the budget cards mxb: - compile and build fixes for the saa7146 changes Changed the build and compile files for both 2.5.x and build-2.4 of course...
2002-12-29Major cleanup: the goal is to get rid of the budget card <=> saa7146.o <=> ↵Michael Hunold
videodev.o dependency, so we can later split up the av7110 driver into a av7110 and budget card driver. I tested this on 2.4.18-3 (original RedHat 7.3 kernel) and 2.5.53. Changes in detail: saa7146: - fixed the unitialised timer warnings - split saa7146.o into saa7146.o and saa7146_vv.o: all videodev (ie. v4l) related stuff is now encapsulated in saa7146_vv.o. the extension (ie. mxb or dvb-ttpci) now has to make sure to register the v4l devices via helper functions provided by saa7146_vv mxb: - changes to make the driver compile with the new saa7146 and saa7146_vv parts - fix the vbi bypass issue for MXBs with saa7146, rev. 1 card av7110: - changes to make the driver compile with the new saa7146 and saa7146_vv parts - some changes related to the upcoming av7110 <=> budget splitup, but they are commented out - changed the saa7146 PAL values to experimental values that look good to me, but kept the old values as a comment. where are the original values from? there is a big black border on most channels on the left side which annoyed me... - changed from video/generic_usercopy() to dvb_usercopy() and put this into the source code, not into compat.c - moved the crc_32* stuff from compat.c to the source file where it is used - now compat.[ch] was removed completely, all references were deleted from all other files. other: - updated the README and TODO files - changed "makelinks" to remove alps_bsru6 stuff from kernel when making the symlinks - fixed the build files in "build-2.4" - fixed all other files needed for 2.5.x kernel build
2002-12-28- added timeout handling for i2c_writeout(); it seems that theJohannes Stezenbach
SAA7146 does not generate an I2C error irq when we are probing for a non-existant device (so there's neither an ACK nor a NACK at the end of the address phase) - don't request the I2C error irq anymore, since it isn't currently being handled; we just wait for the /BUSY irq or timeout; if there were errors during transmission they will still be detected from the status register after the /BUSY irq - added some more debug to hw_interrupt() TODO: I think SAA7146_I2C_TIMEOUT is too large; 10ms should do?
2002-12-25As promised, I changed the "retry-loop" to the style of the "old" saa7146Michael Hunold
driver. I doesn't do any harm for my analog drivers and apparently fixes some bugs related to some frontends/tuners, who expect certain start/stop cycles. Please check if these tuners work now...
2002-12-23Removed some leftover bogus debugging messages, cleaned up the TODOMichael Hunold
file to reflect the latest changes.
2002-12-23For some unobvious reason, analog cards (ie. the MXB) and digital cardsMichael Hunold
(ie. the av7110) handle the odd/even fields differently. I added a new field to the extension, which holds special flags of the extension and the device. I declared the MXB way of handling fields as "normal", so the av7110 extension sets SAA7146_EXT_SWAP_ODD_EVEN here. @Holger: I added some superfluous "struct saa7146_dev *dev" variables back to some functions. These cause ugly warnings at compile time, I admit, but they are necessary if you want to use the debug macros to trace a saa7146 register for example. Please leave them in for now -- I need this when I switch between old-DVB / old-MXB <=> new-DVB / new-MXB drivers and try to hack out the differences.
2002-12-22Changed i2c_writeout() and the irq handler to use a waitqueueMichael Hunold
instead of busy waiting for an i2c transaction to finish. Left the old method in there. if you need it (or if i screwed up), set "use_i2c_irq" to zero in saa7146_i2c.c to get the old behaviour.
2002-12-20Removed the dependecy to i2c-core from saa7146 and av7110,Michael Hunold
changed mxb to (un)register the i2c adapter by itself
2002-12-20fix saa7146 debug settingJohannes Stezenbach
2002-12-20cure for:Johannes Stezenbach
saa7146.h:34: warning: `BUG_ON' redefined /usr/src/linux-2.4.20/include/linux/kernel.h:197: warning: this is the location of the previous definition
2002-12-20More compile fixes to allow a flawless static build, changed theMichael Hunold
READMEs accordingly, compile fixes for the mxb driver.
2002-12-19Necessary fixes to the saa7146_core to allow the driver toMichael Hunold
be build statically into the kernel.
2002-12-19__devexit_p(saa7146_remove_one)Holger Waechtler