Age | Commit message (Collapse) | Author |
|
|
|
- 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
|
|
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
|
|
driver subsystem.
|
|
it compile again under both 2.5 and 2.4.
|
|
TODO: use scatter/gather DMA for clipping informations, too.
|
|
- 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
|
|
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...
|
|
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
|
|
- 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
|
|
"dvb-kernel" tree into shape for direct inclusion into the
2.5.x kernel.
|
|
|
|
static void dump_registers(struct saa7146_dev* dev)
|
|
analog tv cards and dvb cards. (see source comments for further
informations)
|
|
patch conributed by Andrew de Quincey <adq_dvb@lidskialf.net>
|
|
- Moved some generic stuff from budget-core.c to saa7146_core.c where it belongs
----------------------------------------------------------------------
|
|
mxb: prevent helper modules to probe on unknown i2c-busses. (for example on a
Matrox gfx card)
|
|
"nvrec"... (red/blue were swapped)
|
|
- 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.
|
|
the modules will oops with 2.5.63.
|
|
based saa7146 cards
- change the initialization order to allow static builds of the mxb driver
|
|
- 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"
|
|
|
|
|
|
the other files again.
|
|
|
|
- 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
|
|
|
|
- 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).
|
|
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.
|
|
- removed unused variables
- other code clenaups
- corrected H_PIXELS_PAL to 720 (not used for DVB-cards)
|
|
startup" bug.
|
|
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.
|
|
a previoulsy running overlay window should be re-enabled.
|
|
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)
|
|
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
|
|
Thanks to Gregoire Favre <greg@ulima.unil.ch>
for reporting this.
|
|
(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...
|
|
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
|
|
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?
|
|
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...
|
|
file to reflect the latest changes.
|
|
(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.
|
|
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.
|
|
changed mxb to (un)register the i2c adapter by itself
|
|
|
|
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
|
|
READMEs accordingly, compile fixes for the mxb driver.
|
|
be build statically into the kernel.
|
|
|